summaryrefslogtreecommitdiffstats
path: root/src/glsl/glsl_parser_extras.cpp
diff options
context:
space:
mode:
authorJordan Justen <[email protected]>2014-01-25 02:17:21 -0800
committerJordan Justen <[email protected]>2014-02-20 10:33:08 -0800
commit313402048fdad05d3401340129b9e412878d8957 (patch)
tree88cf5b3d86665917902e0547a6a306d05954a54c /src/glsl/glsl_parser_extras.cpp
parent02dc74fbd72d82a21506a5984a92e5db08fcfc5c (diff)
glsl/linker: produce gl_shader_program Geom.Invocations
Grab the parsed invocation count, check for consistency during linking, and finally save the result in gl_shader_program Geom.Invocations. Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Paul Berry <[email protected]> Reviewed-by: Anuj Phogat <[email protected]>
Diffstat (limited to 'src/glsl/glsl_parser_extras.cpp')
-rw-r--r--src/glsl/glsl_parser_extras.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/glsl/glsl_parser_extras.cpp b/src/glsl/glsl_parser_extras.cpp
index f102b11bc6d..416acb9283a 100644
--- a/src/glsl/glsl_parser_extras.cpp
+++ b/src/glsl/glsl_parser_extras.cpp
@@ -1374,6 +1374,10 @@ set_shader_inout_layout(struct gl_shader *shader,
} else {
shader->Geom.OutputType = PRIM_UNKNOWN;
}
+
+ shader->Geom.Invocations = 0;
+ if (state->in_qualifier->flags.q.invocations)
+ shader->Geom.Invocations = state->in_qualifier->invocations;
break;
case MESA_SHADER_COMPUTE: