dec0c3bce8
Move shader caches to VideoCommon
2018-03-10 15:56:30 +10:00
e0ffce2785
D3D: Use VideoCommon EFB-to-texture shaders
2017-12-06 03:33:50 +10:00
c15ea2f1ed
D3D: Fix crash if shaders fail to compile
2017-09-07 11:45:43 +10:00
84f8ebd95f
VideoBackends: Clear uid bits that are unused for the current backend
...
Currently, this is only the logic op bit, but this will be extended to
the framebuffer fetch/blend modes. In the future, when/if we move to
VideoCommon pipelines, this state will be part of the pipeline UID
anyway, and we can mask it out in the backend by using a two-level map,
so the shaders/programs are shared.
2017-09-05 23:49:42 +10:00
64de8a9d0b
D3D: Eliminate redundant ID3D11DeviceChild* casts
2017-09-02 14:45:14 -04:00
d62dcd397d
VideoConfig: Drop force vertex/pixel ubershader settings
...
This was mainly included for debugging, but could end up being confusing
for users, as well as polluting the GL program cache with a mix of uber
and specialized shaders if the option was changed.
2017-07-31 23:21:38 +10:00
e968c191ff
Ubershaders: Support per-pixel lighting
2017-07-30 17:43:59 +10:00
c8f31656cb
VideoBackends: Support a different number of threads for precompiling
...
At runtime, we only really want a single shader compiler thread.
However, for initial boots, we can use a higher number to speed things
up.
2017-07-30 17:43:59 +10:00
4bf5625895
D3D: Uber shader support
2017-07-30 17:43:59 +10:00
3ea9d86faa
ShaderGen: Pass host config to shader generation functions
...
Also moves the host config checks to common.
2017-07-20 17:54:33 +10:00
d01b0bf60f
VideoCommon: Move shader cache filename generation to common
2017-07-20 17:46:59 +10:00
228ddb8aba
D3D11: Reload shader cache when relevant config changes
2017-07-20 17:46:59 +10:00
ced1614cac
Unify the way of setting game ID, title ID, revision
...
The existing code from ConfigManager, ES and MIOS is merged
into a new set of functions called SetRunningGameMetadata.
2017-03-09 15:34:14 +01:00
21967b1f6e
VideoBackends: Add a developer option to disable the shader cache.
...
Makes it easier to disable the cache while working on the shaders.
2017-02-19 12:05:44 +01:00
41b0c74e30
VideoCommon: Make dst_alpha state implicit.
2017-01-04 20:02:31 +01:00
accce4294a
TextureCache: Use same color coefficients for EFB2Tex as EFB2RAM
2016-12-15 02:20:46 +10:00
31ccfffd38
Common: Add alignment header
...
Gets rid of duplicated alignment code.
2016-12-06 20:33:53 +01:00
1081497cad
DiscIO/SConfig: Rename GetUniqueID to GetGameID
...
We call this "game ID" everywhere else, and it's not
actually completely unique.
2016-10-29 15:24:02 +02:00
829fc8f0ad
PixelShaderGen: Drop dstAlphaMode constant in shader generation.
...
It is already stored within the UID.
2016-10-04 10:13:46 +02:00
14e0b48ae4
VideoCommon: Make API_TYPE an enum class
...
Allows for forward declarations in most places, which prevents dumping
unrelated VideoCommon.h contents directly into headers.
2016-07-29 19:20:16 -04:00
2f134c5c36
Remove the rest of ShaderDebugging.
...
Without UID checking, it's basically a no-op that disables shader cache
and stores the shader source code (without ever reading it back).
2016-06-26 16:25:11 +12:00
95469ec225
Remove UID Checker.
...
Kind of pointless now that multiple shaders with the same UID are
now fundementally impossible.
2016-06-26 16:13:22 +12:00
24e5d21780
Multithreadded Shadergen: Second pass over Pixel Shadergen.
...
Note: It's not 100% perfect, as some of the GPU capablities leak into the
pixel shader UID.
Currently our UIDs don't get exported, so there is no issue. But someone
might want to fix this in the future.
2016-06-26 16:13:21 +12:00
3570c7f03a
Reformat all the things. Have fun with merge conflicts.
2016-06-24 10:43:46 +02:00
63e4e07683
D3D11: Simplify MSAA depth texture resolving
...
This also fixes EFB depth buffer copies when MSAA is enabled.
2016-03-26 00:00:39 +10:00
01f99a04a2
VideoBackend: Get rid of a boolean global
...
Also gets rid of global headers
2016-01-02 18:03:28 -05:00
5cb047f449
D3D: Fix compilation error on windows
2015-12-28 15:50:01 +10:00
294bb75316
Merge pull request #3295 from stenzek/d3d-xfb-msaa
...
D3D: Fix multiple issues relating to MSAA
2015-12-28 01:13:42 +01:00
e26d9f7c35
MSAA: Store samples in ini files.
2015-12-15 09:41:01 +01:00
63264ac23f
D3D: Fix EFB depth buffer copies, filtering on scaled EFB copies when MSAA is enabled, real XFB filtering
...
Since ResolveSubresource cannot be used with depth textures (and throws an error with the debug layer enabled), use a shader which selects the minimum depth value from all samples.
Changes the sampler by XFBEncoder to use a linear filter, rather than point, to match GL behavior.
2015-12-08 20:29:21 +10:00
71d1eb3c31
VideoCommon: return code/uid from shader gens
...
rather than passing in non-const references
2015-11-03 14:40:23 +01:00
983978ee66
VideoCommon: flush vertex manager if components change
2015-11-01 22:39:31 +01:00
7066689131
ShaderCaches: remove unneeded typedefs
2015-10-29 14:43:05 +01:00
b01ca1794a
Revert "VideoCommon: Clamp integer conversions."
...
This reverts commit 0f2c72f0f8
.
2015-08-15 13:50:43 +02:00
c375111076
Options: merge SCoreStartupParameter into SConfig
2015-06-12 19:07:45 +02:00
2975e53091
D3D: Depth range inversion.
...
Credits go to Galop1n for designing this technique and to BhaaLseN for cleaning up the commit.
2015-05-26 15:31:31 +02:00
30ebb2459e
Set copyright year to when a file was created
2015-05-25 13:22:31 +02:00
cefcb0ace9
Update license headers to GPLv2+
2015-05-25 13:22:31 +02:00
0f2c72f0f8
VideoCommon: Clamp integer conversions.
2015-05-08 14:32:16 +02:00
b0770e2a0c
VideoBackends: Floor depth values in depth copy shaders.
2015-05-08 14:29:30 +02:00
c4f85a38e6
VideoBackends: Use proper floating point depth precision.
2015-05-08 14:29:29 +02:00
24594a7888
PixelShaderCache: Fix MSAA depth copy shader.
2015-05-06 12:43:35 +02:00
7a1252f7e5
VideoBackends: Implement depth copy shaders with integer math.
2015-05-05 00:40:25 +02:00
26a9afa0e7
Anaglyph: Use matrices instead of vectors.
2015-01-02 14:32:42 +01:00
491de39325
PixelShaderCache: Implement Dubois algorithm in anaglyph shader.
2015-01-02 03:06:11 +01:00
d7037ae492
PixelShaderCache: Don't use GetDimensions() for the sample count.
...
This function is bugged on Windows 7, and statically declaring the sample count is trivial anyway.
2014-12-27 14:45:15 +01:00
737bc0e7ad
PixelShaderCache: Support stereoscopic EFB format changes.
2014-12-21 15:46:12 +01:00
93ce95b48e
D3D: Use ROUND_UP macro for rounding buffer sizes.
2014-12-18 00:37:15 +01:00
6c7bed25a5
Cosmetics
2014-12-14 13:29:27 +01:00
fd6b588627
D3D: Define decimals in floating point numbers
2014-12-14 13:28:49 +01:00