mesa: Add GL/GLSL plumbing for ARB_fragment_shader_interlock.
authorPlamena Manolova <plamena.manolova@intel.com>
Fri, 27 Apr 2018 13:12:30 +0000 (14:12 +0100)
committerPlamena Manolova <plamena.manolova@intel.com>
Fri, 1 Jun 2018 15:36:36 +0000 (16:36 +0100)
commit60e843c4d5a5688196d13611a357cdc5b1b1141d
treed8df5f37248c6b7f8622b0e8bf1fa643b9f147f5
parent53719f818cf320add55dc7ed3612725c2f6128ce
mesa: Add GL/GLSL plumbing for ARB_fragment_shader_interlock.

This extension provides new GLSL built-in functions
beginInvocationInterlockARB() and endInvocationInterlockARB()
that delimit a critical section of fragment shader code. For
pairs of shader invocations with "overlapping" coverage in a
given pixel, the OpenGL implementation will guarantee that the
critical section of the fragment shader will be executed for
only one fragment at a time.

Signed-off-by: Plamena Manolova <plamena.manolova@intel.com>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
14 files changed:
src/compiler/glsl/ast.h
src/compiler/glsl/ast_to_hir.cpp
src/compiler/glsl/ast_type.cpp
src/compiler/glsl/builtin_functions.cpp
src/compiler/glsl/glsl_parser.yy
src/compiler/glsl/glsl_parser_extras.cpp
src/compiler/glsl/glsl_parser_extras.h
src/compiler/glsl/glsl_to_nir.cpp
src/compiler/glsl/ir.h
src/compiler/glsl/linker.cpp
src/compiler/nir/nir_intrinsics.py
src/compiler/shader_info.h
src/mesa/main/extensions_table.h
src/mesa/main/mtypes.h