summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/GeometryShaderGen.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/VideoCommon/GeometryShaderGen.cpp
parentf2e52b46c3293228759d2db373a6e11c5c4513cf (diff)
GeometryShader: Disable the geometry shader stage if it is a pass-through shader.
Diffstat (limited to 'Source/Core/VideoCommon/GeometryShaderGen.cpp')
-rw-r--r--Source/Core/VideoCommon/GeometryShaderGen.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/Source/Core/VideoCommon/GeometryShaderGen.cpp b/Source/Core/VideoCommon/GeometryShaderGen.cpp
index bf40056a8d..3d478a6a4d 100644
--- a/Source/Core/VideoCommon/GeometryShaderGen.cpp
+++ b/Source/Core/VideoCommon/GeometryShaderGen.cpp
@@ -281,3 +281,9 @@ void GenerateGeometryShaderCode(ShaderCode& object, u32 primitive_type, API_TYPE
{
GenerateGeometryShader<ShaderCode>(object, primitive_type, ApiType);
}
+
+bool IsPassthroughGeometryShader(GeometryShaderUid& object)
+{
+ geometry_shader_uid_data* uid_data = object.GetUidData<geometry_shader_uid_data>();
+ return uid_data->primitive_type == PRIMITIVE_TRIANGLES && !uid_data->stereo;
+}