diff options
Diffstat (limited to 'src/compiler/glsl/glsl_parser_extras.cpp')
-rw-r--r-- | src/compiler/glsl/glsl_parser_extras.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/compiler/glsl/glsl_parser_extras.cpp b/src/compiler/glsl/glsl_parser_extras.cpp index 25003eeccce..04eba980e0e 100644 --- a/src/compiler/glsl/glsl_parser_extras.cpp +++ b/src/compiler/glsl/glsl_parser_extras.cpp @@ -299,6 +299,10 @@ _mesa_glsl_parse_state::_mesa_glsl_parse_state(struct gl_context *_ctx, this->fs_early_fragment_tests = false; this->fs_inner_coverage = false; this->fs_post_depth_coverage = false; + this->fs_pixel_interlock_ordered = false; + this->fs_pixel_interlock_unordered = false; + this->fs_sample_interlock_ordered = false; + this->fs_sample_interlock_unordered = false; this->fs_blend_support = 0; memset(this->atomic_counter_offsets, 0, sizeof(this->atomic_counter_offsets)); @@ -630,6 +634,7 @@ static const _mesa_glsl_extension _mesa_glsl_supported_extensions[] = { EXT(ARB_explicit_uniform_location), EXT(ARB_fragment_coord_conventions), EXT(ARB_fragment_layer_viewport), + EXT(ARB_fragment_shader_interlock), EXT(ARB_gpu_shader5), EXT(ARB_gpu_shader_fp64), EXT(ARB_gpu_shader_int64), @@ -1721,6 +1726,10 @@ set_shader_inout_layout(struct gl_shader *shader, assert(!state->fs_early_fragment_tests); assert(!state->fs_inner_coverage); assert(!state->fs_post_depth_coverage); + assert(!state->fs_pixel_interlock_ordered); + assert(!state->fs_pixel_interlock_unordered); + assert(!state->fs_sample_interlock_ordered); + assert(!state->fs_sample_interlock_unordered); } for (unsigned i = 0; i < MAX_FEEDBACK_BUFFERS; i++) { @@ -1842,6 +1851,10 @@ set_shader_inout_layout(struct gl_shader *shader, shader->EarlyFragmentTests = state->fs_early_fragment_tests; shader->InnerCoverage = state->fs_inner_coverage; shader->PostDepthCoverage = state->fs_post_depth_coverage; + shader->PixelInterlockOrdered = state->fs_pixel_interlock_ordered; + shader->PixelInterlockUnordered = state->fs_pixel_interlock_unordered; + shader->SampleInterlockOrdered = state->fs_sample_interlock_ordered; + shader->SampleInterlockUnordered = state->fs_sample_interlock_unordered; shader->BlendSupport = state->fs_blend_support; break; |