diff options
author | Francisco Jerez <[email protected]> | 2018-02-12 15:54:33 -0800 |
---|---|---|
committer | Francisco Jerez <[email protected]> | 2018-02-24 15:28:36 -0800 |
commit | ef9e3f63ca369e3549b4f17b39934dc4b3cbbb05 (patch) | |
tree | f7419d5cecdaecbdc179a80452fdb890e26ec37f /src/compiler/glsl/glsl_parser.yy | |
parent | 0aeec504b484cb37b856dd574974d739f35e968b (diff) |
glsl: Add support for the framebuffer fetch layout(noncoherent) qualifier.
This allows the application to request framebuffer fetch coherency
with per-fragment output granularity. Coherent framebuffer fetch
outputs (which is the default if no qualifier is present for
compatibility with older versions of the EXT_shader_framebuffer_fetch
extension) will have ir_variable_data::memory_coherent set to true.
Reviewed-by: Plamena Manolova <[email protected]>
Diffstat (limited to 'src/compiler/glsl/glsl_parser.yy')
-rw-r--r-- | src/compiler/glsl/glsl_parser.yy | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/compiler/glsl/glsl_parser.yy b/src/compiler/glsl/glsl_parser.yy index 4faf9602a08..f1986ed0a8a 100644 --- a/src/compiler/glsl/glsl_parser.yy +++ b/src/compiler/glsl/glsl_parser.yy @@ -1587,6 +1587,12 @@ layout_qualifier_id: } } + if (!$$.flags.i && + state->EXT_shader_framebuffer_fetch_non_coherent_enable) { + if (match_layout_qualifier($1, "noncoherent", state) == 0) + $$.flags.q.non_coherent = 1; + } + if (!$$.flags.i) { _mesa_glsl_error(& @1, state, "unrecognized layout identifier " "`%s'", $1); |