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:
builder.createControlBarrier(spv::ScopeSubgroup, spv::ScopeDevice, spv::MemorySemanticsMaskNone);
return spv::NoResult;
case glslang::EOpSubgroupMemoryBarrier:
builder.createMemoryBarrier(spv::ScopeSubgroup, spv::MemorySemanticsAllMemory);
builder.createMemoryBarrier(spv::ScopeSubgroup, spv::MemorySemanticsAllMemory |
spv::MemorySemanticsAcquireReleaseMask);
return spv::NoResult;
case glslang::EOpSubgroupMemoryBarrierBuffer:
builder.createMemoryBarrier(spv::ScopeSubgroup, spv::MemorySemanticsUniformMemoryMask);
builder.createMemoryBarrier(spv::ScopeSubgroup, spv::MemorySemanticsUniformMemoryMask |
spv::MemorySemanticsAcquireReleaseMask);
return spv::NoResult;
case glslang::EOpSubgroupMemoryBarrierImage:
builder.createMemoryBarrier(spv::ScopeSubgroup, spv::MemorySemanticsImageMemoryMask);
builder.createMemoryBarrier(spv::ScopeSubgroup, spv::MemorySemanticsImageMemoryMask |
spv::MemorySemanticsAcquireReleaseMask);
return spv::NoResult;
case glslang::EOpSubgroupMemoryBarrierShared:
builder.createMemoryBarrier(spv::ScopeSubgroup, spv::MemorySemanticsWorkgroupMemoryMask);
builder.createMemoryBarrier(spv::ScopeSubgroup, spv::MemorySemanticsWorkgroupMemoryMask |
spv::MemorySemanticsAcquireReleaseMask);
return spv::NoResult;
case glslang::EOpSubgroupElect: {
std::vector<spv::Id> operands;
......
......@@ -53,10 +53,10 @@ spv.subgroupBasic.comp
28: 12(int) Constant 3
32: 12(int) Constant 1
33: 12(int) Constant 0
34: 12(int) Constant 3392
35: 12(int) Constant 64
36: 12(int) Constant 256
37: 12(int) Constant 2048
34: 12(int) Constant 3400
35: 12(int) Constant 72
36: 12(int) Constant 264
37: 12(int) Constant 2056
38: TypeVector 12(int) 3
39: 12(int) Constant 8
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