Commit 1d1910e7 by John Kessenich

Address subgroup-memory part of #47.

parent 7991ab82
...@@ -5945,16 +5945,20 @@ spv::Id TGlslangToSpvTraverser::createNoArgOperation(glslang::TOperator op, spv: ...@@ -5945,16 +5945,20 @@ spv::Id TGlslangToSpvTraverser::createNoArgOperation(glslang::TOperator op, spv:
builder.createControlBarrier(spv::ScopeSubgroup, spv::ScopeDevice, spv::MemorySemanticsMaskNone); builder.createControlBarrier(spv::ScopeSubgroup, spv::ScopeDevice, spv::MemorySemanticsMaskNone);
return spv::NoResult; return spv::NoResult;
case glslang::EOpSubgroupMemoryBarrier: case glslang::EOpSubgroupMemoryBarrier:
builder.createMemoryBarrier(spv::ScopeSubgroup, spv::MemorySemanticsAllMemory); builder.createMemoryBarrier(spv::ScopeSubgroup, spv::MemorySemanticsAllMemory |
spv::MemorySemanticsAcquireReleaseMask);
return spv::NoResult; return spv::NoResult;
case glslang::EOpSubgroupMemoryBarrierBuffer: case glslang::EOpSubgroupMemoryBarrierBuffer:
builder.createMemoryBarrier(spv::ScopeSubgroup, spv::MemorySemanticsUniformMemoryMask); builder.createMemoryBarrier(spv::ScopeSubgroup, spv::MemorySemanticsUniformMemoryMask |
spv::MemorySemanticsAcquireReleaseMask);
return spv::NoResult; return spv::NoResult;
case glslang::EOpSubgroupMemoryBarrierImage: case glslang::EOpSubgroupMemoryBarrierImage:
builder.createMemoryBarrier(spv::ScopeSubgroup, spv::MemorySemanticsImageMemoryMask); builder.createMemoryBarrier(spv::ScopeSubgroup, spv::MemorySemanticsImageMemoryMask |
spv::MemorySemanticsAcquireReleaseMask);
return spv::NoResult; return spv::NoResult;
case glslang::EOpSubgroupMemoryBarrierShared: case glslang::EOpSubgroupMemoryBarrierShared:
builder.createMemoryBarrier(spv::ScopeSubgroup, spv::MemorySemanticsWorkgroupMemoryMask); builder.createMemoryBarrier(spv::ScopeSubgroup, spv::MemorySemanticsWorkgroupMemoryMask |
spv::MemorySemanticsAcquireReleaseMask);
return spv::NoResult; return spv::NoResult;
case glslang::EOpSubgroupElect: { case glslang::EOpSubgroupElect: {
std::vector<spv::Id> operands; std::vector<spv::Id> operands;
......
...@@ -53,10 +53,10 @@ spv.subgroupBasic.comp ...@@ -53,10 +53,10 @@ spv.subgroupBasic.comp
28: 12(int) Constant 3 28: 12(int) Constant 3
32: 12(int) Constant 1 32: 12(int) Constant 1
33: 12(int) Constant 0 33: 12(int) Constant 0
34: 12(int) Constant 3392 34: 12(int) Constant 3400
35: 12(int) Constant 64 35: 12(int) Constant 72
36: 12(int) Constant 256 36: 12(int) Constant 264
37: 12(int) Constant 2048 37: 12(int) Constant 2056
38: TypeVector 12(int) 3 38: TypeVector 12(int) 3
39: 12(int) Constant 8 39: 12(int) Constant 8
40: 38(ivec3) ConstantComposite 39 39 32 40: 38(ivec3) ConstantComposite 39 39 32
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment