Use proper constant IDs instead of relying on output constID

This commit is contained in:
baldurk
2018-04-04 15:57:43 +01:00
parent 4b4ce8dc01
commit c84cba4b88
+6 -1
View File
@@ -933,7 +933,12 @@ static void ConvertToMeshOutputCompute(const ShaderReflection &refl, const SPIRV
std::vector<uint32_t> words = {outs[o].privatePtrID, readPtr, patchData.outputs[o].ID};
for(uint32_t idx : patchData.outputs[o].accessChain)
words.push_back(outs[idx].constID);
{
if(idxs[idx] == 0)
idxs[idx] = editor.AddConstantImmediate<uint32_t>(idx);
words.push_back(idxs[idx]);
}
// type *readPtr = globalvar.globalsub...;
ops.push_back(SPIRVOperation(spv::OpAccessChain, words));