SPV: Fix extra operands when using the "struct" form of a built-in taking an 'out' param.
This commit is contained in:
parent
e721f49dbd
commit
2359bd0a1d
@ -2892,9 +2892,11 @@ spv::Id TGlslangToSpvTraverser::createMiscOperation(glslang::TOperator op, spv::
|
|||||||
}
|
}
|
||||||
|
|
||||||
spv::Id id = 0;
|
spv::Id id = 0;
|
||||||
if (libCall >= 0)
|
if (libCall >= 0) {
|
||||||
|
while (consumedOperands < (int)operands.size())
|
||||||
|
operands.pop_back();
|
||||||
id = builder.createBuiltinCall(precision, typeId, stdBuiltins, libCall, operands);
|
id = builder.createBuiltinCall(precision, typeId, stdBuiltins, libCall, operands);
|
||||||
else {
|
} else {
|
||||||
switch (consumedOperands) {
|
switch (consumedOperands) {
|
||||||
case 0:
|
case 0:
|
||||||
// should all be handled by visitAggregate and createNoArgOperation
|
// should all be handled by visitAggregate and createNoArgOperation
|
||||||
|
@ -193,7 +193,7 @@ Linked vertex stage:
|
|||||||
97: 7(ivec4) IAdd 96 95
|
97: 7(ivec4) IAdd 96 95
|
||||||
Store 9(iout) 97
|
Store 9(iout) 97
|
||||||
101: 98(fvec3) Load 100(v3)
|
101: 98(fvec3) Load 100(v3)
|
||||||
106:105(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 101 104(i3out)
|
106:105(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 101
|
||||||
107: 102(ivec3) CompositeExtract 106 1
|
107: 102(ivec3) CompositeExtract 106 1
|
||||||
Store 104(i3out) 107
|
Store 104(i3out) 107
|
||||||
108: 98(fvec3) CompositeExtract 106 0
|
108: 98(fvec3) CompositeExtract 106 0
|
||||||
@ -211,7 +211,7 @@ Linked vertex stage:
|
|||||||
119: 7(ivec4) VectorShuffle 118 117 4 5 6 3
|
119: 7(ivec4) VectorShuffle 118 117 4 5 6 3
|
||||||
Store 9(iout) 119
|
Store 9(iout) 119
|
||||||
122: 18(float) Load 121(v1)
|
122: 18(float) Load 121(v1)
|
||||||
126:125(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 122 124(i1out)
|
126:125(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 122
|
||||||
127: 6(int) CompositeExtract 126 1
|
127: 6(int) CompositeExtract 126 1
|
||||||
Store 124(i1out) 127
|
Store 124(i1out) 127
|
||||||
128: 18(float) CompositeExtract 126 0
|
128: 18(float) CompositeExtract 126 0
|
||||||
|
@ -2,5 +2,5 @@
|
|||||||
// For the version, it uses the latest git tag followed by the number of commits.
|
// For the version, it uses the latest git tag followed by the number of commits.
|
||||||
// For the date, it uses the current date (when then script is run).
|
// For the date, it uses the current date (when then script is run).
|
||||||
|
|
||||||
#define GLSLANG_REVISION "SPIRV99.822"
|
#define GLSLANG_REVISION "SPIRV99.823"
|
||||||
#define GLSLANG_DATE "06-Dec-2015"
|
#define GLSLANG_DATE "06-Dec-2015"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user