Add GL_KHR_shader_subgroup_rotate support
Co-authored-by: Neil Hickey <neil.hickey@arm.com> Co-authored-by: Stuart Brady <stuart.brady@arm.com> Signed-off-by: Sven van Haastregt <sven.vanhaastregt@arm.com>
This commit is contained in:
parent
8c3dbb3596
commit
b1f7affe94
20 changed files with 5765 additions and 7 deletions
|
|
@ -1,7 +1,7 @@
|
|||
//
|
||||
// Copyright (C) 2014-2016 LunarG, Inc.
|
||||
// Copyright (C) 2015-2020 Google, Inc.
|
||||
// Copyright (C) 2017 ARM Limited.
|
||||
// Copyright (C) 2017, 2022-2024 Arm Limited.
|
||||
// Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved.
|
||||
//
|
||||
// All rights reserved.
|
||||
|
|
@ -8318,6 +8318,11 @@ spv::Id TGlslangToSpvTraverser::createSubgroupOperation(glslang::TOperator op, s
|
|||
builder.addCapability(spv::CapabilityGroupNonUniform);
|
||||
builder.addCapability(spv::CapabilityGroupNonUniformBallot);
|
||||
break;
|
||||
case glslang::EOpSubgroupRotate:
|
||||
case glslang::EOpSubgroupClusteredRotate:
|
||||
builder.addExtension(spv::E_SPV_KHR_subgroup_rotate);
|
||||
builder.addCapability(spv::CapabilityGroupNonUniformRotateKHR);
|
||||
break;
|
||||
case glslang::EOpSubgroupShuffle:
|
||||
case glslang::EOpSubgroupShuffleXor:
|
||||
builder.addCapability(spv::CapabilityGroupNonUniform);
|
||||
|
|
@ -8425,6 +8430,8 @@ spv::Id TGlslangToSpvTraverser::createSubgroupOperation(glslang::TOperator op, s
|
|||
case glslang::EOpSubgroupShuffleXor: opCode = spv::OpGroupNonUniformShuffleXor; break;
|
||||
case glslang::EOpSubgroupShuffleUp: opCode = spv::OpGroupNonUniformShuffleUp; break;
|
||||
case glslang::EOpSubgroupShuffleDown: opCode = spv::OpGroupNonUniformShuffleDown; break;
|
||||
case glslang::EOpSubgroupRotate:
|
||||
case glslang::EOpSubgroupClusteredRotate: opCode = spv::OpGroupNonUniformRotateKHR; break;
|
||||
case glslang::EOpSubgroupAdd:
|
||||
case glslang::EOpSubgroupInclusiveAdd:
|
||||
case glslang::EOpSubgroupExclusiveAdd:
|
||||
|
|
@ -8851,6 +8858,8 @@ spv::Id TGlslangToSpvTraverser::createMiscOperation(glslang::TOperator op, spv::
|
|||
case glslang::EOpSubgroupShuffleXor:
|
||||
case glslang::EOpSubgroupShuffleUp:
|
||||
case glslang::EOpSubgroupShuffleDown:
|
||||
case glslang::EOpSubgroupRotate:
|
||||
case glslang::EOpSubgroupClusteredRotate:
|
||||
case glslang::EOpSubgroupClusteredAdd:
|
||||
case glslang::EOpSubgroupClusteredMul:
|
||||
case glslang::EOpSubgroupClusteredMin:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue