Commit e61ed597 by John Kessenich

glsl -> SPV: fix OpVectorInsertDynamic result type bug.

parent 3a13a0c7
......@@ -1857,8 +1857,9 @@ void Builder::accessChainStore(Id rvalue)
Id tempBaseId = createLoad(base);
source = createLvalueSwizzle(getTypeId(tempBaseId), tempBaseId, rvalue, accessChain.swizzle);
} else if (accessChain.component) {
Instruction* vectorInsert = new Instruction(getUniqueId(), getTypeId(rvalue), OpVectorInsertDynamic);
vectorInsert->addIdOperand(createLoad(base));
Id tempBaseId = createLoad(base);
Instruction* vectorInsert = new Instruction(getUniqueId(), getTypeId(tempBaseId), OpVectorInsertDynamic);
vectorInsert->addIdOperand(tempBaseId);
vectorInsert->addIdOperand(rvalue);
vectorInsert->addIdOperand(accessChain.component);
buildPoint->addInstruction(vectorInsert);
......
......@@ -131,9 +131,9 @@ Linked fragment stage:
70: 48(int) VectorExtractDynamic 69 68
72: 48(int) IMul 70 71
73: 7(float) ConvertUToF 72
75: 8(fvec4) Load 66(tv4)
74: 7(float) VectorInsertDynamic 75 73 67
Store 66(tv4) 74
74: 8(fvec4) Load 66(tv4)
75: 8(fvec4) VectorInsertDynamic 74 73 67
Store 66(tv4) 75
76: 14(int) Load 60(i)
77: 14(int) IAdd 76 33
Store 60(i) 77
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment