[llvm] [SPIR-V] Add support for HLSL SV_GroupIndex (PR #130670)
Cassandra Beckley via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 17 14:50:24 PDT 2025
================
@@ -4005,6 +4017,38 @@ bool SPIRVInstructionSelector::loadVec3BuiltinInputID(
return Result && MIB.constrainAllUses(TII, TRI, RBI);
}
+// Generate the instructions to load 32-bit integer builtin input IDs/Indices.
+// Like LocalInvocationIndex
+bool SPIRVInstructionSelector::loadBuiltinInputID(
+ SPIRV::BuiltIn::BuiltIn BuiltInValue, Register ResVReg,
+ const SPIRVType *ResType, MachineInstr &I) const {
+ MachineIRBuilder MIRBuilder(I);
+ const SPIRVType *U32Type = GR.getOrCreateSPIRVIntegerType(32, MIRBuilder);
+ const SPIRVType *PtrType = GR.getOrCreateSPIRVPointerType(
+ U32Type, MIRBuilder, SPIRV::StorageClass::Input);
+
+ // Create new register for the input ID builtin variable.
+ Register NewRegister =
+ MIRBuilder.getMRI()->createVirtualRegister(&SPIRV::iIDRegClass);
+ MIRBuilder.getMRI()->setType(NewRegister, LLT::pointer(0, 64));
----------------
cassiebeckley wrote:
Done.
https://github.com/llvm/llvm-project/pull/130670
More information about the llvm-commits
mailing list