diff options
Diffstat (limited to 'mesalib/src/glsl/glsl_parser_extras.h')
-rw-r--r-- | mesalib/src/glsl/glsl_parser_extras.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/mesalib/src/glsl/glsl_parser_extras.h b/mesalib/src/glsl/glsl_parser_extras.h index 45f5246f7..7e5a77fa6 100644 --- a/mesalib/src/glsl/glsl_parser_extras.h +++ b/mesalib/src/glsl/glsl_parser_extras.h @@ -170,6 +170,24 @@ struct _mesa_glsl_parse_state { struct ast_type_qualifier *default_uniform_qualifier; /** + * True if a geometry shader input primitive type was specified using a + * layout directive. + * + * Note: this value is computed at ast_to_hir time rather than at parse + * time. + */ + 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; + + /** Output layout qualifiers from GLSL 1.50. (geometry shader controls)*/ + struct ast_type_qualifier *out_qualifier; + + /** * Printable list of GLSL versions supported by the current context * * \note @@ -302,6 +320,15 @@ struct _mesa_glsl_parse_state { /** Shaders containing built-in functions that are used for linking. */ struct gl_shader *builtins_to_link[16]; unsigned num_builtins_to_link; + + /** + * For geometry shaders, size of the most recently seen input declaration + * that was a sized array, or 0 if no sized input array declarations have + * been seen. + * + * Unused for other shader types. + */ + unsigned gs_input_size; }; # define YYLLOC_DEFAULT(Current, Rhs, N) \ |