summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
diff options
context:
space:
mode:
authorJules Blok <jules.blok@gmail.com>2014-12-16 17:28:35 +0100
committerJules Blok <jules.blok@gmail.com>2014-12-18 00:36:48 +0100
commitbd6d22973381b43369670300a707e86084c040e0 (patch)
tree590788c553fa7c90c4e7e3336a2810ad32ac1280 /Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
parentf2e52b46c3293228759d2db373a6e11c5c4513cf (diff)
GeometryShader: Disable the geometry shader stage if it is a pass-through shader.
Diffstat (limited to 'Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp')
-rw-r--r--Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp b/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
index d2ec0d049b..8f90aff28a 100644
--- a/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
+++ b/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
@@ -211,7 +211,8 @@ SHADER* ProgramShaderCache::SetShader(DSTALPHA_MODE dstAlphaMode, u32 components
ShaderCode gcode;
GenerateVertexShaderCode(vcode, components, API_OPENGL);
GeneratePixelShaderCode(pcode, dstAlphaMode, API_OPENGL, components);
- GenerateGeometryShaderCode(gcode, primitive_type, API_OPENGL);
+ if (!IsPassthroughGeometryShader(uid.guid))
+ GenerateGeometryShaderCode(gcode, primitive_type, API_OPENGL);
if (g_ActiveConfig.bEnableShaderDebugging)
{