Merge pull request #3023 from pmistryNV/GL_EXT_mesh_shader
Make OpEmitMeshTasksEXT a terminal instruction
This commit is contained in:
commit
df7fec2cfa
5 changed files with 158 additions and 158 deletions
|
|
@ -8597,6 +8597,8 @@ spv::Id TGlslangToSpvTraverser::createMiscOperation(glslang::TOperator op, spv::
|
|||
if(taskPayloadID)
|
||||
operands.push_back(taskPayloadID);
|
||||
builder.createNoResultOp(spv::OpEmitMeshTasksEXT, operands);
|
||||
// Make it a terminating instruction in the current block
|
||||
builder.createAndSetNoPredecessorBlock("post-OpEmitMeshTasksEXT");
|
||||
return 0;
|
||||
case glslang::EOpSetMeshOutputsEXT:
|
||||
builder.createNoResultOp(spv::OpSetMeshOutputsEXT, operands);
|
||||
|
|
|
|||
|
|
@ -844,6 +844,7 @@ public:
|
|||
void createConditionalBranch(Id condition, Block* thenBlock, Block* elseBlock);
|
||||
void createLoopMerge(Block* mergeBlock, Block* continueBlock, unsigned int control,
|
||||
const std::vector<unsigned int>& operands);
|
||||
void createAndSetNoPredecessorBlock(const char*);
|
||||
|
||||
// Sets to generate opcode for specialization constants.
|
||||
void setToSpecConstCodeGenMode() { generatingOpCodeForSpecConst = true; }
|
||||
|
|
@ -863,7 +864,6 @@ public:
|
|||
void remapDynamicSwizzle();
|
||||
void transferAccessChainSwizzle(bool dynamic);
|
||||
void simplifyAccessChainSwizzle();
|
||||
void createAndSetNoPredecessorBlock(const char*);
|
||||
void createSelectionMerge(Block* mergeBlock, unsigned int control);
|
||||
void dumpSourceInstructions(std::vector<unsigned int>&) const;
|
||||
void dumpSourceInstructions(const spv::Id fileId, const std::string& text, std::vector<unsigned int>&) const;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue