diff options
author | Caio Marcelo de Oliveira Filho <[email protected]> | 2019-03-26 00:04:57 -0700 |
---|---|---|
committer | Caio Marcelo de Oliveira Filho <[email protected]> | 2019-04-08 19:29:32 -0700 |
commit | 3c5ddaeacd2c52bc11f9cda451fe640cff629bdd (patch) | |
tree | 47586c1451345101c711cae5d72e270b025727a6 /src/compiler/glsl/glsl_parser_extras.h | |
parent | ca60f0b7baeb95caf5d6e0ab4d83c6bb1d3e0eaa (diff) |
glsl: Parse and propagate derivative_group to shader_info
NV_compute_shader_derivatives allow selecting between two possible
arrangements (quads and linear) when calculating derivatives and
certain subgroup operations in case of Vulkan. So parse and propagate
those up to shader_info.h.
v2: Do not fail when ARB_compute_variable_group_size is being used,
since we are still clarifying what is the right thing to do here.
Reviewed-by: Ian Romanick <[email protected]>
Diffstat (limited to 'src/compiler/glsl/glsl_parser_extras.h')
-rw-r--r-- | src/compiler/glsl/glsl_parser_extras.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/compiler/glsl/glsl_parser_extras.h b/src/compiler/glsl/glsl_parser_extras.h index 295612e9aed..82a2ce3424b 100644 --- a/src/compiler/glsl/glsl_parser_extras.h +++ b/src/compiler/glsl/glsl_parser_extras.h @@ -446,6 +446,12 @@ struct _mesa_glsl_parse_state { bool cs_input_local_size_variable_specified; /** + * Arrangement of invocations used to calculate derivatives in a compute + * shader. From NV_compute_shader_derivatives. + */ + enum gl_derivative_group cs_derivative_group; + + /** * True if a shader declare bindless_sampler/bindless_image, and * respectively bound_sampler/bound_image at global scope as specified by * ARB_bindless_texture. |