Lioncash
149a97e396
VideoCommon: Remove unnecessary memset on ShaderUid instances.
...
Zero-initialization zeroes out all members and padding bits, so this is
safe to do. While we're at it, also add static assertions that enforce
the necessary requirements of a UID type explicitly within the ShaderUid
class.
This way, we can remove several memset calls around the shader
generation code that makes sure the underlying UID data is zeroed out.
Now our ShaderUid class enforces this for us, so we don't need to care about
it at the usage sites.
2019-05-30 06:41:54 -04:00
Stenzek
68cb24172b
ShaderGen: Omit some unused varyings when possible
...
Removes the clipPos varying unless slow-depth is used, and the
clipDistance varyings if geometry shaders are not used.
2019-01-23 18:34:22 +10:00
Lioncash
5337e58284
VideoConfig: Make StereoMode an enum class
...
Makes for more strongly-typed identifiers (and doesn't pollute
surrounding namespaces)
2017-11-18 23:19:53 -05:00
Stenzek
24ddea04ce
VideoBackends: Move SamplerState to common
2017-09-11 20:01:54 +10:00
Stenzek
836b9b9acb
Renderer: Move cull mode to a rasterization state object
...
Also moves logic for primitive handling to VideoCommon.
2017-09-11 20:01:45 +10:00
Stenzek
c783cd2aaf
GeometryShaderGen: Add UID enumeration functions
2017-07-30 17:43:59 +10:00
Stenzek
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
Stenzek
82c27182a8
ShaderGen: Remove host state from shader uids
2017-07-20 17:46:59 +10:00
Lioncash
468f623d27
ShaderGenCommon: Remove unnecessary includes
2017-02-01 12:19:55 -05:00
Stenzek
176177af49
GeometryShaderGen: Use lower-left origin for point texture coordinates
...
From what I can tell, the emulated GPU places (0,0) at the lower left of
the image, and we were generating texture coordinates so that (0,0) was
at the upper-left in the expansion geometry shader, causing textures
used by point sprites to be flipped vertically.
Fixes the upside-down A button in Mario Golf.
2017-01-04 20:23:07 +10:00
Jules Blok
086f839435
DriverDetails: Make the bug identifiers humanly readable.
2016-10-31 15:02:08 +01:00
Vincent Duvert
8bb459aae5
VideoCommon: Fix GetInterpolationQualifier calls
...
Commit 4969415 modified calls to GetInterpolationQualifier, but mistakenly changed the order of some boolean parameters: GetInterpolationQualifier(true, false) was changed to GetInterpolationQualifier(…, false, true).
Should fix #9783 .
2016-10-16 12:48:32 +02:00
Stenzek
a71381e80a
VideoCommon: Add APIType entry for Vulkan
2016-10-01 01:09:11 +10:00
Stenzek
75e4e42e56
ShaderGen: Work around issue with glslang and dynamic vector subscripts
...
Seems that vec[eye] will select vec.x no matter what the value of eye is.
2016-10-01 01:09:11 +10:00
Stenzek
d9c034e8cc
ShaderGen: Specify attribute/output locations/bindings explicitly
...
This also shifts the SSBO index from index 3 to index 0.
2016-10-01 01:09:11 +10:00
Jules Blok
e86d7cbc99
OGL: Workaround gl_ClipDistance bug on Mesa i965.
2016-08-18 01:08:39 +02:00
Jules Blok
94927f360f
VideoCommon: Add a user-defined far clipping plane.
2016-08-15 13:11:28 +02:00
Jules Blok
9596ec8971
GeometryShaderGen: Pass-through clipping distance.
2016-08-15 13:11:27 +02:00
Lioncash
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
Scott Mansell
d958388617
VideoCommon: Fix some warnings.
2016-06-26 23:10:31 +12:00
Scott Mansell
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
Scott Mansell
ebe5fd0b36
Multithreadded Shadergen: Minor fixups.
2016-06-26 16:13:22 +12:00
Scott Mansell
28c7113e41
Multithreadded Shadergen: Second Pass over geometery Shadergen
2016-06-26 16:13:21 +12:00
Scott Mansell
fa02f47729
Multithreadded Shadergen: First pass over geometery Shadergen.
2016-06-26 16:13:20 +12:00
Scott Mansell
4969415f38
Remove global refrences from common code.
...
Bug Fix: Previously vertex shaders and geometery shaders didn't track
antialaising state in their UIDs, which could cause AA bugs
on directx.
2016-06-26 16:13:20 +12:00