26 Objects[M->getSpecConstant(SE.first)] = SE.second;
31 for (
const Instruction *Op : M->getSpecConstantOps())
37 uint32_t Id = Op->getOperand(1);
44 if (uint32_t WorkgroupSizeId = M->getWorkgroupSizeId())
std::vector< Object > Objects
The result objects in this pipeline stage, after specialization.
This file declares the Module class.
uint32_t getId() const
Returns the SPIR-V result ID of this entry point.
This file declares the EntryPoint class.
This class represents a single execution of a SPIR-V entry point.
This file declares the Instruction class.
void execute(const Instruction *Inst)
Execute Inst in this invocation.
This file declares the PipelineStage class.
A Device instance encapsulates properties and state for the virtual device.
This file declares the Invocation class.
Object getObject(uint32_t Id) const
Returns the object with the specified ID.
PipelineStage(Device &D, std::shared_ptr< const Module > M, const EntryPoint *EP, const SpecConstantMap &SM={})
Create a new PipelineStage.
This class represents an instruction result.
This class represents a SPIR-V instruction.
Dim3 GroupSize
The size of each workgroup.
T get(uint32_t Element=0) const
Get the value of this object as a scalar of type T.
This class represents a shader entry point.
std::map< uint32_t, Object > SpecConstantMap
Mapping from specialization constant ID to Object values.