summaryrefslogtreecommitdiffstats
path: root/src/glsl/glsl_parser_extras.h
diff options
context:
space:
mode:
authorJordan Justen <jordan.l.justen@intel.com>2014-02-02 17:49:15 -0800
committerJordan Justen <jordan.l.justen@intel.com>2014-02-20 10:33:08 -0800
commit0c558f9ee6cfc412037dc56ad4c3686e0f116852 (patch)
treebca51f236da9cfebecd2dd01494ee366f7241d78 /src/glsl/glsl_parser_extras.h
parent5bc0b2f4321fe623e37535aa1ff1848aa5a2dec1 (diff)
downloadexternal_mesa3d-0c558f9ee6cfc412037dc56ad4c3686e0f116852.zip
external_mesa3d-0c558f9ee6cfc412037dc56ad4c3686e0f116852.tar.gz
external_mesa3d-0c558f9ee6cfc412037dc56ad4c3686e0f116852.tar.bz2
glsl: convert GS input primitive to use ast_type_qualifier
We introduce a new merge_in_qualifier ast_type_qualifier which allows specialized handling of merging input layout qualifiers. By merging layout qualifiers into state->in_qualifier, we allow multiple input qualifiers. For example, the primitive type can be specified specified separately from the invocations count (ARB_gpu_shader5). state->gs_input_prim_type is moved into state->in_qualifier->prim_type state->gs_input_prim_type_specified is still processed separately so we can determine when the input primitive is specified. This is important since certain scenerios are not supported until after the primitive type has been specified in the shader code. v4: * Merge with compute shader input layout qualifiers Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Diffstat (limited to 'src/glsl/glsl_parser_extras.h')
-rw-r--r--src/glsl/glsl_parser_extras.h7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/glsl/glsl_parser_extras.h b/src/glsl/glsl_parser_extras.h
index ad4ef01..d98474e 100644
--- a/src/glsl/glsl_parser_extras.h
+++ b/src/glsl/glsl_parser_extras.h
@@ -190,11 +190,8 @@ struct _mesa_glsl_parse_state {
*/
bool gs_input_prim_type_specified;
- /**
- * If gs_input_prim_type_specified is true, the primitive type that was
- * specified. Otherwise ignored.
- */
- GLenum gs_input_prim_type;
+ /** Input layout qualifiers from GLSL 1.50. (geometry shader controls)*/
+ struct ast_type_qualifier *in_qualifier;
/**
* True if a compute shader input local size was specified using a layout