diff options
Diffstat (limited to 'src/compiler/nir/nir_intrinsics.py')
-rw-r--r-- | src/compiler/nir/nir_intrinsics.py | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/compiler/nir/nir_intrinsics.py b/src/compiler/nir/nir_intrinsics.py index 26f421cfb95..8fb9eef1584 100644 --- a/src/compiler/nir/nir_intrinsics.py +++ b/src/compiler/nir/nir_intrinsics.py @@ -132,6 +132,8 @@ MEMORY_SEMANTICS = "NIR_INTRINSIC_MEMORY_SEMANTICS" MEMORY_MODES = "NIR_INTRINSIC_MEMORY_MODES" # Scope of a memory operation MEMORY_SCOPE = "NIR_INTRINSIC_MEMORY_SCOPE" +# Scope of a control barrier +EXECUTION_SCOPE = "NIR_INTRINSIC_EXECUTION_SCOPE" # # Possible flags: @@ -219,11 +221,12 @@ barrier("control_barrier") # intrinsic. barrier("memory_barrier") -# Memory barrier with explicit scope. Follows the semantics of SPIR-V -# OpMemoryBarrier, used to implement Vulkan Memory Model. Storage that the -# barrierr applies is represented using NIR variable modes. -intrinsic("scoped_memory_barrier", - indices=[MEMORY_SEMANTICS, MEMORY_MODES, MEMORY_SCOPE]) +# Control/Memory barrier with explicit scope. Follows the semantics of SPIR-V +# OpMemoryBarrier and OpControlBarrier, used to implement Vulkan Memory Model. +# Storage that the barrier applies is represented using NIR variable modes. +# For an OpMemoryBarrier, set EXECUTION_SCOPE to NIR_SCOPE_NONE. +intrinsic("scoped_barrier", + indices=[EXECUTION_SCOPE, MEMORY_SEMANTICS, MEMORY_MODES, MEMORY_SCOPE]) # Shader clock intrinsic with semantics analogous to the clock2x32ARB() # GLSL intrinsic. |