diff options
author | Eric Anholt <[email protected]> | 2013-06-12 14:03:49 -0700 |
---|---|---|
committer | Paul Berry <[email protected]> | 2013-08-01 20:23:33 -0700 |
commit | 624b7bac76c3f70a3a110d114a3c1c327d3dad5f (patch) | |
tree | f0be97cc9ddfe6d4bd5762801e5f46801ea4077d /src/glsl/glsl_parser_extras.h | |
parent | f2e14238a79100f22ccdcdda2a2267ff9fc85655 (diff) |
glsl: Parse the GLSL 1.50 GS layout qualifiers.
Limited semantic checking (compatibility between declarations, checking
that they're in the right shader target, etc.) is done.
v2: Remove stray debug printfs.
v3 (Paul Berry <[email protected]>): Process input layout
qualifiers at ast_to_hir time rather than at parse time, since certain
error conditions depend on the relative ordering between input layout
qualifiers, declarations, and calls to .length().
Reviewed-by: Ian Romanick <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/glsl/glsl_parser_extras.h')
-rw-r--r-- | src/glsl/glsl_parser_extras.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/glsl/glsl_parser_extras.h b/src/glsl/glsl_parser_extras.h index 1e386dd3132..7c563ea7f60 100644 --- a/src/glsl/glsl_parser_extras.h +++ b/src/glsl/glsl_parser_extras.h @@ -166,6 +166,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 |