Commit e61ed597 by John Kessenich

glsl -> SPV: fix OpVectorInsertDynamic result type bug.

parent 3a13a0c7
...@@ -1857,8 +1857,9 @@ void Builder::accessChainStore(Id rvalue) ...@@ -1857,8 +1857,9 @@ void Builder::accessChainStore(Id rvalue)
Id tempBaseId = createLoad(base); Id tempBaseId = createLoad(base);
source = createLvalueSwizzle(getTypeId(tempBaseId), tempBaseId, rvalue, accessChain.swizzle); source = createLvalueSwizzle(getTypeId(tempBaseId), tempBaseId, rvalue, accessChain.swizzle);
} else if (accessChain.component) { } else if (accessChain.component) {
Instruction* vectorInsert = new Instruction(getUniqueId(), getTypeId(rvalue), OpVectorInsertDynamic); Id tempBaseId = createLoad(base);
vectorInsert->addIdOperand(createLoad(base)); Instruction* vectorInsert = new Instruction(getUniqueId(), getTypeId(tempBaseId), OpVectorInsertDynamic);
vectorInsert->addIdOperand(tempBaseId);
vectorInsert->addIdOperand(rvalue); vectorInsert->addIdOperand(rvalue);
vectorInsert->addIdOperand(accessChain.component); vectorInsert->addIdOperand(accessChain.component);
buildPoint->addInstruction(vectorInsert); buildPoint->addInstruction(vectorInsert);
......
...@@ -131,9 +131,9 @@ Linked fragment stage: ...@@ -131,9 +131,9 @@ Linked fragment stage:
70: 48(int) VectorExtractDynamic 69 68 70: 48(int) VectorExtractDynamic 69 68
72: 48(int) IMul 70 71 72: 48(int) IMul 70 71
73: 7(float) ConvertUToF 72 73: 7(float) ConvertUToF 72
75: 8(fvec4) Load 66(tv4) 74: 8(fvec4) Load 66(tv4)
74: 7(float) VectorInsertDynamic 75 73 67 75: 8(fvec4) VectorInsertDynamic 74 73 67
Store 66(tv4) 74 Store 66(tv4) 75
76: 14(int) Load 60(i) 76: 14(int) Load 60(i)
77: 14(int) IAdd 76 33 77: 14(int) IAdd 76 33
Store 60(i) 77 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