Jules Blok
|
7eb353b3bd
|
VideoCommon: Don't pass structs between shaders, use the interface blocks instead.
|
2014-12-28 23:28:00 +01:00 |
Dolphin Bot
|
a560d8f150
|
Merge pull request #1716 from Armada651/geom-wireframe
VideoCommon: Handle wireframe mode in the geometry shader.
|
2014-12-20 12:22:40 +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
|
531b3941ff
|
GeometryShaderGen: Re-emit the first vertex when wireframe mode is enabled.
|
2014-12-19 14:24:08 +01:00 |
Jules Blok
|
1b9fe70d7c
|
VideoCommon: Make IsPassthrough() a function of the ShaderUid.
|
2014-12-19 14:10:53 +01:00 |
Jules Blok
|
925bbcb85b
|
VideoCommon: Handle wireframe mode in the geometry shader.
|
2014-12-19 14:10:52 +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
|
e7e8a4f1cb
|
GeometryShaderGen: Don't use the reserved keyword "point" in D3D.
|
2014-12-19 02:24:41 +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
|
bd6d229733
|
GeometryShader: Disable the geometry shader stage if it is a pass-through shader.
|
2014-12-18 00:36:48 +01:00 |
Jules Blok
|
f2e52b46c3
|
GeometryShaderGen: Cosmetics.
|
2014-12-18 00:36:47 +01:00 |
Jules Blok
|
0ac7103391
|
GeometryShaderGen: Pack uniforms more tightly.
|
2014-12-18 00:36:40 +01:00 |
Jules Blok
|
d115048615
|
GeometryShaderGen: Remove redundant declaration.
|
2014-12-15 23:20:56 +01:00 |
Jules Blok
|
16af00d515
|
GeometryShaderGen: Use signed integers for the texture offset flags.
|
2014-12-15 23:05:16 +01:00 |
Jules Blok
|
861fa1af23
|
GeometryShaderGen: Declare a prototype for EmitVertex().
|
2014-12-15 22:47:43 +01:00 |
Jules Blok
|
8ae738ff30
|
VideoCommon: Merge PointGeometryShader into GeometryShaderGen.
This adds point-width emulation support to OpenGL.
|
2014-12-15 22:47:43 +01:00 |
Jules Blok
|
55e60a9c22
|
VideoCommon: Merge LineGeometryShader into GeometryShaderGen.
This adds line-width emulation support to OpenGL.
|
2014-12-15 22:47:42 +01:00 |
Jules Blok
|
382e1c22db
|
GeometryShaderGen: Support multiple primitive types.
And make more stereoscopy code optional.
|
2014-12-15 22:47:41 +01:00 |
Jules Blok
|
887c669c28
|
GeometryShaderGen: Redefine gl_InvocationID so we can use the same variable name in both backends.
|
2014-12-15 22:47:40 +01:00 |
Jules Blok
|
332ba4b210
|
GeometryShaderManager: Upload Line/Point width constants.
|
2014-12-15 22:47:35 +01:00 |
Jules Blok
|
aa4242fd9c
|
GeometryShaderGen: Pass the primitive type and always run the generator regardless of stereoscopy.
|
2014-12-14 21:23:20 +01:00 |
Jules Blok
|
b406e4e1f2
|
VideoCommon: Add a separate constants buffer for the geometry shader.
|
2014-12-14 21:23:13 +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
|
ea2bcb44f0
|
Cosmetics
|
2014-12-14 13:28:48 +01:00 |
Jules Blok
|
4f6ce0f236
|
D3D: Add geometry shader instancing support.
|
2014-12-14 13:28:44 +01:00 |
Jules Blok
|
9253bb7d96
|
D3D: Add geometry shader stereoscopy support.
|
2014-12-14 13:28:41 +01:00 |
Jules Blok
|
d5ebdf7a97
|
D3D: Add GeometryShaderCache.
|
2014-12-14 13:28:41 +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 |
Jules Blok
|
9b2cd82da5
|
GeometryShaderGen: Set the properties of the VS_OUTPUT struct in the uid.
|
2014-11-23 14:30:12 +01:00 |
degasus
|
ed9f258b27
|
GeometryShader: Don't read from output variables
|
2014-11-23 14:30:12 +01:00 |
Jules Blok
|
106df04e8e
|
GeometryShaderGen: Declare the vertex array size.
|
2014-11-23 14:30:12 +01:00 |
Jules Blok
|
422125c1a9
|
GeometryShaderGen: Add comments.
|
2014-11-23 14:30:12 +01:00 |
Jules Blok
|
f3ddf37d07
|
VideoCommon: Switch to Nvidia stereoscopy offset formula.
|
2014-11-23 14:27:40 +01: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
|
51a4d6a4be
|
GeometryShader: Adjust positions after projection.
By adjusting the positions in clip space we can avoid the re-projection.
|
2014-11-23 14:27:40 +01:00 |
Jules Blok
|
acc65ee608
|
GeometryShader: Replicate missing position manipulations from vertex shader.
|
2014-11-23 14:27:40 +01:00 |
Jules Blok
|
d7804a4d3e
|
Cosmetics.
|
2014-11-23 14:27:39 +01:00 |
Jules Blok
|
9b22e15180
|
VideoConfigDiag: Add stereoscopy options group.
|
2014-11-23 14:27:38 +01:00 |
Jules Blok
|
4d9589b35f
|
Cosmetics.
|
2014-11-23 14:27:38 +01:00 |
Jules Blok
|
f370cb386c
|
ProgramShaderCache: Always generate a geometry shader UID, even if stereoscopy is disabled.
|
2014-11-23 14:27:38 +01:00 |
Jules Blok
|
6cacfad010
|
GeometryShader: Transform the projection within the geometry shader.
Reduces the amount of data transferred through uniforms.
The shearing transformation is reduced to a single multiplication/addition for optimization.
|
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
|
d583720a59
|
GeometryShaderGen: Support stereoscopy on GPUs without support for instancing.
|
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 |
Jules Blok
|
272ea90ca5
|
GeometryShaderGen: Allow stereoscopy to be disabled.
Will facilitate future use of this generator for other purposes.
|
2014-11-23 14:23:41 +01:00 |
Jules Blok
|
d9e280e338
|
PixelShaderGen: Sample the correct texture layer.
|
2014-11-23 14:23:41 +01:00 |
Jules Blok
|
f6ea293027
|
VertexShaderManager: Compute stereoscopy projection matrices.
|
2014-11-23 14:23:41 +01:00 |
Jules Blok
|
2d8ec62beb
|
Pass VS_OUTPUT structs between shaders.
|
2014-11-23 14:23:41 +01:00 |
Jules Blok
|
b005f61a2e
|
Add geometry shader generator for stereo 3D.
|
2014-11-23 14:22:55 +01:00 |