Jules Blok
f40cd04a29
PixelShaderGen: Fix uninitialized variables.
2015-01-20 23:15:01 +01:00
Scott Mansell
1b771deb56
Move worldpos into it's own varying.
...
Previously it was packed into spare slots in clippos.xy and normal.w,
but it's ugly and more importantly it's causing bugs.
This was discovered during the debugging of a zfreeze branch, which
expected clippos.xy to be xy position coordinates in clipspace (as
the name suggested).
Turns out the stereoscopy shader had also run into this trap, modifying
clippos.x (introducing errors with per-pixel lighting).
This commit has been moved outside of the zfreeze PR for fast merging.
2015-01-03 09:23:09 +13:00
Jules Blok
3ed777b0f9
PixelShaderGen: Don't assign to input variables.
2014-12-28 23:37:05 +01:00
Jules Blok
7eb353b3bd
VideoCommon: Don't pass structs between shaders, use the interface blocks instead.
2014-12-28 23:28:00 +01:00
degasus
01cd11a835
OGL: fix ssbo based bbox support
2014-12-22 19:10:35 +01:00
Jules Blok
0d79e8f32b
VideoCommon: Don't specify the redundant in/out qualifier if GL_ARB_shading_language_420pack is supported.
...
Some driver developers interpreted "can" as "must" in the OpenGL specs. (I'm looking at you AMD)
2014-12-19 22:45:39 +01:00
Jules Blok
cdd9e07522
VideoCommon: Add in/out qualifiers to centroid storage qualifier.
...
Fixes shaders for GPUs that don't support GL_ARB_shading_language_420pack.
2014-12-19 12:19:15 +01:00
Jules Blok
8dc3653ac9
VideoCommon: Don't pass structs between shader stages when geometry shaders are unsupported.
2014-12-18 00:37:16 +01:00
Jules Blok
69df23f725
VideoCommon: Only use interface blocks when geometry shaders are supported.
2014-12-18 00:37:14 +01:00
Jules Blok
782a5adb94
VideoCommon: Pass interface blocks between shader stages to resolve naming conflicts.
2014-12-18 00:36:49 +01:00
Jules Blok
275af9c5e4
VideoCommon: Assume we always use a geometry shader, not just for stereoscopy.
2014-12-15 22:47:41 +01:00
Jules Blok
cec5b0ce01
ShaderGen: Remove the GS_OUTPUT struct for OpenGL.
...
And remove the generator for it since it is no longer used outside of the geometry shader.
2014-12-14 13:28:50 +01:00
Jules Blok
fd6b588627
D3D: Define decimals in floating point numbers
2014-12-14 13:28:49 +01:00
Jules Blok
b769da23d0
PixelShaderGen: Sample the correct texture slice.
2014-12-14 13:28:45 +01:00
Jules Blok
9253bb7d96
D3D: Add geometry shader stereoscopy support.
2014-12-14 13:28:41 +01:00
degasus
bf65c49609
PixelShaderGen: merge OGL+D3D bbox
2014-12-09 19:32:24 +01:00
Markus Wick
ff4526b4a9
Merge pull request #1657 from Tinob/master
...
Add HW bounding Box support to d3d backend
2014-12-08 09:05:22 +01:00
Lioncash
9bcadc8029
Common: Remove locale based functions from CommonFuncs.
...
Since %f isn't used anymore in the shader generators, these can go.
2014-12-05 20:55:29 -05:00
Rodolfo Bogado
93b4540e19
Add HW bounding Box support to d3d backend
2014-12-05 15:03:24 -03:00
Ryan Houdek
5c3bbf7409
Works around broken Intel Windows video drivers.
...
Just use regular boolean negation in our pixel shader's depth test everywhere except on Qualcomm.
This works around a bug in the Intel Windows driver where comparing a boolean value against true or false fails but boolean negation works fine.
Quite silly.
Should fix issues #7830 and #7899 .
2014-12-03 00:33:42 -06:00
Jules Blok
27f3f804a0
ShaderGen: Only pass VS_OUTPUT between shaders if stereo 3D is enabled.
...
GLSL130 doesn't support passing structs between shaders.
This is not a problem for stereo 3D which has a GLSL150 requirement.
2014-11-23 14:27:40 +01:00
Jules Blok
9b22e15180
VideoConfigDiag: Add stereoscopy options group.
2014-11-23 14:27:38 +01:00
Jules Blok
63b37e29d1
ShaderGen: Rename "eye" to "layer".
...
Keeping things generic.
2014-11-23 14:26:56 +01:00
Jules Blok
176191dc16
ShaderGenCommon: Move uniforms into a common static string.
2014-11-23 14:24:09 +01:00
Jules Blok
fa32f751d3
ShaderGen: Handle ShaderCode objects directly.
...
ShaderGeneratorInterface does not have virtual function members, so we have to implement each type explicitly.
2014-11-23 14:24:09 +01:00