Add mappings of barriers and atomics for OpenGL GLSL -> SPIR-V.
diff --git a/extensions/ARB/ARB_gl_spirv.txt b/extensions/ARB/ARB_gl_spirv.txt
index 0026768..7c7cb4b 100644
--- a/extensions/ARB/ARB_gl_spirv.txt
+++ b/extensions/ARB/ARB_gl_spirv.txt
@@ -29,8 +29,8 @@
Version
- Last Modified Date: 10-Apr-2018
- Revision: 38
+ Last Modified Date: 25-Apr-2018
+ Revision: 39
Number
@@ -312,11 +312,44 @@
max_vertices -> OutputVertices
- Mapping of other instructions
+ Mapping of barriers
- % -> OpUMod/OpSMod
- mod() -> OpFMod
- NA -> OpSRem/OpFRem
+ barrier() (compute) -> OpControlBarrier(/*Execution*/Workgroup,
+ /*Memory*/Workgroup,
+ /*Semantics*/AcquireRelease |
+ WorkgroupMemory)
+
+ barrier() (tess control) -> OpControlBarrier(/*Execution*/Workgroup,
+ /*Memory*/Invocation,
+ /*Semantics*/None)
+
+ memoryBarrier() -> OpMemoryBarrier(/*Memory*/Device,
+ /*Semantics*/AcquireRelease |
+ UniformMemory |
+ WorkgroupMemory |
+ ImageMemory)
+
+ memoryBarrierBuffer() -> OpMemoryBarrier(/*Memory*/Device,
+ /*Semantics*/AcquireRelease |
+ UniformMemory)
+
+ memoryBarrierShared() -> OpMemoryBarrier(/*Memory*/Device,
+ /*Semantics*/AcquireRelease |
+ WorkgroupMemory)
+
+ memoryBarrierImage() -> OpMemoryBarrier(/*Memory*/Device,
+ /*Semantics*/AcquireRelease |
+ ImageMemory)
+
+ groupMemoryBarrier() -> OpMemoryBarrier(/*Memory*/Workgroup,
+ /*Semantics*/AcquireRelease |
+ UniformMemory |
+ WorkgroupMemory |
+ ImageMemory)
+
+ Mapping of atomics
+
+ all atomic builtin functions -> Semantics = None(Relaxed)
atomicExchange() -> OpAtomicExchange
imageAtomicExchange() -> OpAtomicExchange
@@ -324,6 +357,16 @@
imageAtomicCompSwap() -> OpAtomicCompareExchange
NA -> OpAtomicCompareExchangeWeak
+ atomicCounterIncrement -> OpAtomicIIncrement
+ atomicCounterDecrement -> OpAtomicIDecrement
+ atomicCounter -> OpAtomicLoad
+
+ Mapping of other instructions
+
+ % -> OpUMod/OpSMod
+ mod() -> OpFMod
+ NA -> OpSRem/OpFRem
+
pack/unpack (conversion) -> pack/unpack in GLSL extended instructions
pack/unpack (no conversion) -> OpBitcast
@@ -2030,6 +2073,7 @@
Rev. Date Author Changes
---- ----------- ------------ ---------------------------------
+ 39 25-Apr-2018 JohnK add mappings of barriers and atomics
38 10-Apr-2018 dgkoch OpImageQuerySizeLod and OpImageQuerylevels
only work with Sampled images
(SPIR-V/issues/280).