Commit Graph

1520 Commits

Author SHA1 Message Date
MerryMage
f5f45855f0 GameConfigLoader: Add GFX Game INI translations 2017-06-03 18:13:02 +01:00
iwubcode
1b685bcde9 Fix for loop in D3D Renderer ApplyState function 2017-05-29 23:32:32 -05:00
Leo Lam
c76335eaf1 Merge pull request #5484 from BhaaLseN/permissive
Windows: Enable MSVC Standards Conformance (/permissive-)
2017-05-29 22:29:44 +02:00
Lioncash
d6b6b070bc D3D/Render: Get rid of undefined behavior in Create3DVisionTexture
pSysMem is of the type const void* -- because of this, it makes the
original delete[] call undefined behavior, as deleting a void pointer is
undefined behavior.

Also punning types into existence, like what was done for the stereo
image header is undefined behavior as well. The proper way to do this is
to either manually add all individual bytes manually, or memcpy the
struct into memory.

As we want to deallocate the memory before returning, and because
pSysMem is a const void*, we keep a unique_ptr to the data and just pass
pSysMem a raw pointer to the data.
2017-05-28 23:28:00 -04:00
Lioncash
278e406f0b D3D/Render: Use std::array where applicable 2017-05-28 23:28:00 -04:00
Lioncash
0c3958bbe5 D3D/Render: Join variable with declaration 2017-05-28 23:27:59 -04:00
Lioncash
3ee447e5f7 D3D/Render: Get rid of unnecessary casts 2017-05-28 23:27:59 -04:00
Lioncash
ba5b215c42 D3D/Render: Mark translation unit local variables as static 2017-05-28 23:27:59 -04:00
BhaaL
072c161445 upgrade to Windows SDK 10.0.15063.0
this is required for /permissive- to work, because some headers in the
Windows SDK use Microsoft extensions that are not allowed in standards mode
2017-05-28 13:37:31 +02:00
Michael Maltese
e041602416 CMake: remove references to D3D12
It's gone!
2017-05-26 01:16:04 -07:00
Pierre Bourdon
d592bdd4d4 Migrate to Visual Studio 2017.
Auto-generated by the IDE, I'll trust it knows what it's doing.
2017-05-25 15:58:59 -07:00
Helios747
a465c483f3 Remove D3D12 2017-05-18 17:01:12 -07:00
lcsondes
94be591606 VS2017 build fix after upgrading project 2017-05-13 20:34:27 +01:00
degasus
afb0beb9ab OpenGL: Mute nvidia performance warning about stalling the GPU.
They are right, our perf query implementation is terrible.
But raising a warning makes it just even slower.
2017-05-03 23:48:14 +02:00
Stenzek
cc851c41c1 TextureCache: Move host texture utility functions to VideoCommon
The appropriate place for these would be AbstractTexture, once it is
finished.
2017-04-29 13:46:43 +10:00
Stenzek
c53a60f3c3 Vulkan: Support native compressed textures 2017-04-29 13:46:42 +10:00
Stenzek
3f18c5e0f1 D3D12: Support native compressed textures 2017-04-29 13:46:42 +10:00
Stenzek
2d75c2ab10 D3D11: Support native compressed textures 2017-04-29 13:46:42 +10:00
Stenzek
f5d95dcc86 OGL: Use native compressed textures on supported drivers 2017-04-29 00:44:34 +10:00
Stenzek
f4b848949c TextureCache: Support compressed textures and pass pitch/size to upload
This also removes an extra copy of the image for custom textures.
2017-04-29 00:14:23 +10:00
Stenzek
bc8a96d713 HiresTextures: Support parsing DDS files directly
This leaves DDS textures using DXT1/3/5 compressed in-memory, which can
be passed directly to the backend.
2017-04-29 00:14:23 +10:00
Stenzek
27ae5b8d34 VideoConfigDiag: Move post-processing shader list to post processor
The backends don't use this list at all, and since more than one
backend supports post-processing now, it's duplicate code.
2017-04-25 14:27:05 +10:00
Stenzek
417a4ca206 Vulkan: Implement post-processing backend
No new features, just parity with OpenGL.
2017-04-25 14:27:02 +10:00
Stenzek
a10e8b1ef5 VideoCommon: Move the blit methods to the backend class
The parameter types will be different for each backend currently,
anyway (e.g. textures/render passes/etc).
2017-04-25 14:25:41 +10:00
Stenzek
d1dc9d5a0c Merge pull request #5284 from stenzek/vulkan-videocommon-blending-state
Vulkan: Use BlendingState from VideoCommon
2017-04-18 22:16:32 +10:00
Stenzek
16a947a88b Merge pull request #5270 from stenzek/vulkan-aa
Vulkan: MSAA and frame dumping fixes
2017-04-18 21:58:14 +10:00
Stenzek
fd896bd9e0 OGL: Drop BlendingState.dither
How GL_DITHER works is implementation-defined, and we handle the
non-blended case in the pixel shader.
2017-04-18 21:55:23 +10:00
Stenzek
ddc5275071 VideoCommon: Drop SetDitherMode()
It was a no-op on all backends apart from GL anyhow.
2017-04-18 21:55:22 +10:00
Stenzek
9dc7358395 Vulkan: Use BlendingState from VideoCommon
Remove the internal BlendState union. Also fixes Kirby's Return to
Dreamland shadows.
2017-04-18 21:55:22 +10:00
Stenzek
34ad5b457d VideoCommon: Add usedualsrc field to BlendingState
This is because we re-use BlendingState for our internal drawing (e.g.
RasterFont) and for these shaders, we can't assume the presence of a
second color output.
2017-04-18 21:33:40 +10:00
Stenzek
e370f6a82a OGL: Use struct for post-processing shader options
This removes the need for token pasting, which isn't supported in GLSL
ES. Shouldn't cause any issues unless people are using reserved keywords
as option names.
2017-04-16 14:00:02 +10:00
Stenzek
3fd1e6c2f6 Vulkan: Ensure all frames are written before resizing framedump buffer
Prevents destroying a framebuffer that may still be in use by a previous
frame dump.
2017-04-15 20:00:40 +10:00
Stenzek
48da42b49f Vulkan: Ensure framedump texture is incorrect layout for render/readback 2017-04-15 19:57:25 +10:00
Stenzek
69b0a31938 Vulkan: Clamp framebuffer resolve rectangle to texture size
This is invalid and was causing the NVIDIA driver to throw an error.
2017-04-15 19:55:32 +10:00
Stenzek
eef7b6cf7a Vulkan: Fix invalid resolve at swap time when MSAA is enabled 2017-04-15 18:35:58 +10:00
Stenzek
c8b98dca1a Vulkan: Raise the number of texel buffer/storage image descriptors
Running with GPU texture decoding enabled could cause us to run out of
descriptors within a single frame.
2017-04-14 18:29:53 +10:00
Stenzek
f4bdfe3e0c Vulkan: Fix incorrect render pass area for out-of-range clears
This occured when a game set an out-of-range EFB clear region.
2017-04-14 18:29:48 +10:00
Stenzek
5e7bd03d0b Vulkan: Linear filter >1xIR EFB copies, matching the other backends 2017-04-12 00:11:22 +10:00
Stenzek
e9850aa0f2 VideoBackends: Support updated texture encoding shader generators 2017-04-12 00:11:22 +10:00
Markus Wick
4e90c5da8b Merge pull request #5234 from lioncash/tuple
RenderBase: Return tuples from CalculateTargetScale and ConvertStereoRectangle instead of using out parameters
2017-04-11 10:27:16 +02:00
Anthony
c6b553b6d2 Merge pull request #5220 from stenzek/small-nonsquare-mips
TextureCache: Fix incomplete GPU texture decoding of non-square mips
2017-04-09 13:45:38 -07:00
Lioncash
c7ab6861c2 RenderBase: Return a tuple from ConvertStereoRectangle instead of using out parameters 2017-04-09 15:11:59 -04:00
Stenzek
2492f196a7 TextureCache: Fix incomplete GPU texture decoding of non-square mips 2017-04-07 23:03:14 +10:00
Lioncash
f7a2f6ad01 FileSearch: Namespace functions under the Common namespace 2017-04-07 01:02:14 -04:00
Stenzek
97dc773a3e D3D: Drop redundant interface TextureEncoder 2017-04-04 22:57:23 +10:00
Stenzek
739aced97c Vulkan: Implement compute-shader based GPU texture decoding 2017-04-01 12:32:57 +10:00
Stenzek
5fbc63fbcf Vulkan: Compute shader support 2017-04-01 12:32:57 +10:00
Stenzek
02f887ede0 OGL: Add GPUTimer class for measuring execution time of a draw/dispatch 2017-04-01 12:32:57 +10:00
Stenzek
b01bcb80f4 OGL: Implement GPU texture decoding backend 2017-04-01 12:32:56 +10:00
Stenzek
82fd984f3e VideoBackends: Add configuration field for GPU texture decoding 2017-04-01 12:32:05 +10:00