SPV return from main: Simplify a legacy design such returns are not jumps to exit block.
Structured control-flow rules allow leaving the middle of a construct through
a return, but not through a jump to a block that does a return.
Addresses issue #58.
diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp
index 0240dea..37ee52f 100755
--- a/SPIRV/GlslangToSpv.cpp
+++ b/SPIRV/GlslangToSpv.cpp
@@ -454,7 +454,7 @@
if (! mainTerminated) {
spv::Block* lastMainBlock = shaderEntry->getLastBlock();
builder.setBuildPoint(lastMainBlock);
- builder.leaveFunction(true);
+ builder.leaveFunction();
}
}
@@ -854,7 +854,7 @@
} else {
if (inMain)
mainTerminated = true;
- builder.leaveFunction(inMain);
+ builder.leaveFunction();
inMain = false;
}
@@ -1276,12 +1276,10 @@
builder.createLoopContinue();
break;
case glslang::EOpReturn:
- if (inMain)
- builder.makeMainReturn();
- else if (node->getExpression())
+ if (node->getExpression())
builder.makeReturn(false, builder.accessChainLoad(convertGlslangToSpvType(node->getExpression()->getType())));
else
- builder.makeReturn();
+ builder.makeReturn(false);
builder.clearAccessChain();
break;
diff --git a/SPIRV/SpvBuilder.cpp b/SPIRV/SpvBuilder.cpp
index 9913b0b..ba03314 100755
--- a/SPIRV/SpvBuilder.cpp
+++ b/SPIRV/SpvBuilder.cpp
@@ -65,8 +65,7 @@
builderNumber(userNumber << 16 | SpvBuilderMagic),
buildPoint(0),
uniqueId(0),
- mainFunction(0),
- stageExit(0)
+ mainFunction(0)
{
clearAccessChain();
}
@@ -723,20 +722,11 @@
std::vector<Id> params;
mainFunction = makeFunctionEntry(makeVoidType(), "main", params, &entry);
- stageExit = new Block(getUniqueId(), *mainFunction);
return mainFunction;
}
// Comments in header
-void Builder::closeMain()
-{
- setBuildPoint(stageExit);
- stageExit->addInstruction(new Instruction(NoResult, NoType, OpReturn));
- mainFunction->addBlock(stageExit);
-}
-
-// Comments in header
Function* Builder::makeFunctionEntry(Id returnType, const char* name, std::vector<Id>& paramTypes, Block **entry)
{
Id typeId = makeFunctionType(returnType, paramTypes);
@@ -756,14 +746,9 @@
}
// Comments in header
-void Builder::makeReturn(bool implicit, Id retVal, bool isMain)
+void Builder::makeReturn(bool implicit, Id retVal)
{
- if (isMain && retVal)
- MissingFunctionality("return value from main()");
-
- if (isMain)
- createBranch(stageExit);
- else if (retVal) {
+ if (retVal) {
Instruction* inst = new Instruction(NoResult, NoType, OpReturnValue);
inst->addIdOperand(retVal);
buildPoint->addInstruction(inst);
@@ -775,7 +760,7 @@
}
// Comments in header
-void Builder::leaveFunction(bool main)
+void Builder::leaveFunction()
{
Block* block = buildPoint;
Function& function = buildPoint->getParent();
@@ -791,10 +776,8 @@
// Given that this block is at the end of a function, it must be right after an
// explicit return, just remove it.
function.popBlock(block);
- } else if (main)
- makeMainReturn(true);
- else {
- // We're get a return instruction at the end of the current block,
+ } else {
+ // We'll add a return instruction at the end of the current block,
// which for a non-void function is really error recovery (?), as the source
// being translated should have had an explicit return, which would have been
// followed by an unreachable block, which was handled above.
@@ -805,9 +788,6 @@
}
}
}
-
- if (main)
- closeMain();
}
// Comments in header
diff --git a/SPIRV/SpvBuilder.h b/SPIRV/SpvBuilder.h
index f81f9ed..e483570 100755
--- a/SPIRV/SpvBuilder.h
+++ b/SPIRV/SpvBuilder.h
@@ -195,23 +195,16 @@
// Make the main function.
Function* makeMain();
- // Return from main. Implicit denotes a return at the very end of main.
- void makeMainReturn(bool implicit = false) { makeReturn(implicit, 0, true); }
-
- // Close the main function.
- void closeMain();
-
// Make a shader-style function, and create its entry block if entry is non-zero.
// Return the function, pass back the entry.
Function* makeFunctionEntry(Id returnType, const char* name, std::vector<Id>& paramTypes, Block **entry = 0);
- // Create a return. Pass whether it is a return form main, and the return
- // value (if applicable). In the case of an implicit return, no post-return
- // block is inserted.
- void makeReturn(bool implicit = false, Id retVal = 0, bool isMain = false);
+ // Create a return. An 'implicit' return is one not appearing in the source
+ // code. In the case of an implicit return, no post-return block is inserted.
+ void makeReturn(bool implicit, Id retVal = 0);
// Generate all the code needed to finish up a function.
- void leaveFunction(bool main);
+ void leaveFunction();
// Create a discard.
void makeDiscard();
@@ -516,7 +509,6 @@
Block* buildPoint;
Id uniqueId;
Function* mainFunction;
- Block* stageExit;
AccessChain accessChain;
// special blocks of instructions for output
diff --git a/Test/baseResults/spv.100ops.frag.out b/Test/baseResults/spv.100ops.frag.out
index 45e733c..241c6ce 100755
--- a/Test/baseResults/spv.100ops.frag.out
+++ b/Test/baseResults/spv.100ops.frag.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 48
+// Id's are bound by 47
Source ESSL 100
Capability Shader
@@ -14,75 +14,73 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 9 "foo("
- Name 12 "face1"
- Name 14 "face2"
- Name 18 "z"
- Name 22 "low"
- Name 27 "high"
- Name 37 "gl_FragColor"
- Decorate 12(face1) RelaxedPrecision
- Decorate 14(face2) RelaxedPrecision
- Decorate 18(z) RelaxedPrecision
- Decorate 22(low) RelaxedPrecision
- Decorate 27(high) RelaxedPrecision
- Decorate 37(gl_FragColor) RelaxedPrecision
- Decorate 37(gl_FragColor) BuiltIn FragColor
+ Name 8 "foo("
+ Name 11 "face1"
+ Name 13 "face2"
+ Name 17 "z"
+ Name 21 "low"
+ Name 26 "high"
+ Name 36 "gl_FragColor"
+ Decorate 11(face1) RelaxedPrecision
+ Decorate 13(face2) RelaxedPrecision
+ Decorate 17(z) RelaxedPrecision
+ Decorate 21(low) RelaxedPrecision
+ Decorate 26(high) RelaxedPrecision
+ Decorate 36(gl_FragColor) RelaxedPrecision
+ Decorate 36(gl_FragColor) BuiltIn FragColor
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeFunction 7(float)
- 11: TypePointer PrivateGlobal 7(float)
- 12(face1): 11(ptr) Variable PrivateGlobal
- 13: 7(float) Constant 1093664768
- 14(face2): 11(ptr) Variable PrivateGlobal
- 15: 7(float) Constant 3221225472
- 16: TypeInt 32 1
- 17: TypePointer Function 16(int)
- 19: 16(int) Constant 3
- 20: 16(int) Constant 2
- 21: TypePointer UniformConstant 16(int)
- 22(low): 21(ptr) Variable UniformConstant
- 25: 16(int) Constant 1
- 27(high): 21(ptr) Variable UniformConstant
- 29: TypeBool
- 35: TypeVector 7(float) 4
- 36: TypePointer Output 35(fvec4)
-37(gl_FragColor): 36(ptr) Variable Output
+ 6: TypeFloat 32
+ 7: TypeFunction 6(float)
+ 10: TypePointer PrivateGlobal 6(float)
+ 11(face1): 10(ptr) Variable PrivateGlobal
+ 12: 6(float) Constant 1093664768
+ 13(face2): 10(ptr) Variable PrivateGlobal
+ 14: 6(float) Constant 3221225472
+ 15: TypeInt 32 1
+ 16: TypePointer Function 15(int)
+ 18: 15(int) Constant 3
+ 19: 15(int) Constant 2
+ 20: TypePointer UniformConstant 15(int)
+ 21(low): 20(ptr) Variable UniformConstant
+ 24: 15(int) Constant 1
+ 26(high): 20(ptr) Variable UniformConstant
+ 28: TypeBool
+ 34: TypeVector 6(float) 4
+ 35: TypePointer Output 34(fvec4)
+36(gl_FragColor): 35(ptr) Variable Output
4(main): 2 Function None 3
5: Label
- 18(z): 17(ptr) Variable Function
- Store 12(face1) 13
- Store 14(face2) 15
- Store 18(z) 19
- 23: 16(int) Load 22(low)
- 24: 16(int) IMul 20 23
- 26: 16(int) IAdd 24 25
- 28: 16(int) Load 27(high)
- 30: 29(bool) SLessThan 26 28
- SelectionMerge 32 None
- BranchConditional 30 31 32
- 31: Label
- 33: 16(int) Load 18(z)
- 34: 16(int) IAdd 33 25
- Store 18(z) 34
- Branch 32
- 32: Label
- 38: 7(float) Load 12(face1)
- 39: 16(int) Load 18(z)
- 40: 7(float) ConvertSToF 39
- 41: 35(fvec4) CompositeConstruct 40 40 40 40
- 42: 35(fvec4) VectorTimesScalar 41 38
- 43: 7(float) FunctionCall 9(foo()
- 44: 35(fvec4) CompositeConstruct 43 43 43 43
- 45: 35(fvec4) FAdd 42 44
- Store 37(gl_FragColor) 45
- Branch 6
- 6: Label
+ 17(z): 16(ptr) Variable Function
+ Store 11(face1) 12
+ Store 13(face2) 14
+ Store 17(z) 18
+ 22: 15(int) Load 21(low)
+ 23: 15(int) IMul 19 22
+ 25: 15(int) IAdd 23 24
+ 27: 15(int) Load 26(high)
+ 29: 28(bool) SLessThan 25 27
+ SelectionMerge 31 None
+ BranchConditional 29 30 31
+ 30: Label
+ 32: 15(int) Load 17(z)
+ 33: 15(int) IAdd 32 24
+ Store 17(z) 33
+ Branch 31
+ 31: Label
+ 37: 6(float) Load 11(face1)
+ 38: 15(int) Load 17(z)
+ 39: 6(float) ConvertSToF 38
+ 40: 34(fvec4) CompositeConstruct 39 39 39 39
+ 41: 34(fvec4) VectorTimesScalar 40 37
+ 42: 6(float) FunctionCall 8(foo()
+ 43: 34(fvec4) CompositeConstruct 42 42 42 42
+ 44: 34(fvec4) FAdd 41 43
+ Store 36(gl_FragColor) 44
Return
FunctionEnd
- 9(foo(): 7(float) Function None 8
- 10: Label
- 46: 7(float) Load 14(face2)
- ReturnValue 46
+ 8(foo(): 6(float) Function None 7
+ 9: Label
+ 45: 6(float) Load 13(face2)
+ ReturnValue 45
FunctionEnd
diff --git a/Test/baseResults/spv.140.frag.out b/Test/baseResults/spv.140.frag.out
index fae44fd..8b67908 100755
--- a/Test/baseResults/spv.140.frag.out
+++ b/Test/baseResults/spv.140.frag.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 93
+// Id's are bound by 92
Source GLSL 140
Capability Shader
@@ -14,151 +14,149 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 9 "foo("
- Name 12 "i1"
- Name 17 "gl_FrontFacing"
- Name 25 "i2"
- Name 29 "o"
- Name 34 "gl_ClipDistance"
- Name 43 "k"
- Name 55 "sampR"
- Name 62 "sampB"
- Name 86 "samp2Da"
- Name 90 "bn"
- MemberName 90(bn) 0 "matra"
- MemberName 90(bn) 1 "matca"
- MemberName 90(bn) 2 "matr"
- MemberName 90(bn) 3 "matc"
- MemberName 90(bn) 4 "matrdef"
- Name 92 ""
- Decorate 17(gl_FrontFacing) BuiltIn FrontFacing
- Decorate 34(gl_ClipDistance) Smooth
- Decorate 34(gl_ClipDistance) BuiltIn ClipDistance
- Decorate 43(k) Smooth
- Decorate 86(samp2Da) NoStaticUse
- Decorate 89 ArrayStride 64
- Decorate 89 ArrayStride 64
- MemberDecorate 90(bn) 0 RowMajor
- MemberDecorate 90(bn) 0 Offset 0
- MemberDecorate 90(bn) 0 MatrixStride 16
- MemberDecorate 90(bn) 1 ColMajor
- MemberDecorate 90(bn) 1 Offset 256
- MemberDecorate 90(bn) 1 MatrixStride 16
- MemberDecorate 90(bn) 2 RowMajor
- MemberDecorate 90(bn) 2 Offset 512
- MemberDecorate 90(bn) 2 MatrixStride 16
- MemberDecorate 90(bn) 3 ColMajor
- MemberDecorate 90(bn) 3 Offset 576
- MemberDecorate 90(bn) 3 MatrixStride 16
- MemberDecorate 90(bn) 4 RowMajor
- MemberDecorate 90(bn) 4 Offset 640
- MemberDecorate 90(bn) 4 MatrixStride 16
- Decorate 90(bn) Block
- Decorate 92 NoStaticUse
+ Name 8 "foo("
+ Name 11 "i1"
+ Name 16 "gl_FrontFacing"
+ Name 24 "i2"
+ Name 28 "o"
+ Name 33 "gl_ClipDistance"
+ Name 42 "k"
+ Name 54 "sampR"
+ Name 61 "sampB"
+ Name 85 "samp2Da"
+ Name 89 "bn"
+ MemberName 89(bn) 0 "matra"
+ MemberName 89(bn) 1 "matca"
+ MemberName 89(bn) 2 "matr"
+ MemberName 89(bn) 3 "matc"
+ MemberName 89(bn) 4 "matrdef"
+ Name 91 ""
+ Decorate 16(gl_FrontFacing) BuiltIn FrontFacing
+ Decorate 33(gl_ClipDistance) Smooth
+ Decorate 33(gl_ClipDistance) BuiltIn ClipDistance
+ Decorate 42(k) Smooth
+ Decorate 85(samp2Da) NoStaticUse
+ Decorate 88 ArrayStride 64
+ Decorate 88 ArrayStride 64
+ MemberDecorate 89(bn) 0 RowMajor
+ MemberDecorate 89(bn) 0 Offset 0
+ MemberDecorate 89(bn) 0 MatrixStride 16
+ MemberDecorate 89(bn) 1 ColMajor
+ MemberDecorate 89(bn) 1 Offset 256
+ MemberDecorate 89(bn) 1 MatrixStride 16
+ MemberDecorate 89(bn) 2 RowMajor
+ MemberDecorate 89(bn) 2 Offset 512
+ MemberDecorate 89(bn) 2 MatrixStride 16
+ MemberDecorate 89(bn) 3 ColMajor
+ MemberDecorate 89(bn) 3 Offset 576
+ MemberDecorate 89(bn) 3 MatrixStride 16
+ MemberDecorate 89(bn) 4 RowMajor
+ MemberDecorate 89(bn) 4 Offset 640
+ MemberDecorate 89(bn) 4 MatrixStride 16
+ Decorate 89(bn) Block
+ Decorate 91 NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeFunction 7(float)
- 11: TypePointer PrivateGlobal 7(float)
- 12(i1): 11(ptr) Variable PrivateGlobal
- 13: TypePointer Function 7(float)
- 15: TypeBool
- 16: TypePointer Input 15(bool)
-17(gl_FrontFacing): 16(ptr) Variable Input
- 21: 7(float) Constant 3221225472
- 23: 7(float) Constant 1073741824
- 25(i2): 11(ptr) Variable PrivateGlobal
- 26: 7(float) Constant 1120665600
- 27: TypeVector 7(float) 4
- 28: TypePointer Output 27(fvec4)
- 29(o): 28(ptr) Variable Output
- 30: TypeInt 32 0
- 31: 30(int) Constant 5
- 32: TypeArray 7(float) 31
- 33: TypePointer Input 32
-34(gl_ClipDistance): 33(ptr) Variable Input
- 35: TypeInt 32 1
- 36: 35(int) Constant 2
- 37: TypePointer Input 7(float)
- 42: TypePointer Input 27(fvec4)
- 43(k): 42(ptr) Variable Input
- 45: TypeVector 35(int) 4
- 52: TypeImage 7(float) Rect sampled format:Unknown
- 53: TypeSampledImage 52
- 54: TypePointer UniformConstant 53
- 55(sampR): 54(ptr) Variable UniformConstant
- 57: TypeVector 35(int) 2
- 59: TypeImage 35(int) Buffer sampled format:Unknown
- 60: TypeSampledImage 59
- 61: TypePointer UniformConstant 60
- 62(sampB): 61(ptr) Variable UniformConstant
- 67: TypeVector 7(float) 2
- 70: 7(float) Constant 1120403456
- 81: TypeImage 7(float) 2D sampled format:Unknown
- 82: TypeSampledImage 81
- 83: 30(int) Constant 3
- 84: TypeArray 82 83
- 85: TypePointer UniformConstant 84
- 86(samp2Da): 85(ptr) Variable UniformConstant
- 87: TypeMatrix 27(fvec4) 4
- 88: 30(int) Constant 4
- 89: TypeArray 87 88
- 90(bn): TypeStruct 89 89 87 87 87
- 91: TypePointer Uniform 90(bn)
- 92: 91(ptr) Variable Uniform
+ 6: TypeFloat 32
+ 7: TypeFunction 6(float)
+ 10: TypePointer PrivateGlobal 6(float)
+ 11(i1): 10(ptr) Variable PrivateGlobal
+ 12: TypePointer Function 6(float)
+ 14: TypeBool
+ 15: TypePointer Input 14(bool)
+16(gl_FrontFacing): 15(ptr) Variable Input
+ 20: 6(float) Constant 3221225472
+ 22: 6(float) Constant 1073741824
+ 24(i2): 10(ptr) Variable PrivateGlobal
+ 25: 6(float) Constant 1120665600
+ 26: TypeVector 6(float) 4
+ 27: TypePointer Output 26(fvec4)
+ 28(o): 27(ptr) Variable Output
+ 29: TypeInt 32 0
+ 30: 29(int) Constant 5
+ 31: TypeArray 6(float) 30
+ 32: TypePointer Input 31
+33(gl_ClipDistance): 32(ptr) Variable Input
+ 34: TypeInt 32 1
+ 35: 34(int) Constant 2
+ 36: TypePointer Input 6(float)
+ 41: TypePointer Input 26(fvec4)
+ 42(k): 41(ptr) Variable Input
+ 44: TypeVector 34(int) 4
+ 51: TypeImage 6(float) Rect sampled format:Unknown
+ 52: TypeSampledImage 51
+ 53: TypePointer UniformConstant 52
+ 54(sampR): 53(ptr) Variable UniformConstant
+ 56: TypeVector 34(int) 2
+ 58: TypeImage 34(int) Buffer sampled format:Unknown
+ 59: TypeSampledImage 58
+ 60: TypePointer UniformConstant 59
+ 61(sampB): 60(ptr) Variable UniformConstant
+ 66: TypeVector 6(float) 2
+ 69: 6(float) Constant 1120403456
+ 80: TypeImage 6(float) 2D sampled format:Unknown
+ 81: TypeSampledImage 80
+ 82: 29(int) Constant 3
+ 83: TypeArray 81 82
+ 84: TypePointer UniformConstant 83
+ 85(samp2Da): 84(ptr) Variable UniformConstant
+ 86: TypeMatrix 26(fvec4) 4
+ 87: 29(int) Constant 4
+ 88: TypeArray 86 87
+ 89(bn): TypeStruct 88 88 86 86 86
+ 90: TypePointer Uniform 89(bn)
+ 91: 90(ptr) Variable Uniform
4(main): 2 Function None 3
5: Label
- 14: 13(ptr) Variable Function
- 18: 15(bool) Load 17(gl_FrontFacing)
- SelectionMerge 20 None
- BranchConditional 18 19 22
- 19: Label
- Store 14 21
- Branch 20
- 22: Label
- Store 14 23
- Branch 20
- 20: Label
- 24: 7(float) Load 14
- Store 12(i1) 24
- Store 25(i2) 26
- 38: 37(ptr) AccessChain 34(gl_ClipDistance) 36
- 39: 7(float) Load 38
- 40: 27(fvec4) Load 29(o)
- 41: 27(fvec4) CompositeInsert 39 40 1
- Store 29(o) 41
- 44: 27(fvec4) Load 43(k)
- 46: 45(ivec4) ConvertFToS 44
- 47: 35(int) CompositeExtract 46 0
- 48: 37(ptr) AccessChain 34(gl_ClipDistance) 47
- 49: 7(float) Load 48
- 50: 27(fvec4) Load 29(o)
- 51: 27(fvec4) CompositeInsert 49 50 2
- Store 29(o) 51
- 56: 53 Load 55(sampR)
- 58: 57(ivec2) ImageQuerySize 56
- 63: 60 Load 62(sampB)
- 64: 35(int) ImageQuerySize 63
- 65: 57(ivec2) CompositeConstruct 64 64
- 66: 57(ivec2) IAdd 58 65
- 68: 67(fvec2) ConvertSToF 66
- 69: 7(float) CompositeExtract 68 0
- 71: 7(float) FDiv 69 70
- 72: 27(fvec4) Load 29(o)
- 73: 27(fvec4) CompositeInsert 71 72 3
- Store 29(o) 73
- 74: 7(float) FunctionCall 9(foo()
- 75: 27(fvec4) Load 29(o)
- 76: 27(fvec4) CompositeInsert 74 75 2
- Store 29(o) 76
- Branch 6
- 6: Label
+ 13: 12(ptr) Variable Function
+ 17: 14(bool) Load 16(gl_FrontFacing)
+ SelectionMerge 19 None
+ BranchConditional 17 18 21
+ 18: Label
+ Store 13 20
+ Branch 19
+ 21: Label
+ Store 13 22
+ Branch 19
+ 19: Label
+ 23: 6(float) Load 13
+ Store 11(i1) 23
+ Store 24(i2) 25
+ 37: 36(ptr) AccessChain 33(gl_ClipDistance) 35
+ 38: 6(float) Load 37
+ 39: 26(fvec4) Load 28(o)
+ 40: 26(fvec4) CompositeInsert 38 39 1
+ Store 28(o) 40
+ 43: 26(fvec4) Load 42(k)
+ 45: 44(ivec4) ConvertFToS 43
+ 46: 34(int) CompositeExtract 45 0
+ 47: 36(ptr) AccessChain 33(gl_ClipDistance) 46
+ 48: 6(float) Load 47
+ 49: 26(fvec4) Load 28(o)
+ 50: 26(fvec4) CompositeInsert 48 49 2
+ Store 28(o) 50
+ 55: 52 Load 54(sampR)
+ 57: 56(ivec2) ImageQuerySize 55
+ 62: 59 Load 61(sampB)
+ 63: 34(int) ImageQuerySize 62
+ 64: 56(ivec2) CompositeConstruct 63 63
+ 65: 56(ivec2) IAdd 57 64
+ 67: 66(fvec2) ConvertSToF 65
+ 68: 6(float) CompositeExtract 67 0
+ 70: 6(float) FDiv 68 69
+ 71: 26(fvec4) Load 28(o)
+ 72: 26(fvec4) CompositeInsert 70 71 3
+ Store 28(o) 72
+ 73: 6(float) FunctionCall 8(foo()
+ 74: 26(fvec4) Load 28(o)
+ 75: 26(fvec4) CompositeInsert 73 74 2
+ Store 28(o) 75
Return
FunctionEnd
- 9(foo(): 7(float) Function None 8
- 10: Label
- 77: 7(float) Load 12(i1)
- 78: 7(float) Load 25(i2)
- 79: 7(float) FAdd 77 78
- ReturnValue 79
+ 8(foo(): 6(float) Function None 7
+ 9: Label
+ 76: 6(float) Load 11(i1)
+ 77: 6(float) Load 24(i2)
+ 78: 6(float) FAdd 76 77
+ ReturnValue 78
FunctionEnd
diff --git a/Test/baseResults/spv.150.geom.out b/Test/baseResults/spv.150.geom.out
index dcd1feb..7133df9 100755
--- a/Test/baseResults/spv.150.geom.out
+++ b/Test/baseResults/spv.150.geom.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 72
+// Id's are bound by 71
Source GLSL 150
Capability Geometry
@@ -17,134 +17,132 @@
ExecutionMode 4 OutputTriangleStrip
ExecutionMode 4 OutputVertices 30
Name 4 "main"
- Name 9 "fromVertex"
- MemberName 9(fromVertex) 0 "color"
- Name 11 ""
- Name 14 "fromVertex"
- MemberName 14(fromVertex) 0 "color"
- Name 19 "fromV"
- Name 28 "gl_PerVertex"
- MemberName 28(gl_PerVertex) 0 "gl_Position"
- MemberName 28(gl_PerVertex) 1 "gl_PointSize"
- MemberName 28(gl_PerVertex) 2 "gl_ClipDistance"
- Name 30 ""
- Name 31 "gl_PerVertex"
- MemberName 31(gl_PerVertex) 0 "gl_Position"
- MemberName 31(gl_PerVertex) 1 "gl_PointSize"
- MemberName 31(gl_PerVertex) 2 "gl_ClipDistance"
- Name 34 "gl_in"
- Name 48 "gl_PrimitiveID"
- Name 50 "gl_PrimitiveIDIn"
- Name 52 "gl_Layer"
- Name 69 "toFragment"
- MemberName 69(toFragment) 0 "color"
- Name 71 "toF"
- Decorate 9(fromVertex) Block
- Decorate 9(fromVertex) Stream 3
- Decorate 11 Stream 3
- Decorate 14(fromVertex) Block
- MemberDecorate 28(gl_PerVertex) 0 BuiltIn Position
- MemberDecorate 28(gl_PerVertex) 1 BuiltIn PointSize
- MemberDecorate 28(gl_PerVertex) 2 BuiltIn ClipDistance
- Decorate 28(gl_PerVertex) Block
- Decorate 28(gl_PerVertex) Stream 0
- Decorate 30 Stream 0
- MemberDecorate 31(gl_PerVertex) 0 BuiltIn Position
- MemberDecorate 31(gl_PerVertex) 1 BuiltIn PointSize
- MemberDecorate 31(gl_PerVertex) 2 BuiltIn ClipDistance
- Decorate 31(gl_PerVertex) Block
- Decorate 48(gl_PrimitiveID) Stream 0
- Decorate 48(gl_PrimitiveID) BuiltIn PrimitiveId
- Decorate 50(gl_PrimitiveIDIn) BuiltIn PrimitiveId
- Decorate 52(gl_Layer) Stream 0
- Decorate 52(gl_Layer) BuiltIn Layer
- Decorate 69(toFragment) Block
- Decorate 69(toFragment) Stream 3
- Decorate 71(toF) Stream 3
- Decorate 71(toF) NoStaticUse
+ Name 8 "fromVertex"
+ MemberName 8(fromVertex) 0 "color"
+ Name 10 ""
+ Name 13 "fromVertex"
+ MemberName 13(fromVertex) 0 "color"
+ Name 18 "fromV"
+ Name 27 "gl_PerVertex"
+ MemberName 27(gl_PerVertex) 0 "gl_Position"
+ MemberName 27(gl_PerVertex) 1 "gl_PointSize"
+ MemberName 27(gl_PerVertex) 2 "gl_ClipDistance"
+ Name 29 ""
+ Name 30 "gl_PerVertex"
+ MemberName 30(gl_PerVertex) 0 "gl_Position"
+ MemberName 30(gl_PerVertex) 1 "gl_PointSize"
+ MemberName 30(gl_PerVertex) 2 "gl_ClipDistance"
+ Name 33 "gl_in"
+ Name 47 "gl_PrimitiveID"
+ Name 49 "gl_PrimitiveIDIn"
+ Name 51 "gl_Layer"
+ Name 68 "toFragment"
+ MemberName 68(toFragment) 0 "color"
+ Name 70 "toF"
+ Decorate 8(fromVertex) Block
+ Decorate 8(fromVertex) Stream 3
+ Decorate 10 Stream 3
+ Decorate 13(fromVertex) Block
+ MemberDecorate 27(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 27(gl_PerVertex) 1 BuiltIn PointSize
+ MemberDecorate 27(gl_PerVertex) 2 BuiltIn ClipDistance
+ Decorate 27(gl_PerVertex) Block
+ Decorate 27(gl_PerVertex) Stream 0
+ Decorate 29 Stream 0
+ MemberDecorate 30(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 30(gl_PerVertex) 1 BuiltIn PointSize
+ MemberDecorate 30(gl_PerVertex) 2 BuiltIn ClipDistance
+ Decorate 30(gl_PerVertex) Block
+ Decorate 47(gl_PrimitiveID) Stream 0
+ Decorate 47(gl_PrimitiveID) BuiltIn PrimitiveId
+ Decorate 49(gl_PrimitiveIDIn) BuiltIn PrimitiveId
+ Decorate 51(gl_Layer) Stream 0
+ Decorate 51(gl_Layer) BuiltIn Layer
+ Decorate 68(toFragment) Block
+ Decorate 68(toFragment) Stream 3
+ Decorate 70(toF) Stream 3
+ Decorate 70(toF) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeVector 7(float) 3
- 9(fromVertex): TypeStruct 8(fvec3)
- 10: TypePointer Output 9(fromVertex)
- 11: 10(ptr) Variable Output
- 12: TypeInt 32 1
- 13: 12(int) Constant 0
- 14(fromVertex): TypeStruct 8(fvec3)
- 15: TypeInt 32 0
- 16: 15(int) Constant 6
- 17: TypeArray 14(fromVertex) 16
- 18: TypePointer Input 17
- 19(fromV): 18(ptr) Variable Input
- 20: TypePointer Input 8(fvec3)
- 23: TypePointer Output 8(fvec3)
- 25: TypeVector 7(float) 4
- 26: 15(int) Constant 1
- 27: TypeArray 7(float) 26
-28(gl_PerVertex): TypeStruct 25(fvec4) 7(float) 27
- 29: TypePointer Output 28(gl_PerVertex)
- 30: 29(ptr) Variable Output
-31(gl_PerVertex): TypeStruct 25(fvec4) 7(float) 27
- 32: TypeArray 31(gl_PerVertex) 16
- 33: TypePointer Input 32
- 34(gl_in): 33(ptr) Variable Input
- 35: TypePointer Input 25(fvec4)
- 38: TypePointer Output 25(fvec4)
- 40: 12(int) Constant 1
- 41: 12(int) Constant 3
- 42: TypePointer Input 7(float)
- 45: TypePointer Output 7(float)
- 47: TypePointer Output 12(int)
-48(gl_PrimitiveID): 47(ptr) Variable Output
- 49: TypePointer Input 12(int)
-50(gl_PrimitiveIDIn): 49(ptr) Variable Input
- 52(gl_Layer): 47(ptr) Variable Output
- 53: 12(int) Constant 2
- 54: 7(float) Constant 1073741824
- 69(toFragment): TypeStruct 8(fvec3)
- 70: TypePointer Output 69(toFragment)
- 71(toF): 70(ptr) Variable Output
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 3
+ 8(fromVertex): TypeStruct 7(fvec3)
+ 9: TypePointer Output 8(fromVertex)
+ 10: 9(ptr) Variable Output
+ 11: TypeInt 32 1
+ 12: 11(int) Constant 0
+ 13(fromVertex): TypeStruct 7(fvec3)
+ 14: TypeInt 32 0
+ 15: 14(int) Constant 6
+ 16: TypeArray 13(fromVertex) 15
+ 17: TypePointer Input 16
+ 18(fromV): 17(ptr) Variable Input
+ 19: TypePointer Input 7(fvec3)
+ 22: TypePointer Output 7(fvec3)
+ 24: TypeVector 6(float) 4
+ 25: 14(int) Constant 1
+ 26: TypeArray 6(float) 25
+27(gl_PerVertex): TypeStruct 24(fvec4) 6(float) 26
+ 28: TypePointer Output 27(gl_PerVertex)
+ 29: 28(ptr) Variable Output
+30(gl_PerVertex): TypeStruct 24(fvec4) 6(float) 26
+ 31: TypeArray 30(gl_PerVertex) 15
+ 32: TypePointer Input 31
+ 33(gl_in): 32(ptr) Variable Input
+ 34: TypePointer Input 24(fvec4)
+ 37: TypePointer Output 24(fvec4)
+ 39: 11(int) Constant 1
+ 40: 11(int) Constant 3
+ 41: TypePointer Input 6(float)
+ 44: TypePointer Output 6(float)
+ 46: TypePointer Output 11(int)
+47(gl_PrimitiveID): 46(ptr) Variable Output
+ 48: TypePointer Input 11(int)
+49(gl_PrimitiveIDIn): 48(ptr) Variable Input
+ 51(gl_Layer): 46(ptr) Variable Output
+ 52: 11(int) Constant 2
+ 53: 6(float) Constant 1073741824
+ 68(toFragment): TypeStruct 7(fvec3)
+ 69: TypePointer Output 68(toFragment)
+ 70(toF): 69(ptr) Variable Output
4(main): 2 Function None 3
5: Label
- 21: 20(ptr) AccessChain 19(fromV) 13 13
- 22: 8(fvec3) Load 21
- 24: 23(ptr) AccessChain 11 13
- Store 24 22
- 36: 35(ptr) AccessChain 34(gl_in) 13 13
- 37: 25(fvec4) Load 36
- 39: 38(ptr) AccessChain 30 13
- Store 39 37
- 43: 42(ptr) AccessChain 34(gl_in) 41 40
- 44: 7(float) Load 43
- 46: 45(ptr) AccessChain 30 40
- Store 46 44
- 51: 12(int) Load 50(gl_PrimitiveIDIn)
- Store 48(gl_PrimitiveID) 51
- Store 52(gl_Layer) 53
+ 20: 19(ptr) AccessChain 18(fromV) 12 12
+ 21: 7(fvec3) Load 20
+ 23: 22(ptr) AccessChain 10 12
+ Store 23 21
+ 35: 34(ptr) AccessChain 33(gl_in) 12 12
+ 36: 24(fvec4) Load 35
+ 38: 37(ptr) AccessChain 29 12
+ Store 38 36
+ 42: 41(ptr) AccessChain 33(gl_in) 40 39
+ 43: 6(float) Load 42
+ 45: 44(ptr) AccessChain 29 39
+ Store 45 43
+ 50: 11(int) Load 49(gl_PrimitiveIDIn)
+ Store 47(gl_PrimitiveID) 50
+ Store 51(gl_Layer) 52
EmitVertex
- 55: 20(ptr) AccessChain 19(fromV) 13 13
- 56: 8(fvec3) Load 55
- 57: 8(fvec3) VectorTimesScalar 56 54
- 58: 23(ptr) AccessChain 11 13
- Store 58 57
- 59: 35(ptr) AccessChain 34(gl_in) 13 13
- 60: 25(fvec4) Load 59
- 61: 25(fvec4) VectorTimesScalar 60 54
- 62: 38(ptr) AccessChain 30 13
- Store 62 61
- 63: 42(ptr) AccessChain 34(gl_in) 41 40
- 64: 7(float) Load 63
- 65: 7(float) FMul 54 64
- 66: 45(ptr) AccessChain 30 40
- Store 66 65
- 67: 12(int) Load 50(gl_PrimitiveIDIn)
- 68: 12(int) IAdd 67 40
- Store 48(gl_PrimitiveID) 68
- Store 52(gl_Layer) 41
+ 54: 19(ptr) AccessChain 18(fromV) 12 12
+ 55: 7(fvec3) Load 54
+ 56: 7(fvec3) VectorTimesScalar 55 53
+ 57: 22(ptr) AccessChain 10 12
+ Store 57 56
+ 58: 34(ptr) AccessChain 33(gl_in) 12 12
+ 59: 24(fvec4) Load 58
+ 60: 24(fvec4) VectorTimesScalar 59 53
+ 61: 37(ptr) AccessChain 29 12
+ Store 61 60
+ 62: 41(ptr) AccessChain 33(gl_in) 40 39
+ 63: 6(float) Load 62
+ 64: 6(float) FMul 53 63
+ 65: 44(ptr) AccessChain 29 39
+ Store 65 64
+ 66: 11(int) Load 49(gl_PrimitiveIDIn)
+ 67: 11(int) IAdd 66 39
+ Store 47(gl_PrimitiveID) 67
+ Store 51(gl_Layer) 40
EmitVertex
EndPrimitive
- Branch 6
- 6: Label
Return
FunctionEnd
diff --git a/Test/baseResults/spv.150.vert.out b/Test/baseResults/spv.150.vert.out
index f55399f..f0291a8 100755
--- a/Test/baseResults/spv.150.vert.out
+++ b/Test/baseResults/spv.150.vert.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 53
+// Id's are bound by 52
Source GLSL 150
Capability Shader
@@ -13,97 +13,95 @@
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main"
Name 4 "main"
- Name 14 "gl_PerVertex"
- MemberName 14(gl_PerVertex) 0 "gl_Position"
- MemberName 14(gl_PerVertex) 1 "gl_PointSize"
- MemberName 14(gl_PerVertex) 2 "gl_ClipDistance"
- MemberName 14(gl_PerVertex) 3 "gl_ClipVertex"
- MemberName 14(gl_PerVertex) 4 "gl_FrontColor"
- MemberName 14(gl_PerVertex) 5 "gl_BackColor"
- MemberName 14(gl_PerVertex) 6 "gl_FrontSecondaryColor"
- MemberName 14(gl_PerVertex) 7 "gl_BackSecondaryColor"
- MemberName 14(gl_PerVertex) 8 "gl_TexCoord"
- MemberName 14(gl_PerVertex) 9 "gl_FogFragCoord"
- Name 16 ""
- Name 20 "iv4"
- Name 26 "ps"
- Name 36 "s1"
- MemberName 36(s1) 0 "a"
- MemberName 36(s1) 1 "a2"
- MemberName 36(s1) 2 "b"
- Name 38 "s2"
- MemberName 38(s2) 0 "c"
- MemberName 38(s2) 1 "d"
- Name 40 "s2out"
- Name 42 "i"
- Name 49 "ui"
- Name 51 "gl_VertexID"
- Name 52 "gl_InstanceID"
- MemberDecorate 14(gl_PerVertex) 0 Invariant
- MemberDecorate 14(gl_PerVertex) 0 BuiltIn Position
- MemberDecorate 14(gl_PerVertex) 1 BuiltIn PointSize
- MemberDecorate 14(gl_PerVertex) 2 BuiltIn ClipDistance
- Decorate 14(gl_PerVertex) Block
- Decorate 49(ui) NoStaticUse
- Decorate 51(gl_VertexID) BuiltIn VertexId
- Decorate 51(gl_VertexID) NoStaticUse
- Decorate 52(gl_InstanceID) BuiltIn InstanceId
- Decorate 52(gl_InstanceID) NoStaticUse
+ Name 13 "gl_PerVertex"
+ MemberName 13(gl_PerVertex) 0 "gl_Position"
+ MemberName 13(gl_PerVertex) 1 "gl_PointSize"
+ MemberName 13(gl_PerVertex) 2 "gl_ClipDistance"
+ MemberName 13(gl_PerVertex) 3 "gl_ClipVertex"
+ MemberName 13(gl_PerVertex) 4 "gl_FrontColor"
+ MemberName 13(gl_PerVertex) 5 "gl_BackColor"
+ MemberName 13(gl_PerVertex) 6 "gl_FrontSecondaryColor"
+ MemberName 13(gl_PerVertex) 7 "gl_BackSecondaryColor"
+ MemberName 13(gl_PerVertex) 8 "gl_TexCoord"
+ MemberName 13(gl_PerVertex) 9 "gl_FogFragCoord"
+ Name 15 ""
+ Name 19 "iv4"
+ Name 25 "ps"
+ Name 35 "s1"
+ MemberName 35(s1) 0 "a"
+ MemberName 35(s1) 1 "a2"
+ MemberName 35(s1) 2 "b"
+ Name 37 "s2"
+ MemberName 37(s2) 0 "c"
+ MemberName 37(s2) 1 "d"
+ Name 39 "s2out"
+ Name 41 "i"
+ Name 48 "ui"
+ Name 50 "gl_VertexID"
+ Name 51 "gl_InstanceID"
+ MemberDecorate 13(gl_PerVertex) 0 Invariant
+ MemberDecorate 13(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 13(gl_PerVertex) 1 BuiltIn PointSize
+ MemberDecorate 13(gl_PerVertex) 2 BuiltIn ClipDistance
+ Decorate 13(gl_PerVertex) Block
+ Decorate 48(ui) NoStaticUse
+ Decorate 50(gl_VertexID) BuiltIn VertexId
+ Decorate 50(gl_VertexID) NoStaticUse
+ Decorate 51(gl_InstanceID) BuiltIn InstanceId
+ Decorate 51(gl_InstanceID) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeVector 7(float) 4
- 9: TypeInt 32 0
- 10: 9(int) Constant 4
- 11: TypeArray 7(float) 10
- 12: 9(int) Constant 1
- 13: TypeArray 8(fvec4) 12
-14(gl_PerVertex): TypeStruct 8(fvec4) 7(float) 11 8(fvec4) 8(fvec4) 8(fvec4) 8(fvec4) 8(fvec4) 13 7(float)
- 15: TypePointer Output 14(gl_PerVertex)
- 16: 15(ptr) Variable Output
- 17: TypeInt 32 1
- 18: 17(int) Constant 0
- 19: TypePointer Input 8(fvec4)
- 20(iv4): 19(ptr) Variable Input
- 22: TypePointer Output 8(fvec4)
- 24: 17(int) Constant 1
- 25: TypePointer UniformConstant 7(float)
- 26(ps): 25(ptr) Variable UniformConstant
- 28: TypePointer Output 7(float)
- 30: 17(int) Constant 2
- 34: 9(int) Constant 3
- 35: TypeArray 8(fvec4) 34
- 36(s1): TypeStruct 17(int) 17(int) 35
- 37: TypeArray 36(s1) 10
- 38(s2): TypeStruct 17(int) 37
- 39: TypePointer Output 38(s2)
- 40(s2out): 39(ptr) Variable Output
- 41: TypePointer Function 17(int)
- 48: TypePointer UniformConstant 17(int)
- 49(ui): 48(ptr) Variable UniformConstant
- 50: TypePointer Input 17(int)
- 51(gl_VertexID): 50(ptr) Variable Input
-52(gl_InstanceID): 50(ptr) Variable Input
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypeInt 32 0
+ 9: 8(int) Constant 4
+ 10: TypeArray 6(float) 9
+ 11: 8(int) Constant 1
+ 12: TypeArray 7(fvec4) 11
+13(gl_PerVertex): TypeStruct 7(fvec4) 6(float) 10 7(fvec4) 7(fvec4) 7(fvec4) 7(fvec4) 7(fvec4) 12 6(float)
+ 14: TypePointer Output 13(gl_PerVertex)
+ 15: 14(ptr) Variable Output
+ 16: TypeInt 32 1
+ 17: 16(int) Constant 0
+ 18: TypePointer Input 7(fvec4)
+ 19(iv4): 18(ptr) Variable Input
+ 21: TypePointer Output 7(fvec4)
+ 23: 16(int) Constant 1
+ 24: TypePointer UniformConstant 6(float)
+ 25(ps): 24(ptr) Variable UniformConstant
+ 27: TypePointer Output 6(float)
+ 29: 16(int) Constant 2
+ 33: 8(int) Constant 3
+ 34: TypeArray 7(fvec4) 33
+ 35(s1): TypeStruct 16(int) 16(int) 34
+ 36: TypeArray 35(s1) 9
+ 37(s2): TypeStruct 16(int) 36
+ 38: TypePointer Output 37(s2)
+ 39(s2out): 38(ptr) Variable Output
+ 40: TypePointer Function 16(int)
+ 47: TypePointer UniformConstant 16(int)
+ 48(ui): 47(ptr) Variable UniformConstant
+ 49: TypePointer Input 16(int)
+ 50(gl_VertexID): 49(ptr) Variable Input
+51(gl_InstanceID): 49(ptr) Variable Input
4(main): 2 Function None 3
5: Label
- 42(i): 41(ptr) Variable Function
- 21: 8(fvec4) Load 20(iv4)
- 23: 22(ptr) AccessChain 16 18
- Store 23 21
- 27: 7(float) Load 26(ps)
- 29: 28(ptr) AccessChain 16 24
- Store 29 27
- 31: 8(fvec4) Load 20(iv4)
- 32: 7(float) CompositeExtract 31 0
- 33: 28(ptr) AccessChain 16 30 30
- Store 33 32
- 43: 17(int) Load 42(i)
- 44: 7(float) Load 26(ps)
- 45: 22(ptr) AccessChain 40(s2out) 24 43 30 30
- 46: 8(fvec4) Load 45
- 47: 8(fvec4) CompositeInsert 44 46 3
- Store 45 47
- Branch 6
- 6: Label
+ 41(i): 40(ptr) Variable Function
+ 20: 7(fvec4) Load 19(iv4)
+ 22: 21(ptr) AccessChain 15 17
+ Store 22 20
+ 26: 6(float) Load 25(ps)
+ 28: 27(ptr) AccessChain 15 23
+ Store 28 26
+ 30: 7(fvec4) Load 19(iv4)
+ 31: 6(float) CompositeExtract 30 0
+ 32: 27(ptr) AccessChain 15 29 29
+ Store 32 31
+ 42: 16(int) Load 41(i)
+ 43: 6(float) Load 25(ps)
+ 44: 21(ptr) AccessChain 39(s2out) 23 42 29 29
+ 45: 7(fvec4) Load 44
+ 46: 7(fvec4) CompositeInsert 43 45 3
+ Store 44 46
Return
FunctionEnd
diff --git a/Test/baseResults/spv.300BuiltIns.vert.out b/Test/baseResults/spv.300BuiltIns.vert.out
index 916a5a9..c867e1c 100755
--- a/Test/baseResults/spv.300BuiltIns.vert.out
+++ b/Test/baseResults/spv.300BuiltIns.vert.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 41
+// Id's are bound by 40
Source ESSL 300
Capability Shader
@@ -13,67 +13,65 @@
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main"
Name 4 "main"
- Name 9 "i"
- Name 12 "gl_VertexID"
- Name 17 "j"
- Name 24 "gl_Position"
- Name 26 "ps"
- Name 34 "gl_PointSize"
- Name 40 "gl_InstanceID"
- Decorate 9(i) RelaxedPrecision
- Decorate 12(gl_VertexID) BuiltIn VertexId
- Decorate 17(j) RelaxedPrecision
- Decorate 24(gl_Position) Invariant
- Decorate 24(gl_Position) BuiltIn Position
- Decorate 26(ps) RelaxedPrecision
- Decorate 34(gl_PointSize) BuiltIn PointSize
- Decorate 40(gl_InstanceID) BuiltIn InstanceId
- Decorate 40(gl_InstanceID) NoStaticUse
+ Name 8 "i"
+ Name 11 "gl_VertexID"
+ Name 16 "j"
+ Name 23 "gl_Position"
+ Name 25 "ps"
+ Name 33 "gl_PointSize"
+ Name 39 "gl_InstanceID"
+ Decorate 8(i) RelaxedPrecision
+ Decorate 11(gl_VertexID) BuiltIn VertexId
+ Decorate 16(j) RelaxedPrecision
+ Decorate 23(gl_Position) Invariant
+ Decorate 23(gl_Position) BuiltIn Position
+ Decorate 25(ps) RelaxedPrecision
+ Decorate 33(gl_PointSize) BuiltIn PointSize
+ Decorate 39(gl_InstanceID) BuiltIn InstanceId
+ Decorate 39(gl_InstanceID) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeInt 32 1
- 8: TypePointer Function 7(int)
- 10: 7(int) Constant 4
- 11: TypePointer Input 7(int)
- 12(gl_VertexID): 11(ptr) Variable Input
- 15: 7(int) Constant 10
- 21: TypeFloat 32
- 22: TypeVector 21(float) 4
- 23: TypePointer Output 22(fvec4)
- 24(gl_Position): 23(ptr) Variable Output
- 25: TypePointer Input 21(float)
- 26(ps): 25(ptr) Variable Input
- 33: TypePointer Output 21(float)
-34(gl_PointSize): 33(ptr) Variable Output
-40(gl_InstanceID): 11(ptr) Variable Input
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 4
+ 10: TypePointer Input 6(int)
+ 11(gl_VertexID): 10(ptr) Variable Input
+ 14: 6(int) Constant 10
+ 20: TypeFloat 32
+ 21: TypeVector 20(float) 4
+ 22: TypePointer Output 21(fvec4)
+ 23(gl_Position): 22(ptr) Variable Output
+ 24: TypePointer Input 20(float)
+ 25(ps): 24(ptr) Variable Input
+ 32: TypePointer Output 20(float)
+33(gl_PointSize): 32(ptr) Variable Output
+39(gl_InstanceID): 10(ptr) Variable Input
4(main): 2 Function None 3
5: Label
- 9(i): 8(ptr) Variable Function
- 17(j): 8(ptr) Variable Function
- 13: 7(int) Load 12(gl_VertexID)
- 14: 7(int) IMul 10 13
- 16: 7(int) ISub 14 15
- Store 9(i) 16
- 18: 7(int) Load 12(gl_VertexID)
- 19: 7(int) IMul 10 18
- 20: 7(int) ISub 19 15
- Store 17(j) 20
- 27: 21(float) Load 26(ps)
- 28: 22(fvec4) CompositeConstruct 27 27 27 27
- Store 24(gl_Position) 28
- 29: 7(int) Load 9(i)
- 30: 21(float) ConvertSToF 29
- 31: 22(fvec4) Load 24(gl_Position)
- 32: 22(fvec4) VectorTimesScalar 31 30
- Store 24(gl_Position) 32
- 35: 21(float) Load 26(ps)
- Store 34(gl_PointSize) 35
- 36: 7(int) Load 17(j)
- 37: 21(float) ConvertSToF 36
- 38: 21(float) Load 34(gl_PointSize)
- 39: 21(float) FMul 38 37
- Store 34(gl_PointSize) 39
- Branch 6
- 6: Label
+ 8(i): 7(ptr) Variable Function
+ 16(j): 7(ptr) Variable Function
+ 12: 6(int) Load 11(gl_VertexID)
+ 13: 6(int) IMul 9 12
+ 15: 6(int) ISub 13 14
+ Store 8(i) 15
+ 17: 6(int) Load 11(gl_VertexID)
+ 18: 6(int) IMul 9 17
+ 19: 6(int) ISub 18 14
+ Store 16(j) 19
+ 26: 20(float) Load 25(ps)
+ 27: 21(fvec4) CompositeConstruct 26 26 26 26
+ Store 23(gl_Position) 27
+ 28: 6(int) Load 8(i)
+ 29: 20(float) ConvertSToF 28
+ 30: 21(fvec4) Load 23(gl_Position)
+ 31: 21(fvec4) VectorTimesScalar 30 29
+ Store 23(gl_Position) 31
+ 34: 20(float) Load 25(ps)
+ Store 33(gl_PointSize) 34
+ 35: 6(int) Load 16(j)
+ 36: 20(float) ConvertSToF 35
+ 37: 20(float) Load 33(gl_PointSize)
+ 38: 20(float) FMul 37 36
+ Store 33(gl_PointSize) 38
Return
FunctionEnd
diff --git a/Test/baseResults/spv.300layout.frag.out b/Test/baseResults/spv.300layout.frag.out
index 9845acf..3700efe 100755
--- a/Test/baseResults/spv.300layout.frag.out
+++ b/Test/baseResults/spv.300layout.frag.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 38
+// Id's are bound by 37
Source ESSL 300
Capability Shader
@@ -14,62 +14,60 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 10 "c"
- Name 12 "color"
- Name 14 "S"
- MemberName 14(S) 0 "c"
- MemberName 14(S) 1 "f"
- Name 16 "s"
- Name 27 "p"
- Name 30 "pos"
- Decorate 10(c) RelaxedPrecision
- Decorate 10(c) Location 7
- Decorate 12(color) RelaxedPrecision
- Decorate 12(color) Smooth
- MemberDecorate 14(S) 0 RelaxedPrecision
- MemberDecorate 14(S) 1 RelaxedPrecision
- Decorate 27(p) RelaxedPrecision
- Decorate 27(p) Location 3
- Decorate 30(pos) RelaxedPrecision
- Decorate 30(pos) Smooth
+ Name 9 "c"
+ Name 11 "color"
+ Name 13 "S"
+ MemberName 13(S) 0 "c"
+ MemberName 13(S) 1 "f"
+ Name 15 "s"
+ Name 26 "p"
+ Name 29 "pos"
+ Decorate 9(c) RelaxedPrecision
+ Decorate 9(c) Location 7
+ Decorate 11(color) RelaxedPrecision
+ Decorate 11(color) Smooth
+ MemberDecorate 13(S) 0 RelaxedPrecision
+ MemberDecorate 13(S) 1 RelaxedPrecision
+ Decorate 26(p) RelaxedPrecision
+ Decorate 26(p) Location 3
+ Decorate 29(pos) RelaxedPrecision
+ Decorate 29(pos) Smooth
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeVector 7(float) 3
- 9: TypePointer Output 8(fvec3)
- 10(c): 9(ptr) Variable Output
- 11: TypePointer Input 8(fvec3)
- 12(color): 11(ptr) Variable Input
- 14(S): TypeStruct 8(fvec3) 7(float)
- 15: TypePointer Input 14(S)
- 16(s): 15(ptr) Variable Input
- 17: TypeInt 32 1
- 18: 17(int) Constant 0
- 22: TypeVector 7(float) 4
- 23: TypeInt 32 0
- 24: 23(int) Constant 2
- 25: TypeArray 22(fvec4) 24
- 26: TypePointer Output 25
- 27(p): 26(ptr) Variable Output
- 28: 17(int) Constant 1
- 29: TypePointer Input 22(fvec4)
- 30(pos): 29(ptr) Variable Input
- 32: TypePointer Input 7(float)
- 36: TypePointer Output 22(fvec4)
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 3
+ 8: TypePointer Output 7(fvec3)
+ 9(c): 8(ptr) Variable Output
+ 10: TypePointer Input 7(fvec3)
+ 11(color): 10(ptr) Variable Input
+ 13(S): TypeStruct 7(fvec3) 6(float)
+ 14: TypePointer Input 13(S)
+ 15(s): 14(ptr) Variable Input
+ 16: TypeInt 32 1
+ 17: 16(int) Constant 0
+ 21: TypeVector 6(float) 4
+ 22: TypeInt 32 0
+ 23: 22(int) Constant 2
+ 24: TypeArray 21(fvec4) 23
+ 25: TypePointer Output 24
+ 26(p): 25(ptr) Variable Output
+ 27: 16(int) Constant 1
+ 28: TypePointer Input 21(fvec4)
+ 29(pos): 28(ptr) Variable Input
+ 31: TypePointer Input 6(float)
+ 35: TypePointer Output 21(fvec4)
4(main): 2 Function None 3
5: Label
- 13: 8(fvec3) Load 12(color)
- 19: 11(ptr) AccessChain 16(s) 18
- 20: 8(fvec3) Load 19
- 21: 8(fvec3) FAdd 13 20
- Store 10(c) 21
- 31: 22(fvec4) Load 30(pos)
- 33: 32(ptr) AccessChain 16(s) 28
- 34: 7(float) Load 33
- 35: 22(fvec4) VectorTimesScalar 31 34
- 37: 36(ptr) AccessChain 27(p) 28
- Store 37 35
- Branch 6
- 6: Label
+ 12: 7(fvec3) Load 11(color)
+ 18: 10(ptr) AccessChain 15(s) 17
+ 19: 7(fvec3) Load 18
+ 20: 7(fvec3) FAdd 12 19
+ Store 9(c) 20
+ 30: 21(fvec4) Load 29(pos)
+ 32: 31(ptr) AccessChain 15(s) 27
+ 33: 6(float) Load 32
+ 34: 21(fvec4) VectorTimesScalar 30 33
+ 36: 35(ptr) AccessChain 26(p) 27
+ Store 36 34
Return
FunctionEnd
diff --git a/Test/baseResults/spv.300layoutp.vert.out b/Test/baseResults/spv.300layoutp.vert.out
index 2f4104a..3a8d03f 100755
--- a/Test/baseResults/spv.300layoutp.vert.out
+++ b/Test/baseResults/spv.300layoutp.vert.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 112
+// Id's are bound by 111
Source ESSL 300
Capability Shader
@@ -13,183 +13,181 @@
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main"
Name 4 "main"
- Name 10 "pos"
- Name 12 "p"
- Name 18 "Transform"
- MemberName 18(Transform) 0 "M1"
- MemberName 18(Transform) 1 "M2"
- MemberName 18(Transform) 2 "N1"
- MemberName 18(Transform) 3 "iuin"
- Name 20 "tblock"
- Name 34 "T3"
- MemberName 34(T3) 0 "M3"
- MemberName 34(T3) 1 "M4"
- MemberName 34(T3) 2 "N2"
- MemberName 34(T3) 3 "uv3a"
- Name 36 ""
- Name 44 "T2"
- MemberName 44(T2) 0 "b"
- MemberName 44(T2) 1 "t2m"
- Name 46 ""
- Name 52 "color"
- Name 54 "c"
- Name 62 "iout"
- Name 68 "uiuin"
- Name 74 "aiv2"
- Name 78 "S"
- MemberName 78(S) 0 "c"
- MemberName 78(S) 1 "f"
- Name 80 "s"
- Name 110 "gl_VertexID"
- Name 111 "gl_InstanceID"
- Decorate 10(pos) Smooth
- Decorate 12(p) Location 3
- MemberDecorate 18(Transform) 0 RowMajor
- MemberDecorate 18(Transform) 0 Offset 0
- MemberDecorate 18(Transform) 0 MatrixStride 16
- MemberDecorate 18(Transform) 1 ColMajor
- MemberDecorate 18(Transform) 1 Offset 64
- MemberDecorate 18(Transform) 1 MatrixStride 16
- MemberDecorate 18(Transform) 2 RowMajor
- MemberDecorate 18(Transform) 2 Offset 128
- MemberDecorate 18(Transform) 2 MatrixStride 16
- MemberDecorate 18(Transform) 3 Offset 176
- Decorate 18(Transform) Block
- MemberDecorate 34(T3) 0 ColMajor
- MemberDecorate 34(T3) 1 RowMajor
- MemberDecorate 34(T3) 2 ColMajor
- Decorate 34(T3) GLSLShared
- Decorate 34(T3) Block
- MemberDecorate 44(T2) 1 RowMajor
- Decorate 44(T2) GLSLShared
- Decorate 44(T2) Block
- Decorate 52(color) Smooth
- Decorate 54(c) Location 7
- Decorate 62(iout) Flat
- Decorate 74(aiv2) Location 9
- Decorate 110(gl_VertexID) BuiltIn VertexId
- Decorate 110(gl_VertexID) NoStaticUse
- Decorate 111(gl_InstanceID) BuiltIn InstanceId
- Decorate 111(gl_InstanceID) NoStaticUse
+ Name 9 "pos"
+ Name 11 "p"
+ Name 17 "Transform"
+ MemberName 17(Transform) 0 "M1"
+ MemberName 17(Transform) 1 "M2"
+ MemberName 17(Transform) 2 "N1"
+ MemberName 17(Transform) 3 "iuin"
+ Name 19 "tblock"
+ Name 33 "T3"
+ MemberName 33(T3) 0 "M3"
+ MemberName 33(T3) 1 "M4"
+ MemberName 33(T3) 2 "N2"
+ MemberName 33(T3) 3 "uv3a"
+ Name 35 ""
+ Name 43 "T2"
+ MemberName 43(T2) 0 "b"
+ MemberName 43(T2) 1 "t2m"
+ Name 45 ""
+ Name 51 "color"
+ Name 53 "c"
+ Name 61 "iout"
+ Name 67 "uiuin"
+ Name 73 "aiv2"
+ Name 77 "S"
+ MemberName 77(S) 0 "c"
+ MemberName 77(S) 1 "f"
+ Name 79 "s"
+ Name 109 "gl_VertexID"
+ Name 110 "gl_InstanceID"
+ Decorate 9(pos) Smooth
+ Decorate 11(p) Location 3
+ MemberDecorate 17(Transform) 0 RowMajor
+ MemberDecorate 17(Transform) 0 Offset 0
+ MemberDecorate 17(Transform) 0 MatrixStride 16
+ MemberDecorate 17(Transform) 1 ColMajor
+ MemberDecorate 17(Transform) 1 Offset 64
+ MemberDecorate 17(Transform) 1 MatrixStride 16
+ MemberDecorate 17(Transform) 2 RowMajor
+ MemberDecorate 17(Transform) 2 Offset 128
+ MemberDecorate 17(Transform) 2 MatrixStride 16
+ MemberDecorate 17(Transform) 3 Offset 176
+ Decorate 17(Transform) Block
+ MemberDecorate 33(T3) 0 ColMajor
+ MemberDecorate 33(T3) 1 RowMajor
+ MemberDecorate 33(T3) 2 ColMajor
+ Decorate 33(T3) GLSLShared
+ Decorate 33(T3) Block
+ MemberDecorate 43(T2) 1 RowMajor
+ Decorate 43(T2) GLSLShared
+ Decorate 43(T2) Block
+ Decorate 51(color) Smooth
+ Decorate 53(c) Location 7
+ Decorate 61(iout) Flat
+ Decorate 73(aiv2) Location 9
+ Decorate 109(gl_VertexID) BuiltIn VertexId
+ Decorate 109(gl_VertexID) NoStaticUse
+ Decorate 110(gl_InstanceID) BuiltIn InstanceId
+ Decorate 110(gl_InstanceID) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeVector 7(float) 4
- 9: TypePointer Output 8(fvec4)
- 10(pos): 9(ptr) Variable Output
- 11: TypePointer Input 8(fvec4)
- 12(p): 11(ptr) Variable Input
- 14: TypeMatrix 8(fvec4) 4
- 15: TypeVector 7(float) 3
- 16: TypeMatrix 15(fvec3) 3
- 17: TypeInt 32 1
- 18(Transform): TypeStruct 14 14 16 17(int)
- 19: TypePointer Uniform 18(Transform)
- 20(tblock): 19(ptr) Variable Uniform
- 21: 17(int) Constant 0
- 22: TypePointer Uniform 14
- 25: 17(int) Constant 1
- 29: TypeMatrix 15(fvec3) 2
- 30: TypeInt 32 0
- 31: TypeVector 30(int) 3
- 32: 30(int) Constant 4
- 33: TypeArray 31(ivec3) 32
- 34(T3): TypeStruct 14 14 29 33
- 35: TypePointer Uniform 34(T3)
- 36: 35(ptr) Variable Uniform
- 43: TypeBool
- 44(T2): TypeStruct 43(bool) 14
- 45: TypePointer Uniform 44(T2)
- 46: 45(ptr) Variable Uniform
- 51: TypePointer Output 15(fvec3)
- 52(color): 51(ptr) Variable Output
- 53: TypePointer Input 15(fvec3)
- 54(c): 53(ptr) Variable Input
- 56: 17(int) Constant 2
- 57: TypePointer Uniform 16
- 61: TypePointer Output 17(int)
- 62(iout): 61(ptr) Variable Output
- 63: 17(int) Constant 3
- 64: TypePointer Uniform 17(int)
- 67: TypePointer UniformConstant 30(int)
- 68(uiuin): 67(ptr) Variable UniformConstant
- 72: TypeVector 17(int) 2
- 73: TypePointer Input 72(ivec2)
- 74(aiv2): 73(ptr) Variable Input
- 78(S): TypeStruct 15(fvec3) 7(float)
- 79: TypePointer Output 78(S)
- 80(s): 79(ptr) Variable Output
- 85: TypePointer Output 7(float)
- 87: TypePointer Uniform 15(fvec3)
- 90: 7(float) Constant 1065353216
- 91: 15(fvec3) ConstantComposite 90 90 90
- 92: TypeVector 43(bool) 3
- 95: TypePointer Uniform 31(ivec3)
- 98: 30(int) Constant 5
- 99: 31(ivec3) ConstantComposite 98 98 98
- 109: TypePointer Input 17(int)
-110(gl_VertexID): 109(ptr) Variable Input
-111(gl_InstanceID): 109(ptr) Variable Input
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Output 7(fvec4)
+ 9(pos): 8(ptr) Variable Output
+ 10: TypePointer Input 7(fvec4)
+ 11(p): 10(ptr) Variable Input
+ 13: TypeMatrix 7(fvec4) 4
+ 14: TypeVector 6(float) 3
+ 15: TypeMatrix 14(fvec3) 3
+ 16: TypeInt 32 1
+ 17(Transform): TypeStruct 13 13 15 16(int)
+ 18: TypePointer Uniform 17(Transform)
+ 19(tblock): 18(ptr) Variable Uniform
+ 20: 16(int) Constant 0
+ 21: TypePointer Uniform 13
+ 24: 16(int) Constant 1
+ 28: TypeMatrix 14(fvec3) 2
+ 29: TypeInt 32 0
+ 30: TypeVector 29(int) 3
+ 31: 29(int) Constant 4
+ 32: TypeArray 30(ivec3) 31
+ 33(T3): TypeStruct 13 13 28 32
+ 34: TypePointer Uniform 33(T3)
+ 35: 34(ptr) Variable Uniform
+ 42: TypeBool
+ 43(T2): TypeStruct 42(bool) 13
+ 44: TypePointer Uniform 43(T2)
+ 45: 44(ptr) Variable Uniform
+ 50: TypePointer Output 14(fvec3)
+ 51(color): 50(ptr) Variable Output
+ 52: TypePointer Input 14(fvec3)
+ 53(c): 52(ptr) Variable Input
+ 55: 16(int) Constant 2
+ 56: TypePointer Uniform 15
+ 60: TypePointer Output 16(int)
+ 61(iout): 60(ptr) Variable Output
+ 62: 16(int) Constant 3
+ 63: TypePointer Uniform 16(int)
+ 66: TypePointer UniformConstant 29(int)
+ 67(uiuin): 66(ptr) Variable UniformConstant
+ 71: TypeVector 16(int) 2
+ 72: TypePointer Input 71(ivec2)
+ 73(aiv2): 72(ptr) Variable Input
+ 77(S): TypeStruct 14(fvec3) 6(float)
+ 78: TypePointer Output 77(S)
+ 79(s): 78(ptr) Variable Output
+ 84: TypePointer Output 6(float)
+ 86: TypePointer Uniform 14(fvec3)
+ 89: 6(float) Constant 1065353216
+ 90: 14(fvec3) ConstantComposite 89 89 89
+ 91: TypeVector 42(bool) 3
+ 94: TypePointer Uniform 30(ivec3)
+ 97: 29(int) Constant 5
+ 98: 30(ivec3) ConstantComposite 97 97 97
+ 108: TypePointer Input 16(int)
+109(gl_VertexID): 108(ptr) Variable Input
+110(gl_InstanceID): 108(ptr) Variable Input
4(main): 2 Function None 3
5: Label
- 13: 8(fvec4) Load 12(p)
- 23: 22(ptr) AccessChain 20(tblock) 21
- 24: 14 Load 23
- 26: 22(ptr) AccessChain 20(tblock) 25
- 27: 14 Load 26
- 28: 14 MatrixTimesMatrix 24 27
- 37: 22(ptr) AccessChain 36 25
- 38: 14 Load 37
- 39: 14 MatrixTimesMatrix 28 38
- 40: 22(ptr) AccessChain 36 21
- 41: 14 Load 40
- 42: 14 MatrixTimesMatrix 39 41
- 47: 22(ptr) AccessChain 46 25
- 48: 14 Load 47
- 49: 14 MatrixTimesMatrix 42 48
- 50: 8(fvec4) VectorTimesMatrix 13 49
- Store 10(pos) 50
- 55: 15(fvec3) Load 54(c)
- 58: 57(ptr) AccessChain 20(tblock) 56
- 59: 16 Load 58
- 60: 15(fvec3) VectorTimesMatrix 55 59
- Store 52(color) 60
- 65: 64(ptr) AccessChain 20(tblock) 63
- 66: 17(int) Load 65
- 69: 30(int) Load 68(uiuin)
- 70: 17(int) Bitcast 69
- 71: 17(int) IAdd 66 70
- 75: 72(ivec2) Load 74(aiv2)
- 76: 17(int) CompositeExtract 75 1
- 77: 17(int) IAdd 71 76
- Store 62(iout) 77
- 81: 15(fvec3) Load 54(c)
- 82: 51(ptr) AccessChain 80(s) 21
- Store 82 81
- 83: 8(fvec4) Load 12(p)
- 84: 7(float) CompositeExtract 83 0
- 86: 85(ptr) AccessChain 80(s) 25
- Store 86 84
- 88: 87(ptr) AccessChain 36 56 25
- 89: 15(fvec3) Load 88
- 93: 92(bvec3) FOrdNotEqual 89 91
- 94: 43(bool) Any 93
- 96: 95(ptr) AccessChain 36 63 56
- 97: 31(ivec3) Load 96
- 100: 92(bvec3) INotEqual 97 99
- 101: 43(bool) Any 100
- 102: 43(bool) LogicalOr 94 101
- SelectionMerge 104 None
- BranchConditional 102 103 104
- 103: Label
- 105: 51(ptr) AccessChain 80(s) 21
- 106: 15(fvec3) Load 105
- 107: 15(fvec3) CompositeConstruct 90 90 90
- 108: 15(fvec3) FAdd 106 107
- Store 105 108
- Branch 104
- 104: Label
- Branch 6
- 6: Label
+ 12: 7(fvec4) Load 11(p)
+ 22: 21(ptr) AccessChain 19(tblock) 20
+ 23: 13 Load 22
+ 25: 21(ptr) AccessChain 19(tblock) 24
+ 26: 13 Load 25
+ 27: 13 MatrixTimesMatrix 23 26
+ 36: 21(ptr) AccessChain 35 24
+ 37: 13 Load 36
+ 38: 13 MatrixTimesMatrix 27 37
+ 39: 21(ptr) AccessChain 35 20
+ 40: 13 Load 39
+ 41: 13 MatrixTimesMatrix 38 40
+ 46: 21(ptr) AccessChain 45 24
+ 47: 13 Load 46
+ 48: 13 MatrixTimesMatrix 41 47
+ 49: 7(fvec4) VectorTimesMatrix 12 48
+ Store 9(pos) 49
+ 54: 14(fvec3) Load 53(c)
+ 57: 56(ptr) AccessChain 19(tblock) 55
+ 58: 15 Load 57
+ 59: 14(fvec3) VectorTimesMatrix 54 58
+ Store 51(color) 59
+ 64: 63(ptr) AccessChain 19(tblock) 62
+ 65: 16(int) Load 64
+ 68: 29(int) Load 67(uiuin)
+ 69: 16(int) Bitcast 68
+ 70: 16(int) IAdd 65 69
+ 74: 71(ivec2) Load 73(aiv2)
+ 75: 16(int) CompositeExtract 74 1
+ 76: 16(int) IAdd 70 75
+ Store 61(iout) 76
+ 80: 14(fvec3) Load 53(c)
+ 81: 50(ptr) AccessChain 79(s) 20
+ Store 81 80
+ 82: 7(fvec4) Load 11(p)
+ 83: 6(float) CompositeExtract 82 0
+ 85: 84(ptr) AccessChain 79(s) 24
+ Store 85 83
+ 87: 86(ptr) AccessChain 35 55 24
+ 88: 14(fvec3) Load 87
+ 92: 91(bvec3) FOrdNotEqual 88 90
+ 93: 42(bool) Any 92
+ 95: 94(ptr) AccessChain 35 62 55
+ 96: 30(ivec3) Load 95
+ 99: 91(bvec3) INotEqual 96 98
+ 100: 42(bool) Any 99
+ 101: 42(bool) LogicalOr 93 100
+ SelectionMerge 103 None
+ BranchConditional 101 102 103
+ 102: Label
+ 104: 50(ptr) AccessChain 79(s) 20
+ 105: 14(fvec3) Load 104
+ 106: 14(fvec3) CompositeConstruct 89 89 89
+ 107: 14(fvec3) FAdd 105 106
+ Store 104 107
+ Branch 103
+ 103: Label
Return
FunctionEnd
diff --git a/Test/baseResults/spv.310.comp.out b/Test/baseResults/spv.310.comp.out
index b8c7b88..d6a53ac 100644
--- a/Test/baseResults/spv.310.comp.out
+++ b/Test/baseResults/spv.310.comp.out
@@ -7,7 +7,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 68
+// Id's are bound by 67
Source ESSL 310
Capability Shader
@@ -15,107 +15,105 @@
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "main"
Name 4 "main"
- Name 14 "outb"
- MemberName 14(outb) 0 "f"
- MemberName 14(outb) 1 "g"
- MemberName 14(outb) 2 "h"
- MemberName 14(outb) 3 "uns"
- Name 16 "outbname"
- Name 20 "s"
- Name 25 "outbna"
- MemberName 25(outbna) 0 "k"
- MemberName 25(outbna) 1 "na"
- Name 27 "outbnamena"
- Name 44 "i"
- Name 50 "outs"
- MemberName 50(outs) 0 "s"
- MemberName 50(outs) 1 "va"
- Name 52 "outnames"
- Name 55 "gl_LocalInvocationID"
- Decorate 14(outb) GLSLShared
- Decorate 14(outb) BufferBlock
- Decorate 25(outbna) GLSLShared
- Decorate 25(outbna) BufferBlock
- Decorate 50(outs) GLSLShared
- Decorate 50(outs) BufferBlock
- Decorate 55(gl_LocalInvocationID) BuiltIn LocalInvocationId
- Decorate 67 BuiltIn WorkgroupSize
- Decorate 67 NoStaticUse
+ Name 13 "outb"
+ MemberName 13(outb) 0 "f"
+ MemberName 13(outb) 1 "g"
+ MemberName 13(outb) 2 "h"
+ MemberName 13(outb) 3 "uns"
+ Name 15 "outbname"
+ Name 19 "s"
+ Name 24 "outbna"
+ MemberName 24(outbna) 0 "k"
+ MemberName 24(outbna) 1 "na"
+ Name 26 "outbnamena"
+ Name 43 "i"
+ Name 49 "outs"
+ MemberName 49(outs) 0 "s"
+ MemberName 49(outs) 1 "va"
+ Name 51 "outnames"
+ Name 54 "gl_LocalInvocationID"
+ Decorate 13(outb) GLSLShared
+ Decorate 13(outb) BufferBlock
+ Decorate 24(outbna) GLSLShared
+ Decorate 24(outbna) BufferBlock
+ Decorate 49(outs) GLSLShared
+ Decorate 49(outs) BufferBlock
+ Decorate 54(gl_LocalInvocationID) BuiltIn LocalInvocationId
+ Decorate 66 BuiltIn WorkgroupSize
+ Decorate 66 NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeInt 32 0
- 8: 7(int) Constant 1
- 9: 7(int) Constant 1023
- 10: 7(int) Constant 0
- 11: TypeFloat 32
- 12: TypeVector 11(float) 3
- 13: TypeRuntimeArray 12(fvec3)
- 14(outb): TypeStruct 11(float) 11(float) 11(float) 13
- 15: TypePointer Uniform 14(outb)
- 16(outbname): 15(ptr) Variable Uniform
- 17: TypeInt 32 1
- 18: 17(int) Constant 0
- 19: TypePointer WorkgroupLocal 11(float)
- 20(s): 19(ptr) Variable WorkgroupLocal
- 22: TypePointer Uniform 11(float)
- 24: TypeVector 11(float) 4
- 25(outbna): TypeStruct 17(int) 24(fvec4)
- 26: TypePointer Uniform 25(outbna)
- 27(outbnamena): 26(ptr) Variable Uniform
- 28: 17(int) Constant 1
- 31: TypePointer Uniform 24(fvec4)
- 33: 17(int) Constant 3
- 34: 17(int) Constant 18
- 35: TypePointer Uniform 12(fvec3)
- 39: 17(int) Constant 17
- 40: 11(float) Constant 1077936128
- 41: 12(fvec3) ConstantComposite 40 40 40
- 43: TypePointer WorkgroupLocal 17(int)
- 44(i): 43(ptr) Variable WorkgroupLocal
- 49: TypeRuntimeArray 24(fvec4)
- 50(outs): TypeStruct 17(int) 49
- 51: TypePointer Uniform 50(outs)
- 52(outnames): 51(ptr) Variable Uniform
- 53: TypeVector 7(int) 3
- 54: TypePointer Input 53(ivec3)
-55(gl_LocalInvocationID): 54(ptr) Variable Input
- 62: TypePointer Uniform 17(int)
- 64: 7(int) Constant 16
- 65: 7(int) Constant 32
- 66: 7(int) Constant 4
- 67: 53(ivec3) ConstantComposite 64 65 66
+ 6: TypeInt 32 0
+ 7: 6(int) Constant 1
+ 8: 6(int) Constant 1023
+ 9: 6(int) Constant 0
+ 10: TypeFloat 32
+ 11: TypeVector 10(float) 3
+ 12: TypeRuntimeArray 11(fvec3)
+ 13(outb): TypeStruct 10(float) 10(float) 10(float) 12
+ 14: TypePointer Uniform 13(outb)
+ 15(outbname): 14(ptr) Variable Uniform
+ 16: TypeInt 32 1
+ 17: 16(int) Constant 0
+ 18: TypePointer WorkgroupLocal 10(float)
+ 19(s): 18(ptr) Variable WorkgroupLocal
+ 21: TypePointer Uniform 10(float)
+ 23: TypeVector 10(float) 4
+ 24(outbna): TypeStruct 16(int) 23(fvec4)
+ 25: TypePointer Uniform 24(outbna)
+ 26(outbnamena): 25(ptr) Variable Uniform
+ 27: 16(int) Constant 1
+ 30: TypePointer Uniform 23(fvec4)
+ 32: 16(int) Constant 3
+ 33: 16(int) Constant 18
+ 34: TypePointer Uniform 11(fvec3)
+ 38: 16(int) Constant 17
+ 39: 10(float) Constant 1077936128
+ 40: 11(fvec3) ConstantComposite 39 39 39
+ 42: TypePointer WorkgroupLocal 16(int)
+ 43(i): 42(ptr) Variable WorkgroupLocal
+ 48: TypeRuntimeArray 23(fvec4)
+ 49(outs): TypeStruct 16(int) 48
+ 50: TypePointer Uniform 49(outs)
+ 51(outnames): 50(ptr) Variable Uniform
+ 52: TypeVector 6(int) 3
+ 53: TypePointer Input 52(ivec3)
+54(gl_LocalInvocationID): 53(ptr) Variable Input
+ 61: TypePointer Uniform 16(int)
+ 63: 6(int) Constant 16
+ 64: 6(int) Constant 32
+ 65: 6(int) Constant 4
+ 66: 52(ivec3) ConstantComposite 63 64 65
4(main): 2 Function None 3
5: Label
- MemoryBarrier 8 9
- ControlBarrier 8 8 10
- 21: 11(float) Load 20(s)
- 23: 22(ptr) AccessChain 16(outbname) 18
- Store 23 21
- 29: 11(float) Load 20(s)
- 30: 24(fvec4) CompositeConstruct 29 29 29 29
- 32: 31(ptr) AccessChain 27(outbnamena) 28
- Store 32 30
- 36: 35(ptr) AccessChain 16(outbname) 33 34
- 37: 12(fvec3) Load 36
- 38: 11(float) CompositeExtract 37 0
- Store 20(s) 38
- 42: 35(ptr) AccessChain 16(outbname) 33 39
- Store 42 41
- 45: 17(int) Load 44(i)
- 46: 11(float) Load 20(s)
- 47: 12(fvec3) CompositeConstruct 46 46 46
- 48: 35(ptr) AccessChain 16(outbname) 33 45
- Store 48 47
- 56: 53(ivec3) Load 55(gl_LocalInvocationID)
- 57: 7(int) CompositeExtract 56 0
- 58: 11(float) Load 20(s)
- 59: 24(fvec4) CompositeConstruct 58 58 58 58
- 60: 31(ptr) AccessChain 52(outnames) 28 57
- Store 60 59
- 61: 17(int) ArrayLength 16(outbname)
- 63: 62(ptr) AccessChain 52(outnames) 18
- Store 63 61
- Branch 6
- 6: Label
+ MemoryBarrier 7 8
+ ControlBarrier 7 7 9
+ 20: 10(float) Load 19(s)
+ 22: 21(ptr) AccessChain 15(outbname) 17
+ Store 22 20
+ 28: 10(float) Load 19(s)
+ 29: 23(fvec4) CompositeConstruct 28 28 28 28
+ 31: 30(ptr) AccessChain 26(outbnamena) 27
+ Store 31 29
+ 35: 34(ptr) AccessChain 15(outbname) 32 33
+ 36: 11(fvec3) Load 35
+ 37: 10(float) CompositeExtract 36 0
+ Store 19(s) 37
+ 41: 34(ptr) AccessChain 15(outbname) 32 38
+ Store 41 40
+ 44: 16(int) Load 43(i)
+ 45: 10(float) Load 19(s)
+ 46: 11(fvec3) CompositeConstruct 45 45 45
+ 47: 34(ptr) AccessChain 15(outbname) 32 44
+ Store 47 46
+ 55: 52(ivec3) Load 54(gl_LocalInvocationID)
+ 56: 6(int) CompositeExtract 55 0
+ 57: 10(float) Load 19(s)
+ 58: 23(fvec4) CompositeConstruct 57 57 57 57
+ 59: 30(ptr) AccessChain 51(outnames) 27 56
+ Store 59 58
+ 60: 16(int) ArrayLength 15(outbname)
+ 62: 61(ptr) AccessChain 51(outnames) 17
+ Store 62 60
Return
FunctionEnd
diff --git a/Test/baseResults/spv.330.geom.out b/Test/baseResults/spv.330.geom.out
index 7ce0eb4..1a77987 100755
--- a/Test/baseResults/spv.330.geom.out
+++ b/Test/baseResults/spv.330.geom.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 33
+// Id's are bound by 32
Source GLSL 330
SourceExtension "GL_ARB_separate_shader_objects"
@@ -18,57 +18,55 @@
ExecutionMode 4 OutputTriangleStrip
ExecutionMode 4 OutputVertices 3
Name 4 "main"
- Name 12 "gl_PerVertex"
- MemberName 12(gl_PerVertex) 0 "gl_Position"
- MemberName 12(gl_PerVertex) 1 "gl_ClipDistance"
- Name 14 ""
- Name 17 "gl_PerVertex"
- MemberName 17(gl_PerVertex) 0 "gl_Position"
- MemberName 17(gl_PerVertex) 1 "gl_ClipDistance"
- Name 21 "gl_in"
- MemberDecorate 12(gl_PerVertex) 0 BuiltIn Position
- MemberDecorate 12(gl_PerVertex) 1 BuiltIn ClipDistance
- Decorate 12(gl_PerVertex) Block
- Decorate 12(gl_PerVertex) Stream 0
- Decorate 14 Stream 0
- MemberDecorate 17(gl_PerVertex) 0 BuiltIn Position
- MemberDecorate 17(gl_PerVertex) 1 BuiltIn ClipDistance
- Decorate 17(gl_PerVertex) Block
+ Name 11 "gl_PerVertex"
+ MemberName 11(gl_PerVertex) 0 "gl_Position"
+ MemberName 11(gl_PerVertex) 1 "gl_ClipDistance"
+ Name 13 ""
+ Name 16 "gl_PerVertex"
+ MemberName 16(gl_PerVertex) 0 "gl_Position"
+ MemberName 16(gl_PerVertex) 1 "gl_ClipDistance"
+ Name 20 "gl_in"
+ MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 11(gl_PerVertex) 1 BuiltIn ClipDistance
+ Decorate 11(gl_PerVertex) Block
+ Decorate 11(gl_PerVertex) Stream 0
+ Decorate 13 Stream 0
+ MemberDecorate 16(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 16(gl_PerVertex) 1 BuiltIn ClipDistance
+ Decorate 16(gl_PerVertex) Block
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeVector 7(float) 4
- 9: TypeInt 32 0
- 10: 9(int) Constant 1
- 11: TypeArray 7(float) 10
-12(gl_PerVertex): TypeStruct 8(fvec4) 11
- 13: TypePointer Output 12(gl_PerVertex)
- 14: 13(ptr) Variable Output
- 15: TypeInt 32 1
- 16: 15(int) Constant 0
-17(gl_PerVertex): TypeStruct 8(fvec4) 11
- 18: 9(int) Constant 3
- 19: TypeArray 17(gl_PerVertex) 18
- 20: TypePointer Input 19
- 21(gl_in): 20(ptr) Variable Input
- 22: 15(int) Constant 1
- 23: TypePointer Input 8(fvec4)
- 26: TypePointer Output 8(fvec4)
- 28: TypePointer Input 7(float)
- 31: TypePointer Output 7(float)
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypeInt 32 0
+ 9: 8(int) Constant 1
+ 10: TypeArray 6(float) 9
+11(gl_PerVertex): TypeStruct 7(fvec4) 10
+ 12: TypePointer Output 11(gl_PerVertex)
+ 13: 12(ptr) Variable Output
+ 14: TypeInt 32 1
+ 15: 14(int) Constant 0
+16(gl_PerVertex): TypeStruct 7(fvec4) 10
+ 17: 8(int) Constant 3
+ 18: TypeArray 16(gl_PerVertex) 17
+ 19: TypePointer Input 18
+ 20(gl_in): 19(ptr) Variable Input
+ 21: 14(int) Constant 1
+ 22: TypePointer Input 7(fvec4)
+ 25: TypePointer Output 7(fvec4)
+ 27: TypePointer Input 6(float)
+ 30: TypePointer Output 6(float)
4(main): 2 Function None 3
5: Label
- 24: 23(ptr) AccessChain 21(gl_in) 22 16
- 25: 8(fvec4) Load 24
- 27: 26(ptr) AccessChain 14 16
- Store 27 25
- 29: 28(ptr) AccessChain 21(gl_in) 22 22 16
- 30: 7(float) Load 29
- 32: 31(ptr) AccessChain 14 22 16
- Store 32 30
+ 23: 22(ptr) AccessChain 20(gl_in) 21 15
+ 24: 7(fvec4) Load 23
+ 26: 25(ptr) AccessChain 13 15
+ Store 26 24
+ 28: 27(ptr) AccessChain 20(gl_in) 21 21 15
+ 29: 6(float) Load 28
+ 31: 30(ptr) AccessChain 13 21 15
+ Store 31 29
EmitVertex
EndPrimitive
- Branch 6
- 6: Label
Return
FunctionEnd
diff --git a/Test/baseResults/spv.400.tesc.out b/Test/baseResults/spv.400.tesc.out
index 49ff1b8..076bf6f 100755
--- a/Test/baseResults/spv.400.tesc.out
+++ b/Test/baseResults/spv.400.tesc.out
@@ -7,7 +7,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 91
+// Id's are bound by 90
Source GLSL 400
SourceExtension "GL_ARB_separate_shader_objects"
@@ -17,164 +17,162 @@
EntryPoint TessellationControl 4 "main"
ExecutionMode 4 OutputVertices 4
Name 4 "main"
- Name 13 "a"
- Name 18 "p"
- Name 20 "gl_PerVertex"
- MemberName 20(gl_PerVertex) 0 "gl_Position"
- MemberName 20(gl_PerVertex) 1 "gl_PointSize"
- MemberName 20(gl_PerVertex) 2 "gl_ClipDistance"
- Name 24 "gl_in"
- Name 31 "ps"
- Name 35 "cd"
- Name 39 "pvi"
- Name 41 "gl_PatchVerticesIn"
- Name 43 "pid"
- Name 44 "gl_PrimitiveID"
- Name 46 "iid"
- Name 47 "gl_InvocationID"
- Name 49 "gl_PerVertex"
- MemberName 49(gl_PerVertex) 0 "gl_Position"
- MemberName 49(gl_PerVertex) 1 "gl_PointSize"
- MemberName 49(gl_PerVertex) 2 "gl_ClipDistance"
- Name 53 "gl_out"
- Name 64 "gl_TessLevelOuter"
- Name 71 "gl_TessLevelInner"
- Name 76 "outa"
- Name 77 "patchOut"
- Name 81 "inb"
- Name 82 "ind"
- Name 85 "ivla"
- Name 86 "ivlb"
- Name 89 "ovla"
- Name 90 "ovlb"
- Decorate 20(gl_PerVertex) Block
- Decorate 41(gl_PatchVerticesIn) BuiltIn PatchVertices
- Decorate 44(gl_PrimitiveID) BuiltIn PrimitiveId
- Decorate 47(gl_InvocationID) BuiltIn InvocationId
- MemberDecorate 49(gl_PerVertex) 0 BuiltIn Position
- MemberDecorate 49(gl_PerVertex) 1 BuiltIn PointSize
- MemberDecorate 49(gl_PerVertex) 2 BuiltIn ClipDistance
- Decorate 49(gl_PerVertex) Block
- Decorate 64(gl_TessLevelOuter) Patch
- Decorate 64(gl_TessLevelOuter) BuiltIn TessLevelOuter
- Decorate 71(gl_TessLevelInner) Patch
- Decorate 71(gl_TessLevelInner) BuiltIn TessLevelInner
- Decorate 76(outa) NoStaticUse
- Decorate 77(patchOut) Patch
- Decorate 77(patchOut) NoStaticUse
- Decorate 81(inb) NoStaticUse
- Decorate 82(ind) NoStaticUse
- Decorate 85(ivla) Location 3
- Decorate 85(ivla) NoStaticUse
- Decorate 86(ivlb) Location 4
- Decorate 86(ivlb) NoStaticUse
- Decorate 89(ovla) Location 3
- Decorate 89(ovla) NoStaticUse
- Decorate 90(ovlb) Location 4
- Decorate 90(ovlb) NoStaticUse
+ Name 12 "a"
+ Name 17 "p"
+ Name 19 "gl_PerVertex"
+ MemberName 19(gl_PerVertex) 0 "gl_Position"
+ MemberName 19(gl_PerVertex) 1 "gl_PointSize"
+ MemberName 19(gl_PerVertex) 2 "gl_ClipDistance"
+ Name 23 "gl_in"
+ Name 30 "ps"
+ Name 34 "cd"
+ Name 38 "pvi"
+ Name 40 "gl_PatchVerticesIn"
+ Name 42 "pid"
+ Name 43 "gl_PrimitiveID"
+ Name 45 "iid"
+ Name 46 "gl_InvocationID"
+ Name 48 "gl_PerVertex"
+ MemberName 48(gl_PerVertex) 0 "gl_Position"
+ MemberName 48(gl_PerVertex) 1 "gl_PointSize"
+ MemberName 48(gl_PerVertex) 2 "gl_ClipDistance"
+ Name 52 "gl_out"
+ Name 63 "gl_TessLevelOuter"
+ Name 70 "gl_TessLevelInner"
+ Name 75 "outa"
+ Name 76 "patchOut"
+ Name 80 "inb"
+ Name 81 "ind"
+ Name 84 "ivla"
+ Name 85 "ivlb"
+ Name 88 "ovla"
+ Name 89 "ovlb"
+ Decorate 19(gl_PerVertex) Block
+ Decorate 40(gl_PatchVerticesIn) BuiltIn PatchVertices
+ Decorate 43(gl_PrimitiveID) BuiltIn PrimitiveId
+ Decorate 46(gl_InvocationID) BuiltIn InvocationId
+ MemberDecorate 48(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 48(gl_PerVertex) 1 BuiltIn PointSize
+ MemberDecorate 48(gl_PerVertex) 2 BuiltIn ClipDistance
+ Decorate 48(gl_PerVertex) Block
+ Decorate 63(gl_TessLevelOuter) Patch
+ Decorate 63(gl_TessLevelOuter) BuiltIn TessLevelOuter
+ Decorate 70(gl_TessLevelInner) Patch
+ Decorate 70(gl_TessLevelInner) BuiltIn TessLevelInner
+ Decorate 75(outa) NoStaticUse
+ Decorate 76(patchOut) Patch
+ Decorate 76(patchOut) NoStaticUse
+ Decorate 80(inb) NoStaticUse
+ Decorate 81(ind) NoStaticUse
+ Decorate 84(ivla) Location 3
+ Decorate 84(ivla) NoStaticUse
+ Decorate 85(ivlb) Location 4
+ Decorate 85(ivlb) NoStaticUse
+ Decorate 88(ovla) Location 3
+ Decorate 88(ovla) NoStaticUse
+ Decorate 89(ovlb) Location 4
+ Decorate 89(ovlb) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeInt 32 0
- 8: 7(int) Constant 1
- 9: 7(int) Constant 1023
- 10: 7(int) Constant 0
- 11: TypeInt 32 1
- 12: TypePointer Function 11(int)
- 14: 11(int) Constant 5392
- 15: TypeFloat 32
- 16: TypeVector 15(float) 4
- 17: TypePointer Function 16(fvec4)
- 19: TypeArray 15(float) 8
-20(gl_PerVertex): TypeStruct 16(fvec4) 15(float) 19
- 21: 7(int) Constant 32
- 22: TypeArray 20(gl_PerVertex) 21
- 23: TypePointer Input 22
- 24(gl_in): 23(ptr) Variable Input
- 25: 11(int) Constant 1
- 26: 11(int) Constant 0
- 27: TypePointer Input 16(fvec4)
- 30: TypePointer Function 15(float)
- 32: TypePointer Input 15(float)
- 36: 11(int) Constant 2
- 40: TypePointer Input 11(int)
-41(gl_PatchVerticesIn): 40(ptr) Variable Input
-44(gl_PrimitiveID): 40(ptr) Variable Input
-47(gl_InvocationID): 40(ptr) Variable Input
-49(gl_PerVertex): TypeStruct 16(fvec4) 15(float) 19
- 50: 7(int) Constant 4
- 51: TypeArray 49(gl_PerVertex) 50
- 52: TypePointer Output 51
- 53(gl_out): 52(ptr) Variable Output
- 55: TypePointer Output 16(fvec4)
- 58: TypePointer Output 15(float)
- 62: TypeArray 15(float) 50
- 63: TypePointer Output 62
-64(gl_TessLevelOuter): 63(ptr) Variable Output
- 65: 11(int) Constant 3
- 66: 15(float) Constant 1078774989
- 68: 7(int) Constant 2
- 69: TypeArray 15(float) 68
- 70: TypePointer Output 69
-71(gl_TessLevelInner): 70(ptr) Variable Output
- 72: 15(float) Constant 1067869798
- 74: TypeArray 11(int) 50
- 75: TypePointer PrivateGlobal 74
- 76(outa): 75(ptr) Variable PrivateGlobal
- 77(patchOut): 55(ptr) Variable Output
- 78: TypeVector 15(float) 2
- 79: TypeArray 78(fvec2) 21
- 80: TypePointer Input 79
- 81(inb): 80(ptr) Variable Input
- 82(ind): 80(ptr) Variable Input
- 83: TypeArray 16(fvec4) 21
- 84: TypePointer Input 83
- 85(ivla): 84(ptr) Variable Input
- 86(ivlb): 84(ptr) Variable Input
- 87: TypeArray 16(fvec4) 50
- 88: TypePointer Output 87
- 89(ovla): 88(ptr) Variable Output
- 90(ovlb): 88(ptr) Variable Output
+ 6: TypeInt 32 0
+ 7: 6(int) Constant 1
+ 8: 6(int) Constant 1023
+ 9: 6(int) Constant 0
+ 10: TypeInt 32 1
+ 11: TypePointer Function 10(int)
+ 13: 10(int) Constant 5392
+ 14: TypeFloat 32
+ 15: TypeVector 14(float) 4
+ 16: TypePointer Function 15(fvec4)
+ 18: TypeArray 14(float) 7
+19(gl_PerVertex): TypeStruct 15(fvec4) 14(float) 18
+ 20: 6(int) Constant 32
+ 21: TypeArray 19(gl_PerVertex) 20
+ 22: TypePointer Input 21
+ 23(gl_in): 22(ptr) Variable Input
+ 24: 10(int) Constant 1
+ 25: 10(int) Constant 0
+ 26: TypePointer Input 15(fvec4)
+ 29: TypePointer Function 14(float)
+ 31: TypePointer Input 14(float)
+ 35: 10(int) Constant 2
+ 39: TypePointer Input 10(int)
+40(gl_PatchVerticesIn): 39(ptr) Variable Input
+43(gl_PrimitiveID): 39(ptr) Variable Input
+46(gl_InvocationID): 39(ptr) Variable Input
+48(gl_PerVertex): TypeStruct 15(fvec4) 14(float) 18
+ 49: 6(int) Constant 4
+ 50: TypeArray 48(gl_PerVertex) 49
+ 51: TypePointer Output 50
+ 52(gl_out): 51(ptr) Variable Output
+ 54: TypePointer Output 15(fvec4)
+ 57: TypePointer Output 14(float)
+ 61: TypeArray 14(float) 49
+ 62: TypePointer Output 61
+63(gl_TessLevelOuter): 62(ptr) Variable Output
+ 64: 10(int) Constant 3
+ 65: 14(float) Constant 1078774989
+ 67: 6(int) Constant 2
+ 68: TypeArray 14(float) 67
+ 69: TypePointer Output 68
+70(gl_TessLevelInner): 69(ptr) Variable Output
+ 71: 14(float) Constant 1067869798
+ 73: TypeArray 10(int) 49
+ 74: TypePointer PrivateGlobal 73
+ 75(outa): 74(ptr) Variable PrivateGlobal
+ 76(patchOut): 54(ptr) Variable Output
+ 77: TypeVector 14(float) 2
+ 78: TypeArray 77(fvec2) 20
+ 79: TypePointer Input 78
+ 80(inb): 79(ptr) Variable Input
+ 81(ind): 79(ptr) Variable Input
+ 82: TypeArray 15(fvec4) 20
+ 83: TypePointer Input 82
+ 84(ivla): 83(ptr) Variable Input
+ 85(ivlb): 83(ptr) Variable Input
+ 86: TypeArray 15(fvec4) 49
+ 87: TypePointer Output 86
+ 88(ovla): 87(ptr) Variable Output
+ 89(ovlb): 87(ptr) Variable Output
4(main): 2 Function None 3
5: Label
- 13(a): 12(ptr) Variable Function
- 18(p): 17(ptr) Variable Function
- 31(ps): 30(ptr) Variable Function
- 35(cd): 30(ptr) Variable Function
- 39(pvi): 12(ptr) Variable Function
- 43(pid): 12(ptr) Variable Function
- 46(iid): 12(ptr) Variable Function
- MemoryBarrier 8 9
- ControlBarrier 8 8 10
- Store 13(a) 14
- 28: 27(ptr) AccessChain 24(gl_in) 25 26
- 29: 16(fvec4) Load 28
- Store 18(p) 29
- 33: 32(ptr) AccessChain 24(gl_in) 25 25
- 34: 15(float) Load 33
- Store 31(ps) 34
- 37: 32(ptr) AccessChain 24(gl_in) 25 36 36
- 38: 15(float) Load 37
- Store 35(cd) 38
- 42: 11(int) Load 41(gl_PatchVerticesIn)
- Store 39(pvi) 42
- 45: 11(int) Load 44(gl_PrimitiveID)
- Store 43(pid) 45
- 48: 11(int) Load 47(gl_InvocationID)
- Store 46(iid) 48
- 54: 16(fvec4) Load 18(p)
- 56: 55(ptr) AccessChain 53(gl_out) 25 26
- Store 56 54
- 57: 15(float) Load 31(ps)
- 59: 58(ptr) AccessChain 53(gl_out) 25 25
- Store 59 57
- 60: 15(float) Load 35(cd)
- 61: 58(ptr) AccessChain 53(gl_out) 25 36 25
- Store 61 60
- 67: 58(ptr) AccessChain 64(gl_TessLevelOuter) 65
- Store 67 66
- 73: 58(ptr) AccessChain 71(gl_TessLevelInner) 25
- Store 73 72
- Branch 6
- 6: Label
+ 12(a): 11(ptr) Variable Function
+ 17(p): 16(ptr) Variable Function
+ 30(ps): 29(ptr) Variable Function
+ 34(cd): 29(ptr) Variable Function
+ 38(pvi): 11(ptr) Variable Function
+ 42(pid): 11(ptr) Variable Function
+ 45(iid): 11(ptr) Variable Function
+ MemoryBarrier 7 8
+ ControlBarrier 7 7 9
+ Store 12(a) 13
+ 27: 26(ptr) AccessChain 23(gl_in) 24 25
+ 28: 15(fvec4) Load 27
+ Store 17(p) 28
+ 32: 31(ptr) AccessChain 23(gl_in) 24 24
+ 33: 14(float) Load 32
+ Store 30(ps) 33
+ 36: 31(ptr) AccessChain 23(gl_in) 24 35 35
+ 37: 14(float) Load 36
+ Store 34(cd) 37
+ 41: 10(int) Load 40(gl_PatchVerticesIn)
+ Store 38(pvi) 41
+ 44: 10(int) Load 43(gl_PrimitiveID)
+ Store 42(pid) 44
+ 47: 10(int) Load 46(gl_InvocationID)
+ Store 45(iid) 47
+ 53: 15(fvec4) Load 17(p)
+ 55: 54(ptr) AccessChain 52(gl_out) 24 25
+ Store 55 53
+ 56: 14(float) Load 30(ps)
+ 58: 57(ptr) AccessChain 52(gl_out) 24 24
+ Store 58 56
+ 59: 14(float) Load 34(cd)
+ 60: 57(ptr) AccessChain 52(gl_out) 24 35 24
+ Store 60 59
+ 66: 57(ptr) AccessChain 63(gl_TessLevelOuter) 64
+ Store 66 65
+ 72: 57(ptr) AccessChain 70(gl_TessLevelInner) 24
+ Store 72 71
Return
FunctionEnd
diff --git a/Test/baseResults/spv.400.tese.out b/Test/baseResults/spv.400.tese.out
index fab8235..9a63b16 100755
--- a/Test/baseResults/spv.400.tese.out
+++ b/Test/baseResults/spv.400.tese.out
@@ -7,7 +7,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 99
+// Id's are bound by 98
Source GLSL 400
SourceExtension "GL_ARB_separate_shader_objects"
@@ -17,177 +17,175 @@
EntryPoint TessellationEvaluation 4 "main"
ExecutionMode 4 InputTriangles
Name 4 "main"
- Name 9 "a"
- Name 14 "p"
- Name 18 "gl_PerVertex"
- MemberName 18(gl_PerVertex) 0 "gl_Position"
- MemberName 18(gl_PerVertex) 1 "gl_PointSize"
- MemberName 18(gl_PerVertex) 2 "gl_ClipDistance"
- Name 22 "gl_in"
- Name 29 "ps"
- Name 33 "cd"
- Name 37 "pvi"
- Name 39 "gl_PatchVerticesIn"
- Name 41 "pid"
- Name 42 "gl_PrimitiveID"
- Name 46 "tc"
- Name 48 "gl_TessCoord"
- Name 50 "tlo"
- Name 54 "gl_TessLevelOuter"
- Name 58 "tli"
- Name 62 "gl_TessLevelInner"
- Name 67 "gl_PerVertex"
- MemberName 67(gl_PerVertex) 0 "gl_Position"
- MemberName 67(gl_PerVertex) 1 "gl_PointSize"
- MemberName 67(gl_PerVertex) 2 "gl_ClipDistance"
- Name 69 ""
- Name 78 "patchIn"
- Name 82 "inb"
- Name 83 "ind"
- Name 84 "testblb"
- MemberName 84(testblb) 0 "f"
- Name 87 "blb"
- Name 88 "testbld"
- MemberName 88(testbld) 0 "f"
- Name 91 "bld"
- Name 94 "ivla"
- Name 95 "ivlb"
- Name 98 "ovla"
- Decorate 18(gl_PerVertex) Block
- Decorate 39(gl_PatchVerticesIn) BuiltIn PatchVertices
- Decorate 42(gl_PrimitiveID) BuiltIn PrimitiveId
- Decorate 48(gl_TessCoord) BuiltIn TessCoord
- Decorate 54(gl_TessLevelOuter) Patch
- Decorate 54(gl_TessLevelOuter) BuiltIn TessLevelOuter
- Decorate 62(gl_TessLevelInner) Patch
- Decorate 62(gl_TessLevelInner) BuiltIn TessLevelInner
- MemberDecorate 67(gl_PerVertex) 0 BuiltIn Position
- MemberDecorate 67(gl_PerVertex) 1 BuiltIn PointSize
- MemberDecorate 67(gl_PerVertex) 2 BuiltIn ClipDistance
- Decorate 67(gl_PerVertex) Block
- Decorate 78(patchIn) Patch
- Decorate 78(patchIn) NoStaticUse
- Decorate 82(inb) NoStaticUse
- Decorate 83(ind) NoStaticUse
- Decorate 84(testblb) Block
- Decorate 87(blb) NoStaticUse
- Decorate 88(testbld) Block
- Decorate 91(bld) NoStaticUse
- Decorate 94(ivla) Location 23
- Decorate 94(ivla) NoStaticUse
- Decorate 95(ivlb) Location 24
- Decorate 95(ivlb) NoStaticUse
- Decorate 98(ovla) Location 23
- Decorate 98(ovla) NoStaticUse
+ Name 8 "a"
+ Name 13 "p"
+ Name 17 "gl_PerVertex"
+ MemberName 17(gl_PerVertex) 0 "gl_Position"
+ MemberName 17(gl_PerVertex) 1 "gl_PointSize"
+ MemberName 17(gl_PerVertex) 2 "gl_ClipDistance"
+ Name 21 "gl_in"
+ Name 28 "ps"
+ Name 32 "cd"
+ Name 36 "pvi"
+ Name 38 "gl_PatchVerticesIn"
+ Name 40 "pid"
+ Name 41 "gl_PrimitiveID"
+ Name 45 "tc"
+ Name 47 "gl_TessCoord"
+ Name 49 "tlo"
+ Name 53 "gl_TessLevelOuter"
+ Name 57 "tli"
+ Name 61 "gl_TessLevelInner"
+ Name 66 "gl_PerVertex"
+ MemberName 66(gl_PerVertex) 0 "gl_Position"
+ MemberName 66(gl_PerVertex) 1 "gl_PointSize"
+ MemberName 66(gl_PerVertex) 2 "gl_ClipDistance"
+ Name 68 ""
+ Name 77 "patchIn"
+ Name 81 "inb"
+ Name 82 "ind"
+ Name 83 "testblb"
+ MemberName 83(testblb) 0 "f"
+ Name 86 "blb"
+ Name 87 "testbld"
+ MemberName 87(testbld) 0 "f"
+ Name 90 "bld"
+ Name 93 "ivla"
+ Name 94 "ivlb"
+ Name 97 "ovla"
+ Decorate 17(gl_PerVertex) Block
+ Decorate 38(gl_PatchVerticesIn) BuiltIn PatchVertices
+ Decorate 41(gl_PrimitiveID) BuiltIn PrimitiveId
+ Decorate 47(gl_TessCoord) BuiltIn TessCoord
+ Decorate 53(gl_TessLevelOuter) Patch
+ Decorate 53(gl_TessLevelOuter) BuiltIn TessLevelOuter
+ Decorate 61(gl_TessLevelInner) Patch
+ Decorate 61(gl_TessLevelInner) BuiltIn TessLevelInner
+ MemberDecorate 66(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 66(gl_PerVertex) 1 BuiltIn PointSize
+ MemberDecorate 66(gl_PerVertex) 2 BuiltIn ClipDistance
+ Decorate 66(gl_PerVertex) Block
+ Decorate 77(patchIn) Patch
+ Decorate 77(patchIn) NoStaticUse
+ Decorate 81(inb) NoStaticUse
+ Decorate 82(ind) NoStaticUse
+ Decorate 83(testblb) Block
+ Decorate 86(blb) NoStaticUse
+ Decorate 87(testbld) Block
+ Decorate 90(bld) NoStaticUse
+ Decorate 93(ivla) Location 23
+ Decorate 93(ivla) NoStaticUse
+ Decorate 94(ivlb) Location 24
+ Decorate 94(ivlb) NoStaticUse
+ Decorate 97(ovla) Location 23
+ Decorate 97(ovla) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeInt 32 1
- 8: TypePointer Function 7(int)
- 10: 7(int) Constant 1512
- 11: TypeFloat 32
- 12: TypeVector 11(float) 4
- 13: TypePointer Function 12(fvec4)
- 15: TypeInt 32 0
- 16: 15(int) Constant 1
- 17: TypeArray 11(float) 16
-18(gl_PerVertex): TypeStruct 12(fvec4) 11(float) 17
- 19: 15(int) Constant 32
- 20: TypeArray 18(gl_PerVertex) 19
- 21: TypePointer Input 20
- 22(gl_in): 21(ptr) Variable Input
- 23: 7(int) Constant 1
- 24: 7(int) Constant 0
- 25: TypePointer Input 12(fvec4)
- 28: TypePointer Function 11(float)
- 30: TypePointer Input 11(float)
- 34: 7(int) Constant 2
- 38: TypePointer Input 7(int)
-39(gl_PatchVerticesIn): 38(ptr) Variable Input
-42(gl_PrimitiveID): 38(ptr) Variable Input
- 44: TypeVector 11(float) 3
- 45: TypePointer Function 44(fvec3)
- 47: TypePointer Input 44(fvec3)
-48(gl_TessCoord): 47(ptr) Variable Input
- 51: 15(int) Constant 4
- 52: TypeArray 11(float) 51
- 53: TypePointer Input 52
-54(gl_TessLevelOuter): 53(ptr) Variable Input
- 55: 7(int) Constant 3
- 59: 15(int) Constant 2
- 60: TypeArray 11(float) 59
- 61: TypePointer Input 60
-62(gl_TessLevelInner): 61(ptr) Variable Input
- 65: 15(int) Constant 3
- 66: TypeArray 11(float) 65
-67(gl_PerVertex): TypeStruct 12(fvec4) 11(float) 66
- 68: TypePointer Output 67(gl_PerVertex)
- 69: 68(ptr) Variable Output
- 71: TypePointer Output 12(fvec4)
- 74: TypePointer Output 11(float)
- 78(patchIn): 25(ptr) Variable Input
- 79: TypeVector 11(float) 2
- 80: TypeArray 79(fvec2) 19
- 81: TypePointer Input 80
- 82(inb): 81(ptr) Variable Input
- 83(ind): 81(ptr) Variable Input
- 84(testblb): TypeStruct 7(int)
- 85: TypeArray 84(testblb) 19
- 86: TypePointer Input 85
- 87(blb): 86(ptr) Variable Input
- 88(testbld): TypeStruct 7(int)
- 89: TypeArray 88(testbld) 19
- 90: TypePointer Input 89
- 91(bld): 90(ptr) Variable Input
- 92: TypeArray 12(fvec4) 19
- 93: TypePointer Input 92
- 94(ivla): 93(ptr) Variable Input
- 95(ivlb): 93(ptr) Variable Input
- 96: TypeArray 12(fvec4) 59
- 97: TypePointer Output 96
- 98(ovla): 97(ptr) Variable Output
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 1512
+ 10: TypeFloat 32
+ 11: TypeVector 10(float) 4
+ 12: TypePointer Function 11(fvec4)
+ 14: TypeInt 32 0
+ 15: 14(int) Constant 1
+ 16: TypeArray 10(float) 15
+17(gl_PerVertex): TypeStruct 11(fvec4) 10(float) 16
+ 18: 14(int) Constant 32
+ 19: TypeArray 17(gl_PerVertex) 18
+ 20: TypePointer Input 19
+ 21(gl_in): 20(ptr) Variable Input
+ 22: 6(int) Constant 1
+ 23: 6(int) Constant 0
+ 24: TypePointer Input 11(fvec4)
+ 27: TypePointer Function 10(float)
+ 29: TypePointer Input 10(float)
+ 33: 6(int) Constant 2
+ 37: TypePointer Input 6(int)
+38(gl_PatchVerticesIn): 37(ptr) Variable Input
+41(gl_PrimitiveID): 37(ptr) Variable Input
+ 43: TypeVector 10(float) 3
+ 44: TypePointer Function 43(fvec3)
+ 46: TypePointer Input 43(fvec3)
+47(gl_TessCoord): 46(ptr) Variable Input
+ 50: 14(int) Constant 4
+ 51: TypeArray 10(float) 50
+ 52: TypePointer Input 51
+53(gl_TessLevelOuter): 52(ptr) Variable Input
+ 54: 6(int) Constant 3
+ 58: 14(int) Constant 2
+ 59: TypeArray 10(float) 58
+ 60: TypePointer Input 59
+61(gl_TessLevelInner): 60(ptr) Variable Input
+ 64: 14(int) Constant 3
+ 65: TypeArray 10(float) 64
+66(gl_PerVertex): TypeStruct 11(fvec4) 10(float) 65
+ 67: TypePointer Output 66(gl_PerVertex)
+ 68: 67(ptr) Variable Output
+ 70: TypePointer Output 11(fvec4)
+ 73: TypePointer Output 10(float)
+ 77(patchIn): 24(ptr) Variable Input
+ 78: TypeVector 10(float) 2
+ 79: TypeArray 78(fvec2) 18
+ 80: TypePointer Input 79
+ 81(inb): 80(ptr) Variable Input
+ 82(ind): 80(ptr) Variable Input
+ 83(testblb): TypeStruct 6(int)
+ 84: TypeArray 83(testblb) 18
+ 85: TypePointer Input 84
+ 86(blb): 85(ptr) Variable Input
+ 87(testbld): TypeStruct 6(int)
+ 88: TypeArray 87(testbld) 18
+ 89: TypePointer Input 88
+ 90(bld): 89(ptr) Variable Input
+ 91: TypeArray 11(fvec4) 18
+ 92: TypePointer Input 91
+ 93(ivla): 92(ptr) Variable Input
+ 94(ivlb): 92(ptr) Variable Input
+ 95: TypeArray 11(fvec4) 58
+ 96: TypePointer Output 95
+ 97(ovla): 96(ptr) Variable Output
4(main): 2 Function None 3
5: Label
- 9(a): 8(ptr) Variable Function
- 14(p): 13(ptr) Variable Function
- 29(ps): 28(ptr) Variable Function
- 33(cd): 28(ptr) Variable Function
- 37(pvi): 8(ptr) Variable Function
- 41(pid): 8(ptr) Variable Function
- 46(tc): 45(ptr) Variable Function
- 50(tlo): 28(ptr) Variable Function
- 58(tli): 28(ptr) Variable Function
- Store 9(a) 10
- 26: 25(ptr) AccessChain 22(gl_in) 23 24
- 27: 12(fvec4) Load 26
- Store 14(p) 27
- 31: 30(ptr) AccessChain 22(gl_in) 23 23
- 32: 11(float) Load 31
- Store 29(ps) 32
- 35: 30(ptr) AccessChain 22(gl_in) 23 34 34
- 36: 11(float) Load 35
- Store 33(cd) 36
- 40: 7(int) Load 39(gl_PatchVerticesIn)
- Store 37(pvi) 40
- 43: 7(int) Load 42(gl_PrimitiveID)
- Store 41(pid) 43
- 49: 44(fvec3) Load 48(gl_TessCoord)
- Store 46(tc) 49
- 56: 30(ptr) AccessChain 54(gl_TessLevelOuter) 55
- 57: 11(float) Load 56
- Store 50(tlo) 57
- 63: 30(ptr) AccessChain 62(gl_TessLevelInner) 23
- 64: 11(float) Load 63
- Store 58(tli) 64
- 70: 12(fvec4) Load 14(p)
- 72: 71(ptr) AccessChain 69 24
- Store 72 70
- 73: 11(float) Load 29(ps)
- 75: 74(ptr) AccessChain 69 23
- Store 75 73
- 76: 11(float) Load 33(cd)
- 77: 74(ptr) AccessChain 69 34 34
- Store 77 76
- Branch 6
- 6: Label
+ 8(a): 7(ptr) Variable Function
+ 13(p): 12(ptr) Variable Function
+ 28(ps): 27(ptr) Variable Function
+ 32(cd): 27(ptr) Variable Function
+ 36(pvi): 7(ptr) Variable Function
+ 40(pid): 7(ptr) Variable Function
+ 45(tc): 44(ptr) Variable Function
+ 49(tlo): 27(ptr) Variable Function
+ 57(tli): 27(ptr) Variable Function
+ Store 8(a) 9
+ 25: 24(ptr) AccessChain 21(gl_in) 22 23
+ 26: 11(fvec4) Load 25
+ Store 13(p) 26
+ 30: 29(ptr) AccessChain 21(gl_in) 22 22
+ 31: 10(float) Load 30
+ Store 28(ps) 31
+ 34: 29(ptr) AccessChain 21(gl_in) 22 33 33
+ 35: 10(float) Load 34
+ Store 32(cd) 35
+ 39: 6(int) Load 38(gl_PatchVerticesIn)
+ Store 36(pvi) 39
+ 42: 6(int) Load 41(gl_PrimitiveID)
+ Store 40(pid) 42
+ 48: 43(fvec3) Load 47(gl_TessCoord)
+ Store 45(tc) 48
+ 55: 29(ptr) AccessChain 53(gl_TessLevelOuter) 54
+ 56: 10(float) Load 55
+ Store 49(tlo) 56
+ 62: 29(ptr) AccessChain 61(gl_TessLevelInner) 22
+ 63: 10(float) Load 62
+ Store 57(tli) 63
+ 69: 11(fvec4) Load 13(p)
+ 71: 70(ptr) AccessChain 68 23
+ Store 71 69
+ 72: 10(float) Load 28(ps)
+ 74: 73(ptr) AccessChain 68 22
+ Store 74 72
+ 75: 10(float) Load 32(cd)
+ 76: 73(ptr) AccessChain 68 33 33
+ Store 76 75
Return
FunctionEnd
diff --git a/Test/baseResults/spv.430.vert.out b/Test/baseResults/spv.430.vert.out
index 082ae0a..15485c2 100755
--- a/Test/baseResults/spv.430.vert.out
+++ b/Test/baseResults/spv.430.vert.out
@@ -7,7 +7,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 63
+// Id's are bound by 62
Source GLSL 430
Capability Shader
@@ -15,122 +15,120 @@
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main"
Name 4 "main"
- Name 11 "gl_PerVertex"
- MemberName 11(gl_PerVertex) 0 "gl_ClipDistance"
- Name 13 ""
- Name 24 "bad"
- Name 35 "badorder3"
- Name 39 "f"
- Name 43 "uv4"
- Name 44 "badorder"
- Name 45 "badorder2"
- Name 46 "boundblock"
- MemberName 46(boundblock) 0 "aoeu"
- Name 48 "boundInst"
- Name 49 "anonblock"
- MemberName 49(anonblock) 0 "aoeu"
- Name 51 ""
- Name 55 "sampb1"
- Name 58 "sampb2"
- Name 59 "sampb4"
- Name 61 "gl_VertexID"
- Name 62 "gl_InstanceID"
- MemberDecorate 11(gl_PerVertex) 0 BuiltIn ClipDistance
- Decorate 11(gl_PerVertex) Block
- Decorate 35(badorder3) Flat
- Decorate 43(uv4) Location 4
- Decorate 43(uv4) NoStaticUse
- Decorate 29 NoStaticUse
- Decorate 29 NoStaticUse
- Decorate 44(badorder) NoStaticUse
- Decorate 45(badorder2) Smooth
- Decorate 45(badorder2) Invariant
- Decorate 45(badorder2) NoStaticUse
- Decorate 46(boundblock) GLSLShared
- Decorate 46(boundblock) Block
- Decorate 48(boundInst) Binding 3
- Decorate 48(boundInst) NoStaticUse
- Decorate 49(anonblock) GLSLShared
- Decorate 49(anonblock) Block
- Decorate 51 Binding 7
- Decorate 51 NoStaticUse
- Decorate 55(sampb1) Binding 4
- Decorate 55(sampb1) NoStaticUse
- Decorate 58(sampb2) Binding 5
- Decorate 58(sampb2) NoStaticUse
- Decorate 59(sampb4) Binding 31
- Decorate 59(sampb4) NoStaticUse
- Decorate 61(gl_VertexID) BuiltIn VertexId
- Decorate 61(gl_VertexID) NoStaticUse
- Decorate 62(gl_InstanceID) BuiltIn InstanceId
- Decorate 62(gl_InstanceID) NoStaticUse
+ Name 10 "gl_PerVertex"
+ MemberName 10(gl_PerVertex) 0 "gl_ClipDistance"
+ Name 12 ""
+ Name 23 "bad"
+ Name 34 "badorder3"
+ Name 38 "f"
+ Name 42 "uv4"
+ Name 43 "badorder"
+ Name 44 "badorder2"
+ Name 45 "boundblock"
+ MemberName 45(boundblock) 0 "aoeu"
+ Name 47 "boundInst"
+ Name 48 "anonblock"
+ MemberName 48(anonblock) 0 "aoeu"
+ Name 50 ""
+ Name 54 "sampb1"
+ Name 57 "sampb2"
+ Name 58 "sampb4"
+ Name 60 "gl_VertexID"
+ Name 61 "gl_InstanceID"
+ MemberDecorate 10(gl_PerVertex) 0 BuiltIn ClipDistance
+ Decorate 10(gl_PerVertex) Block
+ Decorate 34(badorder3) Flat
+ Decorate 42(uv4) Location 4
+ Decorate 42(uv4) NoStaticUse
+ Decorate 28 NoStaticUse
+ Decorate 28 NoStaticUse
+ Decorate 43(badorder) NoStaticUse
+ Decorate 44(badorder2) Smooth
+ Decorate 44(badorder2) Invariant
+ Decorate 44(badorder2) NoStaticUse
+ Decorate 45(boundblock) GLSLShared
+ Decorate 45(boundblock) Block
+ Decorate 47(boundInst) Binding 3
+ Decorate 47(boundInst) NoStaticUse
+ Decorate 48(anonblock) GLSLShared
+ Decorate 48(anonblock) Block
+ Decorate 50 Binding 7
+ Decorate 50 NoStaticUse
+ Decorate 54(sampb1) Binding 4
+ Decorate 54(sampb1) NoStaticUse
+ Decorate 57(sampb2) Binding 5
+ Decorate 57(sampb2) NoStaticUse
+ Decorate 58(sampb4) Binding 31
+ Decorate 58(sampb4) NoStaticUse
+ Decorate 60(gl_VertexID) BuiltIn VertexId
+ Decorate 60(gl_VertexID) NoStaticUse
+ Decorate 61(gl_InstanceID) BuiltIn InstanceId
+ Decorate 61(gl_InstanceID) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeInt 32 0
- 9: 8(int) Constant 3
- 10: TypeArray 7(float) 9
-11(gl_PerVertex): TypeStruct 10
- 12: TypePointer Output 11(gl_PerVertex)
- 13: 12(ptr) Variable Output
- 14: TypeInt 32 1
- 15: 14(int) Constant 0
- 16: 14(int) Constant 2
- 17: 7(float) Constant 1080872141
- 18: TypePointer Output 7(float)
- 20: TypeVector 7(float) 4
- 21: 8(int) Constant 10
- 22: TypeArray 20(fvec4) 21
- 23: TypePointer Input 22
- 24(bad): 23(ptr) Variable Input
- 25: TypePointer Input 20(fvec4)
- 29: 7(float) Constant 1082549862
- 30: TypeBool
- 34: TypePointer Output 20(fvec4)
- 35(badorder3): 34(ptr) Variable Output
- 38: TypePointer UniformConstant 7(float)
- 39(f): 38(ptr) Variable UniformConstant
- 42: TypePointer UniformConstant 20(fvec4)
- 43(uv4): 42(ptr) Variable UniformConstant
- 44(badorder): 25(ptr) Variable Input
- 45(badorder2): 34(ptr) Variable Output
- 46(boundblock): TypeStruct 14(int)
- 47: TypePointer Uniform 46(boundblock)
- 48(boundInst): 47(ptr) Variable Uniform
- 49(anonblock): TypeStruct 14(int)
- 50: TypePointer Uniform 49(anonblock)
- 51: 50(ptr) Variable Uniform
- 52: TypeImage 7(float) 2D sampled format:Unknown
- 53: TypeSampledImage 52
- 54: TypePointer UniformConstant 53
- 55(sampb1): 54(ptr) Variable UniformConstant
- 56: TypeArray 53 21
- 57: TypePointer UniformConstant 56
- 58(sampb2): 57(ptr) Variable UniformConstant
- 59(sampb4): 54(ptr) Variable UniformConstant
- 60: TypePointer Input 14(int)
- 61(gl_VertexID): 60(ptr) Variable Input
-62(gl_InstanceID): 60(ptr) Variable Input
+ 6: TypeFloat 32
+ 7: TypeInt 32 0
+ 8: 7(int) Constant 3
+ 9: TypeArray 6(float) 8
+10(gl_PerVertex): TypeStruct 9
+ 11: TypePointer Output 10(gl_PerVertex)
+ 12: 11(ptr) Variable Output
+ 13: TypeInt 32 1
+ 14: 13(int) Constant 0
+ 15: 13(int) Constant 2
+ 16: 6(float) Constant 1080872141
+ 17: TypePointer Output 6(float)
+ 19: TypeVector 6(float) 4
+ 20: 7(int) Constant 10
+ 21: TypeArray 19(fvec4) 20
+ 22: TypePointer Input 21
+ 23(bad): 22(ptr) Variable Input
+ 24: TypePointer Input 19(fvec4)
+ 28: 6(float) Constant 1082549862
+ 29: TypeBool
+ 33: TypePointer Output 19(fvec4)
+ 34(badorder3): 33(ptr) Variable Output
+ 37: TypePointer UniformConstant 6(float)
+ 38(f): 37(ptr) Variable UniformConstant
+ 41: TypePointer UniformConstant 19(fvec4)
+ 42(uv4): 41(ptr) Variable UniformConstant
+ 43(badorder): 24(ptr) Variable Input
+ 44(badorder2): 33(ptr) Variable Output
+ 45(boundblock): TypeStruct 13(int)
+ 46: TypePointer Uniform 45(boundblock)
+ 47(boundInst): 46(ptr) Variable Uniform
+ 48(anonblock): TypeStruct 13(int)
+ 49: TypePointer Uniform 48(anonblock)
+ 50: 49(ptr) Variable Uniform
+ 51: TypeImage 6(float) 2D sampled format:Unknown
+ 52: TypeSampledImage 51
+ 53: TypePointer UniformConstant 52
+ 54(sampb1): 53(ptr) Variable UniformConstant
+ 55: TypeArray 52 20
+ 56: TypePointer UniformConstant 55
+ 57(sampb2): 56(ptr) Variable UniformConstant
+ 58(sampb4): 53(ptr) Variable UniformConstant
+ 59: TypePointer Input 13(int)
+ 60(gl_VertexID): 59(ptr) Variable Input
+61(gl_InstanceID): 59(ptr) Variable Input
4(main): 2 Function None 3
5: Label
- 19: 18(ptr) AccessChain 13 15 16
- Store 19 17
- 26: 25(ptr) AccessChain 24(bad) 15
- 27: 20(fvec4) Load 26
- 28: 7(float) CompositeExtract 27 0
- 31: 30(bool) FOrdEqual 28 29
- SelectionMerge 33 None
- BranchConditional 31 32 33
- 32: Label
- 36: 25(ptr) AccessChain 24(bad) 15
- 37: 20(fvec4) Load 36
- Store 35(badorder3) 37
- Branch 33
- 33: Label
- 40: 7(float) Load 39(f)
- 41: 18(ptr) AccessChain 13 15 15
- Store 41 40
- Branch 6
- 6: Label
+ 18: 17(ptr) AccessChain 12 14 15
+ Store 18 16
+ 25: 24(ptr) AccessChain 23(bad) 14
+ 26: 19(fvec4) Load 25
+ 27: 6(float) CompositeExtract 26 0
+ 30: 29(bool) FOrdEqual 27 28
+ SelectionMerge 32 None
+ BranchConditional 30 31 32
+ 31: Label
+ 35: 24(ptr) AccessChain 23(bad) 14
+ 36: 19(fvec4) Load 35
+ Store 34(badorder3) 36
+ Branch 32
+ 32: Label
+ 39: 6(float) Load 38(f)
+ 40: 17(ptr) AccessChain 12 14 14
+ Store 40 39
Return
FunctionEnd
diff --git a/Test/baseResults/spv.AofA.frag.out b/Test/baseResults/spv.AofA.frag.out
index bda0df3..d24355f 100644
--- a/Test/baseResults/spv.AofA.frag.out
+++ b/Test/baseResults/spv.AofA.frag.out
@@ -7,7 +7,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 104
+// Id's are bound by 103
Source GLSL 430
Capability Shader
@@ -16,139 +16,137 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 18 "foo(f1[5][7];"
- Name 17 "a"
- Name 21 "r"
- Name 39 "outfloat"
- Name 42 "g4"
- Name 44 "g5"
- Name 45 "param"
- Name 48 "u"
- Name 52 "param"
- Name 66 "many"
- Name 68 "i"
- Name 70 "j"
- Name 72 "k"
- Name 78 "infloat"
- Name 94 "uAofA"
- MemberName 94(uAofA) 0 "f"
- Name 98 "nameAofA"
- Decorate 44(g5) Smooth
- Decorate 78(infloat) Smooth
- Decorate 94(uAofA) GLSLShared
- Decorate 94(uAofA) Block
+ Name 17 "foo(f1[5][7];"
+ Name 16 "a"
+ Name 20 "r"
+ Name 38 "outfloat"
+ Name 41 "g4"
+ Name 43 "g5"
+ Name 44 "param"
+ Name 47 "u"
+ Name 51 "param"
+ Name 65 "many"
+ Name 67 "i"
+ Name 69 "j"
+ Name 71 "k"
+ Name 77 "infloat"
+ Name 93 "uAofA"
+ MemberName 93(uAofA) 0 "f"
+ Name 97 "nameAofA"
+ Decorate 43(g5) Smooth
+ Decorate 77(infloat) Smooth
+ Decorate 93(uAofA) GLSLShared
+ Decorate 93(uAofA) Block
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeInt 32 0
- 9: 8(int) Constant 7
- 10: TypeArray 7(float) 9
- 11: 8(int) Constant 5
- 12: TypeArray 10 11
- 13: TypePointer Function 12
- 14: 8(int) Constant 4
- 15: TypeArray 10 14
- 16: TypeFunction 15 13(ptr)
- 20: TypePointer Function 10
- 22: TypeInt 32 1
- 23: 22(int) Constant 2
- 26: 22(int) Constant 0
- 29: 22(int) Constant 1
- 33: 22(int) Constant 3
- 38: TypePointer Output 7(float)
- 39(outfloat): 38(ptr) Variable Output
- 40: 7(float) Constant 0
- 41: TypePointer PrivateGlobal 15
- 42(g4): 41(ptr) Variable PrivateGlobal
- 43: TypePointer Input 12
- 44(g5): 43(ptr) Variable Input
- 49: 7(float) Constant 1077936128
- 50: TypePointer Function 7(float)
- 55: 8(int) Constant 6
- 56: TypeArray 7(float) 55
- 57: TypeArray 56 11
- 58: TypeArray 57 14
- 59: 8(int) Constant 3
- 60: TypeArray 58 59
- 61: 8(int) Constant 2
- 62: TypeArray 60 61
- 63: 8(int) Constant 1
- 64: TypeArray 62 63
- 65: TypePointer PrivateGlobal 64
- 66(many): 65(ptr) Variable PrivateGlobal
- 67: TypePointer UniformConstant 22(int)
- 68(i): 67(ptr) Variable UniformConstant
- 70(j): 67(ptr) Variable UniformConstant
- 72(k): 67(ptr) Variable UniformConstant
- 77: TypePointer Input 7(float)
- 78(infloat): 77(ptr) Variable Input
- 80: TypePointer PrivateGlobal 7(float)
- 92: TypeArray 7(float) 14
- 93: TypeArray 92 61
- 94(uAofA): TypeStruct 93
- 95: TypeArray 94(uAofA) 11
- 96: TypeArray 95 59
- 97: TypePointer Uniform 96
- 98(nameAofA): 97(ptr) Variable Uniform
- 99: TypePointer Uniform 7(float)
+ 6: TypeFloat 32
+ 7: TypeInt 32 0
+ 8: 7(int) Constant 7
+ 9: TypeArray 6(float) 8
+ 10: 7(int) Constant 5
+ 11: TypeArray 9 10
+ 12: TypePointer Function 11
+ 13: 7(int) Constant 4
+ 14: TypeArray 9 13
+ 15: TypeFunction 14 12(ptr)
+ 19: TypePointer Function 9
+ 21: TypeInt 32 1
+ 22: 21(int) Constant 2
+ 25: 21(int) Constant 0
+ 28: 21(int) Constant 1
+ 32: 21(int) Constant 3
+ 37: TypePointer Output 6(float)
+ 38(outfloat): 37(ptr) Variable Output
+ 39: 6(float) Constant 0
+ 40: TypePointer PrivateGlobal 14
+ 41(g4): 40(ptr) Variable PrivateGlobal
+ 42: TypePointer Input 11
+ 43(g5): 42(ptr) Variable Input
+ 48: 6(float) Constant 1077936128
+ 49: TypePointer Function 6(float)
+ 54: 7(int) Constant 6
+ 55: TypeArray 6(float) 54
+ 56: TypeArray 55 10
+ 57: TypeArray 56 13
+ 58: 7(int) Constant 3
+ 59: TypeArray 57 58
+ 60: 7(int) Constant 2
+ 61: TypeArray 59 60
+ 62: 7(int) Constant 1
+ 63: TypeArray 61 62
+ 64: TypePointer PrivateGlobal 63
+ 65(many): 64(ptr) Variable PrivateGlobal
+ 66: TypePointer UniformConstant 21(int)
+ 67(i): 66(ptr) Variable UniformConstant
+ 69(j): 66(ptr) Variable UniformConstant
+ 71(k): 66(ptr) Variable UniformConstant
+ 76: TypePointer Input 6(float)
+ 77(infloat): 76(ptr) Variable Input
+ 79: TypePointer PrivateGlobal 6(float)
+ 91: TypeArray 6(float) 13
+ 92: TypeArray 91 60
+ 93(uAofA): TypeStruct 92
+ 94: TypeArray 93(uAofA) 10
+ 95: TypeArray 94 58
+ 96: TypePointer Uniform 95
+ 97(nameAofA): 96(ptr) Variable Uniform
+ 98: TypePointer Uniform 6(float)
4(main): 2 Function None 3
5: Label
- 45(param): 13(ptr) Variable Function
- 48(u): 13(ptr) Variable Function
- 52(param): 13(ptr) Variable Function
- Store 39(outfloat) 40
- 46: 12 Load 44(g5)
- Store 45(param) 46
- 47: 15 FunctionCall 18(foo(f1[5][7];) 45(param)
- Store 42(g4) 47
- 51: 50(ptr) AccessChain 48(u) 23 23
- Store 51 49
- 53: 12 Load 48(u)
- Store 52(param) 53
- 54: 15 FunctionCall 18(foo(f1[5][7];) 52(param)
- 69: 22(int) Load 68(i)
- 71: 22(int) Load 70(j)
- 73: 22(int) Load 72(k)
- 74: 22(int) Load 68(i)
- 75: 22(int) Load 70(j)
- 76: 22(int) Load 72(k)
- 79: 7(float) Load 78(infloat)
- 81: 80(ptr) AccessChain 66(many) 69 71 73 74 75 76
- Store 81 79
- 82: 22(int) Load 70(j)
- 83: 22(int) Load 70(j)
- 84: 22(int) Load 70(j)
- 85: 22(int) Load 70(j)
- 86: 22(int) Load 70(j)
- 87: 22(int) Load 70(j)
- 88: 80(ptr) AccessChain 66(many) 82 83 84 85 86 87
- 89: 7(float) Load 88
- 90: 7(float) Load 39(outfloat)
- 91: 7(float) FAdd 90 89
- Store 39(outfloat) 91
- 100: 99(ptr) AccessChain 98(nameAofA) 29 23 26 26 33
- 101: 7(float) Load 100
- 102: 7(float) Load 39(outfloat)
- 103: 7(float) FAdd 102 101
- Store 39(outfloat) 103
- Branch 6
- 6: Label
+ 44(param): 12(ptr) Variable Function
+ 47(u): 12(ptr) Variable Function
+ 51(param): 12(ptr) Variable Function
+ Store 38(outfloat) 39
+ 45: 11 Load 43(g5)
+ Store 44(param) 45
+ 46: 14 FunctionCall 17(foo(f1[5][7];) 44(param)
+ Store 41(g4) 46
+ 50: 49(ptr) AccessChain 47(u) 22 22
+ Store 50 48
+ 52: 11 Load 47(u)
+ Store 51(param) 52
+ 53: 14 FunctionCall 17(foo(f1[5][7];) 51(param)
+ 68: 21(int) Load 67(i)
+ 70: 21(int) Load 69(j)
+ 72: 21(int) Load 71(k)
+ 73: 21(int) Load 67(i)
+ 74: 21(int) Load 69(j)
+ 75: 21(int) Load 71(k)
+ 78: 6(float) Load 77(infloat)
+ 80: 79(ptr) AccessChain 65(many) 68 70 72 73 74 75
+ Store 80 78
+ 81: 21(int) Load 69(j)
+ 82: 21(int) Load 69(j)
+ 83: 21(int) Load 69(j)
+ 84: 21(int) Load 69(j)
+ 85: 21(int) Load 69(j)
+ 86: 21(int) Load 69(j)
+ 87: 79(ptr) AccessChain 65(many) 81 82 83 84 85 86
+ 88: 6(float) Load 87
+ 89: 6(float) Load 38(outfloat)
+ 90: 6(float) FAdd 89 88
+ Store 38(outfloat) 90
+ 99: 98(ptr) AccessChain 97(nameAofA) 28 22 25 25 32
+ 100: 6(float) Load 99
+ 101: 6(float) Load 38(outfloat)
+ 102: 6(float) FAdd 101 100
+ Store 38(outfloat) 102
Return
FunctionEnd
-18(foo(f1[5][7];): 15 Function None 16
- 17(a): 13(ptr) FunctionParameter
- 19: Label
- 21(r): 20(ptr) Variable Function
- 24: 20(ptr) AccessChain 17(a) 23
- 25: 10 Load 24
- Store 21(r) 25
- 27: 20(ptr) AccessChain 17(a) 26
- 28: 10 Load 27
- 30: 20(ptr) AccessChain 17(a) 29
- 31: 10 Load 30
- 32: 10 Load 21(r)
- 34: 20(ptr) AccessChain 17(a) 33
- 35: 10 Load 34
- 36: 15 CompositeConstruct 28 31 32 35
- ReturnValue 36
+17(foo(f1[5][7];): 14 Function None 15
+ 16(a): 12(ptr) FunctionParameter
+ 18: Label
+ 20(r): 19(ptr) Variable Function
+ 23: 19(ptr) AccessChain 16(a) 22
+ 24: 9 Load 23
+ Store 20(r) 24
+ 26: 19(ptr) AccessChain 16(a) 25
+ 27: 9 Load 26
+ 29: 19(ptr) AccessChain 16(a) 28
+ 30: 9 Load 29
+ 31: 9 Load 20(r)
+ 33: 19(ptr) AccessChain 16(a) 32
+ 34: 9 Load 33
+ 35: 14 CompositeConstruct 27 30 31 34
+ ReturnValue 35
FunctionEnd
diff --git a/Test/baseResults/spv.Operations.frag.out b/Test/baseResults/spv.Operations.frag.out
index 909bb23..26960ce 100755
--- a/Test/baseResults/spv.Operations.frag.out
+++ b/Test/baseResults/spv.Operations.frag.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 399
+// Id's are bound by 398
Source GLSL 130
Capability Shader
@@ -14,502 +14,500 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 10 "v"
- Name 12 "uv4"
- Name 21 "i"
- Name 23 "ui"
- Name 170 "uf"
- Name 217 "b"
- Name 243 "ub41"
- Name 245 "ub42"
- Name 302 "f"
- Name 378 "gl_FragColor"
- Name 396 "uiv4"
- Name 398 "ub"
- Decorate 378(gl_FragColor) BuiltIn FragColor
- Decorate 396(uiv4) NoStaticUse
- Decorate 398(ub) NoStaticUse
+ Name 9 "v"
+ Name 11 "uv4"
+ Name 20 "i"
+ Name 22 "ui"
+ Name 169 "uf"
+ Name 216 "b"
+ Name 242 "ub41"
+ Name 244 "ub42"
+ Name 301 "f"
+ Name 377 "gl_FragColor"
+ Name 395 "uiv4"
+ Name 397 "ub"
+ Decorate 377(gl_FragColor) BuiltIn FragColor
+ Decorate 395(uiv4) NoStaticUse
+ Decorate 397(ub) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeVector 7(float) 4
- 9: TypePointer Function 8(fvec4)
- 11: TypePointer UniformConstant 8(fvec4)
- 12(uv4): 11(ptr) Variable UniformConstant
- 19: TypeInt 32 1
- 20: TypePointer Function 19(int)
- 22: TypePointer UniformConstant 19(int)
- 23(ui): 22(ptr) Variable UniformConstant
- 169: TypePointer UniformConstant 7(float)
- 170(uf): 169(ptr) Variable UniformConstant
- 215: TypeBool
- 216: TypePointer Function 215(bool)
- 220: TypeVector 215(bool) 4
- 242: TypePointer UniformConstant 220(bvec4)
- 243(ub41): 242(ptr) Variable UniformConstant
- 245(ub42): 242(ptr) Variable UniformConstant
- 292: 19(int) Constant 2
- 299: 19(int) Constant 1
- 301: TypePointer Function 7(float)
- 331: TypeVector 7(float) 3
- 347: 7(float) Constant 1073741824
- 354: 7(float) Constant 1065353216
- 359: 19(int) Constant 66
- 365: 19(int) Constant 17
- 377: TypePointer Output 8(fvec4)
-378(gl_FragColor): 377(ptr) Variable Output
- 394: TypeVector 19(int) 4
- 395: TypePointer UniformConstant 394(ivec4)
- 396(uiv4): 395(ptr) Variable UniformConstant
- 397: TypePointer UniformConstant 215(bool)
- 398(ub): 397(ptr) Variable UniformConstant
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypePointer UniformConstant 7(fvec4)
+ 11(uv4): 10(ptr) Variable UniformConstant
+ 18: TypeInt 32 1
+ 19: TypePointer Function 18(int)
+ 21: TypePointer UniformConstant 18(int)
+ 22(ui): 21(ptr) Variable UniformConstant
+ 168: TypePointer UniformConstant 6(float)
+ 169(uf): 168(ptr) Variable UniformConstant
+ 214: TypeBool
+ 215: TypePointer Function 214(bool)
+ 219: TypeVector 214(bool) 4
+ 241: TypePointer UniformConstant 219(bvec4)
+ 242(ub41): 241(ptr) Variable UniformConstant
+ 244(ub42): 241(ptr) Variable UniformConstant
+ 291: 18(int) Constant 2
+ 298: 18(int) Constant 1
+ 300: TypePointer Function 6(float)
+ 330: TypeVector 6(float) 3
+ 346: 6(float) Constant 1073741824
+ 353: 6(float) Constant 1065353216
+ 358: 18(int) Constant 66
+ 364: 18(int) Constant 17
+ 376: TypePointer Output 7(fvec4)
+377(gl_FragColor): 376(ptr) Variable Output
+ 393: TypeVector 18(int) 4
+ 394: TypePointer UniformConstant 393(ivec4)
+ 395(uiv4): 394(ptr) Variable UniformConstant
+ 396: TypePointer UniformConstant 214(bool)
+ 397(ub): 396(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
- 10(v): 9(ptr) Variable Function
- 21(i): 20(ptr) Variable Function
- 217(b): 216(ptr) Variable Function
- 302(f): 301(ptr) Variable Function
- 379: 9(ptr) Variable Function
- 13: 8(fvec4) Load 12(uv4)
- 14: 8(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 13
- Store 10(v) 14
- 15: 8(fvec4) Load 10(v)
- 16: 8(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 15
- 17: 8(fvec4) Load 10(v)
- 18: 8(fvec4) FAdd 17 16
- Store 10(v) 18
- 24: 19(int) Load 23(ui)
- 25: 19(int) Load 23(ui)
- 26: 19(int) IMul 24 25
- Store 21(i) 26
- 27: 8(fvec4) Load 10(v)
- 28: 8(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 27
- 29: 8(fvec4) Load 10(v)
- 30: 8(fvec4) FAdd 29 28
- Store 10(v) 30
- 31: 8(fvec4) Load 10(v)
- 32: 8(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 31
- 33: 8(fvec4) Load 10(v)
- 34: 8(fvec4) FAdd 33 32
- Store 10(v) 34
- 35: 8(fvec4) Load 10(v)
- 36: 8(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 35
- 37: 8(fvec4) Load 10(v)
- 38: 8(fvec4) FAdd 37 36
- Store 10(v) 38
- 39: 8(fvec4) Load 10(v)
- 40: 8(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 39
- 41: 8(fvec4) Load 10(v)
- 42: 8(fvec4) FAdd 41 40
- Store 10(v) 42
- 43: 8(fvec4) Load 10(v)
- 44: 8(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 43
- 45: 8(fvec4) Load 10(v)
- 46: 8(fvec4) FAdd 45 44
- Store 10(v) 46
- 47: 8(fvec4) Load 10(v)
- 48: 8(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 47
- 49: 8(fvec4) Load 10(v)
- 50: 8(fvec4) FAdd 49 48
- Store 10(v) 50
- 51: 8(fvec4) Load 10(v)
- 52: 8(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 51
- 53: 8(fvec4) Load 10(v)
- 54: 8(fvec4) FAdd 53 52
- Store 10(v) 54
- 55: 8(fvec4) Load 10(v)
- 56: 8(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 55
- 57: 8(fvec4) Load 10(v)
- 58: 8(fvec4) FAdd 57 56
- Store 10(v) 58
- 59: 8(fvec4) Load 10(v)
- 60: 8(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 59
- 61: 8(fvec4) Load 10(v)
- 62: 8(fvec4) FAdd 61 60
- Store 10(v) 62
- 63: 8(fvec4) Load 10(v)
- 64: 8(fvec4) ExtInst 1(GLSL.std.450) 22(Asinh) 63
- 65: 8(fvec4) Load 10(v)
- 66: 8(fvec4) FAdd 65 64
- Store 10(v) 66
- 67: 8(fvec4) Load 10(v)
- 68: 8(fvec4) ExtInst 1(GLSL.std.450) 23(Acosh) 67
- 69: 8(fvec4) Load 10(v)
- 70: 8(fvec4) FAdd 69 68
- Store 10(v) 70
- 71: 8(fvec4) Load 10(v)
- 72: 8(fvec4) ExtInst 1(GLSL.std.450) 24(Atanh) 71
- 73: 8(fvec4) Load 10(v)
- 74: 8(fvec4) FAdd 73 72
- Store 10(v) 74
- 75: 8(fvec4) Load 10(v)
- 76: 8(fvec4) Load 10(v)
- 77: 8(fvec4) ExtInst 1(GLSL.std.450) 26(Pow) 75 76
- 78: 8(fvec4) Load 10(v)
- 79: 8(fvec4) FAdd 78 77
- Store 10(v) 79
- 80: 8(fvec4) Load 10(v)
- 81: 8(fvec4) ExtInst 1(GLSL.std.450) 27(Exp) 80
- 82: 8(fvec4) Load 10(v)
- 83: 8(fvec4) FAdd 82 81
- Store 10(v) 83
- 84: 8(fvec4) Load 10(v)
- 85: 8(fvec4) ExtInst 1(GLSL.std.450) 28(Log) 84
- 86: 8(fvec4) Load 10(v)
- 87: 8(fvec4) FAdd 86 85
- Store 10(v) 87
- 88: 8(fvec4) Load 10(v)
- 89: 8(fvec4) ExtInst 1(GLSL.std.450) 29(Exp2) 88
- 90: 8(fvec4) Load 10(v)
- 91: 8(fvec4) FAdd 90 89
- Store 10(v) 91
- 92: 8(fvec4) Load 10(v)
- 93: 8(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 92
- 94: 8(fvec4) Load 10(v)
- 95: 8(fvec4) FAdd 94 93
- Store 10(v) 95
- 96: 8(fvec4) Load 10(v)
- 97: 8(fvec4) ExtInst 1(GLSL.std.450) 31(Sqrt) 96
- 98: 8(fvec4) Load 10(v)
- 99: 8(fvec4) FAdd 98 97
- Store 10(v) 99
- 100: 8(fvec4) Load 10(v)
- 101: 8(fvec4) ExtInst 1(GLSL.std.450) 32(Inversesqrt) 100
- 102: 8(fvec4) Load 10(v)
- 103: 8(fvec4) FAdd 102 101
- Store 10(v) 103
- 104: 8(fvec4) Load 10(v)
- 105: 8(fvec4) ExtInst 1(GLSL.std.450) 4(FAbs) 104
- 106: 8(fvec4) Load 10(v)
- 107: 8(fvec4) FAdd 106 105
- Store 10(v) 107
- 108: 8(fvec4) Load 10(v)
- 109: 8(fvec4) ExtInst 1(GLSL.std.450) 6(FSign) 108
- 110: 8(fvec4) Load 10(v)
- 111: 8(fvec4) FAdd 110 109
- Store 10(v) 111
- 112: 8(fvec4) Load 10(v)
- 113: 8(fvec4) ExtInst 1(GLSL.std.450) 8(Floor) 112
- 114: 8(fvec4) Load 10(v)
- 115: 8(fvec4) FAdd 114 113
- Store 10(v) 115
- 116: 8(fvec4) Load 10(v)
- 117: 8(fvec4) ExtInst 1(GLSL.std.450) 9(Ceil) 116
- 118: 8(fvec4) Load 10(v)
- 119: 8(fvec4) FAdd 118 117
- Store 10(v) 119
- 120: 8(fvec4) Load 10(v)
- 121: 8(fvec4) ExtInst 1(GLSL.std.450) 10(Fract) 120
- 122: 8(fvec4) Load 10(v)
- 123: 8(fvec4) FAdd 122 121
- Store 10(v) 123
- 124: 8(fvec4) Load 10(v)
- 125: 8(fvec4) Load 10(v)
- 126: 8(fvec4) FMod 124 125
- 127: 8(fvec4) Load 10(v)
- 128: 8(fvec4) FAdd 127 126
- Store 10(v) 128
- 129: 8(fvec4) Load 10(v)
- 130: 8(fvec4) Load 10(v)
- 131: 7(float) CompositeExtract 130 0
- 132: 8(fvec4) CompositeConstruct 131 131 131 131
- 133: 8(fvec4) FMod 129 132
- 134: 8(fvec4) Load 10(v)
- 135: 8(fvec4) FAdd 134 133
- Store 10(v) 135
- 136: 8(fvec4) Load 10(v)
- 137: 8(fvec4) Load 12(uv4)
- 138: 8(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 136 137
- 139: 8(fvec4) Load 10(v)
- 140: 8(fvec4) FAdd 139 138
- Store 10(v) 140
- 141: 8(fvec4) Load 10(v)
- 142: 8(fvec4) Load 12(uv4)
- 143: 8(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 141 142
- 144: 8(fvec4) Load 10(v)
- 145: 8(fvec4) FAdd 144 143
- Store 10(v) 145
- 146: 8(fvec4) Load 10(v)
- 147: 8(fvec4) Load 12(uv4)
- 148: 8(fvec4) Load 12(uv4)
- 149: 8(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 146 147 148
- 150: 8(fvec4) Load 10(v)
- 151: 8(fvec4) FAdd 150 149
- Store 10(v) 151
- 152: 8(fvec4) Load 10(v)
- 153: 8(fvec4) Load 10(v)
- 154: 8(fvec4) Load 10(v)
- 155: 8(fvec4) ExtInst 1(GLSL.std.450) 46(Mix) 152 153 154
- 156: 8(fvec4) Load 10(v)
- 157: 8(fvec4) FAdd 156 155
- Store 10(v) 157
- 158: 8(fvec4) Load 10(v)
- 159: 8(fvec4) Load 10(v)
- 160: 8(fvec4) ExtInst 1(GLSL.std.450) 47(Step) 158 159
- 161: 8(fvec4) Load 10(v)
- 162: 8(fvec4) FAdd 161 160
- Store 10(v) 162
- 163: 8(fvec4) Load 10(v)
- 164: 8(fvec4) Load 10(v)
- 165: 8(fvec4) Load 10(v)
- 166: 8(fvec4) ExtInst 1(GLSL.std.450) 48(Smoothstep) 163 164 165
- 167: 8(fvec4) Load 10(v)
- 168: 8(fvec4) FAdd 167 166
- Store 10(v) 168
- 171: 7(float) Load 170(uf)
- 172: 8(fvec4) Load 10(v)
- 173: 8(fvec4) ExtInst 1(GLSL.std.450) 47(Step) 171 172
- 174: 8(fvec4) Load 10(v)
- 175: 8(fvec4) FAdd 174 173
- Store 10(v) 175
- 176: 7(float) Load 170(uf)
- 177: 7(float) Load 170(uf)
- 178: 8(fvec4) Load 10(v)
- 179: 8(fvec4) ExtInst 1(GLSL.std.450) 48(Smoothstep) 176 177 178
- 180: 8(fvec4) Load 10(v)
- 181: 8(fvec4) FAdd 180 179
- Store 10(v) 181
- 182: 8(fvec4) Load 10(v)
- 183: 8(fvec4) ExtInst 1(GLSL.std.450) 68(Normalize) 182
- 184: 8(fvec4) Load 10(v)
- 185: 8(fvec4) FAdd 184 183
- Store 10(v) 185
- 186: 8(fvec4) Load 10(v)
- 187: 8(fvec4) Load 10(v)
- 188: 8(fvec4) Load 10(v)
- 189: 8(fvec4) ExtInst 1(GLSL.std.450) 69(Faceforward) 186 187 188
- 190: 8(fvec4) Load 10(v)
- 191: 8(fvec4) FAdd 190 189
- Store 10(v) 191
- 192: 8(fvec4) Load 10(v)
- 193: 8(fvec4) Load 10(v)
- 194: 8(fvec4) ExtInst 1(GLSL.std.450) 70(Reflect) 192 193
- 195: 8(fvec4) Load 10(v)
- 196: 8(fvec4) FAdd 195 194
- Store 10(v) 196
- 197: 8(fvec4) Load 10(v)
- 198: 8(fvec4) Load 10(v)
- 199: 7(float) Load 170(uf)
- 200: 8(fvec4) ExtInst 1(GLSL.std.450) 71(Refract) 197 198 199
- 201: 8(fvec4) Load 10(v)
- 202: 8(fvec4) FAdd 201 200
- Store 10(v) 202
- 203: 8(fvec4) Load 10(v)
- 204: 8(fvec4) DPdx 203
- 205: 8(fvec4) Load 10(v)
- 206: 8(fvec4) FAdd 205 204
- Store 10(v) 206
- 207: 8(fvec4) Load 10(v)
- 208: 8(fvec4) DPdy 207
- 209: 8(fvec4) Load 10(v)
- 210: 8(fvec4) FAdd 209 208
- Store 10(v) 210
- 211: 8(fvec4) Load 10(v)
- 212: 8(fvec4) Fwidth 211
- 213: 8(fvec4) Load 10(v)
- 214: 8(fvec4) FAdd 213 212
- Store 10(v) 214
- 218: 8(fvec4) Load 10(v)
- 219: 8(fvec4) Load 12(uv4)
- 221: 220(bvec4) FOrdLessThan 218 219
- 222: 215(bool) Any 221
- Store 217(b) 222
- 223: 215(bool) Load 217(b)
- 224: 8(fvec4) Load 10(v)
- 225: 8(fvec4) Load 12(uv4)
- 226: 220(bvec4) FOrdLessThanEqual 224 225
- 227: 215(bool) Any 226
- 228: 215(bool) LogicalAnd 223 227
- Store 217(b) 228
- 229: 215(bool) Load 217(b)
- 230: 8(fvec4) Load 10(v)
- 231: 8(fvec4) Load 12(uv4)
- 232: 220(bvec4) FOrdGreaterThan 230 231
- 233: 215(bool) Any 232
- 234: 215(bool) LogicalAnd 229 233
- Store 217(b) 234
- 235: 215(bool) Load 217(b)
- 236: 8(fvec4) Load 10(v)
- 237: 8(fvec4) Load 12(uv4)
- 238: 220(bvec4) FOrdGreaterThanEqual 236 237
- 239: 215(bool) Any 238
- 240: 215(bool) LogicalAnd 235 239
- Store 217(b) 240
- 241: 215(bool) Load 217(b)
- 244: 220(bvec4) Load 243(ub41)
- 246: 220(bvec4) Load 245(ub42)
- 247: 220(bvec4) IEqual 244 246
- 248: 215(bool) Any 247
- 249: 215(bool) LogicalAnd 241 248
- Store 217(b) 249
- 250: 215(bool) Load 217(b)
- 251: 220(bvec4) Load 243(ub41)
- 252: 220(bvec4) Load 245(ub42)
- 253: 220(bvec4) INotEqual 251 252
- 254: 215(bool) Any 253
- 255: 215(bool) LogicalAnd 250 254
- Store 217(b) 255
- 256: 215(bool) Load 217(b)
- 257: 220(bvec4) Load 243(ub41)
- 258: 215(bool) Any 257
- 259: 215(bool) LogicalAnd 256 258
- Store 217(b) 259
- 260: 215(bool) Load 217(b)
- 261: 220(bvec4) Load 243(ub41)
- 262: 215(bool) All 261
- 263: 215(bool) LogicalAnd 260 262
- Store 217(b) 263
- 264: 215(bool) Load 217(b)
- 265: 220(bvec4) Load 243(ub41)
- 266: 220(bvec4) LogicalNot 265
- 267: 215(bool) Any 266
- 268: 215(bool) LogicalAnd 264 267
- Store 217(b) 268
- 269: 19(int) Load 21(i)
- 270: 19(int) Load 23(ui)
- 271: 19(int) IAdd 269 270
- 272: 19(int) Load 21(i)
- 273: 19(int) IMul 271 272
- 274: 19(int) Load 23(ui)
- 275: 19(int) ISub 273 274
- 276: 19(int) Load 21(i)
- 277: 19(int) SDiv 275 276
- Store 21(i) 277
- 278: 19(int) Load 21(i)
- 279: 19(int) Load 23(ui)
- 280: 19(int) SMod 278 279
- Store 21(i) 280
- 281: 19(int) Load 21(i)
- 282: 19(int) Load 23(ui)
- 283: 215(bool) IEqual 281 282
- 284: 19(int) Load 21(i)
- 285: 19(int) Load 23(ui)
- 286: 215(bool) INotEqual 284 285
- 287: 19(int) Load 21(i)
- 288: 19(int) Load 23(ui)
- 289: 215(bool) IEqual 287 288
- 290: 215(bool) LogicalAnd 286 289
- 291: 19(int) Load 21(i)
- 293: 215(bool) INotEqual 291 292
- 294: 215(bool) LogicalNotEqual 290 293
- 295: 215(bool) LogicalOr 283 294
- SelectionMerge 297 None
- BranchConditional 295 296 297
- 296: Label
- 298: 19(int) Load 21(i)
- 300: 19(int) IAdd 298 299
- Store 21(i) 300
- Branch 297
- 297: Label
- 303: 7(float) Load 170(uf)
- 304: 7(float) Load 170(uf)
- 305: 7(float) FAdd 303 304
- 306: 7(float) Load 170(uf)
- 307: 7(float) FMul 305 306
- 308: 7(float) Load 170(uf)
- 309: 7(float) FSub 307 308
- 310: 7(float) Load 170(uf)
- 311: 7(float) FDiv 309 310
- Store 302(f) 311
- 312: 8(fvec4) Load 10(v)
- 313: 7(float) ExtInst 1(GLSL.std.450) 65(Length) 312
- 314: 7(float) Load 302(f)
- 315: 7(float) FAdd 314 313
- Store 302(f) 315
- 316: 8(fvec4) Load 10(v)
- 317: 8(fvec4) Load 10(v)
- 318: 7(float) ExtInst 1(GLSL.std.450) 66(Distance) 316 317
- 319: 7(float) Load 302(f)
- 320: 7(float) FAdd 319 318
- Store 302(f) 320
- 321: 8(fvec4) Load 10(v)
- 322: 8(fvec4) Load 10(v)
- 323: 7(float) Dot 321 322
- 324: 7(float) Load 302(f)
- 325: 7(float) FAdd 324 323
- Store 302(f) 325
- 326: 7(float) Load 302(f)
- 327: 7(float) Load 170(uf)
- 328: 7(float) FMul 326 327
- 329: 7(float) Load 302(f)
- 330: 7(float) FAdd 329 328
- Store 302(f) 330
- 332: 8(fvec4) Load 10(v)
- 333: 331(fvec3) VectorShuffle 332 332 0 1 2
- 334: 8(fvec4) Load 10(v)
- 335: 331(fvec3) VectorShuffle 334 334 0 1 2
- 336: 331(fvec3) ExtInst 1(GLSL.std.450) 67(Cross) 333 335
- 337: 7(float) CompositeExtract 336 0
- 338: 7(float) Load 302(f)
- 339: 7(float) FAdd 338 337
- Store 302(f) 339
- 340: 7(float) Load 302(f)
- 341: 7(float) Load 170(uf)
- 342: 215(bool) FOrdEqual 340 341
- 343: 7(float) Load 302(f)
- 344: 7(float) Load 170(uf)
- 345: 215(bool) FOrdNotEqual 343 344
- 346: 7(float) Load 302(f)
- 348: 215(bool) FOrdNotEqual 346 347
- 349: 215(bool) LogicalAnd 345 348
- 350: 215(bool) LogicalOr 342 349
- SelectionMerge 352 None
- BranchConditional 350 351 352
- 351: Label
- 353: 7(float) Load 302(f)
- 355: 7(float) FAdd 353 354
- Store 302(f) 355
- Branch 352
- 352: Label
- 356: 19(int) Load 23(ui)
- 357: 19(int) Load 21(i)
- 358: 19(int) BitwiseAnd 357 356
- Store 21(i) 358
- 360: 19(int) Load 21(i)
- 361: 19(int) BitwiseOr 360 359
- Store 21(i) 361
- 362: 19(int) Load 23(ui)
- 363: 19(int) Load 21(i)
- 364: 19(int) BitwiseXor 363 362
- Store 21(i) 364
- 366: 19(int) Load 21(i)
- 367: 19(int) SMod 366 365
- Store 21(i) 367
- 368: 19(int) Load 21(i)
- 369: 19(int) ShiftRightArithmetic 368 292
- Store 21(i) 369
- 370: 19(int) Load 23(ui)
- 371: 19(int) Load 21(i)
- 372: 19(int) ShiftLeftLogical 371 370
- Store 21(i) 372
- 373: 19(int) Load 21(i)
- 374: 19(int) Not 373
- Store 21(i) 374
- 375: 215(bool) Load 217(b)
- 376: 215(bool) LogicalNot 375
- Store 217(b) 376
- 380: 215(bool) Load 217(b)
- SelectionMerge 382 None
- BranchConditional 380 381 391
- 381: Label
- 383: 19(int) Load 21(i)
- 384: 7(float) ConvertSToF 383
- 385: 8(fvec4) CompositeConstruct 384 384 384 384
- 386: 7(float) Load 302(f)
- 387: 8(fvec4) CompositeConstruct 386 386 386 386
- 388: 8(fvec4) FAdd 385 387
- 389: 8(fvec4) Load 10(v)
- 390: 8(fvec4) FAdd 388 389
- Store 379 390
- Branch 382
- 391: Label
- 392: 8(fvec4) Load 10(v)
- Store 379 392
- Branch 382
- 382: Label
- 393: 8(fvec4) Load 379
- Store 378(gl_FragColor) 393
- Branch 6
- 6: Label
+ 9(v): 8(ptr) Variable Function
+ 20(i): 19(ptr) Variable Function
+ 216(b): 215(ptr) Variable Function
+ 301(f): 300(ptr) Variable Function
+ 378: 8(ptr) Variable Function
+ 12: 7(fvec4) Load 11(uv4)
+ 13: 7(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 12
+ Store 9(v) 13
+ 14: 7(fvec4) Load 9(v)
+ 15: 7(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 14
+ 16: 7(fvec4) Load 9(v)
+ 17: 7(fvec4) FAdd 16 15
+ Store 9(v) 17
+ 23: 18(int) Load 22(ui)
+ 24: 18(int) Load 22(ui)
+ 25: 18(int) IMul 23 24
+ Store 20(i) 25
+ 26: 7(fvec4) Load 9(v)
+ 27: 7(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 26
+ 28: 7(fvec4) Load 9(v)
+ 29: 7(fvec4) FAdd 28 27
+ Store 9(v) 29
+ 30: 7(fvec4) Load 9(v)
+ 31: 7(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 30
+ 32: 7(fvec4) Load 9(v)
+ 33: 7(fvec4) FAdd 32 31
+ Store 9(v) 33
+ 34: 7(fvec4) Load 9(v)
+ 35: 7(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 34
+ 36: 7(fvec4) Load 9(v)
+ 37: 7(fvec4) FAdd 36 35
+ Store 9(v) 37
+ 38: 7(fvec4) Load 9(v)
+ 39: 7(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 38
+ 40: 7(fvec4) Load 9(v)
+ 41: 7(fvec4) FAdd 40 39
+ Store 9(v) 41
+ 42: 7(fvec4) Load 9(v)
+ 43: 7(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 42
+ 44: 7(fvec4) Load 9(v)
+ 45: 7(fvec4) FAdd 44 43
+ Store 9(v) 45
+ 46: 7(fvec4) Load 9(v)
+ 47: 7(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 46
+ 48: 7(fvec4) Load 9(v)
+ 49: 7(fvec4) FAdd 48 47
+ Store 9(v) 49
+ 50: 7(fvec4) Load 9(v)
+ 51: 7(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 50
+ 52: 7(fvec4) Load 9(v)
+ 53: 7(fvec4) FAdd 52 51
+ Store 9(v) 53
+ 54: 7(fvec4) Load 9(v)
+ 55: 7(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 54
+ 56: 7(fvec4) Load 9(v)
+ 57: 7(fvec4) FAdd 56 55
+ Store 9(v) 57
+ 58: 7(fvec4) Load 9(v)
+ 59: 7(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 58
+ 60: 7(fvec4) Load 9(v)
+ 61: 7(fvec4) FAdd 60 59
+ Store 9(v) 61
+ 62: 7(fvec4) Load 9(v)
+ 63: 7(fvec4) ExtInst 1(GLSL.std.450) 22(Asinh) 62
+ 64: 7(fvec4) Load 9(v)
+ 65: 7(fvec4) FAdd 64 63
+ Store 9(v) 65
+ 66: 7(fvec4) Load 9(v)
+ 67: 7(fvec4) ExtInst 1(GLSL.std.450) 23(Acosh) 66
+ 68: 7(fvec4) Load 9(v)
+ 69: 7(fvec4) FAdd 68 67
+ Store 9(v) 69
+ 70: 7(fvec4) Load 9(v)
+ 71: 7(fvec4) ExtInst 1(GLSL.std.450) 24(Atanh) 70
+ 72: 7(fvec4) Load 9(v)
+ 73: 7(fvec4) FAdd 72 71
+ Store 9(v) 73
+ 74: 7(fvec4) Load 9(v)
+ 75: 7(fvec4) Load 9(v)
+ 76: 7(fvec4) ExtInst 1(GLSL.std.450) 26(Pow) 74 75
+ 77: 7(fvec4) Load 9(v)
+ 78: 7(fvec4) FAdd 77 76
+ Store 9(v) 78
+ 79: 7(fvec4) Load 9(v)
+ 80: 7(fvec4) ExtInst 1(GLSL.std.450) 27(Exp) 79
+ 81: 7(fvec4) Load 9(v)
+ 82: 7(fvec4) FAdd 81 80
+ Store 9(v) 82
+ 83: 7(fvec4) Load 9(v)
+ 84: 7(fvec4) ExtInst 1(GLSL.std.450) 28(Log) 83
+ 85: 7(fvec4) Load 9(v)
+ 86: 7(fvec4) FAdd 85 84
+ Store 9(v) 86
+ 87: 7(fvec4) Load 9(v)
+ 88: 7(fvec4) ExtInst 1(GLSL.std.450) 29(Exp2) 87
+ 89: 7(fvec4) Load 9(v)
+ 90: 7(fvec4) FAdd 89 88
+ Store 9(v) 90
+ 91: 7(fvec4) Load 9(v)
+ 92: 7(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 91
+ 93: 7(fvec4) Load 9(v)
+ 94: 7(fvec4) FAdd 93 92
+ Store 9(v) 94
+ 95: 7(fvec4) Load 9(v)
+ 96: 7(fvec4) ExtInst 1(GLSL.std.450) 31(Sqrt) 95
+ 97: 7(fvec4) Load 9(v)
+ 98: 7(fvec4) FAdd 97 96
+ Store 9(v) 98
+ 99: 7(fvec4) Load 9(v)
+ 100: 7(fvec4) ExtInst 1(GLSL.std.450) 32(Inversesqrt) 99
+ 101: 7(fvec4) Load 9(v)
+ 102: 7(fvec4) FAdd 101 100
+ Store 9(v) 102
+ 103: 7(fvec4) Load 9(v)
+ 104: 7(fvec4) ExtInst 1(GLSL.std.450) 4(FAbs) 103
+ 105: 7(fvec4) Load 9(v)
+ 106: 7(fvec4) FAdd 105 104
+ Store 9(v) 106
+ 107: 7(fvec4) Load 9(v)
+ 108: 7(fvec4) ExtInst 1(GLSL.std.450) 6(FSign) 107
+ 109: 7(fvec4) Load 9(v)
+ 110: 7(fvec4) FAdd 109 108
+ Store 9(v) 110
+ 111: 7(fvec4) Load 9(v)
+ 112: 7(fvec4) ExtInst 1(GLSL.std.450) 8(Floor) 111
+ 113: 7(fvec4) Load 9(v)
+ 114: 7(fvec4) FAdd 113 112
+ Store 9(v) 114
+ 115: 7(fvec4) Load 9(v)
+ 116: 7(fvec4) ExtInst 1(GLSL.std.450) 9(Ceil) 115
+ 117: 7(fvec4) Load 9(v)
+ 118: 7(fvec4) FAdd 117 116
+ Store 9(v) 118
+ 119: 7(fvec4) Load 9(v)
+ 120: 7(fvec4) ExtInst 1(GLSL.std.450) 10(Fract) 119
+ 121: 7(fvec4) Load 9(v)
+ 122: 7(fvec4) FAdd 121 120
+ Store 9(v) 122
+ 123: 7(fvec4) Load 9(v)
+ 124: 7(fvec4) Load 9(v)
+ 125: 7(fvec4) FMod 123 124
+ 126: 7(fvec4) Load 9(v)
+ 127: 7(fvec4) FAdd 126 125
+ Store 9(v) 127
+ 128: 7(fvec4) Load 9(v)
+ 129: 7(fvec4) Load 9(v)
+ 130: 6(float) CompositeExtract 129 0
+ 131: 7(fvec4) CompositeConstruct 130 130 130 130
+ 132: 7(fvec4) FMod 128 131
+ 133: 7(fvec4) Load 9(v)
+ 134: 7(fvec4) FAdd 133 132
+ Store 9(v) 134
+ 135: 7(fvec4) Load 9(v)
+ 136: 7(fvec4) Load 11(uv4)
+ 137: 7(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 135 136
+ 138: 7(fvec4) Load 9(v)
+ 139: 7(fvec4) FAdd 138 137
+ Store 9(v) 139
+ 140: 7(fvec4) Load 9(v)
+ 141: 7(fvec4) Load 11(uv4)
+ 142: 7(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 140 141
+ 143: 7(fvec4) Load 9(v)
+ 144: 7(fvec4) FAdd 143 142
+ Store 9(v) 144
+ 145: 7(fvec4) Load 9(v)
+ 146: 7(fvec4) Load 11(uv4)
+ 147: 7(fvec4) Load 11(uv4)
+ 148: 7(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 145 146 147
+ 149: 7(fvec4) Load 9(v)
+ 150: 7(fvec4) FAdd 149 148
+ Store 9(v) 150
+ 151: 7(fvec4) Load 9(v)
+ 152: 7(fvec4) Load 9(v)
+ 153: 7(fvec4) Load 9(v)
+ 154: 7(fvec4) ExtInst 1(GLSL.std.450) 46(Mix) 151 152 153
+ 155: 7(fvec4) Load 9(v)
+ 156: 7(fvec4) FAdd 155 154
+ Store 9(v) 156
+ 157: 7(fvec4) Load 9(v)
+ 158: 7(fvec4) Load 9(v)
+ 159: 7(fvec4) ExtInst 1(GLSL.std.450) 47(Step) 157 158
+ 160: 7(fvec4) Load 9(v)
+ 161: 7(fvec4) FAdd 160 159
+ Store 9(v) 161
+ 162: 7(fvec4) Load 9(v)
+ 163: 7(fvec4) Load 9(v)
+ 164: 7(fvec4) Load 9(v)
+ 165: 7(fvec4) ExtInst 1(GLSL.std.450) 48(Smoothstep) 162 163 164
+ 166: 7(fvec4) Load 9(v)
+ 167: 7(fvec4) FAdd 166 165
+ Store 9(v) 167
+ 170: 6(float) Load 169(uf)
+ 171: 7(fvec4) Load 9(v)
+ 172: 7(fvec4) ExtInst 1(GLSL.std.450) 47(Step) 170 171
+ 173: 7(fvec4) Load 9(v)
+ 174: 7(fvec4) FAdd 173 172
+ Store 9(v) 174
+ 175: 6(float) Load 169(uf)
+ 176: 6(float) Load 169(uf)
+ 177: 7(fvec4) Load 9(v)
+ 178: 7(fvec4) ExtInst 1(GLSL.std.450) 48(Smoothstep) 175 176 177
+ 179: 7(fvec4) Load 9(v)
+ 180: 7(fvec4) FAdd 179 178
+ Store 9(v) 180
+ 181: 7(fvec4) Load 9(v)
+ 182: 7(fvec4) ExtInst 1(GLSL.std.450) 68(Normalize) 181
+ 183: 7(fvec4) Load 9(v)
+ 184: 7(fvec4) FAdd 183 182
+ Store 9(v) 184
+ 185: 7(fvec4) Load 9(v)
+ 186: 7(fvec4) Load 9(v)
+ 187: 7(fvec4) Load 9(v)
+ 188: 7(fvec4) ExtInst 1(GLSL.std.450) 69(Faceforward) 185 186 187
+ 189: 7(fvec4) Load 9(v)
+ 190: 7(fvec4) FAdd 189 188
+ Store 9(v) 190
+ 191: 7(fvec4) Load 9(v)
+ 192: 7(fvec4) Load 9(v)
+ 193: 7(fvec4) ExtInst 1(GLSL.std.450) 70(Reflect) 191 192
+ 194: 7(fvec4) Load 9(v)
+ 195: 7(fvec4) FAdd 194 193
+ Store 9(v) 195
+ 196: 7(fvec4) Load 9(v)
+ 197: 7(fvec4) Load 9(v)
+ 198: 6(float) Load 169(uf)
+ 199: 7(fvec4) ExtInst 1(GLSL.std.450) 71(Refract) 196 197 198
+ 200: 7(fvec4) Load 9(v)
+ 201: 7(fvec4) FAdd 200 199
+ Store 9(v) 201
+ 202: 7(fvec4) Load 9(v)
+ 203: 7(fvec4) DPdx 202
+ 204: 7(fvec4) Load 9(v)
+ 205: 7(fvec4) FAdd 204 203
+ Store 9(v) 205
+ 206: 7(fvec4) Load 9(v)
+ 207: 7(fvec4) DPdy 206
+ 208: 7(fvec4) Load 9(v)
+ 209: 7(fvec4) FAdd 208 207
+ Store 9(v) 209
+ 210: 7(fvec4) Load 9(v)
+ 211: 7(fvec4) Fwidth 210
+ 212: 7(fvec4) Load 9(v)
+ 213: 7(fvec4) FAdd 212 211
+ Store 9(v) 213
+ 217: 7(fvec4) Load 9(v)
+ 218: 7(fvec4) Load 11(uv4)
+ 220: 219(bvec4) FOrdLessThan 217 218
+ 221: 214(bool) Any 220
+ Store 216(b) 221
+ 222: 214(bool) Load 216(b)
+ 223: 7(fvec4) Load 9(v)
+ 224: 7(fvec4) Load 11(uv4)
+ 225: 219(bvec4) FOrdLessThanEqual 223 224
+ 226: 214(bool) Any 225
+ 227: 214(bool) LogicalAnd 222 226
+ Store 216(b) 227
+ 228: 214(bool) Load 216(b)
+ 229: 7(fvec4) Load 9(v)
+ 230: 7(fvec4) Load 11(uv4)
+ 231: 219(bvec4) FOrdGreaterThan 229 230
+ 232: 214(bool) Any 231
+ 233: 214(bool) LogicalAnd 228 232
+ Store 216(b) 233
+ 234: 214(bool) Load 216(b)
+ 235: 7(fvec4) Load 9(v)
+ 236: 7(fvec4) Load 11(uv4)
+ 237: 219(bvec4) FOrdGreaterThanEqual 235 236
+ 238: 214(bool) Any 237
+ 239: 214(bool) LogicalAnd 234 238
+ Store 216(b) 239
+ 240: 214(bool) Load 216(b)
+ 243: 219(bvec4) Load 242(ub41)
+ 245: 219(bvec4) Load 244(ub42)
+ 246: 219(bvec4) IEqual 243 245
+ 247: 214(bool) Any 246
+ 248: 214(bool) LogicalAnd 240 247
+ Store 216(b) 248
+ 249: 214(bool) Load 216(b)
+ 250: 219(bvec4) Load 242(ub41)
+ 251: 219(bvec4) Load 244(ub42)
+ 252: 219(bvec4) INotEqual 250 251
+ 253: 214(bool) Any 252
+ 254: 214(bool) LogicalAnd 249 253
+ Store 216(b) 254
+ 255: 214(bool) Load 216(b)
+ 256: 219(bvec4) Load 242(ub41)
+ 257: 214(bool) Any 256
+ 258: 214(bool) LogicalAnd 255 257
+ Store 216(b) 258
+ 259: 214(bool) Load 216(b)
+ 260: 219(bvec4) Load 242(ub41)
+ 261: 214(bool) All 260
+ 262: 214(bool) LogicalAnd 259 261
+ Store 216(b) 262
+ 263: 214(bool) Load 216(b)
+ 264: 219(bvec4) Load 242(ub41)
+ 265: 219(bvec4) LogicalNot 264
+ 266: 214(bool) Any 265
+ 267: 214(bool) LogicalAnd 263 266
+ Store 216(b) 267
+ 268: 18(int) Load 20(i)
+ 269: 18(int) Load 22(ui)
+ 270: 18(int) IAdd 268 269
+ 271: 18(int) Load 20(i)
+ 272: 18(int) IMul 270 271
+ 273: 18(int) Load 22(ui)
+ 274: 18(int) ISub 272 273
+ 275: 18(int) Load 20(i)
+ 276: 18(int) SDiv 274 275
+ Store 20(i) 276
+ 277: 18(int) Load 20(i)
+ 278: 18(int) Load 22(ui)
+ 279: 18(int) SMod 277 278
+ Store 20(i) 279
+ 280: 18(int) Load 20(i)
+ 281: 18(int) Load 22(ui)
+ 282: 214(bool) IEqual 280 281
+ 283: 18(int) Load 20(i)
+ 284: 18(int) Load 22(ui)
+ 285: 214(bool) INotEqual 283 284
+ 286: 18(int) Load 20(i)
+ 287: 18(int) Load 22(ui)
+ 288: 214(bool) IEqual 286 287
+ 289: 214(bool) LogicalAnd 285 288
+ 290: 18(int) Load 20(i)
+ 292: 214(bool) INotEqual 290 291
+ 293: 214(bool) LogicalNotEqual 289 292
+ 294: 214(bool) LogicalOr 282 293
+ SelectionMerge 296 None
+ BranchConditional 294 295 296
+ 295: Label
+ 297: 18(int) Load 20(i)
+ 299: 18(int) IAdd 297 298
+ Store 20(i) 299
+ Branch 296
+ 296: Label
+ 302: 6(float) Load 169(uf)
+ 303: 6(float) Load 169(uf)
+ 304: 6(float) FAdd 302 303
+ 305: 6(float) Load 169(uf)
+ 306: 6(float) FMul 304 305
+ 307: 6(float) Load 169(uf)
+ 308: 6(float) FSub 306 307
+ 309: 6(float) Load 169(uf)
+ 310: 6(float) FDiv 308 309
+ Store 301(f) 310
+ 311: 7(fvec4) Load 9(v)
+ 312: 6(float) ExtInst 1(GLSL.std.450) 65(Length) 311
+ 313: 6(float) Load 301(f)
+ 314: 6(float) FAdd 313 312
+ Store 301(f) 314
+ 315: 7(fvec4) Load 9(v)
+ 316: 7(fvec4) Load 9(v)
+ 317: 6(float) ExtInst 1(GLSL.std.450) 66(Distance) 315 316
+ 318: 6(float) Load 301(f)
+ 319: 6(float) FAdd 318 317
+ Store 301(f) 319
+ 320: 7(fvec4) Load 9(v)
+ 321: 7(fvec4) Load 9(v)
+ 322: 6(float) Dot 320 321
+ 323: 6(float) Load 301(f)
+ 324: 6(float) FAdd 323 322
+ Store 301(f) 324
+ 325: 6(float) Load 301(f)
+ 326: 6(float) Load 169(uf)
+ 327: 6(float) FMul 325 326
+ 328: 6(float) Load 301(f)
+ 329: 6(float) FAdd 328 327
+ Store 301(f) 329
+ 331: 7(fvec4) Load 9(v)
+ 332: 330(fvec3) VectorShuffle 331 331 0 1 2
+ 333: 7(fvec4) Load 9(v)
+ 334: 330(fvec3) VectorShuffle 333 333 0 1 2
+ 335: 330(fvec3) ExtInst 1(GLSL.std.450) 67(Cross) 332 334
+ 336: 6(float) CompositeExtract 335 0
+ 337: 6(float) Load 301(f)
+ 338: 6(float) FAdd 337 336
+ Store 301(f) 338
+ 339: 6(float) Load 301(f)
+ 340: 6(float) Load 169(uf)
+ 341: 214(bool) FOrdEqual 339 340
+ 342: 6(float) Load 301(f)
+ 343: 6(float) Load 169(uf)
+ 344: 214(bool) FOrdNotEqual 342 343
+ 345: 6(float) Load 301(f)
+ 347: 214(bool) FOrdNotEqual 345 346
+ 348: 214(bool) LogicalAnd 344 347
+ 349: 214(bool) LogicalOr 341 348
+ SelectionMerge 351 None
+ BranchConditional 349 350 351
+ 350: Label
+ 352: 6(float) Load 301(f)
+ 354: 6(float) FAdd 352 353
+ Store 301(f) 354
+ Branch 351
+ 351: Label
+ 355: 18(int) Load 22(ui)
+ 356: 18(int) Load 20(i)
+ 357: 18(int) BitwiseAnd 356 355
+ Store 20(i) 357
+ 359: 18(int) Load 20(i)
+ 360: 18(int) BitwiseOr 359 358
+ Store 20(i) 360
+ 361: 18(int) Load 22(ui)
+ 362: 18(int) Load 20(i)
+ 363: 18(int) BitwiseXor 362 361
+ Store 20(i) 363
+ 365: 18(int) Load 20(i)
+ 366: 18(int) SMod 365 364
+ Store 20(i) 366
+ 367: 18(int) Load 20(i)
+ 368: 18(int) ShiftRightArithmetic 367 291
+ Store 20(i) 368
+ 369: 18(int) Load 22(ui)
+ 370: 18(int) Load 20(i)
+ 371: 18(int) ShiftLeftLogical 370 369
+ Store 20(i) 371
+ 372: 18(int) Load 20(i)
+ 373: 18(int) Not 372
+ Store 20(i) 373
+ 374: 214(bool) Load 216(b)
+ 375: 214(bool) LogicalNot 374
+ Store 216(b) 375
+ 379: 214(bool) Load 216(b)
+ SelectionMerge 381 None
+ BranchConditional 379 380 390
+ 380: Label
+ 382: 18(int) Load 20(i)
+ 383: 6(float) ConvertSToF 382
+ 384: 7(fvec4) CompositeConstruct 383 383 383 383
+ 385: 6(float) Load 301(f)
+ 386: 7(fvec4) CompositeConstruct 385 385 385 385
+ 387: 7(fvec4) FAdd 384 386
+ 388: 7(fvec4) Load 9(v)
+ 389: 7(fvec4) FAdd 387 388
+ Store 378 389
+ Branch 381
+ 390: Label
+ 391: 7(fvec4) Load 9(v)
+ Store 378 391
+ Branch 381
+ 381: Label
+ 392: 7(fvec4) Load 378
+ Store 377(gl_FragColor) 392
Return
FunctionEnd
diff --git a/Test/baseResults/spv.accessChain.frag.out b/Test/baseResults/spv.accessChain.frag.out
index c280bff..e3392f2 100755
--- a/Test/baseResults/spv.accessChain.frag.out
+++ b/Test/baseResults/spv.accessChain.frag.out
@@ -7,7 +7,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 198
+// Id's are bound by 197
Source GLSL 420
Capability Shader
@@ -16,309 +16,307 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 9 "S"
- MemberName 9(S) 0 "color"
- Name 12 "GetColor1(struct-S-vf31;"
- Name 11 "i"
- Name 19 "GetColor2(struct-S-vf31;i1;"
- Name 17 "i"
- Name 18 "comp"
- Name 23 "GetColor3(struct-S-vf31;i1;"
- Name 21 "i"
- Name 22 "comp"
- Name 27 "GetColor4(struct-S-vf31;i1;"
- Name 25 "i"
- Name 26 "comp"
- Name 31 "GetColor5(struct-S-vf31;i1;"
- Name 29 "i"
- Name 30 "comp"
- Name 35 "GetColor6(struct-S-vf31;i1;"
- Name 33 "i"
- Name 34 "comp"
- Name 39 "GetColor7(struct-S-vf31;i1;"
- Name 37 "i"
- Name 38 "comp"
- Name 43 "GetColor8(struct-S-vf31;i1;"
- Name 41 "i"
- Name 42 "comp"
- Name 47 "GetColor9(struct-S-vf31;i1;"
- Name 45 "i"
- Name 46 "comp"
- Name 51 "GetColor10(struct-S-vf31;i1;"
- Name 49 "i"
- Name 50 "comp"
- Name 55 "GetColor11(struct-S-vf31;i1;"
- Name 53 "i"
- Name 54 "comp"
- Name 59 "GetColor12(struct-S-vf31;i1;"
- Name 57 "i"
- Name 58 "comp"
- Name 63 "GetColor13(struct-S-vf31;i1;"
- Name 61 "i"
- Name 62 "comp"
- Name 66 "OutColor"
- Name 145 "s"
- Name 150 "u"
- Name 151 "param"
- Name 155 "param"
- Name 159 "param"
- Name 163 "param"
- Name 167 "param"
- Name 171 "param"
- Name 175 "param"
- Name 179 "param"
- Name 183 "param"
- Name 187 "param"
- Name 191 "param"
- Name 195 "param"
- Decorate 66(OutColor) Location 0
+ Name 8 "S"
+ MemberName 8(S) 0 "color"
+ Name 11 "GetColor1(struct-S-vf31;"
+ Name 10 "i"
+ Name 18 "GetColor2(struct-S-vf31;i1;"
+ Name 16 "i"
+ Name 17 "comp"
+ Name 22 "GetColor3(struct-S-vf31;i1;"
+ Name 20 "i"
+ Name 21 "comp"
+ Name 26 "GetColor4(struct-S-vf31;i1;"
+ Name 24 "i"
+ Name 25 "comp"
+ Name 30 "GetColor5(struct-S-vf31;i1;"
+ Name 28 "i"
+ Name 29 "comp"
+ Name 34 "GetColor6(struct-S-vf31;i1;"
+ Name 32 "i"
+ Name 33 "comp"
+ Name 38 "GetColor7(struct-S-vf31;i1;"
+ Name 36 "i"
+ Name 37 "comp"
+ Name 42 "GetColor8(struct-S-vf31;i1;"
+ Name 40 "i"
+ Name 41 "comp"
+ Name 46 "GetColor9(struct-S-vf31;i1;"
+ Name 44 "i"
+ Name 45 "comp"
+ Name 50 "GetColor10(struct-S-vf31;i1;"
+ Name 48 "i"
+ Name 49 "comp"
+ Name 54 "GetColor11(struct-S-vf31;i1;"
+ Name 52 "i"
+ Name 53 "comp"
+ Name 58 "GetColor12(struct-S-vf31;i1;"
+ Name 56 "i"
+ Name 57 "comp"
+ Name 62 "GetColor13(struct-S-vf31;i1;"
+ Name 60 "i"
+ Name 61 "comp"
+ Name 65 "OutColor"
+ Name 144 "s"
+ Name 149 "u"
+ Name 150 "param"
+ Name 154 "param"
+ Name 158 "param"
+ Name 162 "param"
+ Name 166 "param"
+ Name 170 "param"
+ Name 174 "param"
+ Name 178 "param"
+ Name 182 "param"
+ Name 186 "param"
+ Name 190 "param"
+ Name 194 "param"
+ Decorate 65(OutColor) Location 0
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeVector 7(float) 3
- 9(S): TypeStruct 8(fvec3)
- 10: TypeFunction 2 9(S)
- 14: TypeInt 32 1
- 15: TypePointer Function 14(int)
- 16: TypeFunction 2 9(S) 15(ptr)
- 65: TypePointer Output 8(fvec3)
- 66(OutColor): 65(ptr) Variable Output
- 67: 14(int) Constant 0
- 68: TypeInt 32 0
- 69: 68(int) Constant 0
- 96: TypeVector 7(float) 2
- 110: 68(int) Constant 2
- 142: 7(float) Constant 0
- 143: 8(fvec3) ConstantComposite 142 142 142
- 144: TypePointer Function 9(S)
- 149: TypePointer UniformConstant 14(int)
- 150(u): 149(ptr) Variable UniformConstant
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 3
+ 8(S): TypeStruct 7(fvec3)
+ 9: TypeFunction 2 8(S)
+ 13: TypeInt 32 1
+ 14: TypePointer Function 13(int)
+ 15: TypeFunction 2 8(S) 14(ptr)
+ 64: TypePointer Output 7(fvec3)
+ 65(OutColor): 64(ptr) Variable Output
+ 66: 13(int) Constant 0
+ 67: TypeInt 32 0
+ 68: 67(int) Constant 0
+ 95: TypeVector 6(float) 2
+ 109: 67(int) Constant 2
+ 141: 6(float) Constant 0
+ 142: 7(fvec3) ConstantComposite 141 141 141
+ 143: TypePointer Function 8(S)
+ 148: TypePointer UniformConstant 13(int)
+ 149(u): 148(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
- 145(s): 144(ptr) Variable Function
- 151(param): 15(ptr) Variable Function
- 155(param): 15(ptr) Variable Function
- 159(param): 15(ptr) Variable Function
- 163(param): 15(ptr) Variable Function
- 167(param): 15(ptr) Variable Function
- 171(param): 15(ptr) Variable Function
- 175(param): 15(ptr) Variable Function
- 179(param): 15(ptr) Variable Function
- 183(param): 15(ptr) Variable Function
- 187(param): 15(ptr) Variable Function
- 191(param): 15(ptr) Variable Function
- 195(param): 15(ptr) Variable Function
- Store 66(OutColor) 143
- 146: 9(S) Load 145(s)
- 147: 2 FunctionCall 12(GetColor1(struct-S-vf31;) 146
- 148: 9(S) Load 145(s)
- 152: 14(int) Load 150(u)
- Store 151(param) 152
- 153: 2 FunctionCall 19(GetColor2(struct-S-vf31;i1;) 148 151(param)
- 154: 9(S) Load 145(s)
- 156: 14(int) Load 150(u)
- Store 155(param) 156
- 157: 2 FunctionCall 23(GetColor3(struct-S-vf31;i1;) 154 155(param)
- 158: 9(S) Load 145(s)
- 160: 14(int) Load 150(u)
- Store 159(param) 160
- 161: 2 FunctionCall 27(GetColor4(struct-S-vf31;i1;) 158 159(param)
- 162: 9(S) Load 145(s)
- 164: 14(int) Load 150(u)
- Store 163(param) 164
- 165: 2 FunctionCall 31(GetColor5(struct-S-vf31;i1;) 162 163(param)
- 166: 9(S) Load 145(s)
- 168: 14(int) Load 150(u)
- Store 167(param) 168
- 169: 2 FunctionCall 35(GetColor6(struct-S-vf31;i1;) 166 167(param)
- 170: 9(S) Load 145(s)
- 172: 14(int) Load 150(u)
- Store 171(param) 172
- 173: 2 FunctionCall 39(GetColor7(struct-S-vf31;i1;) 170 171(param)
- 174: 9(S) Load 145(s)
- 176: 14(int) Load 150(u)
- Store 175(param) 176
- 177: 2 FunctionCall 43(GetColor8(struct-S-vf31;i1;) 174 175(param)
- 178: 9(S) Load 145(s)
- 180: 14(int) Load 150(u)
- Store 179(param) 180
- 181: 2 FunctionCall 47(GetColor9(struct-S-vf31;i1;) 178 179(param)
- 182: 9(S) Load 145(s)
- 184: 14(int) Load 150(u)
- Store 183(param) 184
- 185: 2 FunctionCall 51(GetColor10(struct-S-vf31;i1;) 182 183(param)
- 186: 9(S) Load 145(s)
- 188: 14(int) Load 150(u)
- Store 187(param) 188
- 189: 2 FunctionCall 55(GetColor11(struct-S-vf31;i1;) 186 187(param)
- 190: 9(S) Load 145(s)
- 192: 14(int) Load 150(u)
- Store 191(param) 192
- 193: 2 FunctionCall 59(GetColor12(struct-S-vf31;i1;) 190 191(param)
- 194: 9(S) Load 145(s)
- 196: 14(int) Load 150(u)
- Store 195(param) 196
- 197: 2 FunctionCall 63(GetColor13(struct-S-vf31;i1;) 194 195(param)
- Branch 6
- 6: Label
+ 144(s): 143(ptr) Variable Function
+ 150(param): 14(ptr) Variable Function
+ 154(param): 14(ptr) Variable Function
+ 158(param): 14(ptr) Variable Function
+ 162(param): 14(ptr) Variable Function
+ 166(param): 14(ptr) Variable Function
+ 170(param): 14(ptr) Variable Function
+ 174(param): 14(ptr) Variable Function
+ 178(param): 14(ptr) Variable Function
+ 182(param): 14(ptr) Variable Function
+ 186(param): 14(ptr) Variable Function
+ 190(param): 14(ptr) Variable Function
+ 194(param): 14(ptr) Variable Function
+ Store 65(OutColor) 142
+ 145: 8(S) Load 144(s)
+ 146: 2 FunctionCall 11(GetColor1(struct-S-vf31;) 145
+ 147: 8(S) Load 144(s)
+ 151: 13(int) Load 149(u)
+ Store 150(param) 151
+ 152: 2 FunctionCall 18(GetColor2(struct-S-vf31;i1;) 147 150(param)
+ 153: 8(S) Load 144(s)
+ 155: 13(int) Load 149(u)
+ Store 154(param) 155
+ 156: 2 FunctionCall 22(GetColor3(struct-S-vf31;i1;) 153 154(param)
+ 157: 8(S) Load 144(s)
+ 159: 13(int) Load 149(u)
+ Store 158(param) 159
+ 160: 2 FunctionCall 26(GetColor4(struct-S-vf31;i1;) 157 158(param)
+ 161: 8(S) Load 144(s)
+ 163: 13(int) Load 149(u)
+ Store 162(param) 163
+ 164: 2 FunctionCall 30(GetColor5(struct-S-vf31;i1;) 161 162(param)
+ 165: 8(S) Load 144(s)
+ 167: 13(int) Load 149(u)
+ Store 166(param) 167
+ 168: 2 FunctionCall 34(GetColor6(struct-S-vf31;i1;) 165 166(param)
+ 169: 8(S) Load 144(s)
+ 171: 13(int) Load 149(u)
+ Store 170(param) 171
+ 172: 2 FunctionCall 38(GetColor7(struct-S-vf31;i1;) 169 170(param)
+ 173: 8(S) Load 144(s)
+ 175: 13(int) Load 149(u)
+ Store 174(param) 175
+ 176: 2 FunctionCall 42(GetColor8(struct-S-vf31;i1;) 173 174(param)
+ 177: 8(S) Load 144(s)
+ 179: 13(int) Load 149(u)
+ Store 178(param) 179
+ 180: 2 FunctionCall 46(GetColor9(struct-S-vf31;i1;) 177 178(param)
+ 181: 8(S) Load 144(s)
+ 183: 13(int) Load 149(u)
+ Store 182(param) 183
+ 184: 2 FunctionCall 50(GetColor10(struct-S-vf31;i1;) 181 182(param)
+ 185: 8(S) Load 144(s)
+ 187: 13(int) Load 149(u)
+ Store 186(param) 187
+ 188: 2 FunctionCall 54(GetColor11(struct-S-vf31;i1;) 185 186(param)
+ 189: 8(S) Load 144(s)
+ 191: 13(int) Load 149(u)
+ Store 190(param) 191
+ 192: 2 FunctionCall 58(GetColor12(struct-S-vf31;i1;) 189 190(param)
+ 193: 8(S) Load 144(s)
+ 195: 13(int) Load 149(u)
+ Store 194(param) 195
+ 196: 2 FunctionCall 62(GetColor13(struct-S-vf31;i1;) 193 194(param)
Return
FunctionEnd
-12(GetColor1(struct-S-vf31;): 2 Function None 10
- 11(i): 9(S) FunctionParameter
- 13: Label
- 70: 7(float) CompositeExtract 11(i) 0 0
- 71: 8(fvec3) Load 66(OutColor)
- 72: 8(fvec3) CompositeConstruct 70 70 70
- 73: 8(fvec3) FAdd 71 72
- Store 66(OutColor) 73
+11(GetColor1(struct-S-vf31;): 2 Function None 9
+ 10(i): 8(S) FunctionParameter
+ 12: Label
+ 69: 6(float) CompositeExtract 10(i) 0 0
+ 70: 7(fvec3) Load 65(OutColor)
+ 71: 7(fvec3) CompositeConstruct 69 69 69
+ 72: 7(fvec3) FAdd 70 71
+ Store 65(OutColor) 72
Return
FunctionEnd
-19(GetColor2(struct-S-vf31;i1;): 2 Function None 16
- 17(i): 9(S) FunctionParameter
- 18(comp): 15(ptr) FunctionParameter
- 20: Label
- 74: 14(int) Load 18(comp)
- 75: 8(fvec3) CompositeExtract 17(i) 0
- 76: 7(float) VectorExtractDynamic 75 74
- 77: 8(fvec3) Load 66(OutColor)
- 78: 8(fvec3) CompositeConstruct 76 76 76
- 79: 8(fvec3) FAdd 77 78
- Store 66(OutColor) 79
+18(GetColor2(struct-S-vf31;i1;): 2 Function None 15
+ 16(i): 8(S) FunctionParameter
+ 17(comp): 14(ptr) FunctionParameter
+ 19: Label
+ 73: 13(int) Load 17(comp)
+ 74: 7(fvec3) CompositeExtract 16(i) 0
+ 75: 6(float) VectorExtractDynamic 74 73
+ 76: 7(fvec3) Load 65(OutColor)
+ 77: 7(fvec3) CompositeConstruct 75 75 75
+ 78: 7(fvec3) FAdd 76 77
+ Store 65(OutColor) 78
Return
FunctionEnd
-23(GetColor3(struct-S-vf31;i1;): 2 Function None 16
- 21(i): 9(S) FunctionParameter
- 22(comp): 15(ptr) FunctionParameter
- 24: Label
- 80: 14(int) Load 22(comp)
- 81: 8(fvec3) CompositeExtract 21(i) 0
- 82: 7(float) VectorExtractDynamic 81 80
- 83: 8(fvec3) Load 66(OutColor)
- 84: 8(fvec3) CompositeConstruct 82 82 82
- 85: 8(fvec3) FAdd 83 84
- Store 66(OutColor) 85
+22(GetColor3(struct-S-vf31;i1;): 2 Function None 15
+ 20(i): 8(S) FunctionParameter
+ 21(comp): 14(ptr) FunctionParameter
+ 23: Label
+ 79: 13(int) Load 21(comp)
+ 80: 7(fvec3) CompositeExtract 20(i) 0
+ 81: 6(float) VectorExtractDynamic 80 79
+ 82: 7(fvec3) Load 65(OutColor)
+ 83: 7(fvec3) CompositeConstruct 81 81 81
+ 84: 7(fvec3) FAdd 82 83
+ Store 65(OutColor) 84
Return
FunctionEnd
-27(GetColor4(struct-S-vf31;i1;): 2 Function None 16
- 25(i): 9(S) FunctionParameter
- 26(comp): 15(ptr) FunctionParameter
- 28: Label
- 86: 14(int) Load 26(comp)
- 87: 8(fvec3) CompositeExtract 25(i) 0
- 88: 7(float) VectorExtractDynamic 87 86
- 89: 8(fvec3) Load 66(OutColor)
- 90: 8(fvec3) CompositeConstruct 88 88 88
- 91: 8(fvec3) FAdd 89 90
- Store 66(OutColor) 91
+26(GetColor4(struct-S-vf31;i1;): 2 Function None 15
+ 24(i): 8(S) FunctionParameter
+ 25(comp): 14(ptr) FunctionParameter
+ 27: Label
+ 85: 13(int) Load 25(comp)
+ 86: 7(fvec3) CompositeExtract 24(i) 0
+ 87: 6(float) VectorExtractDynamic 86 85
+ 88: 7(fvec3) Load 65(OutColor)
+ 89: 7(fvec3) CompositeConstruct 87 87 87
+ 90: 7(fvec3) FAdd 88 89
+ Store 65(OutColor) 90
Return
FunctionEnd
-31(GetColor5(struct-S-vf31;i1;): 2 Function None 16
- 29(i): 9(S) FunctionParameter
- 30(comp): 15(ptr) FunctionParameter
- 32: Label
- 92: 8(fvec3) CompositeExtract 29(i) 0
- 93: 8(fvec3) Load 66(OutColor)
- 94: 8(fvec3) FAdd 93 92
- Store 66(OutColor) 94
+30(GetColor5(struct-S-vf31;i1;): 2 Function None 15
+ 28(i): 8(S) FunctionParameter
+ 29(comp): 14(ptr) FunctionParameter
+ 31: Label
+ 91: 7(fvec3) CompositeExtract 28(i) 0
+ 92: 7(fvec3) Load 65(OutColor)
+ 93: 7(fvec3) FAdd 92 91
+ Store 65(OutColor) 93
Return
FunctionEnd
-35(GetColor6(struct-S-vf31;i1;): 2 Function None 16
- 33(i): 9(S) FunctionParameter
- 34(comp): 15(ptr) FunctionParameter
- 36: Label
- 95: 14(int) Load 34(comp)
- 97: 8(fvec3) CompositeExtract 33(i) 0
- 98: 96(fvec2) VectorShuffle 97 97 1 0
- 99: 7(float) VectorExtractDynamic 98 95
- 100: 8(fvec3) Load 66(OutColor)
- 101: 8(fvec3) CompositeConstruct 99 99 99
- 102: 8(fvec3) FAdd 100 101
- Store 66(OutColor) 102
+34(GetColor6(struct-S-vf31;i1;): 2 Function None 15
+ 32(i): 8(S) FunctionParameter
+ 33(comp): 14(ptr) FunctionParameter
+ 35: Label
+ 94: 13(int) Load 33(comp)
+ 96: 7(fvec3) CompositeExtract 32(i) 0
+ 97: 95(fvec2) VectorShuffle 96 96 1 0
+ 98: 6(float) VectorExtractDynamic 97 94
+ 99: 7(fvec3) Load 65(OutColor)
+ 100: 7(fvec3) CompositeConstruct 98 98 98
+ 101: 7(fvec3) FAdd 99 100
+ Store 65(OutColor) 101
Return
FunctionEnd
-39(GetColor7(struct-S-vf31;i1;): 2 Function None 16
- 37(i): 9(S) FunctionParameter
- 38(comp): 15(ptr) FunctionParameter
- 40: Label
- 103: 8(fvec3) CompositeExtract 37(i) 0
- 104: 96(fvec2) VectorShuffle 103 103 0 1
- 105: 8(fvec3) Load 66(OutColor)
- 106: 96(fvec2) VectorShuffle 105 105 0 1
- 107: 96(fvec2) FAdd 106 104
- 108: 8(fvec3) Load 66(OutColor)
- 109: 8(fvec3) VectorShuffle 108 107 3 4 2
- Store 66(OutColor) 109
+38(GetColor7(struct-S-vf31;i1;): 2 Function None 15
+ 36(i): 8(S) FunctionParameter
+ 37(comp): 14(ptr) FunctionParameter
+ 39: Label
+ 102: 7(fvec3) CompositeExtract 36(i) 0
+ 103: 95(fvec2) VectorShuffle 102 102 0 1
+ 104: 7(fvec3) Load 65(OutColor)
+ 105: 95(fvec2) VectorShuffle 104 104 0 1
+ 106: 95(fvec2) FAdd 105 103
+ 107: 7(fvec3) Load 65(OutColor)
+ 108: 7(fvec3) VectorShuffle 107 106 3 4 2
+ Store 65(OutColor) 108
Return
FunctionEnd
-43(GetColor8(struct-S-vf31;i1;): 2 Function None 16
- 41(i): 9(S) FunctionParameter
- 42(comp): 15(ptr) FunctionParameter
- 44: Label
- 111: 7(float) CompositeExtract 41(i) 0 2
- 112: 8(fvec3) Load 66(OutColor)
- 113: 8(fvec3) CompositeConstruct 111 111 111
- 114: 8(fvec3) FAdd 112 113
- Store 66(OutColor) 114
+42(GetColor8(struct-S-vf31;i1;): 2 Function None 15
+ 40(i): 8(S) FunctionParameter
+ 41(comp): 14(ptr) FunctionParameter
+ 43: Label
+ 110: 6(float) CompositeExtract 40(i) 0 2
+ 111: 7(fvec3) Load 65(OutColor)
+ 112: 7(fvec3) CompositeConstruct 110 110 110
+ 113: 7(fvec3) FAdd 111 112
+ Store 65(OutColor) 113
Return
FunctionEnd
-47(GetColor9(struct-S-vf31;i1;): 2 Function None 16
- 45(i): 9(S) FunctionParameter
- 46(comp): 15(ptr) FunctionParameter
- 48: Label
- 115: 8(fvec3) CompositeExtract 45(i) 0
- 116: 8(fvec3) Load 66(OutColor)
- 117: 8(fvec3) VectorShuffle 116 116 2 0 1
- 118: 8(fvec3) FAdd 117 115
- 119: 8(fvec3) Load 66(OutColor)
- 120: 8(fvec3) VectorShuffle 119 118 4 5 3
- Store 66(OutColor) 120
+46(GetColor9(struct-S-vf31;i1;): 2 Function None 15
+ 44(i): 8(S) FunctionParameter
+ 45(comp): 14(ptr) FunctionParameter
+ 47: Label
+ 114: 7(fvec3) CompositeExtract 44(i) 0
+ 115: 7(fvec3) Load 65(OutColor)
+ 116: 7(fvec3) VectorShuffle 115 115 2 0 1
+ 117: 7(fvec3) FAdd 116 114
+ 118: 7(fvec3) Load 65(OutColor)
+ 119: 7(fvec3) VectorShuffle 118 117 4 5 3
+ Store 65(OutColor) 119
Return
FunctionEnd
-51(GetColor10(struct-S-vf31;i1;): 2 Function None 16
- 49(i): 9(S) FunctionParameter
- 50(comp): 15(ptr) FunctionParameter
- 52: Label
- 121: 8(fvec3) CompositeExtract 49(i) 0
- 122: 96(fvec2) VectorShuffle 121 121 0 1
- 123: 8(fvec3) Load 66(OutColor)
- 124: 96(fvec2) VectorShuffle 123 123 2 1
- 125: 96(fvec2) FAdd 124 122
- 126: 8(fvec3) Load 66(OutColor)
- 127: 8(fvec3) VectorShuffle 126 125 0 4 3
- Store 66(OutColor) 127
+50(GetColor10(struct-S-vf31;i1;): 2 Function None 15
+ 48(i): 8(S) FunctionParameter
+ 49(comp): 14(ptr) FunctionParameter
+ 51: Label
+ 120: 7(fvec3) CompositeExtract 48(i) 0
+ 121: 95(fvec2) VectorShuffle 120 120 0 1
+ 122: 7(fvec3) Load 65(OutColor)
+ 123: 95(fvec2) VectorShuffle 122 122 2 1
+ 124: 95(fvec2) FAdd 123 121
+ 125: 7(fvec3) Load 65(OutColor)
+ 126: 7(fvec3) VectorShuffle 125 124 0 4 3
+ Store 65(OutColor) 126
Return
FunctionEnd
-55(GetColor11(struct-S-vf31;i1;): 2 Function None 16
- 53(i): 9(S) FunctionParameter
- 54(comp): 15(ptr) FunctionParameter
- 56: Label
- 128: 8(fvec3) CompositeExtract 53(i) 0
- 129: 96(fvec2) VectorShuffle 128 128 0 1
- 130: 8(fvec3) Load 66(OutColor)
- 131: 96(fvec2) VectorShuffle 130 130 0 2
- 132: 96(fvec2) FAdd 131 129
- 133: 8(fvec3) Load 66(OutColor)
- 134: 8(fvec3) VectorShuffle 133 132 3 1 4
- Store 66(OutColor) 134
+54(GetColor11(struct-S-vf31;i1;): 2 Function None 15
+ 52(i): 8(S) FunctionParameter
+ 53(comp): 14(ptr) FunctionParameter
+ 55: Label
+ 127: 7(fvec3) CompositeExtract 52(i) 0
+ 128: 95(fvec2) VectorShuffle 127 127 0 1
+ 129: 7(fvec3) Load 65(OutColor)
+ 130: 95(fvec2) VectorShuffle 129 129 0 2
+ 131: 95(fvec2) FAdd 130 128
+ 132: 7(fvec3) Load 65(OutColor)
+ 133: 7(fvec3) VectorShuffle 132 131 3 1 4
+ Store 65(OutColor) 133
Return
FunctionEnd
-59(GetColor12(struct-S-vf31;i1;): 2 Function None 16
- 57(i): 9(S) FunctionParameter
- 58(comp): 15(ptr) FunctionParameter
- 60: Label
- 135: 14(int) Load 58(comp)
- 136: 7(float) CompositeExtract 57(i) 0 0
- 137: 8(fvec3) Load 66(OutColor)
- 138: 7(float) VectorExtractDynamic 137 135
- 139: 7(float) FAdd 138 136
- 140: 8(fvec3) Load 66(OutColor)
- 141: 8(fvec3) VectorInsertDynamic 140 139 135
- Store 66(OutColor) 141
+58(GetColor12(struct-S-vf31;i1;): 2 Function None 15
+ 56(i): 8(S) FunctionParameter
+ 57(comp): 14(ptr) FunctionParameter
+ 59: Label
+ 134: 13(int) Load 57(comp)
+ 135: 6(float) CompositeExtract 56(i) 0 0
+ 136: 7(fvec3) Load 65(OutColor)
+ 137: 6(float) VectorExtractDynamic 136 134
+ 138: 6(float) FAdd 137 135
+ 139: 7(fvec3) Load 65(OutColor)
+ 140: 7(fvec3) VectorInsertDynamic 139 138 134
+ Store 65(OutColor) 140
Return
FunctionEnd
-63(GetColor13(struct-S-vf31;i1;): 2 Function None 16
- 61(i): 9(S) FunctionParameter
- 62(comp): 15(ptr) FunctionParameter
- 64: Label
+62(GetColor13(struct-S-vf31;i1;): 2 Function None 15
+ 60(i): 8(S) FunctionParameter
+ 61(comp): 14(ptr) FunctionParameter
+ 63: Label
Return
FunctionEnd
diff --git a/Test/baseResults/spv.always-discard.frag.out b/Test/baseResults/spv.always-discard.frag.out
index ffcd1a9..24b6ec5 100755
--- a/Test/baseResults/spv.always-discard.frag.out
+++ b/Test/baseResults/spv.always-discard.frag.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 81
+// Id's are bound by 80
Source GLSL 110
Capability Shader
@@ -14,119 +14,117 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 10 "white"
- Name 13 "black"
- Name 16 "color"
- Name 19 "x"
- Name 22 "tex_coord"
- Name 28 "y"
- Name 33 "radius"
- Name 56 "gl_FragColor"
- Decorate 22(tex_coord) Smooth
- Decorate 56(gl_FragColor) BuiltIn FragColor
+ Name 9 "white"
+ Name 12 "black"
+ Name 15 "color"
+ Name 18 "x"
+ Name 21 "tex_coord"
+ Name 27 "y"
+ Name 32 "radius"
+ Name 55 "gl_FragColor"
+ Decorate 21(tex_coord) Smooth
+ Decorate 55(gl_FragColor) BuiltIn FragColor
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeVector 7(float) 4
- 9: TypePointer Function 8(fvec4)
- 11: 7(float) Constant 1065353216
- 12: 8(fvec4) ConstantComposite 11 11 11 11
- 14: 7(float) Constant 1045220557
- 15: 8(fvec4) ConstantComposite 14 14 14 14
- 18: TypePointer Function 7(float)
- 20: TypeVector 7(float) 2
- 21: TypePointer Input 20(fvec2)
- 22(tex_coord): 21(ptr) Variable Input
- 25: 7(float) Constant 1073741824
- 43: TypeBool
- 48: 7(float) Constant 1066192077
- 55: TypePointer Output 8(fvec4)
-56(gl_FragColor): 55(ptr) Variable Output
- 59: 7(float) Constant 1067030938
- 68: 7(float) Constant 1061158912
- 73: 7(float) Constant 1098907648
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: 6(float) Constant 1065353216
+ 11: 7(fvec4) ConstantComposite 10 10 10 10
+ 13: 6(float) Constant 1045220557
+ 14: 7(fvec4) ConstantComposite 13 13 13 13
+ 17: TypePointer Function 6(float)
+ 19: TypeVector 6(float) 2
+ 20: TypePointer Input 19(fvec2)
+ 21(tex_coord): 20(ptr) Variable Input
+ 24: 6(float) Constant 1073741824
+ 42: TypeBool
+ 47: 6(float) Constant 1066192077
+ 54: TypePointer Output 7(fvec4)
+55(gl_FragColor): 54(ptr) Variable Output
+ 58: 6(float) Constant 1067030938
+ 67: 6(float) Constant 1061158912
+ 72: 6(float) Constant 1098907648
4(main): 2 Function None 3
5: Label
- 10(white): 9(ptr) Variable Function
- 13(black): 9(ptr) Variable Function
- 16(color): 9(ptr) Variable Function
- 19(x): 18(ptr) Variable Function
- 28(y): 18(ptr) Variable Function
- 33(radius): 18(ptr) Variable Function
- Store 10(white) 12
- Store 13(black) 15
- 17: 8(fvec4) Load 10(white)
- Store 16(color) 17
- 23: 20(fvec2) Load 22(tex_coord)
- 24: 7(float) CompositeExtract 23 0
- 26: 7(float) FMul 24 25
- 27: 7(float) FSub 26 11
- Store 19(x) 27
- 29: 20(fvec2) Load 22(tex_coord)
- 30: 7(float) CompositeExtract 29 1
- 31: 7(float) FMul 30 25
- 32: 7(float) FSub 31 11
- Store 28(y) 32
- 34: 7(float) Load 19(x)
- 35: 7(float) Load 19(x)
- 36: 7(float) FMul 34 35
- 37: 7(float) Load 28(y)
- 38: 7(float) Load 28(y)
- 39: 7(float) FMul 37 38
- 40: 7(float) FAdd 36 39
- 41: 7(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 40
- Store 33(radius) 41
- 42: 7(float) Load 33(radius)
- 44: 43(bool) FOrdGreaterThan 42 11
- SelectionMerge 46 None
- BranchConditional 44 45 46
- 45: Label
- 47: 7(float) Load 33(radius)
- 49: 43(bool) FOrdGreaterThan 47 48
- SelectionMerge 51 None
- BranchConditional 49 50 51
- 50: Label
- 52: 8(fvec4) Load 16(color)
- 53: 8(fvec4) CompositeConstruct 11 11 11 11
- 54: 8(fvec4) FAdd 52 53
- Store 16(color) 54
- Branch 51
- 51: Label
- 57: 8(fvec4) Load 16(color)
- Store 56(gl_FragColor) 57
- 58: 7(float) Load 33(radius)
- 60: 43(bool) FOrdGreaterThan 58 59
- SelectionMerge 62 None
- BranchConditional 60 61 62
- 61: Label
- 63: 8(fvec4) Load 16(color)
- 64: 8(fvec4) CompositeConstruct 11 11 11 11
- 65: 8(fvec4) FAdd 63 64
- Store 16(color) 65
- Branch 62
- 62: Label
- Branch 46
- 46: Label
+ 9(white): 8(ptr) Variable Function
+ 12(black): 8(ptr) Variable Function
+ 15(color): 8(ptr) Variable Function
+ 18(x): 17(ptr) Variable Function
+ 27(y): 17(ptr) Variable Function
+ 32(radius): 17(ptr) Variable Function
+ Store 9(white) 11
+ Store 12(black) 14
+ 16: 7(fvec4) Load 9(white)
+ Store 15(color) 16
+ 22: 19(fvec2) Load 21(tex_coord)
+ 23: 6(float) CompositeExtract 22 0
+ 25: 6(float) FMul 23 24
+ 26: 6(float) FSub 25 10
+ Store 18(x) 26
+ 28: 19(fvec2) Load 21(tex_coord)
+ 29: 6(float) CompositeExtract 28 1
+ 30: 6(float) FMul 29 24
+ 31: 6(float) FSub 30 10
+ Store 27(y) 31
+ 33: 6(float) Load 18(x)
+ 34: 6(float) Load 18(x)
+ 35: 6(float) FMul 33 34
+ 36: 6(float) Load 27(y)
+ 37: 6(float) Load 27(y)
+ 38: 6(float) FMul 36 37
+ 39: 6(float) FAdd 35 38
+ 40: 6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 39
+ Store 32(radius) 40
+ 41: 6(float) Load 32(radius)
+ 43: 42(bool) FOrdGreaterThan 41 10
+ SelectionMerge 45 None
+ BranchConditional 43 44 45
+ 44: Label
+ 46: 6(float) Load 32(radius)
+ 48: 42(bool) FOrdGreaterThan 46 47
+ SelectionMerge 50 None
+ BranchConditional 48 49 50
+ 49: Label
+ 51: 7(fvec4) Load 15(color)
+ 52: 7(fvec4) CompositeConstruct 10 10 10 10
+ 53: 7(fvec4) FAdd 51 52
+ Store 15(color) 53
+ Branch 50
+ 50: Label
+ 56: 7(fvec4) Load 15(color)
+ Store 55(gl_FragColor) 56
+ 57: 6(float) Load 32(radius)
+ 59: 42(bool) FOrdGreaterThan 57 58
+ SelectionMerge 61 None
+ BranchConditional 59 60 61
+ 60: Label
+ 62: 7(fvec4) Load 15(color)
+ 63: 7(fvec4) CompositeConstruct 10 10 10 10
+ 64: 7(fvec4) FAdd 62 63
+ Store 15(color) 64
+ Branch 61
+ 61: Label
+ Branch 45
+ 45: Label
Kill
- 66: Label
- 67: 7(float) Load 33(radius)
- 69: 43(bool) FOrdGreaterThanEqual 67 68
- SelectionMerge 71 None
- BranchConditional 69 70 71
- 70: Label
- 72: 7(float) Load 33(radius)
- 74: 7(float) ExtInst 1(GLSL.std.450) 26(Pow) 72 73
- 75: 7(float) FDiv 74 25
- 76: 7(float) ExtInst 1(GLSL.std.450) 4(FAbs) 75
- 77: 8(fvec4) Load 16(color)
- 78: 8(fvec4) CompositeConstruct 76 76 76 76
- 79: 8(fvec4) FSub 77 78
- Store 16(color) 79
- Branch 71
- 71: Label
- 80: 8(fvec4) Load 16(color)
- Store 56(gl_FragColor) 80
- Branch 6
- 6: Label
+ 65: Label
+ 66: 6(float) Load 32(radius)
+ 68: 42(bool) FOrdGreaterThanEqual 66 67
+ SelectionMerge 70 None
+ BranchConditional 68 69 70
+ 69: Label
+ 71: 6(float) Load 32(radius)
+ 73: 6(float) ExtInst 1(GLSL.std.450) 26(Pow) 71 72
+ 74: 6(float) FDiv 73 24
+ 75: 6(float) ExtInst 1(GLSL.std.450) 4(FAbs) 74
+ 76: 7(fvec4) Load 15(color)
+ 77: 7(fvec4) CompositeConstruct 75 75 75 75
+ 78: 7(fvec4) FSub 76 77
+ Store 15(color) 78
+ Branch 70
+ 70: Label
+ 79: 7(fvec4) Load 15(color)
+ Store 55(gl_FragColor) 79
Return
FunctionEnd
diff --git a/Test/baseResults/spv.always-discard2.frag.out b/Test/baseResults/spv.always-discard2.frag.out
index 767558e..e2d03b4 100755
--- a/Test/baseResults/spv.always-discard2.frag.out
+++ b/Test/baseResults/spv.always-discard2.frag.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 37
+// Id's are bound by 36
Source GLSL 110
Capability Shader
@@ -14,53 +14,51 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 10 "white"
- Name 13 "black"
- Name 16 "color"
- Name 19 "x"
- Name 22 "tex_coord"
- Name 28 "y"
- Name 35 "gl_FragColor"
- Decorate 22(tex_coord) Smooth
- Decorate 35(gl_FragColor) BuiltIn FragColor
+ Name 9 "white"
+ Name 12 "black"
+ Name 15 "color"
+ Name 18 "x"
+ Name 21 "tex_coord"
+ Name 27 "y"
+ Name 34 "gl_FragColor"
+ Decorate 21(tex_coord) Smooth
+ Decorate 34(gl_FragColor) BuiltIn FragColor
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeVector 7(float) 4
- 9: TypePointer Function 8(fvec4)
- 11: 7(float) Constant 1065353216
- 12: 8(fvec4) ConstantComposite 11 11 11 11
- 14: 7(float) Constant 1045220557
- 15: 8(fvec4) ConstantComposite 14 14 14 14
- 18: TypePointer Function 7(float)
- 20: TypeVector 7(float) 2
- 21: TypePointer Input 20(fvec2)
- 22(tex_coord): 21(ptr) Variable Input
- 25: 7(float) Constant 1073741824
- 34: TypePointer Output 8(fvec4)
-35(gl_FragColor): 34(ptr) Variable Output
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: 6(float) Constant 1065353216
+ 11: 7(fvec4) ConstantComposite 10 10 10 10
+ 13: 6(float) Constant 1045220557
+ 14: 7(fvec4) ConstantComposite 13 13 13 13
+ 17: TypePointer Function 6(float)
+ 19: TypeVector 6(float) 2
+ 20: TypePointer Input 19(fvec2)
+ 21(tex_coord): 20(ptr) Variable Input
+ 24: 6(float) Constant 1073741824
+ 33: TypePointer Output 7(fvec4)
+34(gl_FragColor): 33(ptr) Variable Output
4(main): 2 Function None 3
5: Label
- 10(white): 9(ptr) Variable Function
- 13(black): 9(ptr) Variable Function
- 16(color): 9(ptr) Variable Function
- 19(x): 18(ptr) Variable Function
- 28(y): 18(ptr) Variable Function
- Store 10(white) 12
- Store 13(black) 15
- 17: 8(fvec4) Load 10(white)
- Store 16(color) 17
- 23: 20(fvec2) Load 22(tex_coord)
- 24: 7(float) CompositeExtract 23 0
- 26: 7(float) FMul 24 25
- 27: 7(float) FSub 26 11
- Store 19(x) 27
- 29: 20(fvec2) Load 22(tex_coord)
- 30: 7(float) CompositeExtract 29 1
- 31: 7(float) FMul 30 25
- 32: 7(float) FSub 31 11
- Store 28(y) 32
+ 9(white): 8(ptr) Variable Function
+ 12(black): 8(ptr) Variable Function
+ 15(color): 8(ptr) Variable Function
+ 18(x): 17(ptr) Variable Function
+ 27(y): 17(ptr) Variable Function
+ Store 9(white) 11
+ Store 12(black) 14
+ 16: 7(fvec4) Load 9(white)
+ Store 15(color) 16
+ 22: 19(fvec2) Load 21(tex_coord)
+ 23: 6(float) CompositeExtract 22 0
+ 25: 6(float) FMul 23 24
+ 26: 6(float) FSub 25 10
+ Store 18(x) 26
+ 28: 19(fvec2) Load 21(tex_coord)
+ 29: 6(float) CompositeExtract 28 1
+ 30: 6(float) FMul 29 24
+ 31: 6(float) FSub 30 10
+ Store 27(y) 31
Kill
- 6: Label
- Return
FunctionEnd
diff --git a/Test/baseResults/spv.atomic.comp.out b/Test/baseResults/spv.atomic.comp.out
index d8650e7..359d8da 100755
--- a/Test/baseResults/spv.atomic.comp.out
+++ b/Test/baseResults/spv.atomic.comp.out
@@ -8,7 +8,7 @@
TBD functionality: Is atomic_uint an opaque handle in the uniform storage class, or an addresses in the atomic storage class?
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 75
+// Id's are bound by 74
Source ESSL 310
Capability Shader
@@ -16,113 +16,111 @@
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "main"
Name 4 "main"
- Name 11 "func(au1;"
- Name 10 "c"
- Name 13 "atoms("
- Name 22 "counter"
- Name 23 "param"
- Name 26 "val"
- Name 30 "countArr"
- Name 39 "origi"
- Name 41 "atomi"
- Name 45 "origu"
- Name 47 "atomu"
- Name 49 "value"
- Name 72 "arrX"
- Name 73 "arrY"
- Name 74 "arrZ"
- Decorate 22(counter) Binding 0
- Decorate 30(countArr) Binding 0
- Decorate 72(arrX) NoStaticUse
- Decorate 73(arrY) NoStaticUse
- Decorate 74(arrZ) NoStaticUse
+ Name 10 "func(au1;"
+ Name 9 "c"
+ Name 12 "atoms("
+ Name 21 "counter"
+ Name 22 "param"
+ Name 25 "val"
+ Name 29 "countArr"
+ Name 38 "origi"
+ Name 40 "atomi"
+ Name 44 "origu"
+ Name 46 "atomu"
+ Name 48 "value"
+ Name 71 "arrX"
+ Name 72 "arrY"
+ Name 73 "arrZ"
+ Decorate 21(counter) Binding 0
+ Decorate 29(countArr) Binding 0
+ Decorate 71(arrX) NoStaticUse
+ Decorate 72(arrY) NoStaticUse
+ Decorate 73(arrZ) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeInt 32 0
- 8: TypePointer Function 7(int)
- 9: TypeFunction 7(int) 8(ptr)
- 16: 7(int) Constant 1
- 17: 7(int) Constant 0
- 20: 7(int) Constant 256
- 21: TypePointer UniformConstant 7(int)
- 22(counter): 21(ptr) Variable UniformConstant
- 27: 7(int) Constant 4
- 28: TypeArray 7(int) 27
- 29: TypePointer UniformConstant 28
- 30(countArr): 29(ptr) Variable UniformConstant
- 31: TypeInt 32 1
- 32: 31(int) Constant 2
- 38: TypePointer Function 31(int)
- 40: TypePointer WorkgroupLocal 31(int)
- 41(atomi): 40(ptr) Variable WorkgroupLocal
- 43: 31(int) Constant 3
- 46: TypePointer WorkgroupLocal 7(int)
- 47(atomu): 46(ptr) Variable WorkgroupLocal
- 49(value): 21(ptr) Variable UniformConstant
- 53: 7(int) Constant 7
- 61: 31(int) Constant 7
- 67: 7(int) Constant 10
- 70: TypeArray 31(int) 16
- 71: TypePointer PrivateGlobal 70
- 72(arrX): 71(ptr) Variable PrivateGlobal
- 73(arrY): 71(ptr) Variable PrivateGlobal
- 74(arrZ): 71(ptr) Variable PrivateGlobal
+ 6: TypeInt 32 0
+ 7: TypePointer Function 6(int)
+ 8: TypeFunction 6(int) 7(ptr)
+ 15: 6(int) Constant 1
+ 16: 6(int) Constant 0
+ 19: 6(int) Constant 256
+ 20: TypePointer UniformConstant 6(int)
+ 21(counter): 20(ptr) Variable UniformConstant
+ 26: 6(int) Constant 4
+ 27: TypeArray 6(int) 26
+ 28: TypePointer UniformConstant 27
+ 29(countArr): 28(ptr) Variable UniformConstant
+ 30: TypeInt 32 1
+ 31: 30(int) Constant 2
+ 37: TypePointer Function 30(int)
+ 39: TypePointer WorkgroupLocal 30(int)
+ 40(atomi): 39(ptr) Variable WorkgroupLocal
+ 42: 30(int) Constant 3
+ 45: TypePointer WorkgroupLocal 6(int)
+ 46(atomu): 45(ptr) Variable WorkgroupLocal
+ 48(value): 20(ptr) Variable UniformConstant
+ 52: 6(int) Constant 7
+ 60: 30(int) Constant 7
+ 66: 6(int) Constant 10
+ 69: TypeArray 30(int) 15
+ 70: TypePointer PrivateGlobal 69
+ 71(arrX): 70(ptr) Variable PrivateGlobal
+ 72(arrY): 70(ptr) Variable PrivateGlobal
+ 73(arrZ): 70(ptr) Variable PrivateGlobal
4(main): 2 Function None 3
5: Label
- 23(param): 8(ptr) Variable Function
- 26(val): 8(ptr) Variable Function
- MemoryBarrier 16 20
- 24: 7(int) Load 22(counter)
- Store 23(param) 24
- 25: 7(int) FunctionCall 11(func(au1;) 23(param)
- 33: 21(ptr) AccessChain 30(countArr) 32
- 34: 7(int) Load 33
- 35: 7(int) AtomicLoad 34 16 17
- Store 26(val) 35
- 36: 7(int) Load 22(counter)
- 37: 7(int) AtomicIDecrement 36 16 17
- Branch 6
- 6: Label
+ 22(param): 7(ptr) Variable Function
+ 25(val): 7(ptr) Variable Function
+ MemoryBarrier 15 19
+ 23: 6(int) Load 21(counter)
+ Store 22(param) 23
+ 24: 6(int) FunctionCall 10(func(au1;) 22(param)
+ 32: 20(ptr) AccessChain 29(countArr) 31
+ 33: 6(int) Load 32
+ 34: 6(int) AtomicLoad 33 15 16
+ Store 25(val) 34
+ 35: 6(int) Load 21(counter)
+ 36: 6(int) AtomicIDecrement 35 15 16
Return
FunctionEnd
- 11(func(au1;): 7(int) Function None 9
- 10(c): 8(ptr) FunctionParameter
- 12: Label
- 15: 7(int) Load 10(c)
- 18: 7(int) AtomicIIncrement 15 16 17
- ReturnValue 18
+ 10(func(au1;): 6(int) Function None 8
+ 9(c): 7(ptr) FunctionParameter
+ 11: Label
+ 14: 6(int) Load 9(c)
+ 17: 6(int) AtomicIIncrement 14 15 16
+ ReturnValue 17
FunctionEnd
- 13(atoms(): 2 Function None 3
- 14: Label
- 39(origi): 38(ptr) Variable Function
- 45(origu): 8(ptr) Variable Function
- 42: 31(int) Load 41(atomi)
- 44: 31(int) AtomicIAdd 42 16 17 43
- Store 39(origi) 44
- 48: 7(int) Load 47(atomu)
- 50: 7(int) Load 49(value)
- 51: 7(int) AtomicAnd 48 16 17 50
- Store 45(origu) 51
- 52: 7(int) Load 47(atomu)
- 54: 7(int) AtomicOr 52 16 17 53
- Store 45(origu) 54
- 55: 7(int) Load 47(atomu)
- 56: 7(int) AtomicXor 55 16 17 53
- Store 45(origu) 56
- 57: 7(int) Load 47(atomu)
- 58: 7(int) Load 49(value)
- 59: 7(int) AtomicSMin 57 16 17 58
- Store 45(origu) 59
- 60: 31(int) Load 41(atomi)
- 62: 31(int) AtomicSMax 60 16 17 61
- Store 39(origi) 62
- 63: 31(int) Load 41(atomi)
- 64: 31(int) Load 39(origi)
- 65: 31(int) AtomicExchange 63 16 17 64
- Store 39(origi) 65
- 66: 7(int) Load 47(atomu)
- 68: 7(int) Load 49(value)
- 69: 7(int) AtomicCompareExchange 66 16 17 67 68
- Store 45(origu) 69
+ 12(atoms(): 2 Function None 3
+ 13: Label
+ 38(origi): 37(ptr) Variable Function
+ 44(origu): 7(ptr) Variable Function
+ 41: 30(int) Load 40(atomi)
+ 43: 30(int) AtomicIAdd 41 15 16 42
+ Store 38(origi) 43
+ 47: 6(int) Load 46(atomu)
+ 49: 6(int) Load 48(value)
+ 50: 6(int) AtomicAnd 47 15 16 49
+ Store 44(origu) 50
+ 51: 6(int) Load 46(atomu)
+ 53: 6(int) AtomicOr 51 15 16 52
+ Store 44(origu) 53
+ 54: 6(int) Load 46(atomu)
+ 55: 6(int) AtomicXor 54 15 16 52
+ Store 44(origu) 55
+ 56: 6(int) Load 46(atomu)
+ 57: 6(int) Load 48(value)
+ 58: 6(int) AtomicSMin 56 15 16 57
+ Store 44(origu) 58
+ 59: 30(int) Load 40(atomi)
+ 61: 30(int) AtomicSMax 59 15 16 60
+ Store 38(origi) 61
+ 62: 30(int) Load 40(atomi)
+ 63: 30(int) Load 38(origi)
+ 64: 30(int) AtomicExchange 62 15 16 63
+ Store 38(origi) 64
+ 65: 6(int) Load 46(atomu)
+ 67: 6(int) Load 48(value)
+ 68: 6(int) AtomicCompareExchange 65 15 16 66 67
+ Store 44(origu) 68
Return
FunctionEnd
diff --git a/Test/baseResults/spv.conditionalDiscard.frag.out b/Test/baseResults/spv.conditionalDiscard.frag.out
index b5488af..f727174 100755
--- a/Test/baseResults/spv.conditionalDiscard.frag.out
+++ b/Test/baseResults/spv.conditionalDiscard.frag.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 37
+// Id's are bound by 36
Source GLSL 110
Capability Shader
@@ -14,51 +14,49 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 10 "v"
- Name 14 "tex"
- Name 18 "coord"
- Name 35 "gl_FragColor"
- Decorate 18(coord) Smooth
- Decorate 35(gl_FragColor) BuiltIn FragColor
+ Name 9 "v"
+ Name 13 "tex"
+ Name 17 "coord"
+ Name 34 "gl_FragColor"
+ Decorate 17(coord) Smooth
+ Decorate 34(gl_FragColor) BuiltIn FragColor
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeVector 7(float) 4
- 9: TypePointer Function 8(fvec4)
- 11: TypeImage 7(float) 2D sampled format:Unknown
- 12: TypeSampledImage 11
- 13: TypePointer UniformConstant 12
- 14(tex): 13(ptr) Variable UniformConstant
- 16: TypeVector 7(float) 2
- 17: TypePointer Input 16(fvec2)
- 18(coord): 17(ptr) Variable Input
- 22: 7(float) Constant 1036831949
- 23: 7(float) Constant 1045220557
- 24: 7(float) Constant 1050253722
- 25: 7(float) Constant 1053609165
- 26: 8(fvec4) ConstantComposite 22 23 24 25
- 27: TypeBool
- 28: TypeVector 27(bool) 4
- 34: TypePointer Output 8(fvec4)
-35(gl_FragColor): 34(ptr) Variable Output
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypeImage 6(float) 2D sampled format:Unknown
+ 11: TypeSampledImage 10
+ 12: TypePointer UniformConstant 11
+ 13(tex): 12(ptr) Variable UniformConstant
+ 15: TypeVector 6(float) 2
+ 16: TypePointer Input 15(fvec2)
+ 17(coord): 16(ptr) Variable Input
+ 21: 6(float) Constant 1036831949
+ 22: 6(float) Constant 1045220557
+ 23: 6(float) Constant 1050253722
+ 24: 6(float) Constant 1053609165
+ 25: 7(fvec4) ConstantComposite 21 22 23 24
+ 26: TypeBool
+ 27: TypeVector 26(bool) 4
+ 33: TypePointer Output 7(fvec4)
+34(gl_FragColor): 33(ptr) Variable Output
4(main): 2 Function None 3
5: Label
- 10(v): 9(ptr) Variable Function
- 15: 12 Load 14(tex)
- 19: 16(fvec2) Load 18(coord)
- 20: 8(fvec4) ImageSampleImplicitLod 15 19
- Store 10(v) 20
- 21: 8(fvec4) Load 10(v)
- 29: 28(bvec4) FOrdEqual 21 26
- 30: 27(bool) All 29
- SelectionMerge 32 None
- BranchConditional 30 31 32
- 31: Label
+ 9(v): 8(ptr) Variable Function
+ 14: 11 Load 13(tex)
+ 18: 15(fvec2) Load 17(coord)
+ 19: 7(fvec4) ImageSampleImplicitLod 14 18
+ Store 9(v) 19
+ 20: 7(fvec4) Load 9(v)
+ 28: 27(bvec4) FOrdEqual 20 25
+ 29: 26(bool) All 28
+ SelectionMerge 31 None
+ BranchConditional 29 30 31
+ 30: Label
Kill
- 32: Label
- 36: 8(fvec4) Load 10(v)
- Store 35(gl_FragColor) 36
- Branch 6
- 6: Label
+ 31: Label
+ 35: 7(fvec4) Load 9(v)
+ Store 34(gl_FragColor) 35
Return
FunctionEnd
diff --git a/Test/baseResults/spv.conversion.frag.out b/Test/baseResults/spv.conversion.frag.out
index ebe95e0..6de7121 100755
--- a/Test/baseResults/spv.conversion.frag.out
+++ b/Test/baseResults/spv.conversion.frag.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 444
+// Id's are bound by 443
Source GLSL 130
Capability Shader
@@ -14,566 +14,564 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 9 "b"
- Name 12 "u_i"
- Name 19 "u_f"
- Name 26 "b2"
- Name 34 "b3"
- Name 40 "i_i"
- Name 46 "b4"
- Name 54 "i_f"
- Name 59 "i"
- Name 69 "i2"
- Name 72 "u_f2"
- Name 82 "i3"
- Name 85 "u_f3"
- Name 95 "i4"
- Name 98 "u_f4"
- Name 107 "f"
- Name 111 "f2"
- Name 115 "f3"
- Name 119 "f4"
- Name 158 "i_i4"
- Name 313 "gl_FragColor"
- Name 406 "cv2"
- Name 407 "cv5"
- Name 417 "u_b"
- Name 419 "u_b2"
- Name 421 "u_b3"
- Name 423 "u_b4"
- Name 425 "u_i2"
- Name 427 "u_i3"
- Name 429 "u_i4"
- Name 430 "i_b"
- Name 431 "i_b2"
- Name 432 "i_b3"
- Name 433 "i_b4"
- Name 435 "i_i2"
- Name 437 "i_i3"
- Name 439 "i_f2"
- Name 441 "i_f3"
- Name 443 "i_f4"
- Decorate 40(i_i) Flat
- Decorate 54(i_f) Smooth
- Decorate 158(i_i4) Flat
- Decorate 313(gl_FragColor) BuiltIn FragColor
- Decorate 417(u_b) NoStaticUse
- Decorate 419(u_b2) NoStaticUse
- Decorate 421(u_b3) NoStaticUse
- Decorate 423(u_b4) NoStaticUse
- Decorate 425(u_i2) NoStaticUse
- Decorate 427(u_i3) NoStaticUse
- Decorate 429(u_i4) NoStaticUse
- Decorate 430(i_b) NoStaticUse
- Decorate 431(i_b2) NoStaticUse
- Decorate 432(i_b3) NoStaticUse
- Decorate 433(i_b4) NoStaticUse
- Decorate 435(i_i2) Flat
- Decorate 435(i_i2) NoStaticUse
- Decorate 437(i_i3) Flat
- Decorate 437(i_i3) NoStaticUse
- Decorate 439(i_f2) Smooth
- Decorate 439(i_f2) NoStaticUse
- Decorate 441(i_f3) Smooth
- Decorate 441(i_f3) NoStaticUse
- Decorate 443(i_f4) Smooth
- Decorate 443(i_f4) NoStaticUse
+ Name 8 "b"
+ Name 11 "u_i"
+ Name 18 "u_f"
+ Name 25 "b2"
+ Name 33 "b3"
+ Name 39 "i_i"
+ Name 45 "b4"
+ Name 53 "i_f"
+ Name 58 "i"
+ Name 68 "i2"
+ Name 71 "u_f2"
+ Name 81 "i3"
+ Name 84 "u_f3"
+ Name 94 "i4"
+ Name 97 "u_f4"
+ Name 106 "f"
+ Name 110 "f2"
+ Name 114 "f3"
+ Name 118 "f4"
+ Name 157 "i_i4"
+ Name 312 "gl_FragColor"
+ Name 405 "cv2"
+ Name 406 "cv5"
+ Name 416 "u_b"
+ Name 418 "u_b2"
+ Name 420 "u_b3"
+ Name 422 "u_b4"
+ Name 424 "u_i2"
+ Name 426 "u_i3"
+ Name 428 "u_i4"
+ Name 429 "i_b"
+ Name 430 "i_b2"
+ Name 431 "i_b3"
+ Name 432 "i_b4"
+ Name 434 "i_i2"
+ Name 436 "i_i3"
+ Name 438 "i_f2"
+ Name 440 "i_f3"
+ Name 442 "i_f4"
+ Decorate 39(i_i) Flat
+ Decorate 53(i_f) Smooth
+ Decorate 157(i_i4) Flat
+ Decorate 312(gl_FragColor) BuiltIn FragColor
+ Decorate 416(u_b) NoStaticUse
+ Decorate 418(u_b2) NoStaticUse
+ Decorate 420(u_b3) NoStaticUse
+ Decorate 422(u_b4) NoStaticUse
+ Decorate 424(u_i2) NoStaticUse
+ Decorate 426(u_i3) NoStaticUse
+ Decorate 428(u_i4) NoStaticUse
+ Decorate 429(i_b) NoStaticUse
+ Decorate 430(i_b2) NoStaticUse
+ Decorate 431(i_b3) NoStaticUse
+ Decorate 432(i_b4) NoStaticUse
+ Decorate 434(i_i2) Flat
+ Decorate 434(i_i2) NoStaticUse
+ Decorate 436(i_i3) Flat
+ Decorate 436(i_i3) NoStaticUse
+ Decorate 438(i_f2) Smooth
+ Decorate 438(i_f2) NoStaticUse
+ Decorate 440(i_f3) Smooth
+ Decorate 440(i_f3) NoStaticUse
+ Decorate 442(i_f4) Smooth
+ Decorate 442(i_f4) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeBool
- 8: TypePointer Function 7(bool)
- 10: TypeInt 32 1
- 11: TypePointer UniformConstant 10(int)
- 12(u_i): 11(ptr) Variable UniformConstant
- 14: TypeInt 32 0
- 15: 14(int) Constant 0
- 17: TypeFloat 32
- 18: TypePointer UniformConstant 17(float)
- 19(u_f): 18(ptr) Variable UniformConstant
- 21: 17(float) Constant 0
- 24: TypeVector 7(bool) 2
- 25: TypePointer Function 24(bvec2)
- 32: TypeVector 7(bool) 3
- 33: TypePointer Function 32(bvec3)
- 39: TypePointer Input 10(int)
- 40(i_i): 39(ptr) Variable Input
- 44: TypeVector 7(bool) 4
- 45: TypePointer Function 44(bvec4)
- 53: TypePointer Input 17(float)
- 54(i_f): 53(ptr) Variable Input
- 58: TypePointer Function 10(int)
- 63: 10(int) Constant 0
- 64: 10(int) Constant 1
- 67: TypeVector 10(int) 2
- 68: TypePointer Function 67(ivec2)
- 70: TypeVector 17(float) 2
- 71: TypePointer UniformConstant 70(fvec2)
- 72(u_f2): 71(ptr) Variable UniformConstant
- 76: 67(ivec2) ConstantComposite 63 63
- 77: 67(ivec2) ConstantComposite 64 64
- 80: TypeVector 10(int) 3
- 81: TypePointer Function 80(ivec3)
- 83: TypeVector 17(float) 3
- 84: TypePointer UniformConstant 83(fvec3)
- 85(u_f3): 84(ptr) Variable UniformConstant
- 89: 80(ivec3) ConstantComposite 63 63 63
- 90: 80(ivec3) ConstantComposite 64 64 64
- 93: TypeVector 10(int) 4
- 94: TypePointer Function 93(ivec4)
- 96: TypeVector 17(float) 4
- 97: TypePointer UniformConstant 96(fvec4)
- 98(u_f4): 97(ptr) Variable UniformConstant
- 102: 93(ivec4) ConstantComposite 63 63 63 63
- 103: 93(ivec4) ConstantComposite 64 64 64 64
- 106: TypePointer Function 17(float)
- 110: TypePointer Function 70(fvec2)
- 114: TypePointer Function 83(fvec3)
- 118: TypePointer Function 96(fvec4)
- 125: 17(float) Constant 1065353216
- 133: 70(fvec2) ConstantComposite 21 21
- 134: 70(fvec2) ConstantComposite 125 125
- 142: 83(fvec3) ConstantComposite 21 21 21
- 143: 83(fvec3) ConstantComposite 125 125 125
- 151: 96(fvec4) ConstantComposite 21 21 21 21
- 152: 96(fvec4) ConstantComposite 125 125 125 125
- 157: TypePointer Input 93(ivec4)
- 158(i_i4): 157(ptr) Variable Input
- 160: TypeVector 14(int) 4
- 161: 160(ivec4) ConstantComposite 15 15 15 15
- 312: TypePointer Output 96(fvec4)
-313(gl_FragColor): 312(ptr) Variable Output
- 416: TypePointer UniformConstant 7(bool)
- 417(u_b): 416(ptr) Variable UniformConstant
- 418: TypePointer UniformConstant 24(bvec2)
- 419(u_b2): 418(ptr) Variable UniformConstant
- 420: TypePointer UniformConstant 32(bvec3)
- 421(u_b3): 420(ptr) Variable UniformConstant
- 422: TypePointer UniformConstant 44(bvec4)
- 423(u_b4): 422(ptr) Variable UniformConstant
- 424: TypePointer UniformConstant 67(ivec2)
- 425(u_i2): 424(ptr) Variable UniformConstant
- 426: TypePointer UniformConstant 80(ivec3)
- 427(u_i3): 426(ptr) Variable UniformConstant
- 428: TypePointer UniformConstant 93(ivec4)
- 429(u_i4): 428(ptr) Variable UniformConstant
- 430(i_b): 416(ptr) Variable UniformConstant
- 431(i_b2): 418(ptr) Variable UniformConstant
- 432(i_b3): 420(ptr) Variable UniformConstant
- 433(i_b4): 422(ptr) Variable UniformConstant
- 434: TypePointer Input 67(ivec2)
- 435(i_i2): 434(ptr) Variable Input
- 436: TypePointer Input 80(ivec3)
- 437(i_i3): 436(ptr) Variable Input
- 438: TypePointer Input 70(fvec2)
- 439(i_f2): 438(ptr) Variable Input
- 440: TypePointer Input 83(fvec3)
- 441(i_f3): 440(ptr) Variable Input
- 442: TypePointer Input 96(fvec4)
- 443(i_f4): 442(ptr) Variable Input
+ 6: TypeBool
+ 7: TypePointer Function 6(bool)
+ 9: TypeInt 32 1
+ 10: TypePointer UniformConstant 9(int)
+ 11(u_i): 10(ptr) Variable UniformConstant
+ 13: TypeInt 32 0
+ 14: 13(int) Constant 0
+ 16: TypeFloat 32
+ 17: TypePointer UniformConstant 16(float)
+ 18(u_f): 17(ptr) Variable UniformConstant
+ 20: 16(float) Constant 0
+ 23: TypeVector 6(bool) 2
+ 24: TypePointer Function 23(bvec2)
+ 31: TypeVector 6(bool) 3
+ 32: TypePointer Function 31(bvec3)
+ 38: TypePointer Input 9(int)
+ 39(i_i): 38(ptr) Variable Input
+ 43: TypeVector 6(bool) 4
+ 44: TypePointer Function 43(bvec4)
+ 52: TypePointer Input 16(float)
+ 53(i_f): 52(ptr) Variable Input
+ 57: TypePointer Function 9(int)
+ 62: 9(int) Constant 0
+ 63: 9(int) Constant 1
+ 66: TypeVector 9(int) 2
+ 67: TypePointer Function 66(ivec2)
+ 69: TypeVector 16(float) 2
+ 70: TypePointer UniformConstant 69(fvec2)
+ 71(u_f2): 70(ptr) Variable UniformConstant
+ 75: 66(ivec2) ConstantComposite 62 62
+ 76: 66(ivec2) ConstantComposite 63 63
+ 79: TypeVector 9(int) 3
+ 80: TypePointer Function 79(ivec3)
+ 82: TypeVector 16(float) 3
+ 83: TypePointer UniformConstant 82(fvec3)
+ 84(u_f3): 83(ptr) Variable UniformConstant
+ 88: 79(ivec3) ConstantComposite 62 62 62
+ 89: 79(ivec3) ConstantComposite 63 63 63
+ 92: TypeVector 9(int) 4
+ 93: TypePointer Function 92(ivec4)
+ 95: TypeVector 16(float) 4
+ 96: TypePointer UniformConstant 95(fvec4)
+ 97(u_f4): 96(ptr) Variable UniformConstant
+ 101: 92(ivec4) ConstantComposite 62 62 62 62
+ 102: 92(ivec4) ConstantComposite 63 63 63 63
+ 105: TypePointer Function 16(float)
+ 109: TypePointer Function 69(fvec2)
+ 113: TypePointer Function 82(fvec3)
+ 117: TypePointer Function 95(fvec4)
+ 124: 16(float) Constant 1065353216
+ 132: 69(fvec2) ConstantComposite 20 20
+ 133: 69(fvec2) ConstantComposite 124 124
+ 141: 82(fvec3) ConstantComposite 20 20 20
+ 142: 82(fvec3) ConstantComposite 124 124 124
+ 150: 95(fvec4) ConstantComposite 20 20 20 20
+ 151: 95(fvec4) ConstantComposite 124 124 124 124
+ 156: TypePointer Input 92(ivec4)
+ 157(i_i4): 156(ptr) Variable Input
+ 159: TypeVector 13(int) 4
+ 160: 159(ivec4) ConstantComposite 14 14 14 14
+ 311: TypePointer Output 95(fvec4)
+312(gl_FragColor): 311(ptr) Variable Output
+ 415: TypePointer UniformConstant 6(bool)
+ 416(u_b): 415(ptr) Variable UniformConstant
+ 417: TypePointer UniformConstant 23(bvec2)
+ 418(u_b2): 417(ptr) Variable UniformConstant
+ 419: TypePointer UniformConstant 31(bvec3)
+ 420(u_b3): 419(ptr) Variable UniformConstant
+ 421: TypePointer UniformConstant 43(bvec4)
+ 422(u_b4): 421(ptr) Variable UniformConstant
+ 423: TypePointer UniformConstant 66(ivec2)
+ 424(u_i2): 423(ptr) Variable UniformConstant
+ 425: TypePointer UniformConstant 79(ivec3)
+ 426(u_i3): 425(ptr) Variable UniformConstant
+ 427: TypePointer UniformConstant 92(ivec4)
+ 428(u_i4): 427(ptr) Variable UniformConstant
+ 429(i_b): 415(ptr) Variable UniformConstant
+ 430(i_b2): 417(ptr) Variable UniformConstant
+ 431(i_b3): 419(ptr) Variable UniformConstant
+ 432(i_b4): 421(ptr) Variable UniformConstant
+ 433: TypePointer Input 66(ivec2)
+ 434(i_i2): 433(ptr) Variable Input
+ 435: TypePointer Input 79(ivec3)
+ 436(i_i3): 435(ptr) Variable Input
+ 437: TypePointer Input 69(fvec2)
+ 438(i_f2): 437(ptr) Variable Input
+ 439: TypePointer Input 82(fvec3)
+ 440(i_f3): 439(ptr) Variable Input
+ 441: TypePointer Input 95(fvec4)
+ 442(i_f4): 441(ptr) Variable Input
4(main): 2 Function None 3
5: Label
- 9(b): 8(ptr) Variable Function
- 26(b2): 25(ptr) Variable Function
- 34(b3): 33(ptr) Variable Function
- 46(b4): 45(ptr) Variable Function
- 59(i): 58(ptr) Variable Function
- 69(i2): 68(ptr) Variable Function
- 82(i3): 81(ptr) Variable Function
- 95(i4): 94(ptr) Variable Function
- 107(f): 106(ptr) Variable Function
- 111(f2): 110(ptr) Variable Function
- 115(f3): 114(ptr) Variable Function
- 119(f4): 118(ptr) Variable Function
- 289: 106(ptr) Variable Function
- 299: 106(ptr) Variable Function
- 314: 118(ptr) Variable Function
- 406(cv2): 94(ptr) Variable Function
- 407(cv5): 45(ptr) Variable Function
- 13: 10(int) Load 12(u_i)
- 16: 7(bool) INotEqual 13 15
- 20: 17(float) Load 19(u_f)
- 22: 7(bool) FOrdNotEqual 20 21
- 23: 7(bool) LogicalNotEqual 16 22
- Store 9(b) 23
- 27: 10(int) Load 12(u_i)
- 28: 7(bool) INotEqual 27 15
- 29: 17(float) Load 19(u_f)
- 30: 7(bool) FOrdNotEqual 29 21
- 31: 24(bvec2) CompositeConstruct 28 30
- Store 26(b2) 31
- 35: 10(int) Load 12(u_i)
- 36: 7(bool) INotEqual 35 15
- 37: 17(float) Load 19(u_f)
- 38: 7(bool) FOrdNotEqual 37 21
- 41: 10(int) Load 40(i_i)
- 42: 7(bool) INotEqual 41 15
- 43: 32(bvec3) CompositeConstruct 36 38 42
- Store 34(b3) 43
- 47: 10(int) Load 12(u_i)
- 48: 7(bool) INotEqual 47 15
- 49: 17(float) Load 19(u_f)
- 50: 7(bool) FOrdNotEqual 49 21
- 51: 10(int) Load 40(i_i)
- 52: 7(bool) INotEqual 51 15
- 55: 17(float) Load 54(i_f)
- 56: 7(bool) FOrdNotEqual 55 21
- 57: 44(bvec4) CompositeConstruct 48 50 52 56
- Store 46(b4) 57
- 60: 17(float) Load 19(u_f)
- 61: 10(int) ConvertFToS 60
- 62: 7(bool) Load 9(b)
- 65: 10(int) Select 62 64 63
- 66: 10(int) IAdd 61 65
- Store 59(i) 66
- 73: 70(fvec2) Load 72(u_f2)
- 74: 67(ivec2) ConvertFToS 73
- 75: 24(bvec2) Load 26(b2)
- 78: 67(ivec2) Select 75 77 76
- 79: 67(ivec2) IAdd 74 78
- Store 69(i2) 79
- 86: 83(fvec3) Load 85(u_f3)
- 87: 80(ivec3) ConvertFToS 86
- 88: 32(bvec3) Load 34(b3)
- 91: 80(ivec3) Select 88 90 89
- 92: 80(ivec3) IAdd 87 91
- Store 82(i3) 92
- 99: 96(fvec4) Load 98(u_f4)
- 100: 93(ivec4) ConvertFToS 99
- 101: 44(bvec4) Load 46(b4)
- 104: 93(ivec4) Select 101 103 102
- 105: 93(ivec4) IAdd 100 104
- Store 95(i4) 105
- 108: 10(int) Load 59(i)
- 109: 17(float) ConvertSToF 108
- Store 107(f) 109
- 112: 67(ivec2) Load 69(i2)
- 113: 70(fvec2) ConvertSToF 112
- Store 111(f2) 113
- 116: 80(ivec3) Load 82(i3)
- 117: 83(fvec3) ConvertSToF 116
- Store 115(f3) 117
- 120: 93(ivec4) Load 95(i4)
- 121: 96(fvec4) ConvertSToF 120
- Store 119(f4) 121
- 122: 10(int) Load 59(i)
- 123: 17(float) ConvertSToF 122
- 124: 7(bool) Load 9(b)
- 126: 17(float) Select 124 125 21
- 127: 17(float) FAdd 123 126
- 128: 17(float) Load 107(f)
- 129: 17(float) FAdd 128 127
- Store 107(f) 129
- 130: 67(ivec2) Load 69(i2)
- 131: 70(fvec2) ConvertSToF 130
- 132: 24(bvec2) Load 26(b2)
- 135: 70(fvec2) Select 132 134 133
- 136: 70(fvec2) FAdd 131 135
- 137: 70(fvec2) Load 111(f2)
- 138: 70(fvec2) FSub 137 136
- Store 111(f2) 138
- 139: 80(ivec3) Load 82(i3)
- 140: 83(fvec3) ConvertSToF 139
- 141: 32(bvec3) Load 34(b3)
- 144: 83(fvec3) Select 141 143 142
- 145: 83(fvec3) FAdd 140 144
- 146: 83(fvec3) Load 115(f3)
- 147: 83(fvec3) FDiv 146 145
- Store 115(f3) 147
- 148: 93(ivec4) Load 95(i4)
- 149: 96(fvec4) ConvertSToF 148
- 150: 44(bvec4) Load 46(b4)
- 153: 96(fvec4) Select 150 152 151
- 154: 96(fvec4) FAdd 149 153
- 155: 96(fvec4) Load 119(f4)
- 156: 96(fvec4) FAdd 155 154
- Store 119(f4) 156
- 159: 93(ivec4) Load 158(i_i4)
- 162: 44(bvec4) INotEqual 159 161
- 163: 96(fvec4) Select 162 152 151
- 164: 96(fvec4) Load 119(f4)
- 165: 96(fvec4) FAdd 164 163
- Store 119(f4) 165
- 166: 96(fvec4) Load 98(u_f4)
- 167: 44(bvec4) FOrdNotEqual 166 151
- 168: 96(fvec4) Select 167 152 151
- 169: 96(fvec4) Load 119(f4)
- 170: 96(fvec4) FAdd 169 168
- Store 119(f4) 170
- 171: 17(float) Load 107(f)
- 172: 10(int) Load 59(i)
- 173: 17(float) ConvertSToF 172
- 174: 17(float) FSub 171 173
- 175: 17(float) Load 107(f)
- 176: 17(float) FAdd 175 174
- Store 107(f) 176
- 177: 17(float) Load 107(f)
- 178: 10(int) Load 59(i)
- 179: 17(float) ConvertSToF 178
- 180: 70(fvec2) CompositeConstruct 177 179
- 181: 67(ivec2) Load 69(i2)
- 182: 70(fvec2) ConvertSToF 181
- 183: 70(fvec2) FAdd 180 182
- 184: 70(fvec2) Load 111(f2)
- 185: 70(fvec2) FAdd 184 183
- Store 111(f2) 185
- 186: 80(ivec3) Load 82(i3)
- 187: 83(fvec3) ConvertSToF 186
- 188: 17(float) Load 107(f)
- 189: 10(int) Load 59(i)
- 190: 17(float) ConvertSToF 189
- 191: 17(float) Load 107(f)
- 192: 83(fvec3) CompositeConstruct 188 190 191
- 193: 83(fvec3) FAdd 187 192
- 194: 83(fvec3) Load 115(f3)
- 195: 83(fvec3) FAdd 194 193
- Store 115(f3) 195
- 196: 7(bool) Load 9(b)
- 197: 17(float) Select 196 125 21
- 198: 10(int) Load 59(i)
- 199: 17(float) ConvertSToF 198
- 200: 17(float) Load 107(f)
- 201: 10(int) Load 59(i)
- 202: 17(float) ConvertSToF 201
- 203: 96(fvec4) CompositeConstruct 197 199 200 202
- 204: 93(ivec4) Load 95(i4)
- 205: 96(fvec4) ConvertSToF 204
- 206: 96(fvec4) FAdd 203 205
- 207: 96(fvec4) Load 119(f4)
- 208: 96(fvec4) FAdd 207 206
- Store 119(f4) 208
- 209: 17(float) Load 107(f)
- 210: 10(int) Load 59(i)
- 211: 17(float) ConvertSToF 210
- 212: 70(fvec2) CompositeConstruct 209 211
- 213: 10(int) Load 59(i)
- 214: 17(float) ConvertSToF 213
- 215: 70(fvec2) VectorTimesScalar 212 214
- 216: 70(fvec2) Load 111(f2)
- 217: 70(fvec2) FAdd 216 215
- Store 111(f2) 217
- 218: 17(float) Load 107(f)
- 219: 10(int) Load 59(i)
- 220: 17(float) ConvertSToF 219
- 221: 17(float) Load 107(f)
- 222: 83(fvec3) CompositeConstruct 218 220 221
- 223: 10(int) Load 59(i)
- 224: 17(float) ConvertSToF 223
- 225: 83(fvec3) CompositeConstruct 224 224 224
- 226: 83(fvec3) FAdd 222 225
- 227: 83(fvec3) Load 115(f3)
- 228: 83(fvec3) FAdd 227 226
- Store 115(f3) 228
- 229: 10(int) Load 59(i)
- 230: 17(float) ConvertSToF 229
- 231: 7(bool) Load 9(b)
- 232: 17(float) Select 231 125 21
- 233: 10(int) Load 59(i)
- 234: 17(float) ConvertSToF 233
- 235: 17(float) Load 107(f)
- 236: 10(int) Load 59(i)
- 237: 17(float) ConvertSToF 236
- 238: 96(fvec4) CompositeConstruct 232 234 235 237
- 239: 96(fvec4) CompositeConstruct 230 230 230 230
- 240: 96(fvec4) FSub 239 238
- 241: 96(fvec4) Load 119(f4)
- 242: 96(fvec4) FAdd 241 240
- Store 119(f4) 242
- 243: 17(float) Load 107(f)
- 244: 10(int) ConvertFToS 243
- 245: 10(int) Load 59(i)
- 246: 67(ivec2) CompositeConstruct 244 245
- 247: 67(ivec2) Load 69(i2)
- 248: 67(ivec2) IAdd 247 246
- Store 69(i2) 248
- 249: 17(float) Load 107(f)
- 250: 10(int) ConvertFToS 249
- 251: 10(int) Load 59(i)
- 252: 17(float) Load 107(f)
- 253: 10(int) ConvertFToS 252
- 254: 80(ivec3) CompositeConstruct 250 251 253
- 255: 80(ivec3) Load 82(i3)
- 256: 80(ivec3) IAdd 255 254
- Store 82(i3) 256
- 257: 7(bool) Load 9(b)
- 258: 10(int) Select 257 64 63
- 259: 10(int) Load 59(i)
- 260: 17(float) Load 107(f)
- 261: 10(int) ConvertFToS 260
- 262: 10(int) Load 59(i)
- 263: 93(ivec4) CompositeConstruct 258 259 261 262
- 264: 93(ivec4) Load 95(i4)
- 265: 93(ivec4) IAdd 264 263
- Store 95(i4) 265
- 266: 17(float) Load 107(f)
- 267: 10(int) Load 59(i)
- 268: 17(float) ConvertSToF 267
- 269: 7(bool) FOrdLessThan 266 268
- 270: 10(int) Load 59(i)
- 271: 17(float) ConvertSToF 270
- 272: 17(float) Load 107(f)
- 273: 7(bool) FOrdLessThan 271 272
- 274: 7(bool) LogicalOr 269 273
- 275: 70(fvec2) Load 111(f2)
- 276: 67(ivec2) Load 69(i2)
- 277: 70(fvec2) ConvertSToF 276
- 278: 24(bvec2) FOrdEqual 275 277
- 279: 7(bool) All 278
- 280: 7(bool) LogicalOr 274 279
- 281: 80(ivec3) Load 82(i3)
- 282: 83(fvec3) ConvertSToF 281
- 283: 83(fvec3) Load 115(f3)
- 284: 32(bvec3) FOrdNotEqual 282 283
- 285: 7(bool) Any 284
- 286: 7(bool) LogicalOr 280 285
- SelectionMerge 288 None
- BranchConditional 286 287 288
- 287: Label
- 290: 7(bool) Load 9(b)
- SelectionMerge 292 None
- BranchConditional 290 291 295
- 291: Label
- 293: 10(int) Load 59(i)
- 294: 17(float) ConvertSToF 293
- Store 289 294
- Branch 292
- 295: Label
- 296: 70(fvec2) Load 111(f2)
- 297: 17(float) CompositeExtract 296 0
- Store 289 297
- Branch 292
- 292: Label
- 298: 17(float) Load 289
- 300: 24(bvec2) Load 26(b2)
- 301: 7(bool) CompositeExtract 300 0
- SelectionMerge 303 None
- BranchConditional 301 302 306
- 302: Label
- 304: 83(fvec3) Load 115(f3)
- 305: 17(float) CompositeExtract 304 0
- Store 299 305
- Branch 303
- 306: Label
- 307: 67(ivec2) Load 69(i2)
- 308: 10(int) CompositeExtract 307 1
- 309: 17(float) ConvertSToF 308
- Store 299 309
- Branch 303
- 303: Label
- 310: 17(float) Load 299
- 311: 17(float) FAdd 298 310
- Store 107(f) 311
- Branch 288
- 288: Label
- 315: 7(bool) Load 9(b)
- 316: 24(bvec2) Load 26(b2)
- 317: 7(bool) CompositeExtract 316 0
- 318: 7(bool) LogicalOr 315 317
- 319: 24(bvec2) Load 26(b2)
- 320: 7(bool) CompositeExtract 319 1
- 321: 7(bool) LogicalOr 318 320
- 322: 32(bvec3) Load 34(b3)
- 323: 7(bool) CompositeExtract 322 0
- 324: 7(bool) LogicalOr 321 323
- 325: 32(bvec3) Load 34(b3)
- 326: 7(bool) CompositeExtract 325 1
- 327: 7(bool) LogicalOr 324 326
- 328: 32(bvec3) Load 34(b3)
- 329: 7(bool) CompositeExtract 328 2
- 330: 7(bool) LogicalOr 327 329
- 331: 44(bvec4) Load 46(b4)
- 332: 7(bool) CompositeExtract 331 0
- 333: 7(bool) LogicalOr 330 332
- 334: 44(bvec4) Load 46(b4)
- 335: 7(bool) CompositeExtract 334 1
- 336: 7(bool) LogicalOr 333 335
- 337: 44(bvec4) Load 46(b4)
- 338: 7(bool) CompositeExtract 337 2
- 339: 7(bool) LogicalOr 336 338
- 340: 44(bvec4) Load 46(b4)
- 341: 7(bool) CompositeExtract 340 3
- 342: 7(bool) LogicalOr 339 341
- SelectionMerge 344 None
- BranchConditional 342 343 404
- 343: Label
- 345: 10(int) Load 59(i)
- 346: 67(ivec2) Load 69(i2)
- 347: 10(int) CompositeExtract 346 0
- 348: 10(int) IAdd 345 347
- 349: 67(ivec2) Load 69(i2)
- 350: 10(int) CompositeExtract 349 1
- 351: 10(int) IAdd 348 350
- 352: 80(ivec3) Load 82(i3)
- 353: 10(int) CompositeExtract 352 0
- 354: 10(int) IAdd 351 353
- 355: 80(ivec3) Load 82(i3)
- 356: 10(int) CompositeExtract 355 1
- 357: 10(int) IAdd 354 356
- 358: 80(ivec3) Load 82(i3)
- 359: 10(int) CompositeExtract 358 2
- 360: 10(int) IAdd 357 359
- 361: 93(ivec4) Load 95(i4)
- 362: 10(int) CompositeExtract 361 0
- 363: 10(int) IAdd 360 362
- 364: 93(ivec4) Load 95(i4)
- 365: 10(int) CompositeExtract 364 1
- 366: 10(int) IAdd 363 365
- 367: 93(ivec4) Load 95(i4)
- 368: 10(int) CompositeExtract 367 2
- 369: 10(int) IAdd 366 368
- 370: 93(ivec4) Load 95(i4)
- 371: 10(int) CompositeExtract 370 3
- 372: 10(int) IAdd 369 371
- 373: 17(float) ConvertSToF 372
- 374: 17(float) Load 107(f)
- 375: 17(float) FAdd 373 374
- 376: 70(fvec2) Load 111(f2)
- 377: 17(float) CompositeExtract 376 0
- 378: 17(float) FAdd 375 377
- 379: 70(fvec2) Load 111(f2)
- 380: 17(float) CompositeExtract 379 1
- 381: 17(float) FAdd 378 380
- 382: 83(fvec3) Load 115(f3)
- 383: 17(float) CompositeExtract 382 0
- 384: 17(float) FAdd 381 383
- 385: 83(fvec3) Load 115(f3)
- 386: 17(float) CompositeExtract 385 1
- 387: 17(float) FAdd 384 386
- 388: 83(fvec3) Load 115(f3)
- 389: 17(float) CompositeExtract 388 2
- 390: 17(float) FAdd 387 389
- 391: 96(fvec4) Load 119(f4)
- 392: 17(float) CompositeExtract 391 0
- 393: 17(float) FAdd 390 392
- 394: 96(fvec4) Load 119(f4)
- 395: 17(float) CompositeExtract 394 1
- 396: 17(float) FAdd 393 395
- 397: 96(fvec4) Load 119(f4)
- 398: 17(float) CompositeExtract 397 2
- 399: 17(float) FAdd 396 398
- 400: 96(fvec4) Load 119(f4)
- 401: 17(float) CompositeExtract 400 3
- 402: 17(float) FAdd 399 401
- 403: 96(fvec4) CompositeConstruct 402 402 402 402
- Store 314 403
- Branch 344
- 404: Label
- Store 314 152
- Branch 344
- 344: Label
- 405: 96(fvec4) Load 314
- Store 313(gl_FragColor) 405
- Store 406(cv2) 103
- 408: 93(ivec4) Load 406(cv2)
- 409: 44(bvec4) INotEqual 408 161
- Store 407(cv5) 409
- 410: 44(bvec4) Load 407(cv5)
- 411: 96(fvec4) Select 410 152 151
- 412: 17(float) CompositeExtract 411 0
- 413: 96(fvec4) Load 313(gl_FragColor)
- 414: 96(fvec4) CompositeConstruct 412 412 412 412
- 415: 96(fvec4) FAdd 413 414
- Store 313(gl_FragColor) 415
- Branch 6
- 6: Label
+ 8(b): 7(ptr) Variable Function
+ 25(b2): 24(ptr) Variable Function
+ 33(b3): 32(ptr) Variable Function
+ 45(b4): 44(ptr) Variable Function
+ 58(i): 57(ptr) Variable Function
+ 68(i2): 67(ptr) Variable Function
+ 81(i3): 80(ptr) Variable Function
+ 94(i4): 93(ptr) Variable Function
+ 106(f): 105(ptr) Variable Function
+ 110(f2): 109(ptr) Variable Function
+ 114(f3): 113(ptr) Variable Function
+ 118(f4): 117(ptr) Variable Function
+ 288: 105(ptr) Variable Function
+ 298: 105(ptr) Variable Function
+ 313: 117(ptr) Variable Function
+ 405(cv2): 93(ptr) Variable Function
+ 406(cv5): 44(ptr) Variable Function
+ 12: 9(int) Load 11(u_i)
+ 15: 6(bool) INotEqual 12 14
+ 19: 16(float) Load 18(u_f)
+ 21: 6(bool) FOrdNotEqual 19 20
+ 22: 6(bool) LogicalNotEqual 15 21
+ Store 8(b) 22
+ 26: 9(int) Load 11(u_i)
+ 27: 6(bool) INotEqual 26 14
+ 28: 16(float) Load 18(u_f)
+ 29: 6(bool) FOrdNotEqual 28 20
+ 30: 23(bvec2) CompositeConstruct 27 29
+ Store 25(b2) 30
+ 34: 9(int) Load 11(u_i)
+ 35: 6(bool) INotEqual 34 14
+ 36: 16(float) Load 18(u_f)
+ 37: 6(bool) FOrdNotEqual 36 20
+ 40: 9(int) Load 39(i_i)
+ 41: 6(bool) INotEqual 40 14
+ 42: 31(bvec3) CompositeConstruct 35 37 41
+ Store 33(b3) 42
+ 46: 9(int) Load 11(u_i)
+ 47: 6(bool) INotEqual 46 14
+ 48: 16(float) Load 18(u_f)
+ 49: 6(bool) FOrdNotEqual 48 20
+ 50: 9(int) Load 39(i_i)
+ 51: 6(bool) INotEqual 50 14
+ 54: 16(float) Load 53(i_f)
+ 55: 6(bool) FOrdNotEqual 54 20
+ 56: 43(bvec4) CompositeConstruct 47 49 51 55
+ Store 45(b4) 56
+ 59: 16(float) Load 18(u_f)
+ 60: 9(int) ConvertFToS 59
+ 61: 6(bool) Load 8(b)
+ 64: 9(int) Select 61 63 62
+ 65: 9(int) IAdd 60 64
+ Store 58(i) 65
+ 72: 69(fvec2) Load 71(u_f2)
+ 73: 66(ivec2) ConvertFToS 72
+ 74: 23(bvec2) Load 25(b2)
+ 77: 66(ivec2) Select 74 76 75
+ 78: 66(ivec2) IAdd 73 77
+ Store 68(i2) 78
+ 85: 82(fvec3) Load 84(u_f3)
+ 86: 79(ivec3) ConvertFToS 85
+ 87: 31(bvec3) Load 33(b3)
+ 90: 79(ivec3) Select 87 89 88
+ 91: 79(ivec3) IAdd 86 90
+ Store 81(i3) 91
+ 98: 95(fvec4) Load 97(u_f4)
+ 99: 92(ivec4) ConvertFToS 98
+ 100: 43(bvec4) Load 45(b4)
+ 103: 92(ivec4) Select 100 102 101
+ 104: 92(ivec4) IAdd 99 103
+ Store 94(i4) 104
+ 107: 9(int) Load 58(i)
+ 108: 16(float) ConvertSToF 107
+ Store 106(f) 108
+ 111: 66(ivec2) Load 68(i2)
+ 112: 69(fvec2) ConvertSToF 111
+ Store 110(f2) 112
+ 115: 79(ivec3) Load 81(i3)
+ 116: 82(fvec3) ConvertSToF 115
+ Store 114(f3) 116
+ 119: 92(ivec4) Load 94(i4)
+ 120: 95(fvec4) ConvertSToF 119
+ Store 118(f4) 120
+ 121: 9(int) Load 58(i)
+ 122: 16(float) ConvertSToF 121
+ 123: 6(bool) Load 8(b)
+ 125: 16(float) Select 123 124 20
+ 126: 16(float) FAdd 122 125
+ 127: 16(float) Load 106(f)
+ 128: 16(float) FAdd 127 126
+ Store 106(f) 128
+ 129: 66(ivec2) Load 68(i2)
+ 130: 69(fvec2) ConvertSToF 129
+ 131: 23(bvec2) Load 25(b2)
+ 134: 69(fvec2) Select 131 133 132
+ 135: 69(fvec2) FAdd 130 134
+ 136: 69(fvec2) Load 110(f2)
+ 137: 69(fvec2) FSub 136 135
+ Store 110(f2) 137
+ 138: 79(ivec3) Load 81(i3)
+ 139: 82(fvec3) ConvertSToF 138
+ 140: 31(bvec3) Load 33(b3)
+ 143: 82(fvec3) Select 140 142 141
+ 144: 82(fvec3) FAdd 139 143
+ 145: 82(fvec3) Load 114(f3)
+ 146: 82(fvec3) FDiv 145 144
+ Store 114(f3) 146
+ 147: 92(ivec4) Load 94(i4)
+ 148: 95(fvec4) ConvertSToF 147
+ 149: 43(bvec4) Load 45(b4)
+ 152: 95(fvec4) Select 149 151 150
+ 153: 95(fvec4) FAdd 148 152
+ 154: 95(fvec4) Load 118(f4)
+ 155: 95(fvec4) FAdd 154 153
+ Store 118(f4) 155
+ 158: 92(ivec4) Load 157(i_i4)
+ 161: 43(bvec4) INotEqual 158 160
+ 162: 95(fvec4) Select 161 151 150
+ 163: 95(fvec4) Load 118(f4)
+ 164: 95(fvec4) FAdd 163 162
+ Store 118(f4) 164
+ 165: 95(fvec4) Load 97(u_f4)
+ 166: 43(bvec4) FOrdNotEqual 165 150
+ 167: 95(fvec4) Select 166 151 150
+ 168: 95(fvec4) Load 118(f4)
+ 169: 95(fvec4) FAdd 168 167
+ Store 118(f4) 169
+ 170: 16(float) Load 106(f)
+ 171: 9(int) Load 58(i)
+ 172: 16(float) ConvertSToF 171
+ 173: 16(float) FSub 170 172
+ 174: 16(float) Load 106(f)
+ 175: 16(float) FAdd 174 173
+ Store 106(f) 175
+ 176: 16(float) Load 106(f)
+ 177: 9(int) Load 58(i)
+ 178: 16(float) ConvertSToF 177
+ 179: 69(fvec2) CompositeConstruct 176 178
+ 180: 66(ivec2) Load 68(i2)
+ 181: 69(fvec2) ConvertSToF 180
+ 182: 69(fvec2) FAdd 179 181
+ 183: 69(fvec2) Load 110(f2)
+ 184: 69(fvec2) FAdd 183 182
+ Store 110(f2) 184
+ 185: 79(ivec3) Load 81(i3)
+ 186: 82(fvec3) ConvertSToF 185
+ 187: 16(float) Load 106(f)
+ 188: 9(int) Load 58(i)
+ 189: 16(float) ConvertSToF 188
+ 190: 16(float) Load 106(f)
+ 191: 82(fvec3) CompositeConstruct 187 189 190
+ 192: 82(fvec3) FAdd 186 191
+ 193: 82(fvec3) Load 114(f3)
+ 194: 82(fvec3) FAdd 193 192
+ Store 114(f3) 194
+ 195: 6(bool) Load 8(b)
+ 196: 16(float) Select 195 124 20
+ 197: 9(int) Load 58(i)
+ 198: 16(float) ConvertSToF 197
+ 199: 16(float) Load 106(f)
+ 200: 9(int) Load 58(i)
+ 201: 16(float) ConvertSToF 200
+ 202: 95(fvec4) CompositeConstruct 196 198 199 201
+ 203: 92(ivec4) Load 94(i4)
+ 204: 95(fvec4) ConvertSToF 203
+ 205: 95(fvec4) FAdd 202 204
+ 206: 95(fvec4) Load 118(f4)
+ 207: 95(fvec4) FAdd 206 205
+ Store 118(f4) 207
+ 208: 16(float) Load 106(f)
+ 209: 9(int) Load 58(i)
+ 210: 16(float) ConvertSToF 209
+ 211: 69(fvec2) CompositeConstruct 208 210
+ 212: 9(int) Load 58(i)
+ 213: 16(float) ConvertSToF 212
+ 214: 69(fvec2) VectorTimesScalar 211 213
+ 215: 69(fvec2) Load 110(f2)
+ 216: 69(fvec2) FAdd 215 214
+ Store 110(f2) 216
+ 217: 16(float) Load 106(f)
+ 218: 9(int) Load 58(i)
+ 219: 16(float) ConvertSToF 218
+ 220: 16(float) Load 106(f)
+ 221: 82(fvec3) CompositeConstruct 217 219 220
+ 222: 9(int) Load 58(i)
+ 223: 16(float) ConvertSToF 222
+ 224: 82(fvec3) CompositeConstruct 223 223 223
+ 225: 82(fvec3) FAdd 221 224
+ 226: 82(fvec3) Load 114(f3)
+ 227: 82(fvec3) FAdd 226 225
+ Store 114(f3) 227
+ 228: 9(int) Load 58(i)
+ 229: 16(float) ConvertSToF 228
+ 230: 6(bool) Load 8(b)
+ 231: 16(float) Select 230 124 20
+ 232: 9(int) Load 58(i)
+ 233: 16(float) ConvertSToF 232
+ 234: 16(float) Load 106(f)
+ 235: 9(int) Load 58(i)
+ 236: 16(float) ConvertSToF 235
+ 237: 95(fvec4) CompositeConstruct 231 233 234 236
+ 238: 95(fvec4) CompositeConstruct 229 229 229 229
+ 239: 95(fvec4) FSub 238 237
+ 240: 95(fvec4) Load 118(f4)
+ 241: 95(fvec4) FAdd 240 239
+ Store 118(f4) 241
+ 242: 16(float) Load 106(f)
+ 243: 9(int) ConvertFToS 242
+ 244: 9(int) Load 58(i)
+ 245: 66(ivec2) CompositeConstruct 243 244
+ 246: 66(ivec2) Load 68(i2)
+ 247: 66(ivec2) IAdd 246 245
+ Store 68(i2) 247
+ 248: 16(float) Load 106(f)
+ 249: 9(int) ConvertFToS 248
+ 250: 9(int) Load 58(i)
+ 251: 16(float) Load 106(f)
+ 252: 9(int) ConvertFToS 251
+ 253: 79(ivec3) CompositeConstruct 249 250 252
+ 254: 79(ivec3) Load 81(i3)
+ 255: 79(ivec3) IAdd 254 253
+ Store 81(i3) 255
+ 256: 6(bool) Load 8(b)
+ 257: 9(int) Select 256 63 62
+ 258: 9(int) Load 58(i)
+ 259: 16(float) Load 106(f)
+ 260: 9(int) ConvertFToS 259
+ 261: 9(int) Load 58(i)
+ 262: 92(ivec4) CompositeConstruct 257 258 260 261
+ 263: 92(ivec4) Load 94(i4)
+ 264: 92(ivec4) IAdd 263 262
+ Store 94(i4) 264
+ 265: 16(float) Load 106(f)
+ 266: 9(int) Load 58(i)
+ 267: 16(float) ConvertSToF 266
+ 268: 6(bool) FOrdLessThan 265 267
+ 269: 9(int) Load 58(i)
+ 270: 16(float) ConvertSToF 269
+ 271: 16(float) Load 106(f)
+ 272: 6(bool) FOrdLessThan 270 271
+ 273: 6(bool) LogicalOr 268 272
+ 274: 69(fvec2) Load 110(f2)
+ 275: 66(ivec2) Load 68(i2)
+ 276: 69(fvec2) ConvertSToF 275
+ 277: 23(bvec2) FOrdEqual 274 276
+ 278: 6(bool) All 277
+ 279: 6(bool) LogicalOr 273 278
+ 280: 79(ivec3) Load 81(i3)
+ 281: 82(fvec3) ConvertSToF 280
+ 282: 82(fvec3) Load 114(f3)
+ 283: 31(bvec3) FOrdNotEqual 281 282
+ 284: 6(bool) Any 283
+ 285: 6(bool) LogicalOr 279 284
+ SelectionMerge 287 None
+ BranchConditional 285 286 287
+ 286: Label
+ 289: 6(bool) Load 8(b)
+ SelectionMerge 291 None
+ BranchConditional 289 290 294
+ 290: Label
+ 292: 9(int) Load 58(i)
+ 293: 16(float) ConvertSToF 292
+ Store 288 293
+ Branch 291
+ 294: Label
+ 295: 69(fvec2) Load 110(f2)
+ 296: 16(float) CompositeExtract 295 0
+ Store 288 296
+ Branch 291
+ 291: Label
+ 297: 16(float) Load 288
+ 299: 23(bvec2) Load 25(b2)
+ 300: 6(bool) CompositeExtract 299 0
+ SelectionMerge 302 None
+ BranchConditional 300 301 305
+ 301: Label
+ 303: 82(fvec3) Load 114(f3)
+ 304: 16(float) CompositeExtract 303 0
+ Store 298 304
+ Branch 302
+ 305: Label
+ 306: 66(ivec2) Load 68(i2)
+ 307: 9(int) CompositeExtract 306 1
+ 308: 16(float) ConvertSToF 307
+ Store 298 308
+ Branch 302
+ 302: Label
+ 309: 16(float) Load 298
+ 310: 16(float) FAdd 297 309
+ Store 106(f) 310
+ Branch 287
+ 287: Label
+ 314: 6(bool) Load 8(b)
+ 315: 23(bvec2) Load 25(b2)
+ 316: 6(bool) CompositeExtract 315 0
+ 317: 6(bool) LogicalOr 314 316
+ 318: 23(bvec2) Load 25(b2)
+ 319: 6(bool) CompositeExtract 318 1
+ 320: 6(bool) LogicalOr 317 319
+ 321: 31(bvec3) Load 33(b3)
+ 322: 6(bool) CompositeExtract 321 0
+ 323: 6(bool) LogicalOr 320 322
+ 324: 31(bvec3) Load 33(b3)
+ 325: 6(bool) CompositeExtract 324 1
+ 326: 6(bool) LogicalOr 323 325
+ 327: 31(bvec3) Load 33(b3)
+ 328: 6(bool) CompositeExtract 327 2
+ 329: 6(bool) LogicalOr 326 328
+ 330: 43(bvec4) Load 45(b4)
+ 331: 6(bool) CompositeExtract 330 0
+ 332: 6(bool) LogicalOr 329 331
+ 333: 43(bvec4) Load 45(b4)
+ 334: 6(bool) CompositeExtract 333 1
+ 335: 6(bool) LogicalOr 332 334
+ 336: 43(bvec4) Load 45(b4)
+ 337: 6(bool) CompositeExtract 336 2
+ 338: 6(bool) LogicalOr 335 337
+ 339: 43(bvec4) Load 45(b4)
+ 340: 6(bool) CompositeExtract 339 3
+ 341: 6(bool) LogicalOr 338 340
+ SelectionMerge 343 None
+ BranchConditional 341 342 403
+ 342: Label
+ 344: 9(int) Load 58(i)
+ 345: 66(ivec2) Load 68(i2)
+ 346: 9(int) CompositeExtract 345 0
+ 347: 9(int) IAdd 344 346
+ 348: 66(ivec2) Load 68(i2)
+ 349: 9(int) CompositeExtract 348 1
+ 350: 9(int) IAdd 347 349
+ 351: 79(ivec3) Load 81(i3)
+ 352: 9(int) CompositeExtract 351 0
+ 353: 9(int) IAdd 350 352
+ 354: 79(ivec3) Load 81(i3)
+ 355: 9(int) CompositeExtract 354 1
+ 356: 9(int) IAdd 353 355
+ 357: 79(ivec3) Load 81(i3)
+ 358: 9(int) CompositeExtract 357 2
+ 359: 9(int) IAdd 356 358
+ 360: 92(ivec4) Load 94(i4)
+ 361: 9(int) CompositeExtract 360 0
+ 362: 9(int) IAdd 359 361
+ 363: 92(ivec4) Load 94(i4)
+ 364: 9(int) CompositeExtract 363 1
+ 365: 9(int) IAdd 362 364
+ 366: 92(ivec4) Load 94(i4)
+ 367: 9(int) CompositeExtract 366 2
+ 368: 9(int) IAdd 365 367
+ 369: 92(ivec4) Load 94(i4)
+ 370: 9(int) CompositeExtract 369 3
+ 371: 9(int) IAdd 368 370
+ 372: 16(float) ConvertSToF 371
+ 373: 16(float) Load 106(f)
+ 374: 16(float) FAdd 372 373
+ 375: 69(fvec2) Load 110(f2)
+ 376: 16(float) CompositeExtract 375 0
+ 377: 16(float) FAdd 374 376
+ 378: 69(fvec2) Load 110(f2)
+ 379: 16(float) CompositeExtract 378 1
+ 380: 16(float) FAdd 377 379
+ 381: 82(fvec3) Load 114(f3)
+ 382: 16(float) CompositeExtract 381 0
+ 383: 16(float) FAdd 380 382
+ 384: 82(fvec3) Load 114(f3)
+ 385: 16(float) CompositeExtract 384 1
+ 386: 16(float) FAdd 383 385
+ 387: 82(fvec3) Load 114(f3)
+ 388: 16(float) CompositeExtract 387 2
+ 389: 16(float) FAdd 386 388
+ 390: 95(fvec4) Load 118(f4)
+ 391: 16(float) CompositeExtract 390 0
+ 392: 16(float) FAdd 389 391
+ 393: 95(fvec4) Load 118(f4)
+ 394: 16(float) CompositeExtract 393 1
+ 395: 16(float) FAdd 392 394
+ 396: 95(fvec4) Load 118(f4)
+ 397: 16(float) CompositeExtract 396 2
+ 398: 16(float) FAdd 395 397
+ 399: 95(fvec4) Load 118(f4)
+ 400: 16(float) CompositeExtract 399 3
+ 401: 16(float) FAdd 398 400
+ 402: 95(fvec4) CompositeConstruct 401 401 401 401
+ Store 313 402
+ Branch 343
+ 403: Label
+ Store 313 151
+ Branch 343
+ 343: Label
+ 404: 95(fvec4) Load 313
+ Store 312(gl_FragColor) 404
+ Store 405(cv2) 102
+ 407: 92(ivec4) Load 405(cv2)
+ 408: 43(bvec4) INotEqual 407 160
+ Store 406(cv5) 408
+ 409: 43(bvec4) Load 406(cv5)
+ 410: 95(fvec4) Select 409 151 150
+ 411: 16(float) CompositeExtract 410 0
+ 412: 95(fvec4) Load 312(gl_FragColor)
+ 413: 95(fvec4) CompositeConstruct 411 411 411 411
+ 414: 95(fvec4) FAdd 412 413
+ Store 312(gl_FragColor) 414
Return
FunctionEnd
diff --git a/Test/baseResults/spv.dataOut.frag.out b/Test/baseResults/spv.dataOut.frag.out
index af9854c..ebbd60f 100755
--- a/Test/baseResults/spv.dataOut.frag.out
+++ b/Test/baseResults/spv.dataOut.frag.out
@@ -7,7 +7,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 21
+// Id's are bound by 20
Source GLSL 130
Capability Shader
@@ -16,30 +16,28 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 13 "gl_FragData"
- Name 17 "Color"
- Decorate 13(gl_FragData) BuiltIn FragColor
- Decorate 17(Color) Smooth
+ Name 12 "gl_FragData"
+ Name 16 "Color"
+ Decorate 12(gl_FragData) BuiltIn FragColor
+ Decorate 16(Color) Smooth
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeVector 7(float) 4
- 9: TypeInt 32 0
- 10: 9(int) Constant 32
- 11: TypeArray 8(fvec4) 10
- 12: TypePointer Output 11
- 13(gl_FragData): 12(ptr) Variable Output
- 14: TypeInt 32 1
- 15: 14(int) Constant 1
- 16: TypePointer Input 8(fvec4)
- 17(Color): 16(ptr) Variable Input
- 19: TypePointer Output 8(fvec4)
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypeInt 32 0
+ 9: 8(int) Constant 32
+ 10: TypeArray 7(fvec4) 9
+ 11: TypePointer Output 10
+ 12(gl_FragData): 11(ptr) Variable Output
+ 13: TypeInt 32 1
+ 14: 13(int) Constant 1
+ 15: TypePointer Input 7(fvec4)
+ 16(Color): 15(ptr) Variable Input
+ 18: TypePointer Output 7(fvec4)
4(main): 2 Function None 3
5: Label
- 18: 8(fvec4) Load 17(Color)
- 20: 19(ptr) AccessChain 13(gl_FragData) 15
- Store 20 18
- Branch 6
- 6: Label
+ 17: 7(fvec4) Load 16(Color)
+ 19: 18(ptr) AccessChain 12(gl_FragData) 14
+ Store 19 17
Return
FunctionEnd
diff --git a/Test/baseResults/spv.dataOutIndirect.frag.out b/Test/baseResults/spv.dataOutIndirect.frag.out
index b103e2d..c88d21c 100755
--- a/Test/baseResults/spv.dataOutIndirect.frag.out
+++ b/Test/baseResults/spv.dataOutIndirect.frag.out
@@ -7,7 +7,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 23
+// Id's are bound by 22
Source GLSL 130
Capability Shader
@@ -16,33 +16,31 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 13 "gl_FragData"
- Name 16 "i"
- Name 19 "Color"
- Decorate 13(gl_FragData) BuiltIn FragColor
- Decorate 19(Color) Smooth
+ Name 12 "gl_FragData"
+ Name 15 "i"
+ Name 18 "Color"
+ Decorate 12(gl_FragData) BuiltIn FragColor
+ Decorate 18(Color) Smooth
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeVector 7(float) 4
- 9: TypeInt 32 0
- 10: 9(int) Constant 32
- 11: TypeArray 8(fvec4) 10
- 12: TypePointer Output 11
- 13(gl_FragData): 12(ptr) Variable Output
- 14: TypeInt 32 1
- 15: TypePointer UniformConstant 14(int)
- 16(i): 15(ptr) Variable UniformConstant
- 18: TypePointer Input 8(fvec4)
- 19(Color): 18(ptr) Variable Input
- 21: TypePointer Output 8(fvec4)
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypeInt 32 0
+ 9: 8(int) Constant 32
+ 10: TypeArray 7(fvec4) 9
+ 11: TypePointer Output 10
+ 12(gl_FragData): 11(ptr) Variable Output
+ 13: TypeInt 32 1
+ 14: TypePointer UniformConstant 13(int)
+ 15(i): 14(ptr) Variable UniformConstant
+ 17: TypePointer Input 7(fvec4)
+ 18(Color): 17(ptr) Variable Input
+ 20: TypePointer Output 7(fvec4)
4(main): 2 Function None 3
5: Label
- 17: 14(int) Load 16(i)
- 20: 8(fvec4) Load 19(Color)
- 22: 21(ptr) AccessChain 13(gl_FragData) 17
- Store 22 20
- Branch 6
- 6: Label
+ 16: 13(int) Load 15(i)
+ 19: 7(fvec4) Load 18(Color)
+ 21: 20(ptr) AccessChain 12(gl_FragData) 16
+ Store 21 19
Return
FunctionEnd
diff --git a/Test/baseResults/spv.dataOutIndirect.vert.out b/Test/baseResults/spv.dataOutIndirect.vert.out
index bcf68be..705f7f4 100755
--- a/Test/baseResults/spv.dataOutIndirect.vert.out
+++ b/Test/baseResults/spv.dataOutIndirect.vert.out
@@ -8,7 +8,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 39
+// Id's are bound by 38
Source GLSL 130
Capability Shader
@@ -16,60 +16,58 @@
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main"
Name 4 "main"
- Name 9 "i"
- Name 24 "colorOut"
- Name 27 "color"
- Name 33 "gl_Position"
- Name 38 "gl_VertexID"
- Decorate 24(colorOut) Smooth
- Decorate 33(gl_Position) BuiltIn Position
- Decorate 38(gl_VertexID) BuiltIn VertexId
- Decorate 38(gl_VertexID) NoStaticUse
+ Name 8 "i"
+ Name 23 "colorOut"
+ Name 26 "color"
+ Name 32 "gl_Position"
+ Name 37 "gl_VertexID"
+ Decorate 23(colorOut) Smooth
+ Decorate 32(gl_Position) BuiltIn Position
+ Decorate 37(gl_VertexID) BuiltIn VertexId
+ Decorate 37(gl_VertexID) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeInt 32 1
- 8: TypePointer Function 7(int)
- 10: 7(int) Constant 1
- 15: 7(int) Constant 5
- 16: TypeBool
- 18: TypeFloat 32
- 19: TypeVector 18(float) 4
- 20: TypeInt 32 0
- 21: 20(int) Constant 6
- 22: TypeArray 19(fvec4) 21
- 23: TypePointer Output 22
- 24(colorOut): 23(ptr) Variable Output
- 26: TypePointer Input 19(fvec4)
- 27(color): 26(ptr) Variable Input
- 29: TypePointer Output 19(fvec4)
- 33(gl_Position): 29(ptr) Variable Output
- 34: 7(int) Constant 2
- 37: TypePointer Input 7(int)
- 38(gl_VertexID): 37(ptr) Variable Input
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 1
+ 14: 6(int) Constant 5
+ 15: TypeBool
+ 17: TypeFloat 32
+ 18: TypeVector 17(float) 4
+ 19: TypeInt 32 0
+ 20: 19(int) Constant 6
+ 21: TypeArray 18(fvec4) 20
+ 22: TypePointer Output 21
+ 23(colorOut): 22(ptr) Variable Output
+ 25: TypePointer Input 18(fvec4)
+ 26(color): 25(ptr) Variable Input
+ 28: TypePointer Output 18(fvec4)
+ 32(gl_Position): 28(ptr) Variable Output
+ 33: 6(int) Constant 2
+ 36: TypePointer Input 6(int)
+ 37(gl_VertexID): 36(ptr) Variable Input
4(main): 2 Function None 3
5: Label
- 9(i): 8(ptr) Variable Function
- Store 9(i) 10
- Branch 11
+ 8(i): 7(ptr) Variable Function
+ Store 8(i) 9
+ Branch 10
+ 10: Label
+ 13: 6(int) Load 8(i)
+ 16: 15(bool) SLessThan 13 14
+ LoopMerge 11 None
+ BranchConditional 16 12 11
+ 12: Label
+ 24: 6(int) Load 8(i)
+ 27: 18(fvec4) Load 26(color)
+ 29: 28(ptr) AccessChain 23(colorOut) 24
+ Store 29 27
+ 30: 6(int) Load 8(i)
+ 31: 6(int) IAdd 30 9
+ Store 8(i) 31
+ Branch 10
11: Label
- 14: 7(int) Load 9(i)
- 17: 16(bool) SLessThan 14 15
- LoopMerge 12 None
- BranchConditional 17 13 12
- 13: Label
- 25: 7(int) Load 9(i)
- 28: 19(fvec4) Load 27(color)
- 30: 29(ptr) AccessChain 24(colorOut) 25
- Store 30 28
- 31: 7(int) Load 9(i)
- 32: 7(int) IAdd 31 10
- Store 9(i) 32
- Branch 11
- 12: Label
- 35: 29(ptr) AccessChain 24(colorOut) 34
- 36: 19(fvec4) Load 35
- Store 33(gl_Position) 36
- Branch 6
- 6: Label
+ 34: 28(ptr) AccessChain 23(colorOut) 33
+ 35: 18(fvec4) Load 34
+ Store 32(gl_Position) 35
Return
FunctionEnd
diff --git a/Test/baseResults/spv.depthOut.frag.out b/Test/baseResults/spv.depthOut.frag.out
index 319d79b..426b106 100755
--- a/Test/baseResults/spv.depthOut.frag.out
+++ b/Test/baseResults/spv.depthOut.frag.out
@@ -8,7 +8,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 19
+// Id's are bound by 18
Source GLSL 130
Capability Shader
@@ -17,33 +17,31 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 9 "gl_FragDepth"
- Name 11 "Depth"
- Name 15 "gl_FragColor"
- Name 17 "Color"
- Decorate 9(gl_FragDepth) BuiltIn FragDepth
- Decorate 11(Depth) Smooth
- Decorate 15(gl_FragColor) BuiltIn FragColor
- Decorate 17(Color) Smooth
+ Name 8 "gl_FragDepth"
+ Name 10 "Depth"
+ Name 14 "gl_FragColor"
+ Name 16 "Color"
+ Decorate 8(gl_FragDepth) BuiltIn FragDepth
+ Decorate 10(Depth) Smooth
+ Decorate 14(gl_FragColor) BuiltIn FragColor
+ Decorate 16(Color) Smooth
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypePointer Output 7(float)
- 9(gl_FragDepth): 8(ptr) Variable Output
- 10: TypePointer Input 7(float)
- 11(Depth): 10(ptr) Variable Input
- 13: TypeVector 7(float) 4
- 14: TypePointer Output 13(fvec4)
-15(gl_FragColor): 14(ptr) Variable Output
- 16: TypePointer Input 13(fvec4)
- 17(Color): 16(ptr) Variable Input
+ 6: TypeFloat 32
+ 7: TypePointer Output 6(float)
+ 8(gl_FragDepth): 7(ptr) Variable Output
+ 9: TypePointer Input 6(float)
+ 10(Depth): 9(ptr) Variable Input
+ 12: TypeVector 6(float) 4
+ 13: TypePointer Output 12(fvec4)
+14(gl_FragColor): 13(ptr) Variable Output
+ 15: TypePointer Input 12(fvec4)
+ 16(Color): 15(ptr) Variable Input
4(main): 2 Function None 3
5: Label
- 12: 7(float) Load 11(Depth)
- Store 9(gl_FragDepth) 12
- 18: 13(fvec4) Load 17(Color)
- Store 15(gl_FragColor) 18
- Branch 6
- 6: Label
+ 11: 6(float) Load 10(Depth)
+ Store 8(gl_FragDepth) 11
+ 17: 12(fvec4) Load 16(Color)
+ Store 14(gl_FragColor) 17
Return
FunctionEnd
diff --git a/Test/baseResults/spv.discard-dce.frag.out b/Test/baseResults/spv.discard-dce.frag.out
index ef1bf46..087fe69 100755
--- a/Test/baseResults/spv.discard-dce.frag.out
+++ b/Test/baseResults/spv.discard-dce.frag.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 81
+// Id's are bound by 80
Source GLSL 110
Capability Shader
@@ -14,117 +14,115 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 10 "white"
- Name 13 "black"
- Name 16 "color"
- Name 19 "x"
- Name 22 "tex_coord"
- Name 28 "y"
- Name 33 "radius"
- Name 56 "gl_FragColor"
- Decorate 22(tex_coord) Smooth
- Decorate 56(gl_FragColor) BuiltIn FragColor
+ Name 9 "white"
+ Name 12 "black"
+ Name 15 "color"
+ Name 18 "x"
+ Name 21 "tex_coord"
+ Name 27 "y"
+ Name 32 "radius"
+ Name 55 "gl_FragColor"
+ Decorate 21(tex_coord) Smooth
+ Decorate 55(gl_FragColor) BuiltIn FragColor
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeVector 7(float) 4
- 9: TypePointer Function 8(fvec4)
- 11: 7(float) Constant 1065353216
- 12: 8(fvec4) ConstantComposite 11 11 11 11
- 14: 7(float) Constant 1045220557
- 15: 8(fvec4) ConstantComposite 14 14 14 14
- 18: TypePointer Function 7(float)
- 20: TypeVector 7(float) 2
- 21: TypePointer Input 20(fvec2)
- 22(tex_coord): 21(ptr) Variable Input
- 25: 7(float) Constant 1073741824
- 43: TypeBool
- 48: 7(float) Constant 1066192077
- 55: TypePointer Output 8(fvec4)
-56(gl_FragColor): 55(ptr) Variable Output
- 59: 7(float) Constant 1067030938
- 68: 7(float) Constant 1061158912
- 73: 7(float) Constant 1098907648
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: 6(float) Constant 1065353216
+ 11: 7(fvec4) ConstantComposite 10 10 10 10
+ 13: 6(float) Constant 1045220557
+ 14: 7(fvec4) ConstantComposite 13 13 13 13
+ 17: TypePointer Function 6(float)
+ 19: TypeVector 6(float) 2
+ 20: TypePointer Input 19(fvec2)
+ 21(tex_coord): 20(ptr) Variable Input
+ 24: 6(float) Constant 1073741824
+ 42: TypeBool
+ 47: 6(float) Constant 1066192077
+ 54: TypePointer Output 7(fvec4)
+55(gl_FragColor): 54(ptr) Variable Output
+ 58: 6(float) Constant 1067030938
+ 67: 6(float) Constant 1061158912
+ 72: 6(float) Constant 1098907648
4(main): 2 Function None 3
5: Label
- 10(white): 9(ptr) Variable Function
- 13(black): 9(ptr) Variable Function
- 16(color): 9(ptr) Variable Function
- 19(x): 18(ptr) Variable Function
- 28(y): 18(ptr) Variable Function
- 33(radius): 18(ptr) Variable Function
- Store 10(white) 12
- Store 13(black) 15
- 17: 8(fvec4) Load 10(white)
- Store 16(color) 17
- 23: 20(fvec2) Load 22(tex_coord)
- 24: 7(float) CompositeExtract 23 0
- 26: 7(float) FMul 24 25
- 27: 7(float) FSub 26 11
- Store 19(x) 27
- 29: 20(fvec2) Load 22(tex_coord)
- 30: 7(float) CompositeExtract 29 1
- 31: 7(float) FMul 30 25
- 32: 7(float) FSub 31 11
- Store 28(y) 32
- 34: 7(float) Load 19(x)
- 35: 7(float) Load 19(x)
- 36: 7(float) FMul 34 35
- 37: 7(float) Load 28(y)
- 38: 7(float) Load 28(y)
- 39: 7(float) FMul 37 38
- 40: 7(float) FAdd 36 39
- 41: 7(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 40
- Store 33(radius) 41
- 42: 7(float) Load 33(radius)
- 44: 43(bool) FOrdGreaterThan 42 11
- SelectionMerge 46 None
- BranchConditional 44 45 46
- 45: Label
- 47: 7(float) Load 33(radius)
- 49: 43(bool) FOrdGreaterThan 47 48
- SelectionMerge 51 None
- BranchConditional 49 50 51
- 50: Label
- 52: 8(fvec4) Load 16(color)
- 53: 8(fvec4) CompositeConstruct 11 11 11 11
- 54: 8(fvec4) FAdd 52 53
- Store 16(color) 54
- Branch 51
- 51: Label
- 57: 8(fvec4) Load 16(color)
- Store 56(gl_FragColor) 57
- 58: 7(float) Load 33(radius)
- 60: 43(bool) FOrdGreaterThan 58 59
- SelectionMerge 62 None
- BranchConditional 60 61 62
- 61: Label
- 63: 8(fvec4) Load 16(color)
- 64: 8(fvec4) CompositeConstruct 11 11 11 11
- 65: 8(fvec4) FAdd 63 64
- Store 16(color) 65
- Branch 62
- 62: Label
+ 9(white): 8(ptr) Variable Function
+ 12(black): 8(ptr) Variable Function
+ 15(color): 8(ptr) Variable Function
+ 18(x): 17(ptr) Variable Function
+ 27(y): 17(ptr) Variable Function
+ 32(radius): 17(ptr) Variable Function
+ Store 9(white) 11
+ Store 12(black) 14
+ 16: 7(fvec4) Load 9(white)
+ Store 15(color) 16
+ 22: 19(fvec2) Load 21(tex_coord)
+ 23: 6(float) CompositeExtract 22 0
+ 25: 6(float) FMul 23 24
+ 26: 6(float) FSub 25 10
+ Store 18(x) 26
+ 28: 19(fvec2) Load 21(tex_coord)
+ 29: 6(float) CompositeExtract 28 1
+ 30: 6(float) FMul 29 24
+ 31: 6(float) FSub 30 10
+ Store 27(y) 31
+ 33: 6(float) Load 18(x)
+ 34: 6(float) Load 18(x)
+ 35: 6(float) FMul 33 34
+ 36: 6(float) Load 27(y)
+ 37: 6(float) Load 27(y)
+ 38: 6(float) FMul 36 37
+ 39: 6(float) FAdd 35 38
+ 40: 6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 39
+ Store 32(radius) 40
+ 41: 6(float) Load 32(radius)
+ 43: 42(bool) FOrdGreaterThan 41 10
+ SelectionMerge 45 None
+ BranchConditional 43 44 45
+ 44: Label
+ 46: 6(float) Load 32(radius)
+ 48: 42(bool) FOrdGreaterThan 46 47
+ SelectionMerge 50 None
+ BranchConditional 48 49 50
+ 49: Label
+ 51: 7(fvec4) Load 15(color)
+ 52: 7(fvec4) CompositeConstruct 10 10 10 10
+ 53: 7(fvec4) FAdd 51 52
+ Store 15(color) 53
+ Branch 50
+ 50: Label
+ 56: 7(fvec4) Load 15(color)
+ Store 55(gl_FragColor) 56
+ 57: 6(float) Load 32(radius)
+ 59: 42(bool) FOrdGreaterThan 57 58
+ SelectionMerge 61 None
+ BranchConditional 59 60 61
+ 60: Label
+ 62: 7(fvec4) Load 15(color)
+ 63: 7(fvec4) CompositeConstruct 10 10 10 10
+ 64: 7(fvec4) FAdd 62 63
+ Store 15(color) 64
+ Branch 61
+ 61: Label
Kill
- 46: Label
- 67: 7(float) Load 33(radius)
- 69: 43(bool) FOrdGreaterThanEqual 67 68
- SelectionMerge 71 None
- BranchConditional 69 70 71
- 70: Label
- 72: 7(float) Load 33(radius)
- 74: 7(float) ExtInst 1(GLSL.std.450) 26(Pow) 72 73
- 75: 7(float) FDiv 74 25
- 76: 7(float) ExtInst 1(GLSL.std.450) 4(FAbs) 75
- 77: 8(fvec4) Load 16(color)
- 78: 8(fvec4) CompositeConstruct 76 76 76 76
- 79: 8(fvec4) FSub 77 78
- Store 16(color) 79
- Branch 71
- 71: Label
- 80: 8(fvec4) Load 16(color)
- Store 56(gl_FragColor) 80
- Branch 6
- 6: Label
+ 45: Label
+ 66: 6(float) Load 32(radius)
+ 68: 42(bool) FOrdGreaterThanEqual 66 67
+ SelectionMerge 70 None
+ BranchConditional 68 69 70
+ 69: Label
+ 71: 6(float) Load 32(radius)
+ 73: 6(float) ExtInst 1(GLSL.std.450) 26(Pow) 71 72
+ 74: 6(float) FDiv 73 24
+ 75: 6(float) ExtInst 1(GLSL.std.450) 4(FAbs) 74
+ 76: 7(fvec4) Load 15(color)
+ 77: 7(fvec4) CompositeConstruct 75 75 75 75
+ 78: 7(fvec4) FSub 76 77
+ Store 15(color) 78
+ Branch 70
+ 70: Label
+ 79: 7(fvec4) Load 15(color)
+ Store 55(gl_FragColor) 79
Return
FunctionEnd
diff --git a/Test/baseResults/spv.do-simple.vert.out b/Test/baseResults/spv.do-simple.vert.out
index 4ba5330..be11114 100755
--- a/Test/baseResults/spv.do-simple.vert.out
+++ b/Test/baseResults/spv.do-simple.vert.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 30
+// Id's are bound by 29
Source ESSL 300
Capability Shader
@@ -13,52 +13,50 @@
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main"
Name 4 "main"
- Name 9 "i"
- Name 28 "gl_VertexID"
- Name 29 "gl_InstanceID"
- Decorate 28(gl_VertexID) BuiltIn VertexId
- Decorate 28(gl_VertexID) NoStaticUse
- Decorate 29(gl_InstanceID) BuiltIn InstanceId
- Decorate 29(gl_InstanceID) NoStaticUse
+ Name 8 "i"
+ Name 27 "gl_VertexID"
+ Name 28 "gl_InstanceID"
+ Decorate 27(gl_VertexID) BuiltIn VertexId
+ Decorate 27(gl_VertexID) NoStaticUse
+ Decorate 28(gl_InstanceID) BuiltIn InstanceId
+ Decorate 28(gl_InstanceID) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeInt 32 1
- 8: TypePointer Function 7(int)
- 10: 7(int) Constant 0
- 15: TypeBool
- 16: 15(bool) ConstantTrue
- 20: 7(int) Constant 10
- 24: 7(int) Constant 1
- 26: 15(bool) ConstantFalse
- 27: TypePointer Input 7(int)
- 28(gl_VertexID): 27(ptr) Variable Input
-29(gl_InstanceID): 27(ptr) Variable Input
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 0
+ 14: TypeBool
+ 15: 14(bool) ConstantTrue
+ 19: 6(int) Constant 10
+ 23: 6(int) Constant 1
+ 25: 14(bool) ConstantFalse
+ 26: TypePointer Input 6(int)
+ 27(gl_VertexID): 26(ptr) Variable Input
+28(gl_InstanceID): 26(ptr) Variable Input
4(main): 2 Function None 3
5: Label
- 9(i): 8(ptr) Variable Function
- Store 9(i) 10
- Branch 11
- 11: Label
- 14: 15(bool) Phi 16 5 26 13
- LoopMerge 12 None
- Branch 17
- 17: Label
- SelectionMerge 13 None
- BranchConditional 14 13 18
- 18: Label
- 19: 7(int) Load 9(i)
- 21: 15(bool) SLessThan 19 20
- SelectionMerge 22 None
- BranchConditional 21 22 12
- 22: Label
- Branch 13
- 13: Label
- 23: 7(int) Load 9(i)
- 25: 7(int) IAdd 23 24
- Store 9(i) 25
- Branch 11
+ 8(i): 7(ptr) Variable Function
+ Store 8(i) 9
+ Branch 10
+ 10: Label
+ 13: 14(bool) Phi 15 5 25 12
+ LoopMerge 11 None
+ Branch 16
+ 16: Label
+ SelectionMerge 12 None
+ BranchConditional 13 12 17
+ 17: Label
+ 18: 6(int) Load 8(i)
+ 20: 14(bool) SLessThan 18 19
+ SelectionMerge 21 None
+ BranchConditional 20 21 11
+ 21: Label
+ Branch 12
12: Label
- Branch 6
- 6: Label
+ 22: 6(int) Load 8(i)
+ 24: 6(int) IAdd 22 23
+ Store 8(i) 24
+ Branch 10
+ 11: Label
Return
FunctionEnd
diff --git a/Test/baseResults/spv.do-while-continue-break.vert.out b/Test/baseResults/spv.do-while-continue-break.vert.out
index e230233..5687acd 100755
--- a/Test/baseResults/spv.do-while-continue-break.vert.out
+++ b/Test/baseResults/spv.do-while-continue-break.vert.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 52
+// Id's are bound by 51
Source ESSL 300
Capability Shader
@@ -13,96 +13,94 @@
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main"
Name 4 "main"
- Name 9 "i"
- Name 25 "A"
- Name 31 "B"
- Name 34 "C"
- Name 40 "D"
- Name 43 "E"
- Name 45 "F"
- Name 47 "G"
- Name 50 "gl_VertexID"
- Name 51 "gl_InstanceID"
- Decorate 50(gl_VertexID) BuiltIn VertexId
- Decorate 50(gl_VertexID) NoStaticUse
- Decorate 51(gl_InstanceID) BuiltIn InstanceId
- Decorate 51(gl_InstanceID) NoStaticUse
+ Name 8 "i"
+ Name 24 "A"
+ Name 30 "B"
+ Name 33 "C"
+ Name 39 "D"
+ Name 42 "E"
+ Name 44 "F"
+ Name 46 "G"
+ Name 49 "gl_VertexID"
+ Name 50 "gl_InstanceID"
+ Decorate 49(gl_VertexID) BuiltIn VertexId
+ Decorate 49(gl_VertexID) NoStaticUse
+ Decorate 50(gl_InstanceID) BuiltIn InstanceId
+ Decorate 50(gl_InstanceID) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeInt 32 1
- 8: TypePointer Function 7(int)
- 10: 7(int) Constant 0
- 15: TypeBool
- 16: 15(bool) ConstantTrue
- 20: 7(int) Constant 1
- 22: 7(int) Constant 19
- 27: 7(int) Constant 2
- 32: 15(bool) ConstantFalse
- 36: 7(int) Constant 5
- 41: 7(int) Constant 3
- 44: 7(int) Constant 42
- 46: 7(int) Constant 99
- 48: 7(int) Constant 12
- 49: TypePointer Input 7(int)
- 50(gl_VertexID): 49(ptr) Variable Input
-51(gl_InstanceID): 49(ptr) Variable Input
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 0
+ 14: TypeBool
+ 15: 14(bool) ConstantTrue
+ 19: 6(int) Constant 1
+ 21: 6(int) Constant 19
+ 26: 6(int) Constant 2
+ 31: 14(bool) ConstantFalse
+ 35: 6(int) Constant 5
+ 40: 6(int) Constant 3
+ 43: 6(int) Constant 42
+ 45: 6(int) Constant 99
+ 47: 6(int) Constant 12
+ 48: TypePointer Input 6(int)
+ 49(gl_VertexID): 48(ptr) Variable Input
+50(gl_InstanceID): 48(ptr) Variable Input
4(main): 2 Function None 3
5: Label
- 9(i): 8(ptr) Variable Function
- 25(A): 8(ptr) Variable Function
- 31(B): 8(ptr) Variable Function
- 34(C): 8(ptr) Variable Function
- 40(D): 8(ptr) Variable Function
- 43(E): 8(ptr) Variable Function
- 45(F): 8(ptr) Variable Function
- 47(G): 8(ptr) Variable Function
- Store 9(i) 10
- Branch 11
- 11: Label
- 14: 15(bool) Phi 16 5 32 29 32 39
- LoopMerge 12 None
- Branch 17
- 17: Label
- SelectionMerge 13 None
- BranchConditional 14 13 18
- 18: Label
- 19: 7(int) Load 9(i)
- 21: 7(int) IAdd 19 20
- Store 9(i) 21
- 23: 15(bool) SLessThan 21 22
- SelectionMerge 24 None
- BranchConditional 23 24 12
- 24: Label
- Branch 13
- 13: Label
- Store 25(A) 10
- 26: 7(int) Load 9(i)
- 28: 15(bool) IEqual 26 27
- SelectionMerge 30 None
- BranchConditional 28 29 30
- 29: Label
- Store 31(B) 20
- Branch 11
- 33: Label
- Store 34(C) 27
- Branch 30
- 30: Label
- 35: 7(int) Load 9(i)
- 37: 15(bool) IEqual 35 36
- SelectionMerge 39 None
- BranchConditional 37 38 39
- 38: Label
- Store 40(D) 41
+ 8(i): 7(ptr) Variable Function
+ 24(A): 7(ptr) Variable Function
+ 30(B): 7(ptr) Variable Function
+ 33(C): 7(ptr) Variable Function
+ 39(D): 7(ptr) Variable Function
+ 42(E): 7(ptr) Variable Function
+ 44(F): 7(ptr) Variable Function
+ 46(G): 7(ptr) Variable Function
+ Store 8(i) 9
+ Branch 10
+ 10: Label
+ 13: 14(bool) Phi 15 5 31 28 31 38
+ LoopMerge 11 None
+ Branch 16
+ 16: Label
+ SelectionMerge 12 None
+ BranchConditional 13 12 17
+ 17: Label
+ 18: 6(int) Load 8(i)
+ 20: 6(int) IAdd 18 19
+ Store 8(i) 20
+ 22: 14(bool) SLessThan 20 21
+ SelectionMerge 23 None
+ BranchConditional 22 23 11
+ 23: Label
Branch 12
- 42: Label
- Store 43(E) 44
- Branch 39
- 39: Label
- Store 45(F) 46
- Branch 11
12: Label
- Store 47(G) 48
- Branch 6
- 6: Label
+ Store 24(A) 9
+ 25: 6(int) Load 8(i)
+ 27: 14(bool) IEqual 25 26
+ SelectionMerge 29 None
+ BranchConditional 27 28 29
+ 28: Label
+ Store 30(B) 19
+ Branch 10
+ 32: Label
+ Store 33(C) 26
+ Branch 29
+ 29: Label
+ 34: 6(int) Load 8(i)
+ 36: 14(bool) IEqual 34 35
+ SelectionMerge 38 None
+ BranchConditional 36 37 38
+ 37: Label
+ Store 39(D) 40
+ Branch 11
+ 41: Label
+ Store 42(E) 43
+ Branch 38
+ 38: Label
+ Store 44(F) 45
+ Branch 10
+ 11: Label
+ Store 46(G) 47
Return
FunctionEnd
diff --git a/Test/baseResults/spv.doWhileLoop.frag.out b/Test/baseResults/spv.doWhileLoop.frag.out
index 4034137..1a204b0 100755
--- a/Test/baseResults/spv.doWhileLoop.frag.out
+++ b/Test/baseResults/spv.doWhileLoop.frag.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 38
+// Id's are bound by 37
Source GLSL 110
Capability Shader
@@ -14,61 +14,59 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 10 "color"
- Name 12 "BaseColor"
- Name 25 "d"
- Name 30 "bigColor"
- Name 36 "gl_FragColor"
- Decorate 12(BaseColor) Smooth
- Decorate 36(gl_FragColor) BuiltIn FragColor
+ Name 9 "color"
+ Name 11 "BaseColor"
+ Name 24 "d"
+ Name 29 "bigColor"
+ Name 35 "gl_FragColor"
+ Decorate 11(BaseColor) Smooth
+ Decorate 35(gl_FragColor) BuiltIn FragColor
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeVector 7(float) 4
- 9: TypePointer Function 8(fvec4)
- 11: TypePointer Input 8(fvec4)
- 12(BaseColor): 11(ptr) Variable Input
- 18: TypeBool
- 19: 18(bool) ConstantTrue
- 24: TypePointer UniformConstant 7(float)
- 25(d): 24(ptr) Variable UniformConstant
- 29: TypePointer UniformConstant 8(fvec4)
- 30(bigColor): 29(ptr) Variable UniformConstant
- 34: 18(bool) ConstantFalse
- 35: TypePointer Output 8(fvec4)
-36(gl_FragColor): 35(ptr) Variable Output
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypePointer Input 7(fvec4)
+ 11(BaseColor): 10(ptr) Variable Input
+ 17: TypeBool
+ 18: 17(bool) ConstantTrue
+ 23: TypePointer UniformConstant 6(float)
+ 24(d): 23(ptr) Variable UniformConstant
+ 28: TypePointer UniformConstant 7(fvec4)
+ 29(bigColor): 28(ptr) Variable UniformConstant
+ 33: 17(bool) ConstantFalse
+ 34: TypePointer Output 7(fvec4)
+35(gl_FragColor): 34(ptr) Variable Output
4(main): 2 Function None 3
5: Label
- 10(color): 9(ptr) Variable Function
- 13: 8(fvec4) Load 12(BaseColor)
- Store 10(color) 13
- Branch 14
- 14: Label
- 17: 18(bool) Phi 19 5 34 16
- LoopMerge 15 None
- Branch 20
- 20: Label
- SelectionMerge 16 None
- BranchConditional 17 16 21
- 21: Label
- 22: 8(fvec4) Load 10(color)
- 23: 7(float) CompositeExtract 22 0
- 26: 7(float) Load 25(d)
- 27: 18(bool) FOrdLessThan 23 26
- SelectionMerge 28 None
- BranchConditional 27 28 15
- 28: Label
- Branch 16
- 16: Label
- 31: 8(fvec4) Load 30(bigColor)
- 32: 8(fvec4) Load 10(color)
- 33: 8(fvec4) FAdd 32 31
- Store 10(color) 33
- Branch 14
+ 9(color): 8(ptr) Variable Function
+ 12: 7(fvec4) Load 11(BaseColor)
+ Store 9(color) 12
+ Branch 13
+ 13: Label
+ 16: 17(bool) Phi 18 5 33 15
+ LoopMerge 14 None
+ Branch 19
+ 19: Label
+ SelectionMerge 15 None
+ BranchConditional 16 15 20
+ 20: Label
+ 21: 7(fvec4) Load 9(color)
+ 22: 6(float) CompositeExtract 21 0
+ 25: 6(float) Load 24(d)
+ 26: 17(bool) FOrdLessThan 22 25
+ SelectionMerge 27 None
+ BranchConditional 26 27 14
+ 27: Label
+ Branch 15
15: Label
- 37: 8(fvec4) Load 10(color)
- Store 36(gl_FragColor) 37
- Branch 6
- 6: Label
+ 30: 7(fvec4) Load 29(bigColor)
+ 31: 7(fvec4) Load 9(color)
+ 32: 7(fvec4) FAdd 31 30
+ Store 9(color) 32
+ Branch 13
+ 14: Label
+ 36: 7(fvec4) Load 9(color)
+ Store 35(gl_FragColor) 36
Return
FunctionEnd
diff --git a/Test/baseResults/spv.double.comp.out b/Test/baseResults/spv.double.comp.out
index d77bc0c..d3bf5c4 100755
--- a/Test/baseResults/spv.double.comp.out
+++ b/Test/baseResults/spv.double.comp.out
@@ -7,7 +7,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 63
+// Id's are bound by 62
Source GLSL 430
Capability Shader
@@ -15,95 +15,93 @@
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "main"
Name 4 "main"
- Name 9 "bufName"
- MemberName 9(bufName) 0 "f"
- MemberName 9(bufName) 1 "d"
- Name 11 "bufInst"
- Name 23 "storePos"
- Name 27 "gl_GlobalInvocationID"
- Name 33 "localCoef"
- Name 34 "gl_LocalInvocationID"
- Name 50 "aa"
- Name 55 "globalCoef"
- Name 59 "roll"
- Name 62 "destTex"
- Decorate 9(bufName) GLSLShared
- Decorate 9(bufName) BufferBlock
- Decorate 27(gl_GlobalInvocationID) BuiltIn GlobalInvocationId
- Decorate 34(gl_LocalInvocationID) BuiltIn LocalInvocationId
- Decorate 14 NoStaticUse
- Decorate 57 NoStaticUse
- Decorate 14 NoStaticUse
- Decorate 14 NoStaticUse
- Decorate 59(roll) NoStaticUse
- Decorate 62(destTex) NoStaticUse
+ Name 8 "bufName"
+ MemberName 8(bufName) 0 "f"
+ MemberName 8(bufName) 1 "d"
+ Name 10 "bufInst"
+ Name 22 "storePos"
+ Name 26 "gl_GlobalInvocationID"
+ Name 32 "localCoef"
+ Name 33 "gl_LocalInvocationID"
+ Name 49 "aa"
+ Name 54 "globalCoef"
+ Name 58 "roll"
+ Name 61 "destTex"
+ Decorate 8(bufName) GLSLShared
+ Decorate 8(bufName) BufferBlock
+ Decorate 26(gl_GlobalInvocationID) BuiltIn GlobalInvocationId
+ Decorate 33(gl_LocalInvocationID) BuiltIn LocalInvocationId
+ Decorate 13 NoStaticUse
+ Decorate 56 NoStaticUse
+ Decorate 13 NoStaticUse
+ Decorate 13 NoStaticUse
+ Decorate 58(roll) NoStaticUse
+ Decorate 61(destTex) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeFloat 64
- 9(bufName): TypeStruct 7(float) 8(float)
- 10: TypePointer Uniform 9(bufName)
- 11(bufInst): 10(ptr) Variable Uniform
- 12: TypeInt 32 1
- 13: 12(int) Constant 1
- 14: 8(float) Constant 1413754136 1074340347
- 15: TypePointer Uniform 8(float)
- 17: 12(int) Constant 0
- 18: 7(float) Constant 1095307129
- 19: TypePointer Uniform 7(float)
- 21: TypeVector 12(int) 2
- 22: TypePointer Function 21(ivec2)
- 24: TypeInt 32 0
- 25: TypeVector 24(int) 3
- 26: TypePointer Input 25(ivec3)
-27(gl_GlobalInvocationID): 26(ptr) Variable Input
- 28: TypeVector 24(int) 2
- 32: TypePointer Function 8(float)
-34(gl_LocalInvocationID): 26(ptr) Variable Input
- 38: 12(int) Constant 8
- 41: TypeVector 7(float) 2
- 43: 7(float) Constant 1090519040
- 48: TypeVector 8(float) 4
- 49: TypePointer Function 48(fvec4)
- 51: 8(float) Constant 2576980378 1071225241
- 52: 8(float) Constant 2576980378 1070176665
- 53: 8(float) Constant 858993459 1070805811
- 54: 48(fvec4) ConstantComposite 51 52 53 51
- 56: 8(float) Constant 0 1072693248
- 57: 8(float) Constant 3229815407 1074340298
- 58: TypePointer UniformConstant 8(float)
- 59(roll): 58(ptr) Variable UniformConstant
- 60: TypeImage 7(float) 2D nonsampled format:Unknown
- 61: TypePointer UniformConstant 60
- 62(destTex): 61(ptr) Variable UniformConstant
+ 6: TypeFloat 32
+ 7: TypeFloat 64
+ 8(bufName): TypeStruct 6(float) 7(float)
+ 9: TypePointer Uniform 8(bufName)
+ 10(bufInst): 9(ptr) Variable Uniform
+ 11: TypeInt 32 1
+ 12: 11(int) Constant 1
+ 13: 7(float) Constant 1413754136 1074340347
+ 14: TypePointer Uniform 7(float)
+ 16: 11(int) Constant 0
+ 17: 6(float) Constant 1095307129
+ 18: TypePointer Uniform 6(float)
+ 20: TypeVector 11(int) 2
+ 21: TypePointer Function 20(ivec2)
+ 23: TypeInt 32 0
+ 24: TypeVector 23(int) 3
+ 25: TypePointer Input 24(ivec3)
+26(gl_GlobalInvocationID): 25(ptr) Variable Input
+ 27: TypeVector 23(int) 2
+ 31: TypePointer Function 7(float)
+33(gl_LocalInvocationID): 25(ptr) Variable Input
+ 37: 11(int) Constant 8
+ 40: TypeVector 6(float) 2
+ 42: 6(float) Constant 1090519040
+ 47: TypeVector 7(float) 4
+ 48: TypePointer Function 47(fvec4)
+ 50: 7(float) Constant 2576980378 1071225241
+ 51: 7(float) Constant 2576980378 1070176665
+ 52: 7(float) Constant 858993459 1070805811
+ 53: 47(fvec4) ConstantComposite 50 51 52 50
+ 55: 7(float) Constant 0 1072693248
+ 56: 7(float) Constant 3229815407 1074340298
+ 57: TypePointer UniformConstant 7(float)
+ 58(roll): 57(ptr) Variable UniformConstant
+ 59: TypeImage 6(float) 2D nonsampled format:Unknown
+ 60: TypePointer UniformConstant 59
+ 61(destTex): 60(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
- 23(storePos): 22(ptr) Variable Function
- 33(localCoef): 32(ptr) Variable Function
- 50(aa): 49(ptr) Variable Function
- 55(globalCoef): 32(ptr) Variable Function
- 16: 15(ptr) AccessChain 11(bufInst) 13
- Store 16 14
- 20: 19(ptr) AccessChain 11(bufInst) 17
- Store 20 18
- 29: 25(ivec3) Load 27(gl_GlobalInvocationID)
- 30: 28(ivec2) VectorShuffle 29 29 0 1
- 31: 21(ivec2) Bitcast 30
- Store 23(storePos) 31
- 35: 25(ivec3) Load 34(gl_LocalInvocationID)
- 36: 28(ivec2) VectorShuffle 35 35 0 1
- 37: 21(ivec2) Bitcast 36
- 39: 21(ivec2) CompositeConstruct 38 38
- 40: 21(ivec2) ISub 37 39
- 42: 41(fvec2) ConvertSToF 40
- 44: 41(fvec2) CompositeConstruct 43 43
- 45: 41(fvec2) FDiv 42 44
- 46: 7(float) ExtInst 1(GLSL.std.450) 65(Length) 45
- 47: 8(float) FConvert 46
- Store 33(localCoef) 47
- Store 50(aa) 54
- Store 55(globalCoef) 56
- Branch 6
- 6: Label
+ 22(storePos): 21(ptr) Variable Function
+ 32(localCoef): 31(ptr) Variable Function
+ 49(aa): 48(ptr) Variable Function
+ 54(globalCoef): 31(ptr) Variable Function
+ 15: 14(ptr) AccessChain 10(bufInst) 12
+ Store 15 13
+ 19: 18(ptr) AccessChain 10(bufInst) 16
+ Store 19 17
+ 28: 24(ivec3) Load 26(gl_GlobalInvocationID)
+ 29: 27(ivec2) VectorShuffle 28 28 0 1
+ 30: 20(ivec2) Bitcast 29
+ Store 22(storePos) 30
+ 34: 24(ivec3) Load 33(gl_LocalInvocationID)
+ 35: 27(ivec2) VectorShuffle 34 34 0 1
+ 36: 20(ivec2) Bitcast 35
+ 38: 20(ivec2) CompositeConstruct 37 37
+ 39: 20(ivec2) ISub 36 38
+ 41: 40(fvec2) ConvertSToF 39
+ 43: 40(fvec2) CompositeConstruct 42 42
+ 44: 40(fvec2) FDiv 41 43
+ 45: 6(float) ExtInst 1(GLSL.std.450) 65(Length) 44
+ 46: 7(float) FConvert 45
+ Store 32(localCoef) 46
+ Store 49(aa) 53
+ Store 54(globalCoef) 55
Return
FunctionEnd
diff --git a/Test/baseResults/spv.earlyReturnDiscard.frag.out b/Test/baseResults/spv.earlyReturnDiscard.frag.out
index e2df2e7..1ed8627 100755
--- a/Test/baseResults/spv.earlyReturnDiscard.frag.out
+++ b/Test/baseResults/spv.earlyReturnDiscard.frag.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 112
+// Id's are bound by 111
Source GLSL 110
Capability Shader
@@ -14,167 +14,165 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 10 "color"
- Name 12 "BaseColor"
- Name 14 "color2"
- Name 16 "otherColor"
- Name 19 "c"
- Name 22 "d"
- Name 28 "bigColor"
- Name 33 "smallColor"
- Name 39 "minimum"
- Name 53 "threshhold"
- Name 64 "threshhold2"
- Name 78 "b"
- Name 107 "gl_FragColor"
- Name 111 "threshhold3"
- Decorate 12(BaseColor) Smooth
- Decorate 19(c) Smooth
- Decorate 107(gl_FragColor) BuiltIn FragColor
- Decorate 111(threshhold3) NoStaticUse
+ Name 9 "color"
+ Name 11 "BaseColor"
+ Name 13 "color2"
+ Name 15 "otherColor"
+ Name 18 "c"
+ Name 21 "d"
+ Name 27 "bigColor"
+ Name 32 "smallColor"
+ Name 38 "minimum"
+ Name 52 "threshhold"
+ Name 63 "threshhold2"
+ Name 77 "b"
+ Name 106 "gl_FragColor"
+ Name 110 "threshhold3"
+ Decorate 11(BaseColor) Smooth
+ Decorate 18(c) Smooth
+ Decorate 106(gl_FragColor) BuiltIn FragColor
+ Decorate 110(threshhold3) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeVector 7(float) 4
- 9: TypePointer Function 8(fvec4)
- 11: TypePointer Input 8(fvec4)
- 12(BaseColor): 11(ptr) Variable Input
- 15: TypePointer UniformConstant 8(fvec4)
- 16(otherColor): 15(ptr) Variable UniformConstant
- 18: TypePointer Input 7(float)
- 19(c): 18(ptr) Variable Input
- 21: TypePointer UniformConstant 7(float)
- 22(d): 21(ptr) Variable UniformConstant
- 24: TypeBool
- 28(bigColor): 15(ptr) Variable UniformConstant
- 33(smallColor): 15(ptr) Variable UniformConstant
- 39(minimum): 21(ptr) Variable UniformConstant
- 47: 7(float) Constant 1065353216
- 53(threshhold): 21(ptr) Variable UniformConstant
- 64(threshhold2): 21(ptr) Variable UniformConstant
- 77: TypePointer UniformConstant 24(bool)
- 78(b): 77(ptr) Variable UniformConstant
- 106: TypePointer Output 8(fvec4)
-107(gl_FragColor): 106(ptr) Variable Output
-111(threshhold3): 21(ptr) Variable UniformConstant
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypePointer Input 7(fvec4)
+ 11(BaseColor): 10(ptr) Variable Input
+ 14: TypePointer UniformConstant 7(fvec4)
+ 15(otherColor): 14(ptr) Variable UniformConstant
+ 17: TypePointer Input 6(float)
+ 18(c): 17(ptr) Variable Input
+ 20: TypePointer UniformConstant 6(float)
+ 21(d): 20(ptr) Variable UniformConstant
+ 23: TypeBool
+ 27(bigColor): 14(ptr) Variable UniformConstant
+ 32(smallColor): 14(ptr) Variable UniformConstant
+ 38(minimum): 20(ptr) Variable UniformConstant
+ 46: 6(float) Constant 1065353216
+ 52(threshhold): 20(ptr) Variable UniformConstant
+ 63(threshhold2): 20(ptr) Variable UniformConstant
+ 76: TypePointer UniformConstant 23(bool)
+ 77(b): 76(ptr) Variable UniformConstant
+ 105: TypePointer Output 7(fvec4)
+106(gl_FragColor): 105(ptr) Variable Output
+110(threshhold3): 20(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
- 10(color): 9(ptr) Variable Function
- 14(color2): 9(ptr) Variable Function
- 13: 8(fvec4) Load 12(BaseColor)
- Store 10(color) 13
- 17: 8(fvec4) Load 16(otherColor)
- Store 14(color2) 17
- 20: 7(float) Load 19(c)
- 23: 7(float) Load 22(d)
- 25: 24(bool) FOrdGreaterThan 20 23
- SelectionMerge 27 None
- BranchConditional 25 26 32
- 26: Label
- 29: 8(fvec4) Load 28(bigColor)
- 30: 8(fvec4) Load 10(color)
- 31: 8(fvec4) FAdd 30 29
- Store 10(color) 31
- Branch 27
- 32: Label
- 34: 8(fvec4) Load 33(smallColor)
- 35: 8(fvec4) Load 10(color)
- 36: 8(fvec4) FAdd 35 34
- Store 10(color) 36
- Branch 27
- 27: Label
- 37: 8(fvec4) Load 10(color)
- 38: 7(float) CompositeExtract 37 2
- 40: 7(float) Load 39(minimum)
- 41: 24(bool) FOrdLessThan 38 40
- SelectionMerge 43 None
- BranchConditional 41 42 43
- 42: Label
- Branch 6
- 43: Label
- 45: 8(fvec4) Load 10(color)
- 46: 7(float) CompositeExtract 45 2
- 48: 7(float) FAdd 46 47
- 49: 8(fvec4) Load 10(color)
- 50: 8(fvec4) CompositeInsert 48 49 2
- Store 10(color) 50
- 51: 8(fvec4) Load 10(color)
- 52: 7(float) CompositeExtract 51 2
- 54: 7(float) Load 53(threshhold)
- 55: 24(bool) FOrdGreaterThan 52 54
- SelectionMerge 57 None
- BranchConditional 55 56 57
- 56: Label
+ 9(color): 8(ptr) Variable Function
+ 13(color2): 8(ptr) Variable Function
+ 12: 7(fvec4) Load 11(BaseColor)
+ Store 9(color) 12
+ 16: 7(fvec4) Load 15(otherColor)
+ Store 13(color2) 16
+ 19: 6(float) Load 18(c)
+ 22: 6(float) Load 21(d)
+ 24: 23(bool) FOrdGreaterThan 19 22
+ SelectionMerge 26 None
+ BranchConditional 24 25 31
+ 25: Label
+ 28: 7(fvec4) Load 27(bigColor)
+ 29: 7(fvec4) Load 9(color)
+ 30: 7(fvec4) FAdd 29 28
+ Store 9(color) 30
+ Branch 26
+ 31: Label
+ 33: 7(fvec4) Load 32(smallColor)
+ 34: 7(fvec4) Load 9(color)
+ 35: 7(fvec4) FAdd 34 33
+ Store 9(color) 35
+ Branch 26
+ 26: Label
+ 36: 7(fvec4) Load 9(color)
+ 37: 6(float) CompositeExtract 36 2
+ 39: 6(float) Load 38(minimum)
+ 40: 23(bool) FOrdLessThan 37 39
+ SelectionMerge 42 None
+ BranchConditional 40 41 42
+ 41: Label
+ Return
+ 42: Label
+ 44: 7(fvec4) Load 9(color)
+ 45: 6(float) CompositeExtract 44 2
+ 47: 6(float) FAdd 45 46
+ 48: 7(fvec4) Load 9(color)
+ 49: 7(fvec4) CompositeInsert 47 48 2
+ Store 9(color) 49
+ 50: 7(fvec4) Load 9(color)
+ 51: 6(float) CompositeExtract 50 2
+ 53: 6(float) Load 52(threshhold)
+ 54: 23(bool) FOrdGreaterThan 51 53
+ SelectionMerge 56 None
+ BranchConditional 54 55 56
+ 55: Label
Kill
- 57: Label
- 59: 8(fvec4) Load 10(color)
- 60: 8(fvec4) CompositeConstruct 47 47 47 47
- 61: 8(fvec4) FAdd 59 60
- Store 10(color) 61
- 62: 8(fvec4) Load 10(color)
- 63: 7(float) CompositeExtract 62 3
- 65: 7(float) Load 64(threshhold2)
- 66: 24(bool) FOrdGreaterThan 63 65
- SelectionMerge 68 None
- BranchConditional 66 67 99
- 67: Label
- 69: 8(fvec4) Load 10(color)
- 70: 7(float) CompositeExtract 69 2
- 71: 7(float) Load 64(threshhold2)
- 72: 24(bool) FOrdGreaterThan 70 71
- SelectionMerge 74 None
- BranchConditional 72 73 76
- 73: Label
- Branch 6
- 76: Label
- 79: 24(bool) Load 78(b)
- SelectionMerge 81 None
- BranchConditional 79 80 87
- 80: Label
- 82: 8(fvec4) Load 10(color)
- 83: 7(float) CompositeExtract 82 2
- 84: 7(float) FAdd 83 47
- 85: 8(fvec4) Load 10(color)
- 86: 8(fvec4) CompositeInsert 84 85 2
- Store 10(color) 86
- Branch 81
- 87: Label
- 88: 8(fvec4) Load 10(color)
- 89: 7(float) CompositeExtract 88 0
- 90: 7(float) Load 39(minimum)
- 91: 24(bool) FOrdLessThan 89 90
- SelectionMerge 93 None
- BranchConditional 91 92 95
- 92: Label
+ 56: Label
+ 58: 7(fvec4) Load 9(color)
+ 59: 7(fvec4) CompositeConstruct 46 46 46 46
+ 60: 7(fvec4) FAdd 58 59
+ Store 9(color) 60
+ 61: 7(fvec4) Load 9(color)
+ 62: 6(float) CompositeExtract 61 3
+ 64: 6(float) Load 63(threshhold2)
+ 65: 23(bool) FOrdGreaterThan 62 64
+ SelectionMerge 67 None
+ BranchConditional 65 66 98
+ 66: Label
+ 68: 7(fvec4) Load 9(color)
+ 69: 6(float) CompositeExtract 68 2
+ 70: 6(float) Load 63(threshhold2)
+ 71: 23(bool) FOrdGreaterThan 69 70
+ SelectionMerge 73 None
+ BranchConditional 71 72 75
+ 72: Label
+ Return
+ 75: Label
+ 78: 23(bool) Load 77(b)
+ SelectionMerge 80 None
+ BranchConditional 78 79 86
+ 79: Label
+ 81: 7(fvec4) Load 9(color)
+ 82: 6(float) CompositeExtract 81 2
+ 83: 6(float) FAdd 82 46
+ 84: 7(fvec4) Load 9(color)
+ 85: 7(fvec4) CompositeInsert 83 84 2
+ Store 9(color) 85
+ Branch 80
+ 86: Label
+ 87: 7(fvec4) Load 9(color)
+ 88: 6(float) CompositeExtract 87 0
+ 89: 6(float) Load 38(minimum)
+ 90: 23(bool) FOrdLessThan 88 89
+ SelectionMerge 92 None
+ BranchConditional 90 91 94
+ 91: Label
Kill
- 95: Label
- 96: 8(fvec4) Load 10(color)
- 97: 8(fvec4) CompositeConstruct 47 47 47 47
- 98: 8(fvec4) FAdd 96 97
- Store 10(color) 98
- Branch 93
- 93: Label
- Branch 81
- 81: Label
- Branch 74
- 74: Label
- Branch 68
- 99: Label
- 100: 24(bool) Load 78(b)
- SelectionMerge 102 None
- BranchConditional 100 101 104
- 101: Label
+ 94: Label
+ 95: 7(fvec4) Load 9(color)
+ 96: 7(fvec4) CompositeConstruct 46 46 46 46
+ 97: 7(fvec4) FAdd 95 96
+ Store 9(color) 97
+ Branch 92
+ 92: Label
+ Branch 80
+ 80: Label
+ Branch 73
+ 73: Label
+ Branch 67
+ 98: Label
+ 99: 23(bool) Load 77(b)
+ SelectionMerge 101 None
+ BranchConditional 99 100 103
+ 100: Label
Kill
- 104: Label
- Branch 6
- 102: Label
- Branch 68
- 68: Label
- 108: 8(fvec4) Load 10(color)
- 109: 8(fvec4) Load 14(color2)
- 110: 8(fvec4) FMul 108 109
- Store 107(gl_FragColor) 110
- Branch 6
- 6: Label
+ 103: Label
+ Return
+ 101: Label
+ Branch 67
+ 67: Label
+ 107: 7(fvec4) Load 9(color)
+ 108: 7(fvec4) Load 13(color2)
+ 109: 7(fvec4) FMul 107 108
+ Store 106(gl_FragColor) 109
Return
FunctionEnd
diff --git a/Test/baseResults/spv.flowControl.frag.out b/Test/baseResults/spv.flowControl.frag.out
index fc8cb3f..eb6ced4 100755
--- a/Test/baseResults/spv.flowControl.frag.out
+++ b/Test/baseResults/spv.flowControl.frag.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 42
+// Id's are bound by 41
Source GLSL 120
Capability Shader
@@ -14,67 +14,65 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 10 "color"
- Name 12 "BaseColor"
- Name 14 "color2"
- Name 16 "otherColor"
- Name 19 "c"
- Name 22 "d"
- Name 28 "bigColor"
- Name 33 "smallColor"
- Name 38 "gl_FragColor"
- Decorate 12(BaseColor) Smooth
- Decorate 19(c) Smooth
- Decorate 38(gl_FragColor) BuiltIn FragColor
+ Name 9 "color"
+ Name 11 "BaseColor"
+ Name 13 "color2"
+ Name 15 "otherColor"
+ Name 18 "c"
+ Name 21 "d"
+ Name 27 "bigColor"
+ Name 32 "smallColor"
+ Name 37 "gl_FragColor"
+ Decorate 11(BaseColor) Smooth
+ Decorate 18(c) Smooth
+ Decorate 37(gl_FragColor) BuiltIn FragColor
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeVector 7(float) 4
- 9: TypePointer Function 8(fvec4)
- 11: TypePointer Input 8(fvec4)
- 12(BaseColor): 11(ptr) Variable Input
- 15: TypePointer UniformConstant 8(fvec4)
- 16(otherColor): 15(ptr) Variable UniformConstant
- 18: TypePointer Input 7(float)
- 19(c): 18(ptr) Variable Input
- 21: TypePointer UniformConstant 7(float)
- 22(d): 21(ptr) Variable UniformConstant
- 24: TypeBool
- 28(bigColor): 15(ptr) Variable UniformConstant
- 33(smallColor): 15(ptr) Variable UniformConstant
- 37: TypePointer Output 8(fvec4)
-38(gl_FragColor): 37(ptr) Variable Output
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypePointer Input 7(fvec4)
+ 11(BaseColor): 10(ptr) Variable Input
+ 14: TypePointer UniformConstant 7(fvec4)
+ 15(otherColor): 14(ptr) Variable UniformConstant
+ 17: TypePointer Input 6(float)
+ 18(c): 17(ptr) Variable Input
+ 20: TypePointer UniformConstant 6(float)
+ 21(d): 20(ptr) Variable UniformConstant
+ 23: TypeBool
+ 27(bigColor): 14(ptr) Variable UniformConstant
+ 32(smallColor): 14(ptr) Variable UniformConstant
+ 36: TypePointer Output 7(fvec4)
+37(gl_FragColor): 36(ptr) Variable Output
4(main): 2 Function None 3
5: Label
- 10(color): 9(ptr) Variable Function
- 14(color2): 9(ptr) Variable Function
- 13: 8(fvec4) Load 12(BaseColor)
- Store 10(color) 13
- 17: 8(fvec4) Load 16(otherColor)
- Store 14(color2) 17
- 20: 7(float) Load 19(c)
- 23: 7(float) Load 22(d)
- 25: 24(bool) FOrdGreaterThan 20 23
- SelectionMerge 27 None
- BranchConditional 25 26 32
- 26: Label
- 29: 8(fvec4) Load 28(bigColor)
- 30: 8(fvec4) Load 10(color)
- 31: 8(fvec4) FAdd 30 29
- Store 10(color) 31
- Branch 27
- 32: Label
- 34: 8(fvec4) Load 33(smallColor)
- 35: 8(fvec4) Load 10(color)
- 36: 8(fvec4) FAdd 35 34
- Store 10(color) 36
- Branch 27
- 27: Label
- 39: 8(fvec4) Load 10(color)
- 40: 8(fvec4) Load 14(color2)
- 41: 8(fvec4) FMul 39 40
- Store 38(gl_FragColor) 41
- Branch 6
- 6: Label
+ 9(color): 8(ptr) Variable Function
+ 13(color2): 8(ptr) Variable Function
+ 12: 7(fvec4) Load 11(BaseColor)
+ Store 9(color) 12
+ 16: 7(fvec4) Load 15(otherColor)
+ Store 13(color2) 16
+ 19: 6(float) Load 18(c)
+ 22: 6(float) Load 21(d)
+ 24: 23(bool) FOrdGreaterThan 19 22
+ SelectionMerge 26 None
+ BranchConditional 24 25 31
+ 25: Label
+ 28: 7(fvec4) Load 27(bigColor)
+ 29: 7(fvec4) Load 9(color)
+ 30: 7(fvec4) FAdd 29 28
+ Store 9(color) 30
+ Branch 26
+ 31: Label
+ 33: 7(fvec4) Load 32(smallColor)
+ 34: 7(fvec4) Load 9(color)
+ 35: 7(fvec4) FAdd 34 33
+ Store 9(color) 35
+ Branch 26
+ 26: Label
+ 38: 7(fvec4) Load 9(color)
+ 39: 7(fvec4) Load 13(color2)
+ 40: 7(fvec4) FMul 38 39
+ Store 37(gl_FragColor) 40
Return
FunctionEnd
diff --git a/Test/baseResults/spv.for-continue-break.vert.out b/Test/baseResults/spv.for-continue-break.vert.out
index cec5dae..633a6b4 100755
--- a/Test/baseResults/spv.for-continue-break.vert.out
+++ b/Test/baseResults/spv.for-continue-break.vert.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 49
+// Id's are bound by 48
Source ESSL 300
Capability Shader
@@ -13,89 +13,87 @@
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main"
Name 4 "main"
- Name 9 "i"
- Name 18 "A"
- Name 26 "B"
- Name 30 "C"
- Name 37 "D"
- Name 39 "E"
- Name 40 "F"
- Name 44 "G"
- Name 47 "gl_VertexID"
- Name 48 "gl_InstanceID"
- Decorate 47(gl_VertexID) BuiltIn VertexId
- Decorate 47(gl_VertexID) NoStaticUse
- Decorate 48(gl_InstanceID) BuiltIn InstanceId
- Decorate 48(gl_InstanceID) NoStaticUse
+ Name 8 "i"
+ Name 17 "A"
+ Name 25 "B"
+ Name 29 "C"
+ Name 36 "D"
+ Name 38 "E"
+ Name 39 "F"
+ Name 43 "G"
+ Name 46 "gl_VertexID"
+ Name 47 "gl_InstanceID"
+ Decorate 46(gl_VertexID) BuiltIn VertexId
+ Decorate 46(gl_VertexID) NoStaticUse
+ Decorate 47(gl_InstanceID) BuiltIn InstanceId
+ Decorate 47(gl_InstanceID) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeInt 32 1
- 8: TypePointer Function 7(int)
- 10: 7(int) Constant 0
- 15: 7(int) Constant 10
- 16: TypeBool
- 19: 7(int) Constant 1
- 21: 7(int) Constant 2
- 32: 7(int) Constant 3
- 41: 7(int) Constant 12
- 45: 7(int) Constant 99
- 46: TypePointer Input 7(int)
- 47(gl_VertexID): 46(ptr) Variable Input
-48(gl_InstanceID): 46(ptr) Variable Input
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 0
+ 14: 6(int) Constant 10
+ 15: TypeBool
+ 18: 6(int) Constant 1
+ 20: 6(int) Constant 2
+ 31: 6(int) Constant 3
+ 40: 6(int) Constant 12
+ 44: 6(int) Constant 99
+ 45: TypePointer Input 6(int)
+ 46(gl_VertexID): 45(ptr) Variable Input
+47(gl_InstanceID): 45(ptr) Variable Input
4(main): 2 Function None 3
5: Label
- 9(i): 8(ptr) Variable Function
- 18(A): 8(ptr) Variable Function
- 26(B): 8(ptr) Variable Function
- 30(C): 8(ptr) Variable Function
- 37(D): 8(ptr) Variable Function
- 39(E): 8(ptr) Variable Function
- 40(F): 8(ptr) Variable Function
- 44(G): 8(ptr) Variable Function
- Store 9(i) 10
- Branch 11
- 11: Label
- 14: 7(int) Load 9(i)
- 17: 16(bool) SLessThan 14 15
- LoopMerge 12 None
- BranchConditional 17 13 12
- 13: Label
- Store 18(A) 19
- 20: 7(int) Load 9(i)
- 22: 7(int) SMod 20 21
- 23: 16(bool) IEqual 22 10
- SelectionMerge 25 None
- BranchConditional 23 24 25
- 24: Label
- Store 26(B) 19
- 27: 7(int) Load 9(i)
- 28: 7(int) IAdd 27 19
- Store 9(i) 28
+ 8(i): 7(ptr) Variable Function
+ 17(A): 7(ptr) Variable Function
+ 25(B): 7(ptr) Variable Function
+ 29(C): 7(ptr) Variable Function
+ 36(D): 7(ptr) Variable Function
+ 38(E): 7(ptr) Variable Function
+ 39(F): 7(ptr) Variable Function
+ 43(G): 7(ptr) Variable Function
+ Store 8(i) 9
+ Branch 10
+ 10: Label
+ 13: 6(int) Load 8(i)
+ 16: 15(bool) SLessThan 13 14
+ LoopMerge 11 None
+ BranchConditional 16 12 11
+ 12: Label
+ Store 17(A) 18
+ 19: 6(int) Load 8(i)
+ 21: 6(int) SMod 19 20
+ 22: 15(bool) IEqual 21 9
+ SelectionMerge 24 None
+ BranchConditional 22 23 24
+ 23: Label
+ Store 25(B) 18
+ 26: 6(int) Load 8(i)
+ 27: 6(int) IAdd 26 18
+ Store 8(i) 27
+ Branch 10
+ 28: Label
+ Store 29(C) 18
+ Branch 24
+ 24: Label
+ 30: 6(int) Load 8(i)
+ 32: 6(int) SMod 30 31
+ 33: 15(bool) IEqual 32 9
+ SelectionMerge 35 None
+ BranchConditional 33 34 35
+ 34: Label
+ Store 36(D) 18
Branch 11
- 29: Label
- Store 30(C) 19
- Branch 25
- 25: Label
- 31: 7(int) Load 9(i)
- 33: 7(int) SMod 31 32
- 34: 16(bool) IEqual 33 10
- SelectionMerge 36 None
- BranchConditional 34 35 36
- 35: Label
- Store 37(D) 19
- Branch 12
- 38: Label
- Store 39(E) 19
- Branch 36
- 36: Label
- Store 40(F) 41
- 42: 7(int) Load 9(i)
- 43: 7(int) IAdd 42 19
- Store 9(i) 43
- Branch 11
- 12: Label
- Store 44(G) 45
- Branch 6
- 6: Label
+ 37: Label
+ Store 38(E) 18
+ Branch 35
+ 35: Label
+ Store 39(F) 40
+ 41: 6(int) Load 8(i)
+ 42: 6(int) IAdd 41 18
+ Store 8(i) 42
+ Branch 10
+ 11: Label
+ Store 43(G) 44
Return
FunctionEnd
diff --git a/Test/baseResults/spv.for-simple.vert.out b/Test/baseResults/spv.for-simple.vert.out
index 11050df..9e4a7a7 100755
--- a/Test/baseResults/spv.for-simple.vert.out
+++ b/Test/baseResults/spv.for-simple.vert.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 26
+// Id's are bound by 25
Source ESSL 300
Capability Shader
@@ -13,45 +13,43 @@
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main"
Name 4 "main"
- Name 9 "i"
- Name 18 "j"
- Name 24 "gl_VertexID"
- Name 25 "gl_InstanceID"
- Decorate 24(gl_VertexID) BuiltIn VertexId
- Decorate 24(gl_VertexID) NoStaticUse
- Decorate 25(gl_InstanceID) BuiltIn InstanceId
- Decorate 25(gl_InstanceID) NoStaticUse
+ Name 8 "i"
+ Name 17 "j"
+ Name 23 "gl_VertexID"
+ Name 24 "gl_InstanceID"
+ Decorate 23(gl_VertexID) BuiltIn VertexId
+ Decorate 23(gl_VertexID) NoStaticUse
+ Decorate 24(gl_InstanceID) BuiltIn InstanceId
+ Decorate 24(gl_InstanceID) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeInt 32 1
- 8: TypePointer Function 7(int)
- 10: 7(int) Constant 0
- 15: 7(int) Constant 10
- 16: TypeBool
- 19: 7(int) Constant 12
- 21: 7(int) Constant 1
- 23: TypePointer Input 7(int)
- 24(gl_VertexID): 23(ptr) Variable Input
-25(gl_InstanceID): 23(ptr) Variable Input
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 0
+ 14: 6(int) Constant 10
+ 15: TypeBool
+ 18: 6(int) Constant 12
+ 20: 6(int) Constant 1
+ 22: TypePointer Input 6(int)
+ 23(gl_VertexID): 22(ptr) Variable Input
+24(gl_InstanceID): 22(ptr) Variable Input
4(main): 2 Function None 3
5: Label
- 9(i): 8(ptr) Variable Function
- 18(j): 8(ptr) Variable Function
- Store 9(i) 10
- Branch 11
+ 8(i): 7(ptr) Variable Function
+ 17(j): 7(ptr) Variable Function
+ Store 8(i) 9
+ Branch 10
+ 10: Label
+ 13: 6(int) Load 8(i)
+ 16: 15(bool) SLessThan 13 14
+ LoopMerge 11 None
+ BranchConditional 16 12 11
+ 12: Label
+ Store 17(j) 18
+ 19: 6(int) Load 8(i)
+ 21: 6(int) IAdd 19 20
+ Store 8(i) 21
+ Branch 10
11: Label
- 14: 7(int) Load 9(i)
- 17: 16(bool) SLessThan 14 15
- LoopMerge 12 None
- BranchConditional 17 13 12
- 13: Label
- Store 18(j) 19
- 20: 7(int) Load 9(i)
- 22: 7(int) IAdd 20 21
- Store 9(i) 22
- Branch 11
- 12: Label
- Branch 6
- 6: Label
Return
FunctionEnd
diff --git a/Test/baseResults/spv.forLoop.frag.out b/Test/baseResults/spv.forLoop.frag.out
index 75949a0..086f884 100755
--- a/Test/baseResults/spv.forLoop.frag.out
+++ b/Test/baseResults/spv.forLoop.frag.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 123
+// Id's are bound by 122
Source GLSL 130
Capability Shader
@@ -14,186 +14,184 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 10 "color"
- Name 12 "BaseColor"
- Name 16 "i"
- Name 23 "Count"
- Name 28 "bigColor"
- Name 36 "gl_FragColor"
- Name 39 "sum"
- Name 41 "i"
- Name 51 "v4"
- Name 60 "i"
- Name 66 "tv4"
- Name 84 "r"
- Name 90 "i"
- Name 98 "f"
- Name 111 "i"
- Decorate 12(BaseColor) Smooth
- Decorate 36(gl_FragColor) BuiltIn FragColor
- Decorate 98(f) Smooth
+ Name 9 "color"
+ Name 11 "BaseColor"
+ Name 15 "i"
+ Name 22 "Count"
+ Name 27 "bigColor"
+ Name 35 "gl_FragColor"
+ Name 38 "sum"
+ Name 40 "i"
+ Name 50 "v4"
+ Name 59 "i"
+ Name 65 "tv4"
+ Name 83 "r"
+ Name 89 "i"
+ Name 97 "f"
+ Name 110 "i"
+ Decorate 11(BaseColor) Smooth
+ Decorate 35(gl_FragColor) BuiltIn FragColor
+ Decorate 97(f) Smooth
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeVector 7(float) 4
- 9: TypePointer Function 8(fvec4)
- 11: TypePointer Input 8(fvec4)
- 12(BaseColor): 11(ptr) Variable Input
- 14: TypeInt 32 1
- 15: TypePointer Function 14(int)
- 17: 14(int) Constant 0
- 22: TypePointer UniformConstant 14(int)
- 23(Count): 22(ptr) Variable UniformConstant
- 25: TypeBool
- 27: TypePointer UniformConstant 8(fvec4)
- 28(bigColor): 27(ptr) Variable UniformConstant
- 33: 14(int) Constant 1
- 35: TypePointer Output 8(fvec4)
-36(gl_FragColor): 35(ptr) Variable Output
- 38: TypePointer Function 7(float)
- 40: 7(float) Constant 0
- 46: 14(int) Constant 4
- 48: TypeInt 32 0
- 49: TypeVector 48(int) 4
- 50: TypePointer UniformConstant 49(ivec4)
- 51(v4): 50(ptr) Variable UniformConstant
- 71: 48(int) Constant 4
- 85: TypeVector 7(float) 3
- 97: TypePointer Input 7(float)
- 98(f): 97(ptr) Variable Input
- 116: 14(int) Constant 16
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypePointer Input 7(fvec4)
+ 11(BaseColor): 10(ptr) Variable Input
+ 13: TypeInt 32 1
+ 14: TypePointer Function 13(int)
+ 16: 13(int) Constant 0
+ 21: TypePointer UniformConstant 13(int)
+ 22(Count): 21(ptr) Variable UniformConstant
+ 24: TypeBool
+ 26: TypePointer UniformConstant 7(fvec4)
+ 27(bigColor): 26(ptr) Variable UniformConstant
+ 32: 13(int) Constant 1
+ 34: TypePointer Output 7(fvec4)
+35(gl_FragColor): 34(ptr) Variable Output
+ 37: TypePointer Function 6(float)
+ 39: 6(float) Constant 0
+ 45: 13(int) Constant 4
+ 47: TypeInt 32 0
+ 48: TypeVector 47(int) 4
+ 49: TypePointer UniformConstant 48(ivec4)
+ 50(v4): 49(ptr) Variable UniformConstant
+ 70: 47(int) Constant 4
+ 84: TypeVector 6(float) 3
+ 96: TypePointer Input 6(float)
+ 97(f): 96(ptr) Variable Input
+ 115: 13(int) Constant 16
4(main): 2 Function None 3
5: Label
- 10(color): 9(ptr) Variable Function
- 16(i): 15(ptr) Variable Function
- 39(sum): 38(ptr) Variable Function
- 41(i): 15(ptr) Variable Function
- 60(i): 15(ptr) Variable Function
- 66(tv4): 9(ptr) Variable Function
- 84(r): 9(ptr) Variable Function
- 90(i): 15(ptr) Variable Function
- 111(i): 15(ptr) Variable Function
- 13: 8(fvec4) Load 12(BaseColor)
- Store 10(color) 13
- Store 16(i) 17
- Branch 18
+ 9(color): 8(ptr) Variable Function
+ 15(i): 14(ptr) Variable Function
+ 38(sum): 37(ptr) Variable Function
+ 40(i): 14(ptr) Variable Function
+ 59(i): 14(ptr) Variable Function
+ 65(tv4): 8(ptr) Variable Function
+ 83(r): 8(ptr) Variable Function
+ 89(i): 14(ptr) Variable Function
+ 110(i): 14(ptr) Variable Function
+ 12: 7(fvec4) Load 11(BaseColor)
+ Store 9(color) 12
+ Store 15(i) 16
+ Branch 17
+ 17: Label
+ 20: 13(int) Load 15(i)
+ 23: 13(int) Load 22(Count)
+ 25: 24(bool) SLessThan 20 23
+ LoopMerge 18 None
+ BranchConditional 25 19 18
+ 19: Label
+ 28: 7(fvec4) Load 27(bigColor)
+ 29: 7(fvec4) Load 9(color)
+ 30: 7(fvec4) FAdd 29 28
+ Store 9(color) 30
+ 31: 13(int) Load 15(i)
+ 33: 13(int) IAdd 31 32
+ Store 15(i) 33
+ Branch 17
18: Label
- 21: 14(int) Load 16(i)
- 24: 14(int) Load 23(Count)
- 26: 25(bool) SLessThan 21 24
- LoopMerge 19 None
- BranchConditional 26 20 19
- 20: Label
- 29: 8(fvec4) Load 28(bigColor)
- 30: 8(fvec4) Load 10(color)
- 31: 8(fvec4) FAdd 30 29
- Store 10(color) 31
- 32: 14(int) Load 16(i)
- 34: 14(int) IAdd 32 33
- Store 16(i) 34
- Branch 18
- 19: Label
- 37: 8(fvec4) Load 10(color)
- Store 36(gl_FragColor) 37
- Store 39(sum) 40
- Store 41(i) 17
- Branch 42
+ 36: 7(fvec4) Load 9(color)
+ Store 35(gl_FragColor) 36
+ Store 38(sum) 39
+ Store 40(i) 16
+ Branch 41
+ 41: Label
+ 44: 13(int) Load 40(i)
+ 46: 24(bool) SLessThan 44 45
+ LoopMerge 42 None
+ BranchConditional 46 43 42
+ 43: Label
+ 51: 13(int) Load 40(i)
+ 52: 48(ivec4) Load 50(v4)
+ 53: 47(int) VectorExtractDynamic 52 51
+ 54: 6(float) ConvertUToF 53
+ 55: 6(float) Load 38(sum)
+ 56: 6(float) FAdd 55 54
+ Store 38(sum) 56
+ 57: 13(int) Load 40(i)
+ 58: 13(int) IAdd 57 32
+ Store 40(i) 58
+ Branch 41
42: Label
- 45: 14(int) Load 41(i)
- 47: 25(bool) SLessThan 45 46
- LoopMerge 43 None
- BranchConditional 47 44 43
- 44: Label
- 52: 14(int) Load 41(i)
- 53: 49(ivec4) Load 51(v4)
- 54: 48(int) VectorExtractDynamic 53 52
- 55: 7(float) ConvertUToF 54
- 56: 7(float) Load 39(sum)
- 57: 7(float) FAdd 56 55
- Store 39(sum) 57
- 58: 14(int) Load 41(i)
- 59: 14(int) IAdd 58 33
- Store 41(i) 59
- Branch 42
- 43: Label
- Store 60(i) 17
- Branch 61
+ Store 59(i) 16
+ Branch 60
+ 60: Label
+ 63: 13(int) Load 59(i)
+ 64: 24(bool) SLessThan 63 45
+ LoopMerge 61 None
+ BranchConditional 64 62 61
+ 62: Label
+ 66: 13(int) Load 59(i)
+ 67: 13(int) Load 59(i)
+ 68: 48(ivec4) Load 50(v4)
+ 69: 47(int) VectorExtractDynamic 68 67
+ 71: 47(int) IMul 69 70
+ 72: 6(float) ConvertUToF 71
+ 73: 7(fvec4) Load 65(tv4)
+ 74: 7(fvec4) VectorInsertDynamic 73 72 66
+ Store 65(tv4) 74
+ 75: 13(int) Load 59(i)
+ 76: 13(int) IAdd 75 32
+ Store 59(i) 76
+ Branch 60
61: Label
- 64: 14(int) Load 60(i)
- 65: 25(bool) SLessThan 64 46
- LoopMerge 62 None
- BranchConditional 65 63 62
- 63: Label
- 67: 14(int) Load 60(i)
- 68: 14(int) Load 60(i)
- 69: 49(ivec4) Load 51(v4)
- 70: 48(int) VectorExtractDynamic 69 68
- 72: 48(int) IMul 70 71
- 73: 7(float) ConvertUToF 72
- 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
- Branch 61
- 62: Label
- 78: 7(float) Load 39(sum)
- 79: 8(fvec4) CompositeConstruct 78 78 78 78
- 80: 8(fvec4) Load 66(tv4)
- 81: 8(fvec4) FAdd 79 80
- 82: 8(fvec4) Load 36(gl_FragColor)
- 83: 8(fvec4) FAdd 82 81
- Store 36(gl_FragColor) 83
- 86: 8(fvec4) Load 12(BaseColor)
- 87: 85(fvec3) VectorShuffle 86 86 0 1 2
- 88: 8(fvec4) Load 84(r)
- 89: 8(fvec4) VectorShuffle 88 87 4 5 6 3
- Store 84(r) 89
- Store 90(i) 17
- Branch 91
+ 77: 6(float) Load 38(sum)
+ 78: 7(fvec4) CompositeConstruct 77 77 77 77
+ 79: 7(fvec4) Load 65(tv4)
+ 80: 7(fvec4) FAdd 78 79
+ 81: 7(fvec4) Load 35(gl_FragColor)
+ 82: 7(fvec4) FAdd 81 80
+ Store 35(gl_FragColor) 82
+ 85: 7(fvec4) Load 11(BaseColor)
+ 86: 84(fvec3) VectorShuffle 85 85 0 1 2
+ 87: 7(fvec4) Load 83(r)
+ 88: 7(fvec4) VectorShuffle 87 86 4 5 6 3
+ Store 83(r) 88
+ Store 89(i) 16
+ Branch 90
+ 90: Label
+ 93: 13(int) Load 89(i)
+ 94: 13(int) Load 22(Count)
+ 95: 24(bool) SLessThan 93 94
+ LoopMerge 91 None
+ BranchConditional 95 92 91
+ 92: Label
+ 98: 6(float) Load 97(f)
+ 99: 7(fvec4) Load 83(r)
+ 100: 7(fvec4) CompositeInsert 98 99 3
+ Store 83(r) 100
+ 101: 13(int) Load 89(i)
+ 102: 13(int) IAdd 101 32
+ Store 89(i) 102
+ Branch 90
91: Label
- 94: 14(int) Load 90(i)
- 95: 14(int) Load 23(Count)
- 96: 25(bool) SLessThan 94 95
- LoopMerge 92 None
- BranchConditional 96 93 92
- 93: Label
- 99: 7(float) Load 98(f)
- 100: 8(fvec4) Load 84(r)
- 101: 8(fvec4) CompositeInsert 99 100 3
- Store 84(r) 101
- 102: 14(int) Load 90(i)
- 103: 14(int) IAdd 102 33
- Store 90(i) 103
- Branch 91
- 92: Label
- 104: 8(fvec4) Load 84(r)
- 105: 85(fvec3) VectorShuffle 104 104 0 1 2
- 106: 8(fvec4) Load 36(gl_FragColor)
- 107: 85(fvec3) VectorShuffle 106 106 0 1 2
- 108: 85(fvec3) FAdd 107 105
- 109: 8(fvec4) Load 36(gl_FragColor)
- 110: 8(fvec4) VectorShuffle 109 108 4 5 6 3
- Store 36(gl_FragColor) 110
- Store 111(i) 17
- Branch 112
+ 103: 7(fvec4) Load 83(r)
+ 104: 84(fvec3) VectorShuffle 103 103 0 1 2
+ 105: 7(fvec4) Load 35(gl_FragColor)
+ 106: 84(fvec3) VectorShuffle 105 105 0 1 2
+ 107: 84(fvec3) FAdd 106 104
+ 108: 7(fvec4) Load 35(gl_FragColor)
+ 109: 7(fvec4) VectorShuffle 108 107 4 5 6 3
+ Store 35(gl_FragColor) 109
+ Store 110(i) 16
+ Branch 111
+ 111: Label
+ 114: 13(int) Load 110(i)
+ 116: 24(bool) SLessThan 114 115
+ LoopMerge 112 None
+ BranchConditional 116 113 112
+ 113: Label
+ 117: 6(float) Load 97(f)
+ 118: 7(fvec4) Load 35(gl_FragColor)
+ 119: 7(fvec4) VectorTimesScalar 118 117
+ Store 35(gl_FragColor) 119
+ 120: 13(int) Load 110(i)
+ 121: 13(int) IAdd 120 45
+ Store 110(i) 121
+ Branch 111
112: Label
- 115: 14(int) Load 111(i)
- 117: 25(bool) SLessThan 115 116
- LoopMerge 113 None
- BranchConditional 117 114 113
- 114: Label
- 118: 7(float) Load 98(f)
- 119: 8(fvec4) Load 36(gl_FragColor)
- 120: 8(fvec4) VectorTimesScalar 119 118
- Store 36(gl_FragColor) 120
- 121: 14(int) Load 111(i)
- 122: 14(int) IAdd 121 46
- Store 111(i) 122
- Branch 112
- 113: Label
- Branch 6
- 6: Label
Return
FunctionEnd
diff --git a/Test/baseResults/spv.forwardFun.frag.out b/Test/baseResults/spv.forwardFun.frag.out
index 4e6af79..0af086d 100644
--- a/Test/baseResults/spv.forwardFun.frag.out
+++ b/Test/baseResults/spv.forwardFun.frag.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 58
+// Id's are bound by 57
Source ESSL 100
Capability Shader
@@ -14,93 +14,91 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 7 "bar("
- Name 11 "unreachableReturn("
- Name 17 "foo(vf4;"
- Name 16 "bar"
- Name 19 "color"
- Name 21 "BaseColor"
- Name 22 "param"
- Name 28 "f"
- Name 31 "gl_FragColor"
- Name 37 "d"
- Name 57 "bigColor"
- Decorate 19(color) RelaxedPrecision
- Decorate 21(BaseColor) RelaxedPrecision
- Decorate 21(BaseColor) Smooth
- Decorate 28(f) RelaxedPrecision
- Decorate 31(gl_FragColor) RelaxedPrecision
- Decorate 31(gl_FragColor) BuiltIn FragColor
- Decorate 37(d) RelaxedPrecision
- Decorate 57(bigColor) RelaxedPrecision
- Decorate 57(bigColor) NoStaticUse
+ Name 6 "bar("
+ Name 10 "unreachableReturn("
+ Name 16 "foo(vf4;"
+ Name 15 "bar"
+ Name 18 "color"
+ Name 20 "BaseColor"
+ Name 21 "param"
+ Name 27 "f"
+ Name 30 "gl_FragColor"
+ Name 36 "d"
+ Name 56 "bigColor"
+ Decorate 18(color) RelaxedPrecision
+ Decorate 20(BaseColor) RelaxedPrecision
+ Decorate 20(BaseColor) Smooth
+ Decorate 27(f) RelaxedPrecision
+ Decorate 30(gl_FragColor) RelaxedPrecision
+ Decorate 30(gl_FragColor) BuiltIn FragColor
+ Decorate 36(d) RelaxedPrecision
+ Decorate 56(bigColor) RelaxedPrecision
+ Decorate 56(bigColor) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 9: TypeFloat 32
- 10: TypeFunction 9(float)
- 13: TypeVector 9(float) 4
- 14: TypePointer Function 13(fvec4)
- 15: TypeFunction 9(float) 14(ptr)
- 20: TypePointer Input 13(fvec4)
- 21(BaseColor): 20(ptr) Variable Input
- 27: TypePointer Function 9(float)
- 30: TypePointer Output 13(fvec4)
-31(gl_FragColor): 30(ptr) Variable Output
- 36: TypePointer UniformConstant 9(float)
- 37(d): 36(ptr) Variable UniformConstant
- 39: 9(float) Constant 1082549862
- 40: TypeBool
- 44: 9(float) Constant 1067030938
- 47: 9(float) Constant 1083179008
- 56: TypePointer UniformConstant 13(fvec4)
- 57(bigColor): 56(ptr) Variable UniformConstant
+ 8: TypeFloat 32
+ 9: TypeFunction 8(float)
+ 12: TypeVector 8(float) 4
+ 13: TypePointer Function 12(fvec4)
+ 14: TypeFunction 8(float) 13(ptr)
+ 19: TypePointer Input 12(fvec4)
+ 20(BaseColor): 19(ptr) Variable Input
+ 26: TypePointer Function 8(float)
+ 29: TypePointer Output 12(fvec4)
+30(gl_FragColor): 29(ptr) Variable Output
+ 35: TypePointer UniformConstant 8(float)
+ 36(d): 35(ptr) Variable UniformConstant
+ 38: 8(float) Constant 1082549862
+ 39: TypeBool
+ 43: 8(float) Constant 1067030938
+ 46: 8(float) Constant 1083179008
+ 55: TypePointer UniformConstant 12(fvec4)
+ 56(bigColor): 55(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
- 19(color): 14(ptr) Variable Function
- 22(param): 14(ptr) Variable Function
- 28(f): 27(ptr) Variable Function
- 23: 13(fvec4) Load 21(BaseColor)
- Store 22(param) 23
- 24: 9(float) FunctionCall 17(foo(vf4;) 22(param)
- 25: 13(fvec4) CompositeConstruct 24 24 24 24
- Store 19(color) 25
- 26: 2 FunctionCall 7(bar()
- 29: 9(float) FunctionCall 11(unreachableReturn()
- Store 28(f) 29
- 32: 13(fvec4) Load 19(color)
- 33: 9(float) Load 28(f)
- 34: 13(fvec4) VectorTimesScalar 32 33
- Store 31(gl_FragColor) 34
- Branch 6
- 6: Label
+ 18(color): 13(ptr) Variable Function
+ 21(param): 13(ptr) Variable Function
+ 27(f): 26(ptr) Variable Function
+ 22: 12(fvec4) Load 20(BaseColor)
+ Store 21(param) 22
+ 23: 8(float) FunctionCall 16(foo(vf4;) 21(param)
+ 24: 12(fvec4) CompositeConstruct 23 23 23 23
+ Store 18(color) 24
+ 25: 2 FunctionCall 6(bar()
+ 28: 8(float) FunctionCall 10(unreachableReturn()
+ Store 27(f) 28
+ 31: 12(fvec4) Load 18(color)
+ 32: 8(float) Load 27(f)
+ 33: 12(fvec4) VectorTimesScalar 31 32
+ Store 30(gl_FragColor) 33
Return
FunctionEnd
- 7(bar(): 2 Function None 3
- 8: Label
+ 6(bar(): 2 Function None 3
+ 7: Label
Return
FunctionEnd
-11(unreachableReturn(): 9(float) Function None 10
- 12: Label
- 35: 2 FunctionCall 7(bar()
- 38: 9(float) Load 37(d)
- 41: 40(bool) FOrdLessThan 38 39
- SelectionMerge 43 None
- BranchConditional 41 42 46
- 42: Label
- ReturnValue 44
- 46: Label
- ReturnValue 47
- 43: Label
- 49: 9(float) Undef
- ReturnValue 49
+10(unreachableReturn(): 8(float) Function None 9
+ 11: Label
+ 34: 2 FunctionCall 6(bar()
+ 37: 8(float) Load 36(d)
+ 40: 39(bool) FOrdLessThan 37 38
+ SelectionMerge 42 None
+ BranchConditional 40 41 45
+ 41: Label
+ ReturnValue 43
+ 45: Label
+ ReturnValue 46
+ 42: Label
+ 48: 8(float) Undef
+ ReturnValue 48
FunctionEnd
- 17(foo(vf4;): 9(float) Function None 15
- 16(bar): 14(ptr) FunctionParameter
- 18: Label
- 50: 13(fvec4) Load 16(bar)
- 51: 9(float) CompositeExtract 50 0
- 52: 13(fvec4) Load 16(bar)
- 53: 9(float) CompositeExtract 52 1
- 54: 9(float) FAdd 51 53
- ReturnValue 54
+ 16(foo(vf4;): 8(float) Function None 14
+ 15(bar): 13(ptr) FunctionParameter
+ 17: Label
+ 49: 12(fvec4) Load 15(bar)
+ 50: 8(float) CompositeExtract 49 0
+ 51: 12(fvec4) Load 15(bar)
+ 52: 8(float) CompositeExtract 51 1
+ 53: 8(float) FAdd 50 52
+ ReturnValue 53
FunctionEnd
diff --git a/Test/baseResults/spv.functionCall.frag.out b/Test/baseResults/spv.functionCall.frag.out
index ebb0c75..42ec4c5 100644
--- a/Test/baseResults/spv.functionCall.frag.out
+++ b/Test/baseResults/spv.functionCall.frag.out
@@ -7,7 +7,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 74
+// Id's are bound by 73
Source GLSL 130
Capability Shader
@@ -16,113 +16,111 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 12 "foo(vf4;"
- Name 11 "bar"
- Name 14 "bar("
- Name 17 "unreachableReturn("
- Name 19 "missingReturn("
- Name 22 "h"
- Name 31 "d"
- Name 52 "color"
- Name 54 "BaseColor"
- Name 55 "param"
- Name 61 "f"
- Name 63 "g"
- Name 66 "gl_FragColor"
- Name 73 "bigColor"
- Decorate 54(BaseColor) Smooth
- Decorate 66(gl_FragColor) BuiltIn FragColor
- Decorate 73(bigColor) NoStaticUse
+ Name 11 "foo(vf4;"
+ Name 10 "bar"
+ Name 13 "bar("
+ Name 16 "unreachableReturn("
+ Name 18 "missingReturn("
+ Name 21 "h"
+ Name 30 "d"
+ Name 51 "color"
+ Name 53 "BaseColor"
+ Name 54 "param"
+ Name 60 "f"
+ Name 62 "g"
+ Name 65 "gl_FragColor"
+ Name 72 "bigColor"
+ Decorate 53(BaseColor) Smooth
+ Decorate 65(gl_FragColor) BuiltIn FragColor
+ Decorate 72(bigColor) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeVector 7(float) 4
- 9: TypePointer Function 8(fvec4)
- 10: TypeFunction 7(float) 9(ptr)
- 16: TypeFunction 7(float)
- 21: TypePointer PrivateGlobal 7(float)
- 22(h): 21(ptr) Variable PrivateGlobal
- 23: 7(float) Constant 0
- 30: TypePointer UniformConstant 7(float)
- 31(d): 30(ptr) Variable UniformConstant
- 33: 7(float) Constant 1082549862
- 34: TypeBool
- 38: 7(float) Constant 1067030938
- 41: 7(float) Constant 1083179008
- 49: 7(float) Constant 1081711002
- 53: TypePointer Input 8(fvec4)
- 54(BaseColor): 53(ptr) Variable Input
- 60: TypePointer Function 7(float)
- 65: TypePointer Output 8(fvec4)
-66(gl_FragColor): 65(ptr) Variable Output
- 72: TypePointer UniformConstant 8(fvec4)
- 73(bigColor): 72(ptr) Variable UniformConstant
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 9: TypeFunction 6(float) 8(ptr)
+ 15: TypeFunction 6(float)
+ 20: TypePointer PrivateGlobal 6(float)
+ 21(h): 20(ptr) Variable PrivateGlobal
+ 22: 6(float) Constant 0
+ 29: TypePointer UniformConstant 6(float)
+ 30(d): 29(ptr) Variable UniformConstant
+ 32: 6(float) Constant 1082549862
+ 33: TypeBool
+ 37: 6(float) Constant 1067030938
+ 40: 6(float) Constant 1083179008
+ 48: 6(float) Constant 1081711002
+ 52: TypePointer Input 7(fvec4)
+ 53(BaseColor): 52(ptr) Variable Input
+ 59: TypePointer Function 6(float)
+ 64: TypePointer Output 7(fvec4)
+65(gl_FragColor): 64(ptr) Variable Output
+ 71: TypePointer UniformConstant 7(fvec4)
+ 72(bigColor): 71(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
- 52(color): 9(ptr) Variable Function
- 55(param): 9(ptr) Variable Function
- 61(f): 60(ptr) Variable Function
- 63(g): 60(ptr) Variable Function
- Store 22(h) 23
- 56: 8(fvec4) Load 54(BaseColor)
- Store 55(param) 56
- 57: 7(float) FunctionCall 12(foo(vf4;) 55(param)
- 58: 8(fvec4) CompositeConstruct 57 57 57 57
- Store 52(color) 58
- 59: 2 FunctionCall 14(bar()
- 62: 7(float) FunctionCall 17(unreachableReturn()
- Store 61(f) 62
- 64: 7(float) FunctionCall 19(missingReturn()
- Store 63(g) 64
- 67: 8(fvec4) Load 52(color)
- 68: 7(float) Load 61(f)
- 69: 8(fvec4) VectorTimesScalar 67 68
- 70: 7(float) Load 22(h)
- 71: 8(fvec4) VectorTimesScalar 69 70
- Store 66(gl_FragColor) 71
- Branch 6
- 6: Label
+ 51(color): 8(ptr) Variable Function
+ 54(param): 8(ptr) Variable Function
+ 60(f): 59(ptr) Variable Function
+ 62(g): 59(ptr) Variable Function
+ Store 21(h) 22
+ 55: 7(fvec4) Load 53(BaseColor)
+ Store 54(param) 55
+ 56: 6(float) FunctionCall 11(foo(vf4;) 54(param)
+ 57: 7(fvec4) CompositeConstruct 56 56 56 56
+ Store 51(color) 57
+ 58: 2 FunctionCall 13(bar()
+ 61: 6(float) FunctionCall 16(unreachableReturn()
+ Store 60(f) 61
+ 63: 6(float) FunctionCall 18(missingReturn()
+ Store 62(g) 63
+ 66: 7(fvec4) Load 51(color)
+ 67: 6(float) Load 60(f)
+ 68: 7(fvec4) VectorTimesScalar 66 67
+ 69: 6(float) Load 21(h)
+ 70: 7(fvec4) VectorTimesScalar 68 69
+ Store 65(gl_FragColor) 70
Return
FunctionEnd
- 12(foo(vf4;): 7(float) Function None 10
- 11(bar): 9(ptr) FunctionParameter
- 13: Label
- 24: 8(fvec4) Load 11(bar)
- 25: 7(float) CompositeExtract 24 0
- 26: 8(fvec4) Load 11(bar)
- 27: 7(float) CompositeExtract 26 1
- 28: 7(float) FAdd 25 27
- ReturnValue 28
+ 11(foo(vf4;): 6(float) Function None 9
+ 10(bar): 8(ptr) FunctionParameter
+ 12: Label
+ 23: 7(fvec4) Load 10(bar)
+ 24: 6(float) CompositeExtract 23 0
+ 25: 7(fvec4) Load 10(bar)
+ 26: 6(float) CompositeExtract 25 1
+ 27: 6(float) FAdd 24 26
+ ReturnValue 27
FunctionEnd
- 14(bar(): 2 Function None 3
- 15: Label
+ 13(bar(): 2 Function None 3
+ 14: Label
Return
FunctionEnd
-17(unreachableReturn(): 7(float) Function None 16
- 18: Label
- 32: 7(float) Load 31(d)
- 35: 34(bool) FOrdLessThan 32 33
- SelectionMerge 37 None
- BranchConditional 35 36 40
- 36: Label
- ReturnValue 38
- 40: Label
- ReturnValue 41
- 37: Label
- 43: 7(float) Undef
- ReturnValue 43
+16(unreachableReturn(): 6(float) Function None 15
+ 17: Label
+ 31: 6(float) Load 30(d)
+ 34: 33(bool) FOrdLessThan 31 32
+ SelectionMerge 36 None
+ BranchConditional 34 35 39
+ 35: Label
+ ReturnValue 37
+ 39: Label
+ ReturnValue 40
+ 36: Label
+ 42: 6(float) Undef
+ ReturnValue 42
FunctionEnd
-19(missingReturn(): 7(float) Function None 16
- 20: Label
- 44: 7(float) Load 31(d)
- 45: 34(bool) FOrdLessThan 44 41
- SelectionMerge 47 None
- BranchConditional 45 46 47
- 46: Label
- 48: 7(float) Load 31(d)
- Store 22(h) 48
- ReturnValue 49
- 47: Label
- 51: 7(float) Undef
- ReturnValue 51
+18(missingReturn(): 6(float) Function None 15
+ 19: Label
+ 43: 6(float) Load 30(d)
+ 44: 33(bool) FOrdLessThan 43 40
+ SelectionMerge 46 None
+ BranchConditional 44 45 46
+ 45: Label
+ 47: 6(float) Load 30(d)
+ Store 21(h) 47
+ ReturnValue 48
+ 46: Label
+ 50: 6(float) Undef
+ ReturnValue 50
FunctionEnd
diff --git a/Test/baseResults/spv.functionSemantics.frag.out b/Test/baseResults/spv.functionSemantics.frag.out
index aba41c3..bc0b07c 100755
--- a/Test/baseResults/spv.functionSemantics.frag.out
+++ b/Test/baseResults/spv.functionSemantics.frag.out
@@ -7,7 +7,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 159
+// Id's are bound by 158
Source GLSL 400
Capability Shader
@@ -16,225 +16,223 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 16 "foo(i1;i1;i1;i1;i1;i1;"
- Name 10 "a"
- Name 11 "b"
- Name 12 "c"
- Name 13 "d"
- Name 14 "e"
- Name 15 "f"
- Name 26 "foo2(f1;vf3;i1;"
- Name 23 "a"
- Name 24 "b"
- Name 25 "r"
- Name 29 "foo3("
- Name 31 "sum"
- Name 73 "u"
- Name 85 "t"
- Name 88 "s"
- MemberName 88(s) 0 "t"
- Name 90 "f"
- Name 97 "color"
- Name 103 "e"
+ Name 15 "foo(i1;i1;i1;i1;i1;i1;"
+ Name 9 "a"
+ Name 10 "b"
+ Name 11 "c"
+ Name 12 "d"
+ Name 13 "e"
+ Name 14 "f"
+ Name 25 "foo2(f1;vf3;i1;"
+ Name 22 "a"
+ Name 23 "b"
+ Name 24 "r"
+ Name 28 "foo3("
+ Name 30 "sum"
+ Name 72 "u"
+ Name 84 "t"
+ Name 87 "s"
+ MemberName 87(s) 0 "t"
+ Name 89 "f"
+ Name 96 "color"
+ Name 102 "e"
+ Name 103 "param"
Name 104 "param"
Name 105 "param"
Name 106 "param"
- Name 107 "param"
- Name 126 "ret"
- Name 128 "tempReturn"
- Name 133 "tempArg"
+ Name 125 "ret"
+ Name 127 "tempReturn"
+ Name 132 "tempArg"
+ Name 133 "param"
Name 134 "param"
Name 135 "param"
- Name 136 "param"
- Name 139 "arg"
- Name 155 "gl_FragColor"
- Decorate 155(gl_FragColor) BuiltIn FragColor
+ Name 138 "arg"
+ Name 154 "gl_FragColor"
+ Decorate 154(gl_FragColor) BuiltIn FragColor
2: TypeVoid
3: TypeFunction 2
- 7: TypeInt 32 1
- 8: TypePointer Function 7(int)
- 9: TypeFunction 7(int) 8(ptr) 7(int) 8(ptr) 7(int) 8(ptr) 8(ptr)
- 18: TypeFloat 32
- 19: TypePointer Function 18(float)
- 20: TypeVector 18(float) 3
- 21: TypePointer Function 20(fvec3)
- 22: TypeFunction 7(int) 19(ptr) 21(ptr) 8(ptr)
- 28: TypeFunction 7(int)
- 39: 7(int) Constant 64
- 44: 7(int) Constant 1024
- 62: 18(float) Constant 1077936128
- 66: 18(float) Constant 1084227584
- 72: TypePointer UniformConstant 18(float)
- 73(u): 72(ptr) Variable UniformConstant
- 75: 18(float) Constant 1078774989
- 76: TypeBool
- 81: 7(int) Constant 1000000
- 83: 7(int) Constant 2000000
- 86: 7(int) Constant 2
- 87: TypeVector 7(int) 4
- 88(s): TypeStruct 87(ivec4)
- 89: TypePointer Function 88(s)
- 91: 7(int) Constant 0
- 92: 7(int) Constant 32
- 93: TypePointer Function 87(ivec4)
- 98: 7(int) Constant 1
- 102: 7(int) Constant 8
- 117: 7(int) Constant 128
- 127: TypePointer PrivateGlobal 7(int)
- 128(tempReturn): 127(ptr) Variable PrivateGlobal
- 129: 18(float) Constant 1082130432
- 130: 18(float) Constant 1065353216
- 131: 18(float) Constant 1073741824
- 132: 20(fvec3) ConstantComposite 130 131 62
- 153: TypeVector 18(float) 4
- 154: TypePointer Output 153(fvec4)
-155(gl_FragColor): 154(ptr) Variable Output
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 8: TypeFunction 6(int) 7(ptr) 6(int) 7(ptr) 6(int) 7(ptr) 7(ptr)
+ 17: TypeFloat 32
+ 18: TypePointer Function 17(float)
+ 19: TypeVector 17(float) 3
+ 20: TypePointer Function 19(fvec3)
+ 21: TypeFunction 6(int) 18(ptr) 20(ptr) 7(ptr)
+ 27: TypeFunction 6(int)
+ 38: 6(int) Constant 64
+ 43: 6(int) Constant 1024
+ 61: 17(float) Constant 1077936128
+ 65: 17(float) Constant 1084227584
+ 71: TypePointer UniformConstant 17(float)
+ 72(u): 71(ptr) Variable UniformConstant
+ 74: 17(float) Constant 1078774989
+ 75: TypeBool
+ 80: 6(int) Constant 1000000
+ 82: 6(int) Constant 2000000
+ 85: 6(int) Constant 2
+ 86: TypeVector 6(int) 4
+ 87(s): TypeStruct 86(ivec4)
+ 88: TypePointer Function 87(s)
+ 90: 6(int) Constant 0
+ 91: 6(int) Constant 32
+ 92: TypePointer Function 86(ivec4)
+ 97: 6(int) Constant 1
+ 101: 6(int) Constant 8
+ 116: 6(int) Constant 128
+ 126: TypePointer PrivateGlobal 6(int)
+ 127(tempReturn): 126(ptr) Variable PrivateGlobal
+ 128: 17(float) Constant 1082130432
+ 129: 17(float) Constant 1065353216
+ 130: 17(float) Constant 1073741824
+ 131: 19(fvec3) ConstantComposite 129 130 61
+ 152: TypeVector 17(float) 4
+ 153: TypePointer Output 152(fvec4)
+154(gl_FragColor): 153(ptr) Variable Output
4(main): 2 Function None 3
5: Label
- 85(t): 8(ptr) Variable Function
- 90(f): 89(ptr) Variable Function
- 97(color): 8(ptr) Variable Function
- 103(e): 8(ptr) Variable Function
- 104(param): 8(ptr) Variable Function
- 105(param): 8(ptr) Variable Function
- 106(param): 8(ptr) Variable Function
- 107(param): 8(ptr) Variable Function
- 126(ret): 19(ptr) Variable Function
- 133(tempArg): 8(ptr) Variable Function
- 134(param): 19(ptr) Variable Function
- 135(param): 21(ptr) Variable Function
- 136(param): 8(ptr) Variable Function
- 139(arg): 19(ptr) Variable Function
- Store 85(t) 86
- 94: 93(ptr) AccessChain 90(f) 91
- 95: 87(ivec4) Load 94
- 96: 87(ivec4) CompositeInsert 92 95 1
- Store 94 96
- 99: 7(int) Load 85(t)
- 100: 7(int) Load 85(t)
- 101: 7(int) IAdd 99 100
- Store 104(param) 98
- Store 105(param) 101
- 108: 93(ptr) AccessChain 90(f) 91
- 109: 87(ivec4) Load 108
- 110: 7(int) CompositeExtract 109 1
- Store 107(param) 110
- 111: 7(int) FunctionCall 16(foo(i1;i1;i1;i1;i1;i1;) 104(param) 86 105(param) 102 106(param) 107(param)
- 112: 7(int) Load 106(param)
- Store 103(e) 112
- 113: 7(int) Load 107(param)
- 114: 93(ptr) AccessChain 90(f) 91
- 115: 87(ivec4) Load 114
- 116: 87(ivec4) CompositeInsert 113 115 1
- Store 114 116
- Store 97(color) 111
- 118: 7(int) Load 103(e)
- 119: 93(ptr) AccessChain 90(f) 91
- 120: 87(ivec4) Load 119
- 121: 7(int) CompositeExtract 120 1
- 122: 7(int) IAdd 118 121
- 123: 7(int) IMul 117 122
- 124: 7(int) Load 97(color)
- 125: 7(int) IAdd 124 123
- Store 97(color) 125
- Store 134(param) 129
- Store 135(param) 132
- 137: 7(int) FunctionCall 26(foo2(f1;vf3;i1;) 134(param) 135(param) 136(param)
- 138: 7(int) Load 136(param)
- Store 133(tempArg) 138
- Store 128(tempReturn) 137
- 140: 7(int) Load 133(tempArg)
- 141: 18(float) ConvertSToF 140
- Store 139(arg) 141
- 142: 7(int) Load 128(tempReturn)
- 143: 18(float) ConvertSToF 142
- Store 126(ret) 143
- 144: 18(float) Load 126(ret)
- 145: 18(float) Load 139(arg)
- 146: 18(float) FAdd 144 145
- 147: 7(int) ConvertFToS 146
- 148: 7(int) Load 97(color)
- 149: 7(int) IAdd 148 147
- Store 97(color) 149
- 150: 7(int) FunctionCall 29(foo3()
- 151: 7(int) Load 97(color)
- 152: 7(int) IAdd 151 150
- Store 97(color) 152
- 156: 7(int) Load 97(color)
- 157: 18(float) ConvertSToF 156
- 158: 153(fvec4) CompositeConstruct 157 157 157 157
- Store 155(gl_FragColor) 158
- Branch 6
- 6: Label
+ 84(t): 7(ptr) Variable Function
+ 89(f): 88(ptr) Variable Function
+ 96(color): 7(ptr) Variable Function
+ 102(e): 7(ptr) Variable Function
+ 103(param): 7(ptr) Variable Function
+ 104(param): 7(ptr) Variable Function
+ 105(param): 7(ptr) Variable Function
+ 106(param): 7(ptr) Variable Function
+ 125(ret): 18(ptr) Variable Function
+ 132(tempArg): 7(ptr) Variable Function
+ 133(param): 18(ptr) Variable Function
+ 134(param): 20(ptr) Variable Function
+ 135(param): 7(ptr) Variable Function
+ 138(arg): 18(ptr) Variable Function
+ Store 84(t) 85
+ 93: 92(ptr) AccessChain 89(f) 90
+ 94: 86(ivec4) Load 93
+ 95: 86(ivec4) CompositeInsert 91 94 1
+ Store 93 95
+ 98: 6(int) Load 84(t)
+ 99: 6(int) Load 84(t)
+ 100: 6(int) IAdd 98 99
+ Store 103(param) 97
+ Store 104(param) 100
+ 107: 92(ptr) AccessChain 89(f) 90
+ 108: 86(ivec4) Load 107
+ 109: 6(int) CompositeExtract 108 1
+ Store 106(param) 109
+ 110: 6(int) FunctionCall 15(foo(i1;i1;i1;i1;i1;i1;) 103(param) 85 104(param) 101 105(param) 106(param)
+ 111: 6(int) Load 105(param)
+ Store 102(e) 111
+ 112: 6(int) Load 106(param)
+ 113: 92(ptr) AccessChain 89(f) 90
+ 114: 86(ivec4) Load 113
+ 115: 86(ivec4) CompositeInsert 112 114 1
+ Store 113 115
+ Store 96(color) 110
+ 117: 6(int) Load 102(e)
+ 118: 92(ptr) AccessChain 89(f) 90
+ 119: 86(ivec4) Load 118
+ 120: 6(int) CompositeExtract 119 1
+ 121: 6(int) IAdd 117 120
+ 122: 6(int) IMul 116 121
+ 123: 6(int) Load 96(color)
+ 124: 6(int) IAdd 123 122
+ Store 96(color) 124
+ Store 133(param) 128
+ Store 134(param) 131
+ 136: 6(int) FunctionCall 25(foo2(f1;vf3;i1;) 133(param) 134(param) 135(param)
+ 137: 6(int) Load 135(param)
+ Store 132(tempArg) 137
+ Store 127(tempReturn) 136
+ 139: 6(int) Load 132(tempArg)
+ 140: 17(float) ConvertSToF 139
+ Store 138(arg) 140
+ 141: 6(int) Load 127(tempReturn)
+ 142: 17(float) ConvertSToF 141
+ Store 125(ret) 142
+ 143: 17(float) Load 125(ret)
+ 144: 17(float) Load 138(arg)
+ 145: 17(float) FAdd 143 144
+ 146: 6(int) ConvertFToS 145
+ 147: 6(int) Load 96(color)
+ 148: 6(int) IAdd 147 146
+ Store 96(color) 148
+ 149: 6(int) FunctionCall 28(foo3()
+ 150: 6(int) Load 96(color)
+ 151: 6(int) IAdd 150 149
+ Store 96(color) 151
+ 155: 6(int) Load 96(color)
+ 156: 17(float) ConvertSToF 155
+ 157: 152(fvec4) CompositeConstruct 156 156 156 156
+ Store 154(gl_FragColor) 157
Return
FunctionEnd
-16(foo(i1;i1;i1;i1;i1;i1;): 7(int) Function None 9
- 10(a): 8(ptr) FunctionParameter
- 11(b): 7(int) FunctionParameter
- 12(c): 8(ptr) FunctionParameter
- 13(d): 7(int) FunctionParameter
- 14(e): 8(ptr) FunctionParameter
- 15(f): 8(ptr) FunctionParameter
- 17: Label
- 31(sum): 8(ptr) Variable Function
- 32: 7(int) Load 10(a)
- 33: 7(int) IAdd 32 11(b)
- 34: 7(int) Load 12(c)
- 35: 7(int) IAdd 33 34
- 36: 7(int) IAdd 35 13(d)
- 37: 7(int) Load 15(f)
- 38: 7(int) IAdd 36 37
- Store 31(sum) 38
- 40: 7(int) Load 10(a)
- 41: 7(int) IMul 40 39
- Store 10(a) 41
- 42: 7(int) Load 12(c)
- 43: 7(int) IMul 42 39
- Store 12(c) 43
- Store 14(e) 44
- 45: 7(int) Load 15(f)
- 46: 7(int) IMul 45 39
- Store 15(f) 46
- 47: 7(int) Load 10(a)
- 48: 7(int) IMul 39 11(b)
- 49: 7(int) IAdd 47 48
- 50: 7(int) Load 12(c)
- 51: 7(int) IAdd 49 50
- 52: 7(int) IMul 39 13(d)
- 53: 7(int) IAdd 51 52
- 54: 7(int) Load 14(e)
- 55: 7(int) IAdd 53 54
- 56: 7(int) Load 15(f)
- 57: 7(int) IAdd 55 56
- 58: 7(int) Load 31(sum)
- 59: 7(int) IAdd 58 57
- Store 31(sum) 59
- 60: 7(int) Load 31(sum)
- ReturnValue 60
+15(foo(i1;i1;i1;i1;i1;i1;): 6(int) Function None 8
+ 9(a): 7(ptr) FunctionParameter
+ 10(b): 6(int) FunctionParameter
+ 11(c): 7(ptr) FunctionParameter
+ 12(d): 6(int) FunctionParameter
+ 13(e): 7(ptr) FunctionParameter
+ 14(f): 7(ptr) FunctionParameter
+ 16: Label
+ 30(sum): 7(ptr) Variable Function
+ 31: 6(int) Load 9(a)
+ 32: 6(int) IAdd 31 10(b)
+ 33: 6(int) Load 11(c)
+ 34: 6(int) IAdd 32 33
+ 35: 6(int) IAdd 34 12(d)
+ 36: 6(int) Load 14(f)
+ 37: 6(int) IAdd 35 36
+ Store 30(sum) 37
+ 39: 6(int) Load 9(a)
+ 40: 6(int) IMul 39 38
+ Store 9(a) 40
+ 41: 6(int) Load 11(c)
+ 42: 6(int) IMul 41 38
+ Store 11(c) 42
+ Store 13(e) 43
+ 44: 6(int) Load 14(f)
+ 45: 6(int) IMul 44 38
+ Store 14(f) 45
+ 46: 6(int) Load 9(a)
+ 47: 6(int) IMul 38 10(b)
+ 48: 6(int) IAdd 46 47
+ 49: 6(int) Load 11(c)
+ 50: 6(int) IAdd 48 49
+ 51: 6(int) IMul 38 12(d)
+ 52: 6(int) IAdd 50 51
+ 53: 6(int) Load 13(e)
+ 54: 6(int) IAdd 52 53
+ 55: 6(int) Load 14(f)
+ 56: 6(int) IAdd 54 55
+ 57: 6(int) Load 30(sum)
+ 58: 6(int) IAdd 57 56
+ Store 30(sum) 58
+ 59: 6(int) Load 30(sum)
+ ReturnValue 59
FunctionEnd
-26(foo2(f1;vf3;i1;): 7(int) Function None 22
- 23(a): 19(ptr) FunctionParameter
- 24(b): 21(ptr) FunctionParameter
- 25(r): 8(ptr) FunctionParameter
- 27: Label
- 63: 18(float) Load 23(a)
- 64: 18(float) FMul 62 63
- 65: 7(int) ConvertFToS 64
- Store 25(r) 65
- 67: 20(fvec3) Load 24(b)
- 68: 18(float) CompositeExtract 67 1
- 69: 18(float) FMul 66 68
- 70: 7(int) ConvertFToS 69
- ReturnValue 70
+25(foo2(f1;vf3;i1;): 6(int) Function None 21
+ 22(a): 18(ptr) FunctionParameter
+ 23(b): 20(ptr) FunctionParameter
+ 24(r): 7(ptr) FunctionParameter
+ 26: Label
+ 62: 17(float) Load 22(a)
+ 63: 17(float) FMul 61 62
+ 64: 6(int) ConvertFToS 63
+ Store 24(r) 64
+ 66: 19(fvec3) Load 23(b)
+ 67: 17(float) CompositeExtract 66 1
+ 68: 17(float) FMul 65 67
+ 69: 6(int) ConvertFToS 68
+ ReturnValue 69
FunctionEnd
- 29(foo3(): 7(int) Function None 28
- 30: Label
- 74: 18(float) Load 73(u)
- 77: 76(bool) FOrdGreaterThan 74 75
- SelectionMerge 79 None
- BranchConditional 77 78 79
- 78: Label
+ 28(foo3(): 6(int) Function None 27
+ 29: Label
+ 73: 17(float) Load 72(u)
+ 76: 75(bool) FOrdGreaterThan 73 74
+ SelectionMerge 78 None
+ BranchConditional 76 77 78
+ 77: Label
Kill
- 79: Label
- ReturnValue 83
+ 78: Label
+ ReturnValue 82
FunctionEnd
diff --git a/Test/baseResults/spv.length.frag.out b/Test/baseResults/spv.length.frag.out
index b56e804..4db2172 100755
--- a/Test/baseResults/spv.length.frag.out
+++ b/Test/baseResults/spv.length.frag.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 34
+// Id's are bound by 33
Source GLSL 120
Capability Shader
@@ -14,47 +14,45 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 10 "t"
- Name 15 "v"
- Name 27 "gl_FragColor"
- Name 33 "u"
- Decorate 15(v) Smooth
- Decorate 27(gl_FragColor) BuiltIn FragColor
- Decorate 33(u) NoStaticUse
+ Name 9 "t"
+ Name 14 "v"
+ Name 26 "gl_FragColor"
+ Name 32 "u"
+ Decorate 14(v) Smooth
+ Decorate 26(gl_FragColor) BuiltIn FragColor
+ Decorate 32(u) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeVector 7(float) 2
- 9: TypePointer Function 8(fvec2)
- 11: TypeInt 32 0
- 12: 11(int) Constant 2
- 13: TypeArray 8(fvec2) 12
- 14: TypePointer Input 13
- 15(v): 14(ptr) Variable Input
- 16: TypeInt 32 1
- 17: 16(int) Constant 0
- 18: TypePointer Input 8(fvec2)
- 21: 16(int) Constant 1
- 25: TypeVector 7(float) 4
- 26: TypePointer Output 25(fvec4)
-27(gl_FragColor): 26(ptr) Variable Output
- 28: 7(float) Constant 1106247680
- 29: 25(fvec4) ConstantComposite 28 28 28 28
- 30: 11(int) Constant 3
- 31: TypeArray 25(fvec4) 30
- 32: TypePointer UniformConstant 31
- 33(u): 32(ptr) Variable UniformConstant
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 2
+ 8: TypePointer Function 7(fvec2)
+ 10: TypeInt 32 0
+ 11: 10(int) Constant 2
+ 12: TypeArray 7(fvec2) 11
+ 13: TypePointer Input 12
+ 14(v): 13(ptr) Variable Input
+ 15: TypeInt 32 1
+ 16: 15(int) Constant 0
+ 17: TypePointer Input 7(fvec2)
+ 20: 15(int) Constant 1
+ 24: TypeVector 6(float) 4
+ 25: TypePointer Output 24(fvec4)
+26(gl_FragColor): 25(ptr) Variable Output
+ 27: 6(float) Constant 1106247680
+ 28: 24(fvec4) ConstantComposite 27 27 27 27
+ 29: 10(int) Constant 3
+ 30: TypeArray 24(fvec4) 29
+ 31: TypePointer UniformConstant 30
+ 32(u): 31(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
- 10(t): 9(ptr) Variable Function
- 19: 18(ptr) AccessChain 15(v) 17
- 20: 8(fvec2) Load 19
- 22: 18(ptr) AccessChain 15(v) 21
- 23: 8(fvec2) Load 22
- 24: 8(fvec2) FAdd 20 23
- Store 10(t) 24
- Store 27(gl_FragColor) 29
- Branch 6
- 6: Label
+ 9(t): 8(ptr) Variable Function
+ 18: 17(ptr) AccessChain 14(v) 16
+ 19: 7(fvec2) Load 18
+ 21: 17(ptr) AccessChain 14(v) 20
+ 22: 7(fvec2) Load 21
+ 23: 7(fvec2) FAdd 19 22
+ Store 9(t) 23
+ Store 26(gl_FragColor) 28
Return
FunctionEnd
diff --git a/Test/baseResults/spv.localAggregates.frag.out b/Test/baseResults/spv.localAggregates.frag.out
index 37f124e..6be9457 100755
--- a/Test/baseResults/spv.localAggregates.frag.out
+++ b/Test/baseResults/spv.localAggregates.frag.out
@@ -8,7 +8,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 135
+// Id's are bound by 134
Source GLSL 130
Capability Shader
@@ -17,205 +17,203 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 9 "s1"
- MemberName 9(s1) 0 "i"
- MemberName 9(s1) 1 "f"
- Name 11 "s2"
- MemberName 11(s2) 0 "i"
- MemberName 11(s2) 1 "f"
- MemberName 11(s2) 2 "s1_1"
- MemberName 11(s2) 3 "bleh"
- Name 13 "locals2"
- Name 14 "s3"
- MemberName 14(s3) 0 "s2_1"
- MemberName 14(s3) 1 "i"
- MemberName 14(s3) 2 "f"
- MemberName 14(s3) 3 "s1_1"
- Name 16 "foo3"
- Name 37 "localFArray"
- Name 41 "coord"
- Name 48 "localIArray"
- Name 67 "x"
- Name 69 "localArray"
- Name 74 "i"
- Name 81 "a"
- Name 87 "condition"
- Name 95 "color"
- Name 105 "gl_FragColor"
- Name 125 "sampler"
- Name 131 "foo"
- Name 132 "foo2"
- Name 134 "uFloatArray"
- Decorate 41(coord) Smooth
- Decorate 95(color) Smooth
- Decorate 105(gl_FragColor) BuiltIn FragColor
- Decorate 131(foo) NoStaticUse
- Decorate 132(foo2) NoStaticUse
- Decorate 134(uFloatArray) NoStaticUse
+ Name 8 "s1"
+ MemberName 8(s1) 0 "i"
+ MemberName 8(s1) 1 "f"
+ Name 10 "s2"
+ MemberName 10(s2) 0 "i"
+ MemberName 10(s2) 1 "f"
+ MemberName 10(s2) 2 "s1_1"
+ MemberName 10(s2) 3 "bleh"
+ Name 12 "locals2"
+ Name 13 "s3"
+ MemberName 13(s3) 0 "s2_1"
+ MemberName 13(s3) 1 "i"
+ MemberName 13(s3) 2 "f"
+ MemberName 13(s3) 3 "s1_1"
+ Name 15 "foo3"
+ Name 36 "localFArray"
+ Name 40 "coord"
+ Name 47 "localIArray"
+ Name 66 "x"
+ Name 68 "localArray"
+ Name 73 "i"
+ Name 80 "a"
+ Name 86 "condition"
+ Name 94 "color"
+ Name 104 "gl_FragColor"
+ Name 124 "sampler"
+ Name 130 "foo"
+ Name 131 "foo2"
+ Name 133 "uFloatArray"
+ Decorate 40(coord) Smooth
+ Decorate 94(color) Smooth
+ Decorate 104(gl_FragColor) BuiltIn FragColor
+ Decorate 130(foo) NoStaticUse
+ Decorate 131(foo2) NoStaticUse
+ Decorate 133(uFloatArray) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeInt 32 1
- 8: TypeFloat 32
- 9(s1): TypeStruct 7(int) 8(float)
- 10: TypeVector 8(float) 4
- 11(s2): TypeStruct 7(int) 8(float) 9(s1) 10(fvec4)
- 12: TypePointer Function 11(s2)
- 14(s3): TypeStruct 11(s2) 7(int) 8(float) 9(s1)
- 15: TypePointer UniformConstant 14(s3)
- 16(foo3): 15(ptr) Variable UniformConstant
- 17: 7(int) Constant 0
- 18: TypePointer UniformConstant 11(s2)
- 21: TypePointer UniformConstant 7(int)
- 24: TypeBool
- 28: 7(int) Constant 2
- 29: 7(int) Constant 1
- 30: 8(float) Constant 1065353216
- 31: TypePointer Function 8(float)
- 33: TypeInt 32 0
- 34: 33(int) Constant 16
- 35: TypeArray 8(float) 34
- 36: TypePointer Function 35
- 38: 7(int) Constant 4
- 39: TypeVector 8(float) 2
- 40: TypePointer Input 39(fvec2)
- 41(coord): 40(ptr) Variable Input
- 45: 33(int) Constant 8
- 46: TypeArray 7(int) 45
- 47: TypePointer Function 46
- 51: TypePointer Function 7(int)
- 68: 7(int) Constant 5
- 79: 7(int) Constant 16
- 83: 8(float) Constant 0
- 87(condition): 21(ptr) Variable UniformConstant
- 93: 7(int) Constant 3
- 94: TypePointer Input 10(fvec4)
- 95(color): 94(ptr) Variable Input
- 97: TypePointer Function 10(fvec4)
- 104: TypePointer Output 10(fvec4)
-105(gl_FragColor): 104(ptr) Variable Output
- 122: TypeImage 8(float) 2D sampled format:Unknown
- 123: TypeSampledImage 122
- 124: TypePointer UniformConstant 123
- 125(sampler): 124(ptr) Variable UniformConstant
- 130: TypePointer UniformConstant 9(s1)
- 131(foo): 130(ptr) Variable UniformConstant
- 132(foo2): 18(ptr) Variable UniformConstant
- 133: TypePointer UniformConstant 35
-134(uFloatArray): 133(ptr) Variable UniformConstant
+ 6: TypeInt 32 1
+ 7: TypeFloat 32
+ 8(s1): TypeStruct 6(int) 7(float)
+ 9: TypeVector 7(float) 4
+ 10(s2): TypeStruct 6(int) 7(float) 8(s1) 9(fvec4)
+ 11: TypePointer Function 10(s2)
+ 13(s3): TypeStruct 10(s2) 6(int) 7(float) 8(s1)
+ 14: TypePointer UniformConstant 13(s3)
+ 15(foo3): 14(ptr) Variable UniformConstant
+ 16: 6(int) Constant 0
+ 17: TypePointer UniformConstant 10(s2)
+ 20: TypePointer UniformConstant 6(int)
+ 23: TypeBool
+ 27: 6(int) Constant 2
+ 28: 6(int) Constant 1
+ 29: 7(float) Constant 1065353216
+ 30: TypePointer Function 7(float)
+ 32: TypeInt 32 0
+ 33: 32(int) Constant 16
+ 34: TypeArray 7(float) 33
+ 35: TypePointer Function 34
+ 37: 6(int) Constant 4
+ 38: TypeVector 7(float) 2
+ 39: TypePointer Input 38(fvec2)
+ 40(coord): 39(ptr) Variable Input
+ 44: 32(int) Constant 8
+ 45: TypeArray 6(int) 44
+ 46: TypePointer Function 45
+ 50: TypePointer Function 6(int)
+ 67: 6(int) Constant 5
+ 78: 6(int) Constant 16
+ 82: 7(float) Constant 0
+ 86(condition): 20(ptr) Variable UniformConstant
+ 92: 6(int) Constant 3
+ 93: TypePointer Input 9(fvec4)
+ 94(color): 93(ptr) Variable Input
+ 96: TypePointer Function 9(fvec4)
+ 103: TypePointer Output 9(fvec4)
+104(gl_FragColor): 103(ptr) Variable Output
+ 121: TypeImage 7(float) 2D sampled format:Unknown
+ 122: TypeSampledImage 121
+ 123: TypePointer UniformConstant 122
+ 124(sampler): 123(ptr) Variable UniformConstant
+ 129: TypePointer UniformConstant 8(s1)
+ 130(foo): 129(ptr) Variable UniformConstant
+ 131(foo2): 17(ptr) Variable UniformConstant
+ 132: TypePointer UniformConstant 34
+133(uFloatArray): 132(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
- 13(locals2): 12(ptr) Variable Function
- 37(localFArray): 36(ptr) Variable Function
- 48(localIArray): 47(ptr) Variable Function
- 67(x): 51(ptr) Variable Function
- 69(localArray): 36(ptr) Variable Function
- 74(i): 51(ptr) Variable Function
- 81(a): 36(ptr) Variable Function
- 19: 18(ptr) AccessChain 16(foo3) 17
- 20: 11(s2) Load 19
- Store 13(locals2) 20
- 22: 21(ptr) AccessChain 16(foo3) 17 17
- 23: 7(int) Load 22
- 25: 24(bool) SGreaterThan 23 17
- SelectionMerge 27 None
- BranchConditional 25 26 53
- 26: Label
- 32: 31(ptr) AccessChain 13(locals2) 28 29
- Store 32 30
- 42: 39(fvec2) Load 41(coord)
- 43: 8(float) CompositeExtract 42 0
- 44: 31(ptr) AccessChain 37(localFArray) 38
- Store 44 43
- 49: 21(ptr) AccessChain 16(foo3) 17 17
- 50: 7(int) Load 49
- 52: 51(ptr) AccessChain 48(localIArray) 28
- Store 52 50
- Branch 27
- 53: Label
- 54: 39(fvec2) Load 41(coord)
- 55: 8(float) CompositeExtract 54 0
- 56: 31(ptr) AccessChain 13(locals2) 28 29
- Store 56 55
- 57: 31(ptr) AccessChain 37(localFArray) 38
- Store 57 30
- 58: 51(ptr) AccessChain 48(localIArray) 28
- Store 58 17
- Branch 27
- 27: Label
- 59: 51(ptr) AccessChain 48(localIArray) 28
- 60: 7(int) Load 59
- 61: 24(bool) IEqual 60 17
- SelectionMerge 63 None
- BranchConditional 61 62 63
- 62: Label
- 64: 31(ptr) AccessChain 37(localFArray) 38
- 65: 8(float) Load 64
- 66: 8(float) FAdd 65 30
- Store 64 66
- Branch 63
- 63: Label
- Store 67(x) 68
- 70: 7(int) Load 67(x)
- 71: 39(fvec2) Load 41(coord)
- 72: 8(float) CompositeExtract 71 0
- 73: 31(ptr) AccessChain 69(localArray) 70
- Store 73 72
- Store 74(i) 17
- Branch 75
+ 12(locals2): 11(ptr) Variable Function
+ 36(localFArray): 35(ptr) Variable Function
+ 47(localIArray): 46(ptr) Variable Function
+ 66(x): 50(ptr) Variable Function
+ 68(localArray): 35(ptr) Variable Function
+ 73(i): 50(ptr) Variable Function
+ 80(a): 35(ptr) Variable Function
+ 18: 17(ptr) AccessChain 15(foo3) 16
+ 19: 10(s2) Load 18
+ Store 12(locals2) 19
+ 21: 20(ptr) AccessChain 15(foo3) 16 16
+ 22: 6(int) Load 21
+ 24: 23(bool) SGreaterThan 22 16
+ SelectionMerge 26 None
+ BranchConditional 24 25 52
+ 25: Label
+ 31: 30(ptr) AccessChain 12(locals2) 27 28
+ Store 31 29
+ 41: 38(fvec2) Load 40(coord)
+ 42: 7(float) CompositeExtract 41 0
+ 43: 30(ptr) AccessChain 36(localFArray) 37
+ Store 43 42
+ 48: 20(ptr) AccessChain 15(foo3) 16 16
+ 49: 6(int) Load 48
+ 51: 50(ptr) AccessChain 47(localIArray) 27
+ Store 51 49
+ Branch 26
+ 52: Label
+ 53: 38(fvec2) Load 40(coord)
+ 54: 7(float) CompositeExtract 53 0
+ 55: 30(ptr) AccessChain 12(locals2) 27 28
+ Store 55 54
+ 56: 30(ptr) AccessChain 36(localFArray) 37
+ Store 56 29
+ 57: 50(ptr) AccessChain 47(localIArray) 27
+ Store 57 16
+ Branch 26
+ 26: Label
+ 58: 50(ptr) AccessChain 47(localIArray) 27
+ 59: 6(int) Load 58
+ 60: 23(bool) IEqual 59 16
+ SelectionMerge 62 None
+ BranchConditional 60 61 62
+ 61: Label
+ 63: 30(ptr) AccessChain 36(localFArray) 37
+ 64: 7(float) Load 63
+ 65: 7(float) FAdd 64 29
+ Store 63 65
+ Branch 62
+ 62: Label
+ Store 66(x) 67
+ 69: 6(int) Load 66(x)
+ 70: 38(fvec2) Load 40(coord)
+ 71: 7(float) CompositeExtract 70 0
+ 72: 30(ptr) AccessChain 68(localArray) 69
+ Store 72 71
+ Store 73(i) 16
+ Branch 74
+ 74: Label
+ 77: 6(int) Load 73(i)
+ 79: 23(bool) SLessThan 77 78
+ LoopMerge 75 None
+ BranchConditional 79 76 75
+ 76: Label
+ 81: 6(int) Load 73(i)
+ 83: 30(ptr) AccessChain 80(a) 81
+ Store 83 82
+ 84: 6(int) Load 73(i)
+ 85: 6(int) IAdd 84 28
+ Store 73(i) 85
+ Branch 74
75: Label
- 78: 7(int) Load 74(i)
- 80: 24(bool) SLessThan 78 79
- LoopMerge 76 None
- BranchConditional 80 77 76
- 77: Label
- 82: 7(int) Load 74(i)
- 84: 31(ptr) AccessChain 81(a) 82
- Store 84 83
- 85: 7(int) Load 74(i)
- 86: 7(int) IAdd 85 29
- Store 74(i) 86
- Branch 75
- 76: Label
- 88: 7(int) Load 87(condition)
- 89: 24(bool) IEqual 88 29
- SelectionMerge 91 None
- BranchConditional 89 90 91
- 90: Label
- 92: 35 Load 69(localArray)
- Store 81(a) 92
- Branch 91
- 91: Label
- 96: 10(fvec4) Load 95(color)
- 98: 97(ptr) AccessChain 13(locals2) 93
- Store 98 96
- 99: 39(fvec2) Load 41(coord)
- 100: 8(float) CompositeExtract 99 1
- 101: 97(ptr) AccessChain 13(locals2) 93
- 102: 10(fvec4) Load 101
- 103: 10(fvec4) CompositeInsert 100 102 2
- Store 101 103
- 106: 97(ptr) AccessChain 13(locals2) 93
- 107: 10(fvec4) Load 106
- 108: 31(ptr) AccessChain 37(localFArray) 38
- 109: 8(float) Load 108
- 110: 31(ptr) AccessChain 13(locals2) 28 29
- 111: 8(float) Load 110
- 112: 8(float) FAdd 109 111
- 113: 7(int) Load 67(x)
- 114: 31(ptr) AccessChain 69(localArray) 113
- 115: 8(float) Load 114
- 116: 8(float) FAdd 112 115
- 117: 7(int) Load 67(x)
- 118: 31(ptr) AccessChain 81(a) 117
- 119: 8(float) Load 118
- 120: 8(float) FAdd 116 119
- 121: 10(fvec4) VectorTimesScalar 107 120
- 126: 123 Load 125(sampler)
- 127: 39(fvec2) Load 41(coord)
- 128: 10(fvec4) ImageSampleImplicitLod 126 127
- 129: 10(fvec4) FMul 121 128
- Store 105(gl_FragColor) 129
- Branch 6
- 6: Label
+ 87: 6(int) Load 86(condition)
+ 88: 23(bool) IEqual 87 28
+ SelectionMerge 90 None
+ BranchConditional 88 89 90
+ 89: Label
+ 91: 34 Load 68(localArray)
+ Store 80(a) 91
+ Branch 90
+ 90: Label
+ 95: 9(fvec4) Load 94(color)
+ 97: 96(ptr) AccessChain 12(locals2) 92
+ Store 97 95
+ 98: 38(fvec2) Load 40(coord)
+ 99: 7(float) CompositeExtract 98 1
+ 100: 96(ptr) AccessChain 12(locals2) 92
+ 101: 9(fvec4) Load 100
+ 102: 9(fvec4) CompositeInsert 99 101 2
+ Store 100 102
+ 105: 96(ptr) AccessChain 12(locals2) 92
+ 106: 9(fvec4) Load 105
+ 107: 30(ptr) AccessChain 36(localFArray) 37
+ 108: 7(float) Load 107
+ 109: 30(ptr) AccessChain 12(locals2) 27 28
+ 110: 7(float) Load 109
+ 111: 7(float) FAdd 108 110
+ 112: 6(int) Load 66(x)
+ 113: 30(ptr) AccessChain 68(localArray) 112
+ 114: 7(float) Load 113
+ 115: 7(float) FAdd 111 114
+ 116: 6(int) Load 66(x)
+ 117: 30(ptr) AccessChain 80(a) 116
+ 118: 7(float) Load 117
+ 119: 7(float) FAdd 115 118
+ 120: 9(fvec4) VectorTimesScalar 106 119
+ 125: 122 Load 124(sampler)
+ 126: 38(fvec2) Load 40(coord)
+ 127: 9(fvec4) ImageSampleImplicitLod 125 126
+ 128: 9(fvec4) FMul 120 127
+ Store 104(gl_FragColor) 128
Return
FunctionEnd
diff --git a/Test/baseResults/spv.loops.frag.out b/Test/baseResults/spv.loops.frag.out
index 8cc3a1c..6dc80cb 100755
--- a/Test/baseResults/spv.loops.frag.out
+++ b/Test/baseResults/spv.loops.frag.out
@@ -7,7 +7,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 750
+// Id's are bound by 749
Source GLSL 130
Capability Shader
@@ -16,1129 +16,1127 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 10 "color"
- Name 12 "BaseColor"
- Name 48 "d"
- Name 52 "bigColor"
- Name 63 "bigColor1_1"
- Name 93 "d2"
- Name 98 "d3"
- Name 102 "bigColor1_2"
- Name 113 "bigColor1_3"
- Name 119 "d4"
- Name 130 "i"
- Name 137 "Count"
- Name 140 "bigColor2"
- Name 158 "bigColor3"
- Name 163 "i"
- Name 178 "i"
- Name 216 "i"
- Name 241 "i"
- Name 269 "i"
- Name 306 "bigColor4"
- Name 344 "d5"
- Name 348 "bigColor5"
- Name 366 "d6"
- Name 378 "bigColor6"
- Name 413 "d7"
- Name 447 "bigColor7"
- Name 472 "d8"
- Name 518 "d9"
- Name 550 "d10"
- Name 560 "d11"
- Name 572 "d12"
- Name 600 "bigColor8"
- Name 628 "gl_FragColor"
- Name 635 "d14"
- Name 640 "d15"
- Name 658 "d16"
- Name 696 "d17"
- Name 702 "d18"
- Name 733 "d13"
- Name 734 "d19"
- Name 735 "d20"
- Name 736 "d21"
- Name 737 "d22"
- Name 738 "d23"
- Name 739 "d24"
- Name 740 "d25"
- Name 741 "d26"
- Name 742 "d27"
- Name 743 "d28"
- Name 744 "d29"
- Name 745 "d30"
- Name 746 "d31"
- Name 747 "d32"
- Name 748 "d33"
- Name 749 "d34"
- Decorate 12(BaseColor) Smooth
- Decorate 628(gl_FragColor) BuiltIn FragColor
- Decorate 733(d13) NoStaticUse
- Decorate 734(d19) NoStaticUse
- Decorate 735(d20) NoStaticUse
- Decorate 736(d21) NoStaticUse
- Decorate 737(d22) NoStaticUse
- Decorate 738(d23) NoStaticUse
- Decorate 739(d24) NoStaticUse
- Decorate 740(d25) NoStaticUse
- Decorate 741(d26) NoStaticUse
- Decorate 742(d27) NoStaticUse
- Decorate 743(d28) NoStaticUse
- Decorate 744(d29) NoStaticUse
- Decorate 745(d30) NoStaticUse
- Decorate 746(d31) NoStaticUse
- Decorate 747(d32) NoStaticUse
- Decorate 748(d33) NoStaticUse
- Decorate 749(d34) NoStaticUse
+ Name 9 "color"
+ Name 11 "BaseColor"
+ Name 47 "d"
+ Name 51 "bigColor"
+ Name 62 "bigColor1_1"
+ Name 92 "d2"
+ Name 97 "d3"
+ Name 101 "bigColor1_2"
+ Name 112 "bigColor1_3"
+ Name 118 "d4"
+ Name 129 "i"
+ Name 136 "Count"
+ Name 139 "bigColor2"
+ Name 157 "bigColor3"
+ Name 162 "i"
+ Name 177 "i"
+ Name 215 "i"
+ Name 240 "i"
+ Name 268 "i"
+ Name 305 "bigColor4"
+ Name 343 "d5"
+ Name 347 "bigColor5"
+ Name 365 "d6"
+ Name 377 "bigColor6"
+ Name 412 "d7"
+ Name 446 "bigColor7"
+ Name 471 "d8"
+ Name 517 "d9"
+ Name 549 "d10"
+ Name 559 "d11"
+ Name 571 "d12"
+ Name 599 "bigColor8"
+ Name 627 "gl_FragColor"
+ Name 634 "d14"
+ Name 639 "d15"
+ Name 657 "d16"
+ Name 695 "d17"
+ Name 701 "d18"
+ Name 732 "d13"
+ Name 733 "d19"
+ Name 734 "d20"
+ Name 735 "d21"
+ Name 736 "d22"
+ Name 737 "d23"
+ Name 738 "d24"
+ Name 739 "d25"
+ Name 740 "d26"
+ Name 741 "d27"
+ Name 742 "d28"
+ Name 743 "d29"
+ Name 744 "d30"
+ Name 745 "d31"
+ Name 746 "d32"
+ Name 747 "d33"
+ Name 748 "d34"
+ Decorate 11(BaseColor) Smooth
+ Decorate 627(gl_FragColor) BuiltIn FragColor
+ Decorate 732(d13) NoStaticUse
+ Decorate 733(d19) NoStaticUse
+ Decorate 734(d20) NoStaticUse
+ Decorate 735(d21) NoStaticUse
+ Decorate 736(d22) NoStaticUse
+ Decorate 737(d23) NoStaticUse
+ Decorate 738(d24) NoStaticUse
+ Decorate 739(d25) NoStaticUse
+ Decorate 740(d26) NoStaticUse
+ Decorate 741(d27) NoStaticUse
+ Decorate 742(d28) NoStaticUse
+ Decorate 743(d29) NoStaticUse
+ Decorate 744(d30) NoStaticUse
+ Decorate 745(d31) NoStaticUse
+ Decorate 746(d32) NoStaticUse
+ Decorate 747(d33) NoStaticUse
+ Decorate 748(d34) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeVector 7(float) 4
- 9: TypePointer Function 8(fvec4)
- 11: TypePointer Input 8(fvec4)
- 12(BaseColor): 11(ptr) Variable Input
- 17: TypeBool
- 18: 17(bool) ConstantTrue
- 21: 7(float) Constant 1051260355
- 25: 8(fvec4) ConstantComposite 21 21 21 21
- 31: 7(float) Constant 1059648963
- 35: 8(fvec4) ConstantComposite 31 31 31 31
- 47: TypePointer UniformConstant 7(float)
- 48(d): 47(ptr) Variable UniformConstant
- 51: TypePointer UniformConstant 8(fvec4)
- 52(bigColor): 51(ptr) Variable UniformConstant
- 63(bigColor1_1): 51(ptr) Variable UniformConstant
- 82: 7(float) Constant 1109917696
- 85: 7(float) Constant 1065353216
- 93(d2): 47(ptr) Variable UniformConstant
- 98(d3): 47(ptr) Variable UniformConstant
-102(bigColor1_2): 51(ptr) Variable UniformConstant
-113(bigColor1_3): 51(ptr) Variable UniformConstant
- 119(d4): 47(ptr) Variable UniformConstant
- 128: TypeInt 32 1
- 129: TypePointer Function 128(int)
- 131: 128(int) Constant 0
- 136: TypePointer UniformConstant 128(int)
- 137(Count): 136(ptr) Variable UniformConstant
- 140(bigColor2): 51(ptr) Variable UniformConstant
- 145: 128(int) Constant 1
- 158(bigColor3): 51(ptr) Variable UniformConstant
- 162: 17(bool) ConstantFalse
- 168: 128(int) Constant 42
- 183: 128(int) Constant 100
- 187: 7(float) Constant 1101004800
- 221: 128(int) Constant 120
- 306(bigColor4): 51(ptr) Variable UniformConstant
- 344(d5): 47(ptr) Variable UniformConstant
- 348(bigColor5): 51(ptr) Variable UniformConstant
- 366(d6): 47(ptr) Variable UniformConstant
- 378(bigColor6): 51(ptr) Variable UniformConstant
- 413(d7): 47(ptr) Variable UniformConstant
- 442: 7(float) Constant 0
- 447(bigColor7): 51(ptr) Variable UniformConstant
- 472(d8): 47(ptr) Variable UniformConstant
- 494: 7(float) Constant 1073741824
- 518(d9): 47(ptr) Variable UniformConstant
- 534: 7(float) Constant 1084227584
- 550(d10): 47(ptr) Variable UniformConstant
- 560(d11): 47(ptr) Variable UniformConstant
- 572(d12): 47(ptr) Variable UniformConstant
- 598: 7(float) Constant 1092616192
- 600(bigColor8): 51(ptr) Variable UniformConstant
- 627: TypePointer Output 8(fvec4)
-628(gl_FragColor): 627(ptr) Variable Output
- 635(d14): 47(ptr) Variable UniformConstant
- 640(d15): 47(ptr) Variable UniformConstant
- 658(d16): 47(ptr) Variable UniformConstant
- 696(d17): 47(ptr) Variable UniformConstant
- 702(d18): 47(ptr) Variable UniformConstant
- 733(d13): 47(ptr) Variable UniformConstant
- 734(d19): 47(ptr) Variable UniformConstant
- 735(d20): 47(ptr) Variable UniformConstant
- 736(d21): 47(ptr) Variable UniformConstant
- 737(d22): 47(ptr) Variable UniformConstant
- 738(d23): 47(ptr) Variable UniformConstant
- 739(d24): 47(ptr) Variable UniformConstant
- 740(d25): 47(ptr) Variable UniformConstant
- 741(d26): 47(ptr) Variable UniformConstant
- 742(d27): 47(ptr) Variable UniformConstant
- 743(d28): 47(ptr) Variable UniformConstant
- 744(d29): 47(ptr) Variable UniformConstant
- 745(d30): 47(ptr) Variable UniformConstant
- 746(d31): 47(ptr) Variable UniformConstant
- 747(d32): 47(ptr) Variable UniformConstant
- 748(d33): 47(ptr) Variable UniformConstant
- 749(d34): 47(ptr) Variable UniformConstant
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypePointer Input 7(fvec4)
+ 11(BaseColor): 10(ptr) Variable Input
+ 16: TypeBool
+ 17: 16(bool) ConstantTrue
+ 20: 6(float) Constant 1051260355
+ 24: 7(fvec4) ConstantComposite 20 20 20 20
+ 30: 6(float) Constant 1059648963
+ 34: 7(fvec4) ConstantComposite 30 30 30 30
+ 46: TypePointer UniformConstant 6(float)
+ 47(d): 46(ptr) Variable UniformConstant
+ 50: TypePointer UniformConstant 7(fvec4)
+ 51(bigColor): 50(ptr) Variable UniformConstant
+ 62(bigColor1_1): 50(ptr) Variable UniformConstant
+ 81: 6(float) Constant 1109917696
+ 84: 6(float) Constant 1065353216
+ 92(d2): 46(ptr) Variable UniformConstant
+ 97(d3): 46(ptr) Variable UniformConstant
+101(bigColor1_2): 50(ptr) Variable UniformConstant
+112(bigColor1_3): 50(ptr) Variable UniformConstant
+ 118(d4): 46(ptr) Variable UniformConstant
+ 127: TypeInt 32 1
+ 128: TypePointer Function 127(int)
+ 130: 127(int) Constant 0
+ 135: TypePointer UniformConstant 127(int)
+ 136(Count): 135(ptr) Variable UniformConstant
+ 139(bigColor2): 50(ptr) Variable UniformConstant
+ 144: 127(int) Constant 1
+ 157(bigColor3): 50(ptr) Variable UniformConstant
+ 161: 16(bool) ConstantFalse
+ 167: 127(int) Constant 42
+ 182: 127(int) Constant 100
+ 186: 6(float) Constant 1101004800
+ 220: 127(int) Constant 120
+ 305(bigColor4): 50(ptr) Variable UniformConstant
+ 343(d5): 46(ptr) Variable UniformConstant
+ 347(bigColor5): 50(ptr) Variable UniformConstant
+ 365(d6): 46(ptr) Variable UniformConstant
+ 377(bigColor6): 50(ptr) Variable UniformConstant
+ 412(d7): 46(ptr) Variable UniformConstant
+ 441: 6(float) Constant 0
+ 446(bigColor7): 50(ptr) Variable UniformConstant
+ 471(d8): 46(ptr) Variable UniformConstant
+ 493: 6(float) Constant 1073741824
+ 517(d9): 46(ptr) Variable UniformConstant
+ 533: 6(float) Constant 1084227584
+ 549(d10): 46(ptr) Variable UniformConstant
+ 559(d11): 46(ptr) Variable UniformConstant
+ 571(d12): 46(ptr) Variable UniformConstant
+ 597: 6(float) Constant 1092616192
+ 599(bigColor8): 50(ptr) Variable UniformConstant
+ 626: TypePointer Output 7(fvec4)
+627(gl_FragColor): 626(ptr) Variable Output
+ 634(d14): 46(ptr) Variable UniformConstant
+ 639(d15): 46(ptr) Variable UniformConstant
+ 657(d16): 46(ptr) Variable UniformConstant
+ 695(d17): 46(ptr) Variable UniformConstant
+ 701(d18): 46(ptr) Variable UniformConstant
+ 732(d13): 46(ptr) Variable UniformConstant
+ 733(d19): 46(ptr) Variable UniformConstant
+ 734(d20): 46(ptr) Variable UniformConstant
+ 735(d21): 46(ptr) Variable UniformConstant
+ 736(d22): 46(ptr) Variable UniformConstant
+ 737(d23): 46(ptr) Variable UniformConstant
+ 738(d24): 46(ptr) Variable UniformConstant
+ 739(d25): 46(ptr) Variable UniformConstant
+ 740(d26): 46(ptr) Variable UniformConstant
+ 741(d27): 46(ptr) Variable UniformConstant
+ 742(d28): 46(ptr) Variable UniformConstant
+ 743(d29): 46(ptr) Variable UniformConstant
+ 744(d30): 46(ptr) Variable UniformConstant
+ 745(d31): 46(ptr) Variable UniformConstant
+ 746(d32): 46(ptr) Variable UniformConstant
+ 747(d33): 46(ptr) Variable UniformConstant
+ 748(d34): 46(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
- 10(color): 9(ptr) Variable Function
- 130(i): 129(ptr) Variable Function
- 163(i): 129(ptr) Variable Function
- 178(i): 129(ptr) Variable Function
- 216(i): 129(ptr) Variable Function
- 241(i): 129(ptr) Variable Function
- 269(i): 129(ptr) Variable Function
- 13: 8(fvec4) Load 12(BaseColor)
- Store 10(color) 13
- Branch 14
+ 9(color): 8(ptr) Variable Function
+ 129(i): 128(ptr) Variable Function
+ 162(i): 128(ptr) Variable Function
+ 177(i): 128(ptr) Variable Function
+ 215(i): 128(ptr) Variable Function
+ 240(i): 128(ptr) Variable Function
+ 268(i): 128(ptr) Variable Function
+ 12: 7(fvec4) Load 11(BaseColor)
+ Store 9(color) 12
+ Branch 13
+ 13: Label
+ LoopMerge 14 None
+ BranchConditional 17 15 14
+ 15: Label
+ 18: 7(fvec4) Load 9(color)
+ 19: 6(float) CompositeExtract 18 0
+ 21: 16(bool) FOrdLessThan 19 20
+ SelectionMerge 23 None
+ BranchConditional 21 22 23
+ 22: Label
+ 25: 7(fvec4) Load 9(color)
+ 26: 7(fvec4) FAdd 25 24
+ Store 9(color) 26
+ Branch 14
+ 23: Label
+ 28: 7(fvec4) Load 9(color)
+ 29: 6(float) CompositeExtract 28 0
+ 31: 16(bool) FOrdLessThan 29 30
+ SelectionMerge 33 None
+ BranchConditional 31 32 33
+ 32: Label
+ 35: 7(fvec4) Load 9(color)
+ 36: 7(fvec4) FAdd 35 34
+ Store 9(color) 36
+ Branch 14
+ 33: Label
+ 38: 7(fvec4) Load 9(color)
+ 39: 7(fvec4) FAdd 38 24
+ Store 9(color) 39
+ Branch 14
14: Label
- LoopMerge 15 None
- BranchConditional 18 16 15
- 16: Label
- 19: 8(fvec4) Load 10(color)
- 20: 7(float) CompositeExtract 19 0
- 22: 17(bool) FOrdLessThan 20 21
- SelectionMerge 24 None
- BranchConditional 22 23 24
- 23: Label
- 26: 8(fvec4) Load 10(color)
- 27: 8(fvec4) FAdd 26 25
- Store 10(color) 27
- Branch 15
- 24: Label
- 29: 8(fvec4) Load 10(color)
- 30: 7(float) CompositeExtract 29 0
- 32: 17(bool) FOrdLessThan 30 31
- SelectionMerge 34 None
- BranchConditional 32 33 34
- 33: Label
- 36: 8(fvec4) Load 10(color)
- 37: 8(fvec4) FAdd 36 35
- Store 10(color) 37
- Branch 15
- 34: Label
- 39: 8(fvec4) Load 10(color)
- 40: 8(fvec4) FAdd 39 25
- Store 10(color) 40
- Branch 15
- 15: Label
- Branch 42
+ Branch 41
+ 41: Label
+ 44: 7(fvec4) Load 9(color)
+ 45: 6(float) CompositeExtract 44 0
+ 48: 6(float) Load 47(d)
+ 49: 16(bool) FOrdLessThan 45 48
+ LoopMerge 42 None
+ BranchConditional 49 43 42
+ 43: Label
+ 52: 7(fvec4) Load 51(bigColor)
+ 53: 7(fvec4) Load 9(color)
+ 54: 7(fvec4) FAdd 53 52
+ Store 9(color) 54
+ Branch 41
42: Label
- 45: 8(fvec4) Load 10(color)
- 46: 7(float) CompositeExtract 45 0
- 49: 7(float) Load 48(d)
- 50: 17(bool) FOrdLessThan 46 49
- LoopMerge 43 None
- BranchConditional 50 44 43
- 44: Label
- 53: 8(fvec4) Load 52(bigColor)
- 54: 8(fvec4) Load 10(color)
- 55: 8(fvec4) FAdd 54 53
- Store 10(color) 55
- Branch 42
- 43: Label
- Branch 56
+ Branch 55
+ 55: Label
+ 58: 7(fvec4) Load 9(color)
+ 59: 6(float) CompositeExtract 58 2
+ 60: 6(float) Load 47(d)
+ 61: 16(bool) FOrdLessThan 59 60
+ LoopMerge 56 None
+ BranchConditional 61 57 56
+ 57: Label
+ 63: 7(fvec4) Load 62(bigColor1_1)
+ 64: 7(fvec4) Load 9(color)
+ 65: 7(fvec4) FAdd 64 63
+ Store 9(color) 65
+ 66: 7(fvec4) Load 9(color)
+ 67: 6(float) CompositeExtract 66 3
+ 68: 6(float) Load 47(d)
+ 69: 16(bool) FOrdLessThan 67 68
+ SelectionMerge 71 None
+ BranchConditional 69 70 71
+ 70: Label
+ Branch 55
+ 71: Label
+ 73: 7(fvec4) Load 62(bigColor1_1)
+ 74: 7(fvec4) Load 9(color)
+ 75: 7(fvec4) FAdd 74 73
+ Store 9(color) 75
+ Branch 55
56: Label
- 59: 8(fvec4) Load 10(color)
- 60: 7(float) CompositeExtract 59 2
- 61: 7(float) Load 48(d)
- 62: 17(bool) FOrdLessThan 60 61
- LoopMerge 57 None
- BranchConditional 62 58 57
- 58: Label
- 64: 8(fvec4) Load 63(bigColor1_1)
- 65: 8(fvec4) Load 10(color)
- 66: 8(fvec4) FAdd 65 64
- Store 10(color) 66
- 67: 8(fvec4) Load 10(color)
- 68: 7(float) CompositeExtract 67 3
- 69: 7(float) Load 48(d)
- 70: 17(bool) FOrdLessThan 68 69
- SelectionMerge 72 None
- BranchConditional 70 71 72
- 71: Label
- Branch 56
- 72: Label
- 74: 8(fvec4) Load 63(bigColor1_1)
- 75: 8(fvec4) Load 10(color)
- 76: 8(fvec4) FAdd 75 74
- Store 10(color) 76
- Branch 56
- 57: Label
- Branch 77
+ Branch 76
+ 76: Label
+ 79: 7(fvec4) Load 9(color)
+ 80: 6(float) CompositeExtract 79 0
+ 82: 16(bool) FOrdLessThan 80 81
+ LoopMerge 77 None
+ BranchConditional 82 78 77
+ 78: Label
+ 83: 7(fvec4) Load 9(color)
+ 85: 7(fvec4) CompositeConstruct 84 84 84 84
+ 86: 7(fvec4) FAdd 83 85
+ Store 9(color) 86
+ Branch 76
77: Label
- 80: 8(fvec4) Load 10(color)
- 81: 7(float) CompositeExtract 80 0
- 83: 17(bool) FOrdLessThan 81 82
- LoopMerge 78 None
- BranchConditional 83 79 78
- 79: Label
- 84: 8(fvec4) Load 10(color)
- 86: 8(fvec4) CompositeConstruct 85 85 85 85
- 87: 8(fvec4) FAdd 84 86
- Store 10(color) 87
- Branch 77
- 78: Label
- Branch 88
+ Branch 87
+ 87: Label
+ 90: 7(fvec4) Load 9(color)
+ 91: 6(float) CompositeExtract 90 3
+ 93: 6(float) Load 92(d2)
+ 94: 16(bool) FOrdLessThan 91 93
+ 95: 7(fvec4) Load 9(color)
+ 96: 6(float) CompositeExtract 95 1
+ 98: 6(float) Load 97(d3)
+ 99: 16(bool) FOrdLessThan 96 98
+ 100: 16(bool) LogicalAnd 94 99
+ LoopMerge 88 None
+ BranchConditional 100 89 88
+ 89: Label
+ 102: 7(fvec4) Load 101(bigColor1_2)
+ 103: 7(fvec4) Load 9(color)
+ 104: 7(fvec4) FAdd 103 102
+ Store 9(color) 104
+ Branch 87
88: Label
- 91: 8(fvec4) Load 10(color)
- 92: 7(float) CompositeExtract 91 3
- 94: 7(float) Load 93(d2)
- 95: 17(bool) FOrdLessThan 92 94
- 96: 8(fvec4) Load 10(color)
- 97: 7(float) CompositeExtract 96 1
- 99: 7(float) Load 98(d3)
- 100: 17(bool) FOrdLessThan 97 99
- 101: 17(bool) LogicalAnd 95 100
- LoopMerge 89 None
- BranchConditional 101 90 89
- 90: Label
- 103: 8(fvec4) Load 102(bigColor1_2)
- 104: 8(fvec4) Load 10(color)
- 105: 8(fvec4) FAdd 104 103
- Store 10(color) 105
- Branch 88
- 89: Label
- Branch 106
+ Branch 105
+ 105: Label
+ 108: 7(fvec4) Load 9(color)
+ 109: 6(float) CompositeExtract 108 2
+ 110: 6(float) Load 97(d3)
+ 111: 16(bool) FOrdLessThan 109 110
+ LoopMerge 106 None
+ BranchConditional 111 107 106
+ 107: Label
+ 113: 7(fvec4) Load 112(bigColor1_3)
+ 114: 7(fvec4) Load 9(color)
+ 115: 7(fvec4) FAdd 114 113
+ Store 9(color) 115
+ 116: 7(fvec4) Load 9(color)
+ 117: 6(float) CompositeExtract 116 1
+ 119: 6(float) Load 118(d4)
+ 120: 16(bool) FOrdLessThan 117 119
+ SelectionMerge 122 None
+ BranchConditional 120 121 122
+ 121: Label
+ Branch 106
+ 122: Label
+ 124: 7(fvec4) Load 112(bigColor1_3)
+ 125: 7(fvec4) Load 9(color)
+ 126: 7(fvec4) FAdd 125 124
+ Store 9(color) 126
+ Branch 105
106: Label
- 109: 8(fvec4) Load 10(color)
- 110: 7(float) CompositeExtract 109 2
- 111: 7(float) Load 98(d3)
- 112: 17(bool) FOrdLessThan 110 111
- LoopMerge 107 None
- BranchConditional 112 108 107
- 108: Label
- 114: 8(fvec4) Load 113(bigColor1_3)
- 115: 8(fvec4) Load 10(color)
- 116: 8(fvec4) FAdd 115 114
- Store 10(color) 116
- 117: 8(fvec4) Load 10(color)
- 118: 7(float) CompositeExtract 117 1
- 120: 7(float) Load 119(d4)
- 121: 17(bool) FOrdLessThan 118 120
- SelectionMerge 123 None
- BranchConditional 121 122 123
- 122: Label
- Branch 107
- 123: Label
- 125: 8(fvec4) Load 113(bigColor1_3)
- 126: 8(fvec4) Load 10(color)
- 127: 8(fvec4) FAdd 126 125
- Store 10(color) 127
- Branch 106
- 107: Label
- Store 130(i) 131
- Branch 132
+ Store 129(i) 130
+ Branch 131
+ 131: Label
+ 134: 127(int) Load 129(i)
+ 137: 127(int) Load 136(Count)
+ 138: 16(bool) SLessThan 134 137
+ LoopMerge 132 None
+ BranchConditional 138 133 132
+ 133: Label
+ 140: 7(fvec4) Load 139(bigColor2)
+ 141: 7(fvec4) Load 9(color)
+ 142: 7(fvec4) FAdd 141 140
+ Store 9(color) 142
+ 143: 127(int) Load 129(i)
+ 145: 127(int) IAdd 143 144
+ Store 129(i) 145
+ Branch 131
132: Label
- 135: 128(int) Load 130(i)
- 138: 128(int) Load 137(Count)
- 139: 17(bool) SLessThan 135 138
- LoopMerge 133 None
- BranchConditional 139 134 133
- 134: Label
- 141: 8(fvec4) Load 140(bigColor2)
- 142: 8(fvec4) Load 10(color)
- 143: 8(fvec4) FAdd 142 141
- Store 10(color) 143
- 144: 128(int) Load 130(i)
- 146: 128(int) IAdd 144 145
- Store 130(i) 146
- Branch 132
- 133: Label
- Branch 147
- 147: Label
- 150: 17(bool) Phi 18 133 162 149
- LoopMerge 148 None
- Branch 151
- 151: Label
- SelectionMerge 149 None
- BranchConditional 150 149 152
- 152: Label
- 153: 8(fvec4) Load 10(color)
- 154: 7(float) CompositeExtract 153 0
- 155: 7(float) Load 93(d2)
- 156: 17(bool) FOrdLessThan 154 155
- SelectionMerge 157 None
- BranchConditional 156 157 148
- 157: Label
- Branch 149
- 149: Label
- 159: 8(fvec4) Load 158(bigColor3)
- 160: 8(fvec4) Load 10(color)
- 161: 8(fvec4) FAdd 160 159
- Store 10(color) 161
- Branch 147
+ Branch 146
+ 146: Label
+ 149: 16(bool) Phi 17 132 161 148
+ LoopMerge 147 None
+ Branch 150
+ 150: Label
+ SelectionMerge 148 None
+ BranchConditional 149 148 151
+ 151: Label
+ 152: 7(fvec4) Load 9(color)
+ 153: 6(float) CompositeExtract 152 0
+ 154: 6(float) Load 92(d2)
+ 155: 16(bool) FOrdLessThan 153 154
+ SelectionMerge 156 None
+ BranchConditional 155 156 147
+ 156: Label
+ Branch 148
148: Label
- Store 163(i) 131
- Branch 164
+ 158: 7(fvec4) Load 157(bigColor3)
+ 159: 7(fvec4) Load 9(color)
+ 160: 7(fvec4) FAdd 159 158
+ Store 9(color) 160
+ Branch 146
+ 147: Label
+ Store 162(i) 130
+ Branch 163
+ 163: Label
+ 166: 127(int) Load 162(i)
+ 168: 16(bool) SLessThan 166 167
+ LoopMerge 164 None
+ BranchConditional 168 165 164
+ 165: Label
+ 169: 6(float) Load 97(d3)
+ 170: 7(fvec4) Load 9(color)
+ 171: 6(float) CompositeExtract 170 2
+ 172: 6(float) FAdd 171 169
+ 173: 7(fvec4) Load 9(color)
+ 174: 7(fvec4) CompositeInsert 172 173 2
+ Store 9(color) 174
+ 175: 127(int) Load 162(i)
+ 176: 127(int) IAdd 175 144
+ Store 162(i) 176
+ Branch 163
164: Label
- 167: 128(int) Load 163(i)
- 169: 17(bool) SLessThan 167 168
- LoopMerge 165 None
- BranchConditional 169 166 165
- 166: Label
- 170: 7(float) Load 98(d3)
- 171: 8(fvec4) Load 10(color)
- 172: 7(float) CompositeExtract 171 2
- 173: 7(float) FAdd 172 170
- 174: 8(fvec4) Load 10(color)
- 175: 8(fvec4) CompositeInsert 173 174 2
- Store 10(color) 175
- 176: 128(int) Load 163(i)
- 177: 128(int) IAdd 176 145
- Store 163(i) 177
- Branch 164
- 165: Label
- Store 178(i) 131
- Branch 179
+ Store 177(i) 130
+ Branch 178
+ 178: Label
+ 181: 127(int) Load 177(i)
+ 183: 16(bool) SLessThan 181 182
+ LoopMerge 179 None
+ BranchConditional 183 180 179
+ 180: Label
+ 184: 7(fvec4) Load 9(color)
+ 185: 6(float) CompositeExtract 184 2
+ 187: 16(bool) FOrdLessThan 185 186
+ SelectionMerge 189 None
+ BranchConditional 187 188 195
+ 188: Label
+ 190: 7(fvec4) Load 9(color)
+ 191: 6(float) CompositeExtract 190 0
+ 192: 6(float) FAdd 191 84
+ 193: 7(fvec4) Load 9(color)
+ 194: 7(fvec4) CompositeInsert 192 193 0
+ Store 9(color) 194
+ Branch 189
+ 195: Label
+ 196: 7(fvec4) Load 9(color)
+ 197: 6(float) CompositeExtract 196 1
+ 198: 6(float) FAdd 197 84
+ 199: 7(fvec4) Load 9(color)
+ 200: 7(fvec4) CompositeInsert 198 199 1
+ Store 9(color) 200
+ Branch 189
+ 189: Label
+ 201: 7(fvec4) Load 9(color)
+ 202: 6(float) CompositeExtract 201 3
+ 203: 16(bool) FOrdLessThan 202 186
+ SelectionMerge 205 None
+ BranchConditional 203 204 205
+ 204: Label
+ 206: 7(fvec4) Load 9(color)
+ 207: 6(float) CompositeExtract 206 2
+ 208: 7(fvec4) Load 9(color)
+ 209: 6(float) CompositeExtract 208 1
+ 210: 16(bool) FOrdGreaterThan 207 209
+ SelectionMerge 212 None
+ BranchConditional 210 211 212
+ 211: Label
+ Branch 212
+ 212: Label
+ Branch 205
+ 205: Label
+ 213: 127(int) Load 177(i)
+ 214: 127(int) IAdd 213 144
+ Store 177(i) 214
+ Branch 178
179: Label
- 182: 128(int) Load 178(i)
- 184: 17(bool) SLessThan 182 183
- LoopMerge 180 None
- BranchConditional 184 181 180
- 181: Label
- 185: 8(fvec4) Load 10(color)
- 186: 7(float) CompositeExtract 185 2
- 188: 17(bool) FOrdLessThan 186 187
- SelectionMerge 190 None
- BranchConditional 188 189 196
- 189: Label
- 191: 8(fvec4) Load 10(color)
- 192: 7(float) CompositeExtract 191 0
- 193: 7(float) FAdd 192 85
- 194: 8(fvec4) Load 10(color)
- 195: 8(fvec4) CompositeInsert 193 194 0
- Store 10(color) 195
- Branch 190
- 196: Label
- 197: 8(fvec4) Load 10(color)
- 198: 7(float) CompositeExtract 197 1
- 199: 7(float) FAdd 198 85
- 200: 8(fvec4) Load 10(color)
- 201: 8(fvec4) CompositeInsert 199 200 1
- Store 10(color) 201
- Branch 190
- 190: Label
- 202: 8(fvec4) Load 10(color)
- 203: 7(float) CompositeExtract 202 3
- 204: 17(bool) FOrdLessThan 203 187
- SelectionMerge 206 None
- BranchConditional 204 205 206
- 205: Label
- 207: 8(fvec4) Load 10(color)
- 208: 7(float) CompositeExtract 207 2
- 209: 8(fvec4) Load 10(color)
- 210: 7(float) CompositeExtract 209 1
- 211: 17(bool) FOrdGreaterThan 208 210
- SelectionMerge 213 None
- BranchConditional 211 212 213
- 212: Label
- Branch 213
- 213: Label
- Branch 206
- 206: Label
- 214: 128(int) Load 178(i)
- 215: 128(int) IAdd 214 145
- Store 178(i) 215
- Branch 179
- 180: Label
- Store 216(i) 131
- Branch 217
+ Store 215(i) 130
+ Branch 216
+ 216: Label
+ 219: 127(int) Load 215(i)
+ 221: 16(bool) SLessThan 219 220
+ LoopMerge 217 None
+ BranchConditional 221 218 217
+ 218: Label
+ 222: 7(fvec4) Load 9(color)
+ 223: 6(float) CompositeExtract 222 2
+ 224: 16(bool) FOrdLessThan 223 186
+ SelectionMerge 226 None
+ BranchConditional 224 225 232
+ 225: Label
+ 227: 7(fvec4) Load 9(color)
+ 228: 6(float) CompositeExtract 227 0
+ 229: 6(float) FAdd 228 84
+ 230: 7(fvec4) Load 9(color)
+ 231: 7(fvec4) CompositeInsert 229 230 0
+ Store 9(color) 231
+ Branch 226
+ 232: Label
+ 233: 7(fvec4) Load 9(color)
+ 234: 6(float) CompositeExtract 233 1
+ 235: 6(float) FAdd 234 84
+ 236: 7(fvec4) Load 9(color)
+ 237: 7(fvec4) CompositeInsert 235 236 1
+ Store 9(color) 237
+ Branch 226
+ 226: Label
+ 238: 127(int) Load 215(i)
+ 239: 127(int) IAdd 238 144
+ Store 215(i) 239
+ Branch 216
217: Label
- 220: 128(int) Load 216(i)
- 222: 17(bool) SLessThan 220 221
- LoopMerge 218 None
- BranchConditional 222 219 218
- 219: Label
- 223: 8(fvec4) Load 10(color)
- 224: 7(float) CompositeExtract 223 2
- 225: 17(bool) FOrdLessThan 224 187
- SelectionMerge 227 None
- BranchConditional 225 226 233
- 226: Label
- 228: 8(fvec4) Load 10(color)
- 229: 7(float) CompositeExtract 228 0
- 230: 7(float) FAdd 229 85
- 231: 8(fvec4) Load 10(color)
- 232: 8(fvec4) CompositeInsert 230 231 0
- Store 10(color) 232
- Branch 227
- 233: Label
- 234: 8(fvec4) Load 10(color)
- 235: 7(float) CompositeExtract 234 1
- 236: 7(float) FAdd 235 85
- 237: 8(fvec4) Load 10(color)
- 238: 8(fvec4) CompositeInsert 236 237 1
- Store 10(color) 238
- Branch 227
- 227: Label
- 239: 128(int) Load 216(i)
- 240: 128(int) IAdd 239 145
- Store 216(i) 240
- Branch 217
- 218: Label
- Store 241(i) 131
- Branch 242
+ Store 240(i) 130
+ Branch 241
+ 241: Label
+ 244: 127(int) Load 240(i)
+ 245: 16(bool) SLessThan 244 167
+ LoopMerge 242 None
+ BranchConditional 245 243 242
+ 243: Label
+ 246: 6(float) Load 97(d3)
+ 247: 7(fvec4) Load 9(color)
+ 248: 6(float) CompositeExtract 247 2
+ 249: 6(float) FAdd 248 246
+ 250: 7(fvec4) Load 9(color)
+ 251: 7(fvec4) CompositeInsert 249 250 2
+ Store 9(color) 251
+ 252: 7(fvec4) Load 9(color)
+ 253: 6(float) CompositeExtract 252 0
+ 254: 6(float) Load 118(d4)
+ 255: 16(bool) FOrdLessThan 253 254
+ SelectionMerge 257 None
+ BranchConditional 255 256 257
+ 256: Label
+ 258: 127(int) Load 240(i)
+ 259: 127(int) IAdd 258 144
+ Store 240(i) 259
+ Branch 241
+ 257: Label
+ 261: 7(fvec4) Load 9(color)
+ 262: 6(float) CompositeExtract 261 3
+ 263: 6(float) FAdd 262 84
+ 264: 7(fvec4) Load 9(color)
+ 265: 7(fvec4) CompositeInsert 263 264 3
+ Store 9(color) 265
+ 266: 127(int) Load 240(i)
+ 267: 127(int) IAdd 266 144
+ Store 240(i) 267
+ Branch 241
242: Label
- 245: 128(int) Load 241(i)
- 246: 17(bool) SLessThan 245 168
- LoopMerge 243 None
- BranchConditional 246 244 243
- 244: Label
- 247: 7(float) Load 98(d3)
- 248: 8(fvec4) Load 10(color)
- 249: 7(float) CompositeExtract 248 2
- 250: 7(float) FAdd 249 247
- 251: 8(fvec4) Load 10(color)
- 252: 8(fvec4) CompositeInsert 250 251 2
- Store 10(color) 252
- 253: 8(fvec4) Load 10(color)
- 254: 7(float) CompositeExtract 253 0
- 255: 7(float) Load 119(d4)
- 256: 17(bool) FOrdLessThan 254 255
- SelectionMerge 258 None
- BranchConditional 256 257 258
- 257: Label
- 259: 128(int) Load 241(i)
- 260: 128(int) IAdd 259 145
- Store 241(i) 260
- Branch 242
- 258: Label
- 262: 8(fvec4) Load 10(color)
- 263: 7(float) CompositeExtract 262 3
- 264: 7(float) FAdd 263 85
- 265: 8(fvec4) Load 10(color)
- 266: 8(fvec4) CompositeInsert 264 265 3
- Store 10(color) 266
- 267: 128(int) Load 241(i)
- 268: 128(int) IAdd 267 145
- Store 241(i) 268
- Branch 242
- 243: Label
- Store 269(i) 131
- Branch 270
+ Store 268(i) 130
+ Branch 269
+ 269: Label
+ 272: 127(int) Load 268(i)
+ 273: 16(bool) SLessThan 272 167
+ LoopMerge 270 None
+ BranchConditional 273 271 270
+ 271: Label
+ 274: 6(float) Load 97(d3)
+ 275: 7(fvec4) Load 9(color)
+ 276: 6(float) CompositeExtract 275 2
+ 277: 6(float) FAdd 276 274
+ 278: 7(fvec4) Load 9(color)
+ 279: 7(fvec4) CompositeInsert 277 278 2
+ Store 9(color) 279
+ 280: 7(fvec4) Load 9(color)
+ 281: 6(float) CompositeExtract 280 0
+ 282: 6(float) Load 118(d4)
+ 283: 16(bool) FOrdLessThan 281 282
+ SelectionMerge 285 None
+ BranchConditional 283 284 285
+ 284: Label
+ Branch 270
+ 285: Label
+ 287: 7(fvec4) Load 9(color)
+ 288: 6(float) CompositeExtract 287 3
+ 289: 6(float) FAdd 288 84
+ 290: 7(fvec4) Load 9(color)
+ 291: 7(fvec4) CompositeInsert 289 290 3
+ Store 9(color) 291
+ 292: 127(int) Load 268(i)
+ 293: 127(int) IAdd 292 144
+ Store 268(i) 293
+ Branch 269
270: Label
- 273: 128(int) Load 269(i)
- 274: 17(bool) SLessThan 273 168
- LoopMerge 271 None
- BranchConditional 274 272 271
- 272: Label
- 275: 7(float) Load 98(d3)
- 276: 8(fvec4) Load 10(color)
- 277: 7(float) CompositeExtract 276 2
- 278: 7(float) FAdd 277 275
- 279: 8(fvec4) Load 10(color)
- 280: 8(fvec4) CompositeInsert 278 279 2
- Store 10(color) 280
- 281: 8(fvec4) Load 10(color)
- 282: 7(float) CompositeExtract 281 0
- 283: 7(float) Load 119(d4)
- 284: 17(bool) FOrdLessThan 282 283
- SelectionMerge 286 None
- BranchConditional 284 285 286
- 285: Label
- Branch 271
- 286: Label
- 288: 8(fvec4) Load 10(color)
- 289: 7(float) CompositeExtract 288 3
- 290: 7(float) FAdd 289 85
- 291: 8(fvec4) Load 10(color)
- 292: 8(fvec4) CompositeInsert 290 291 3
- Store 10(color) 292
- 293: 128(int) Load 269(i)
- 294: 128(int) IAdd 293 145
- Store 269(i) 294
- Branch 270
- 271: Label
- Branch 295
- 295: Label
- 298: 17(bool) Phi 18 271 162 314 162 322
- LoopMerge 296 None
- Branch 299
- 299: Label
- SelectionMerge 297 None
- BranchConditional 298 297 300
- 300: Label
- 301: 8(fvec4) Load 10(color)
- 302: 7(float) CompositeExtract 301 2
- 303: 7(float) Load 119(d4)
- 304: 17(bool) FOrdLessThan 302 303
- SelectionMerge 305 None
- BranchConditional 304 305 296
- 305: Label
- Branch 297
- 297: Label
- 307: 8(fvec4) Load 306(bigColor4)
- 308: 8(fvec4) Load 10(color)
- 309: 8(fvec4) FAdd 308 307
- Store 10(color) 309
- 310: 8(fvec4) Load 10(color)
- 311: 7(float) CompositeExtract 310 0
- 312: 7(float) Load 119(d4)
- 313: 17(bool) FOrdLessThan 311 312
- SelectionMerge 315 None
- BranchConditional 313 314 315
- 314: Label
- Branch 295
- 315: Label
- 317: 8(fvec4) Load 10(color)
- 318: 7(float) CompositeExtract 317 1
- 319: 7(float) Load 119(d4)
- 320: 17(bool) FOrdLessThan 318 319
- SelectionMerge 322 None
- BranchConditional 320 321 329
- 321: Label
- 323: 7(float) Load 119(d4)
- 324: 8(fvec4) Load 10(color)
- 325: 7(float) CompositeExtract 324 1
- 326: 7(float) FAdd 325 323
- 327: 8(fvec4) Load 10(color)
- 328: 8(fvec4) CompositeInsert 326 327 1
- Store 10(color) 328
- Branch 322
- 329: Label
- 330: 7(float) Load 119(d4)
- 331: 8(fvec4) Load 10(color)
- 332: 7(float) CompositeExtract 331 0
- 333: 7(float) FAdd 332 330
- 334: 8(fvec4) Load 10(color)
- 335: 8(fvec4) CompositeInsert 333 334 0
- Store 10(color) 335
- Branch 322
- 322: Label
- Branch 295
+ Branch 294
+ 294: Label
+ 297: 16(bool) Phi 17 270 161 313 161 321
+ LoopMerge 295 None
+ Branch 298
+ 298: Label
+ SelectionMerge 296 None
+ BranchConditional 297 296 299
+ 299: Label
+ 300: 7(fvec4) Load 9(color)
+ 301: 6(float) CompositeExtract 300 2
+ 302: 6(float) Load 118(d4)
+ 303: 16(bool) FOrdLessThan 301 302
+ SelectionMerge 304 None
+ BranchConditional 303 304 295
+ 304: Label
+ Branch 296
296: Label
- Branch 336
- 336: Label
- 339: 17(bool) Phi 18 296 162 357
- LoopMerge 337 None
- Branch 340
- 340: Label
- SelectionMerge 338 None
- BranchConditional 339 338 341
- 341: Label
- 342: 8(fvec4) Load 10(color)
- 343: 7(float) CompositeExtract 342 0
- 345: 7(float) Load 344(d5)
- 346: 17(bool) FOrdLessThan 343 345
- SelectionMerge 347 None
- BranchConditional 346 347 337
- 347: Label
- Branch 338
- 338: Label
- 349: 8(fvec4) Load 348(bigColor5)
- 350: 8(fvec4) Load 10(color)
- 351: 8(fvec4) FAdd 350 349
- Store 10(color) 351
- 352: 8(fvec4) Load 10(color)
- 353: 7(float) CompositeExtract 352 1
- 354: 7(float) Load 344(d5)
- 355: 17(bool) FOrdLessThan 353 354
- SelectionMerge 357 None
- BranchConditional 355 356 357
- 356: Label
- 358: 7(float) Load 344(d5)
- 359: 8(fvec4) Load 10(color)
- 360: 7(float) CompositeExtract 359 1
- 361: 7(float) FAdd 360 358
- 362: 8(fvec4) Load 10(color)
- 363: 8(fvec4) CompositeInsert 361 362 1
- Store 10(color) 363
- Branch 357
- 357: Label
- Branch 336
+ 306: 7(fvec4) Load 305(bigColor4)
+ 307: 7(fvec4) Load 9(color)
+ 308: 7(fvec4) FAdd 307 306
+ Store 9(color) 308
+ 309: 7(fvec4) Load 9(color)
+ 310: 6(float) CompositeExtract 309 0
+ 311: 6(float) Load 118(d4)
+ 312: 16(bool) FOrdLessThan 310 311
+ SelectionMerge 314 None
+ BranchConditional 312 313 314
+ 313: Label
+ Branch 294
+ 314: Label
+ 316: 7(fvec4) Load 9(color)
+ 317: 6(float) CompositeExtract 316 1
+ 318: 6(float) Load 118(d4)
+ 319: 16(bool) FOrdLessThan 317 318
+ SelectionMerge 321 None
+ BranchConditional 319 320 328
+ 320: Label
+ 322: 6(float) Load 118(d4)
+ 323: 7(fvec4) Load 9(color)
+ 324: 6(float) CompositeExtract 323 1
+ 325: 6(float) FAdd 324 322
+ 326: 7(fvec4) Load 9(color)
+ 327: 7(fvec4) CompositeInsert 325 326 1
+ Store 9(color) 327
+ Branch 321
+ 328: Label
+ 329: 6(float) Load 118(d4)
+ 330: 7(fvec4) Load 9(color)
+ 331: 6(float) CompositeExtract 330 0
+ 332: 6(float) FAdd 331 329
+ 333: 7(fvec4) Load 9(color)
+ 334: 7(fvec4) CompositeInsert 332 333 0
+ Store 9(color) 334
+ Branch 321
+ 321: Label
+ Branch 294
+ 295: Label
+ Branch 335
+ 335: Label
+ 338: 16(bool) Phi 17 295 161 356
+ LoopMerge 336 None
+ Branch 339
+ 339: Label
+ SelectionMerge 337 None
+ BranchConditional 338 337 340
+ 340: Label
+ 341: 7(fvec4) Load 9(color)
+ 342: 6(float) CompositeExtract 341 0
+ 344: 6(float) Load 343(d5)
+ 345: 16(bool) FOrdLessThan 342 344
+ SelectionMerge 346 None
+ BranchConditional 345 346 336
+ 346: Label
+ Branch 337
337: Label
- 364: 8(fvec4) Load 10(color)
- 365: 7(float) CompositeExtract 364 0
- 367: 7(float) Load 366(d6)
- 368: 17(bool) FOrdLessThan 365 367
- SelectionMerge 370 None
- BranchConditional 368 369 382
- 369: Label
- Branch 371
+ 348: 7(fvec4) Load 347(bigColor5)
+ 349: 7(fvec4) Load 9(color)
+ 350: 7(fvec4) FAdd 349 348
+ Store 9(color) 350
+ 351: 7(fvec4) Load 9(color)
+ 352: 6(float) CompositeExtract 351 1
+ 353: 6(float) Load 343(d5)
+ 354: 16(bool) FOrdLessThan 352 353
+ SelectionMerge 356 None
+ BranchConditional 354 355 356
+ 355: Label
+ 357: 6(float) Load 343(d5)
+ 358: 7(fvec4) Load 9(color)
+ 359: 6(float) CompositeExtract 358 1
+ 360: 6(float) FAdd 359 357
+ 361: 7(fvec4) Load 9(color)
+ 362: 7(fvec4) CompositeInsert 360 361 1
+ Store 9(color) 362
+ Branch 356
+ 356: Label
+ Branch 335
+ 336: Label
+ 363: 7(fvec4) Load 9(color)
+ 364: 6(float) CompositeExtract 363 0
+ 366: 6(float) Load 365(d6)
+ 367: 16(bool) FOrdLessThan 364 366
+ SelectionMerge 369 None
+ BranchConditional 367 368 381
+ 368: Label
+ Branch 370
+ 370: Label
+ 373: 7(fvec4) Load 9(color)
+ 374: 6(float) CompositeExtract 373 1
+ 375: 6(float) Load 365(d6)
+ 376: 16(bool) FOrdLessThan 374 375
+ LoopMerge 371 None
+ BranchConditional 376 372 371
+ 372: Label
+ 378: 7(fvec4) Load 377(bigColor6)
+ 379: 7(fvec4) Load 9(color)
+ 380: 7(fvec4) FAdd 379 378
+ Store 9(color) 380
+ Branch 370
371: Label
- 374: 8(fvec4) Load 10(color)
- 375: 7(float) CompositeExtract 374 1
- 376: 7(float) Load 366(d6)
- 377: 17(bool) FOrdLessThan 375 376
- LoopMerge 372 None
- BranchConditional 377 373 372
- 373: Label
- 379: 8(fvec4) Load 378(bigColor6)
- 380: 8(fvec4) Load 10(color)
- 381: 8(fvec4) FAdd 380 379
- Store 10(color) 381
- Branch 371
- 372: Label
- Branch 370
+ Branch 369
+ 381: Label
+ Branch 382
382: Label
- Branch 383
+ 385: 7(fvec4) Load 9(color)
+ 386: 6(float) CompositeExtract 385 2
+ 387: 6(float) Load 365(d6)
+ 388: 16(bool) FOrdLessThan 386 387
+ LoopMerge 383 None
+ BranchConditional 388 384 383
+ 384: Label
+ 389: 7(fvec4) Load 377(bigColor6)
+ 390: 6(float) CompositeExtract 389 2
+ 391: 7(fvec4) Load 9(color)
+ 392: 6(float) CompositeExtract 391 2
+ 393: 6(float) FAdd 392 390
+ 394: 7(fvec4) Load 9(color)
+ 395: 7(fvec4) CompositeInsert 393 394 2
+ Store 9(color) 395
+ Branch 382
383: Label
- 386: 8(fvec4) Load 10(color)
- 387: 7(float) CompositeExtract 386 2
- 388: 7(float) Load 366(d6)
- 389: 17(bool) FOrdLessThan 387 388
- LoopMerge 384 None
- BranchConditional 389 385 384
- 385: Label
- 390: 8(fvec4) Load 378(bigColor6)
- 391: 7(float) CompositeExtract 390 2
- 392: 8(fvec4) Load 10(color)
- 393: 7(float) CompositeExtract 392 2
- 394: 7(float) FAdd 393 391
- 395: 8(fvec4) Load 10(color)
- 396: 8(fvec4) CompositeInsert 394 395 2
- Store 10(color) 396
- Branch 383
- 384: Label
- Branch 370
- 370: Label
- 397: 8(fvec4) Load 10(color)
- 398: 7(float) CompositeExtract 397 0
- 399: 7(float) Load 366(d6)
- 400: 17(bool) FOrdLessThan 398 399
- SelectionMerge 402 None
- BranchConditional 400 401 419
- 401: Label
- Branch 403
+ Branch 369
+ 369: Label
+ 396: 7(fvec4) Load 9(color)
+ 397: 6(float) CompositeExtract 396 0
+ 398: 6(float) Load 365(d6)
+ 399: 16(bool) FOrdLessThan 397 398
+ SelectionMerge 401 None
+ BranchConditional 399 400 418
+ 400: Label
+ Branch 402
+ 402: Label
+ 405: 7(fvec4) Load 9(color)
+ 406: 6(float) CompositeExtract 405 1
+ 407: 6(float) Load 365(d6)
+ 408: 16(bool) FOrdLessThan 406 407
+ LoopMerge 403 None
+ BranchConditional 408 404 403
+ 404: Label
+ 409: 7(fvec4) Load 377(bigColor6)
+ 410: 7(fvec4) Load 9(color)
+ 411: 7(fvec4) FAdd 410 409
+ Store 9(color) 411
+ 413: 6(float) Load 412(d7)
+ 414: 16(bool) FOrdLessThan 413 84
+ SelectionMerge 416 None
+ BranchConditional 414 415 416
+ 415: Label
+ Branch 403
+ 416: Label
+ Branch 402
403: Label
- 406: 8(fvec4) Load 10(color)
- 407: 7(float) CompositeExtract 406 1
- 408: 7(float) Load 366(d6)
- 409: 17(bool) FOrdLessThan 407 408
- LoopMerge 404 None
- BranchConditional 409 405 404
- 405: Label
- 410: 8(fvec4) Load 378(bigColor6)
- 411: 8(fvec4) Load 10(color)
- 412: 8(fvec4) FAdd 411 410
- Store 10(color) 412
- 414: 7(float) Load 413(d7)
- 415: 17(bool) FOrdLessThan 414 85
- SelectionMerge 417 None
- BranchConditional 415 416 417
- 416: Label
- Branch 404
- 417: Label
- Branch 403
- 404: Label
- Branch 402
+ Branch 401
+ 418: Label
+ Branch 419
419: Label
- Branch 420
+ 422: 7(fvec4) Load 9(color)
+ 423: 6(float) CompositeExtract 422 2
+ 424: 6(float) Load 365(d6)
+ 425: 16(bool) FOrdLessThan 423 424
+ LoopMerge 420 None
+ BranchConditional 425 421 420
+ 421: Label
+ 426: 7(fvec4) Load 377(bigColor6)
+ 427: 6(float) CompositeExtract 426 2
+ 428: 7(fvec4) Load 9(color)
+ 429: 6(float) CompositeExtract 428 2
+ 430: 6(float) FAdd 429 427
+ 431: 7(fvec4) Load 9(color)
+ 432: 7(fvec4) CompositeInsert 430 431 2
+ Store 9(color) 432
+ Branch 419
420: Label
- 423: 8(fvec4) Load 10(color)
- 424: 7(float) CompositeExtract 423 2
- 425: 7(float) Load 366(d6)
- 426: 17(bool) FOrdLessThan 424 425
- LoopMerge 421 None
- BranchConditional 426 422 421
- 422: Label
- 427: 8(fvec4) Load 378(bigColor6)
- 428: 7(float) CompositeExtract 427 2
- 429: 8(fvec4) Load 10(color)
- 430: 7(float) CompositeExtract 429 2
- 431: 7(float) FAdd 430 428
- 432: 8(fvec4) Load 10(color)
- 433: 8(fvec4) CompositeInsert 431 432 2
- Store 10(color) 433
- Branch 420
- 421: Label
- Branch 402
- 402: Label
- Branch 434
- 434: Label
- 437: 17(bool) Phi 18 402 162 454
- LoopMerge 435 None
- Branch 438
- 438: Label
- SelectionMerge 436 None
- BranchConditional 437 436 439
+ Branch 401
+ 401: Label
+ Branch 433
+ 433: Label
+ 436: 16(bool) Phi 17 401 161 453
+ LoopMerge 434 None
+ Branch 437
+ 437: Label
+ SelectionMerge 435 None
+ BranchConditional 436 435 438
+ 438: Label
+ SelectionMerge 439 None
+ BranchConditional 17 439 434
439: Label
- SelectionMerge 440 None
- BranchConditional 18 440 435
- 440: Label
- Branch 436
- 436: Label
- 441: 7(float) Load 413(d7)
- 443: 17(bool) FOrdLessThan 441 442
- SelectionMerge 445 None
- BranchConditional 443 444 445
- 444: Label
Branch 435
- 445: Label
- 448: 8(fvec4) Load 447(bigColor7)
- 449: 8(fvec4) Load 10(color)
- 450: 8(fvec4) FAdd 449 448
- Store 10(color) 450
- 451: 7(float) Load 413(d7)
- 452: 17(bool) FOrdLessThan 451 85
- SelectionMerge 454 None
- BranchConditional 452 453 454
- 453: Label
- 455: 8(fvec4) Load 10(color)
- 456: 7(float) CompositeExtract 455 2
- 457: 7(float) FAdd 456 85
- 458: 8(fvec4) Load 10(color)
- 459: 8(fvec4) CompositeInsert 457 458 2
- Store 10(color) 459
- Branch 435
- 454: Label
- 461: 8(fvec4) Load 12(BaseColor)
- 462: 8(fvec4) Load 10(color)
- 463: 8(fvec4) FAdd 462 461
- Store 10(color) 463
- Branch 434
435: Label
- Branch 464
- 464: Label
- 467: 17(bool) Phi 18 435 162 487
- LoopMerge 465 None
- Branch 468
- 468: Label
- SelectionMerge 466 None
- BranchConditional 467 466 469
- 469: Label
- 470: 8(fvec4) Load 10(color)
- 471: 7(float) CompositeExtract 470 2
- 473: 7(float) Load 472(d8)
- 474: 17(bool) FOrdLessThan 471 473
- SelectionMerge 475 None
- BranchConditional 474 475 465
- 475: Label
- Branch 466
- 466: Label
- 476: 7(float) Load 472(d8)
- 477: 17(bool) FOrdLessThan 476 442
- SelectionMerge 479 None
- BranchConditional 477 478 479
- 478: Label
+ 440: 6(float) Load 412(d7)
+ 442: 16(bool) FOrdLessThan 440 441
+ SelectionMerge 444 None
+ BranchConditional 442 443 444
+ 443: Label
+ Branch 434
+ 444: Label
+ 447: 7(fvec4) Load 446(bigColor7)
+ 448: 7(fvec4) Load 9(color)
+ 449: 7(fvec4) FAdd 448 447
+ Store 9(color) 449
+ 450: 6(float) Load 412(d7)
+ 451: 16(bool) FOrdLessThan 450 84
+ SelectionMerge 453 None
+ BranchConditional 451 452 453
+ 452: Label
+ 454: 7(fvec4) Load 9(color)
+ 455: 6(float) CompositeExtract 454 2
+ 456: 6(float) FAdd 455 84
+ 457: 7(fvec4) Load 9(color)
+ 458: 7(fvec4) CompositeInsert 456 457 2
+ Store 9(color) 458
+ Branch 434
+ 453: Label
+ 460: 7(fvec4) Load 11(BaseColor)
+ 461: 7(fvec4) Load 9(color)
+ 462: 7(fvec4) FAdd 461 460
+ Store 9(color) 462
+ Branch 433
+ 434: Label
+ Branch 463
+ 463: Label
+ 466: 16(bool) Phi 17 434 161 486
+ LoopMerge 464 None
+ Branch 467
+ 467: Label
+ SelectionMerge 465 None
+ BranchConditional 466 465 468
+ 468: Label
+ 469: 7(fvec4) Load 9(color)
+ 470: 6(float) CompositeExtract 469 2
+ 472: 6(float) Load 471(d8)
+ 473: 16(bool) FOrdLessThan 470 472
+ SelectionMerge 474 None
+ BranchConditional 473 474 464
+ 474: Label
Branch 465
- 479: Label
- 481: 8(fvec4) Load 447(bigColor7)
- 482: 8(fvec4) Load 10(color)
- 483: 8(fvec4) FAdd 482 481
- Store 10(color) 483
- 484: 7(float) Load 472(d8)
- 485: 17(bool) FOrdLessThan 484 85
- SelectionMerge 487 None
- BranchConditional 485 486 487
- 486: Label
- 488: 8(fvec4) Load 10(color)
- 489: 7(float) CompositeExtract 488 2
- 490: 7(float) FAdd 489 85
- 491: 8(fvec4) Load 10(color)
- 492: 8(fvec4) CompositeInsert 490 491 2
- Store 10(color) 492
- 493: 7(float) Load 472(d8)
- 495: 17(bool) FOrdLessThan 493 494
- SelectionMerge 497 None
- BranchConditional 495 496 503
- 496: Label
- 498: 8(fvec4) Load 10(color)
- 499: 7(float) CompositeExtract 498 1
- 500: 7(float) FAdd 499 85
- 501: 8(fvec4) Load 10(color)
- 502: 8(fvec4) CompositeInsert 500 501 1
- Store 10(color) 502
- Branch 497
- 503: Label
- 504: 8(fvec4) Load 10(color)
- 505: 7(float) CompositeExtract 504 0
- 506: 7(float) FAdd 505 85
- 507: 8(fvec4) Load 10(color)
- 508: 8(fvec4) CompositeInsert 506 507 0
- Store 10(color) 508
- Branch 497
- 497: Label
- Branch 465
- 487: Label
- 510: 8(fvec4) Load 12(BaseColor)
- 511: 8(fvec4) Load 10(color)
- 512: 8(fvec4) FAdd 511 510
- Store 10(color) 512
- Branch 464
465: Label
- Branch 513
+ 475: 6(float) Load 471(d8)
+ 476: 16(bool) FOrdLessThan 475 441
+ SelectionMerge 478 None
+ BranchConditional 476 477 478
+ 477: Label
+ Branch 464
+ 478: Label
+ 480: 7(fvec4) Load 446(bigColor7)
+ 481: 7(fvec4) Load 9(color)
+ 482: 7(fvec4) FAdd 481 480
+ Store 9(color) 482
+ 483: 6(float) Load 471(d8)
+ 484: 16(bool) FOrdLessThan 483 84
+ SelectionMerge 486 None
+ BranchConditional 484 485 486
+ 485: Label
+ 487: 7(fvec4) Load 9(color)
+ 488: 6(float) CompositeExtract 487 2
+ 489: 6(float) FAdd 488 84
+ 490: 7(fvec4) Load 9(color)
+ 491: 7(fvec4) CompositeInsert 489 490 2
+ Store 9(color) 491
+ 492: 6(float) Load 471(d8)
+ 494: 16(bool) FOrdLessThan 492 493
+ SelectionMerge 496 None
+ BranchConditional 494 495 502
+ 495: Label
+ 497: 7(fvec4) Load 9(color)
+ 498: 6(float) CompositeExtract 497 1
+ 499: 6(float) FAdd 498 84
+ 500: 7(fvec4) Load 9(color)
+ 501: 7(fvec4) CompositeInsert 499 500 1
+ Store 9(color) 501
+ Branch 496
+ 502: Label
+ 503: 7(fvec4) Load 9(color)
+ 504: 6(float) CompositeExtract 503 0
+ 505: 6(float) FAdd 504 84
+ 506: 7(fvec4) Load 9(color)
+ 507: 7(fvec4) CompositeInsert 505 506 0
+ Store 9(color) 507
+ Branch 496
+ 496: Label
+ Branch 464
+ 486: Label
+ 509: 7(fvec4) Load 11(BaseColor)
+ 510: 7(fvec4) Load 9(color)
+ 511: 7(fvec4) FAdd 510 509
+ Store 9(color) 511
+ Branch 463
+ 464: Label
+ Branch 512
+ 512: Label
+ 515: 7(fvec4) Load 9(color)
+ 516: 6(float) CompositeExtract 515 3
+ 518: 6(float) Load 517(d9)
+ 519: 16(bool) FOrdLessThan 516 518
+ LoopMerge 513 None
+ BranchConditional 519 514 513
+ 514: Label
+ 520: 6(float) Load 517(d9)
+ 521: 6(float) Load 471(d8)
+ 522: 16(bool) FOrdGreaterThan 520 521
+ SelectionMerge 524 None
+ BranchConditional 522 523 524
+ 523: Label
+ 525: 7(fvec4) Load 9(color)
+ 526: 6(float) CompositeExtract 525 0
+ 527: 6(float) Load 412(d7)
+ 528: 16(bool) FOrdLessThanEqual 526 527
+ SelectionMerge 530 None
+ BranchConditional 528 529 530
+ 529: Label
+ 531: 7(fvec4) Load 9(color)
+ 532: 6(float) CompositeExtract 531 2
+ 534: 16(bool) FOrdEqual 532 533
+ SelectionMerge 536 None
+ BranchConditional 534 535 542
+ 535: Label
+ 537: 7(fvec4) Load 9(color)
+ 538: 6(float) CompositeExtract 537 3
+ 539: 6(float) FAdd 538 84
+ 540: 7(fvec4) Load 9(color)
+ 541: 7(fvec4) CompositeInsert 539 540 3
+ Store 9(color) 541
+ Branch 536
+ 542: Label
+ Branch 513
+ 536: Label
+ Branch 530
+ 530: Label
+ Branch 524
+ 524: Label
+ Branch 512
513: Label
- 516: 8(fvec4) Load 10(color)
- 517: 7(float) CompositeExtract 516 3
- 519: 7(float) Load 518(d9)
- 520: 17(bool) FOrdLessThan 517 519
- LoopMerge 514 None
- BranchConditional 520 515 514
- 515: Label
- 521: 7(float) Load 518(d9)
- 522: 7(float) Load 472(d8)
- 523: 17(bool) FOrdGreaterThan 521 522
- SelectionMerge 525 None
- BranchConditional 523 524 525
- 524: Label
- 526: 8(fvec4) Load 10(color)
- 527: 7(float) CompositeExtract 526 0
- 528: 7(float) Load 413(d7)
- 529: 17(bool) FOrdLessThanEqual 527 528
- SelectionMerge 531 None
- BranchConditional 529 530 531
- 530: Label
- 532: 8(fvec4) Load 10(color)
- 533: 7(float) CompositeExtract 532 2
- 535: 17(bool) FOrdEqual 533 534
- SelectionMerge 537 None
- BranchConditional 535 536 543
- 536: Label
- 538: 8(fvec4) Load 10(color)
- 539: 7(float) CompositeExtract 538 3
- 540: 7(float) FAdd 539 85
- 541: 8(fvec4) Load 10(color)
- 542: 8(fvec4) CompositeInsert 540 541 3
- Store 10(color) 542
- Branch 537
- 543: Label
- Branch 514
- 537: Label
- Branch 531
- 531: Label
- Branch 525
- 525: Label
- Branch 513
- 514: Label
- Branch 545
+ Branch 544
+ 544: Label
+ 547: 7(fvec4) Load 9(color)
+ 548: 6(float) CompositeExtract 547 2
+ 550: 6(float) Load 549(d10)
+ 551: 16(bool) FOrdLessThan 548 550
+ LoopMerge 545 None
+ BranchConditional 551 546 545
+ 546: Label
+ 552: 7(fvec4) Load 9(color)
+ 553: 6(float) CompositeExtract 552 1
+ 554: 6(float) FAdd 553 84
+ 555: 7(fvec4) Load 9(color)
+ 556: 7(fvec4) CompositeInsert 554 555 1
+ Store 9(color) 556
+ 557: 7(fvec4) Load 9(color)
+ 558: 6(float) CompositeExtract 557 1
+ 560: 6(float) Load 559(d11)
+ 561: 16(bool) FOrdLessThan 558 560
+ SelectionMerge 563 None
+ BranchConditional 561 562 563
+ 562: Label
+ 564: 7(fvec4) Load 9(color)
+ 565: 6(float) CompositeExtract 564 2
+ 566: 6(float) FAdd 565 84
+ 567: 7(fvec4) Load 9(color)
+ 568: 7(fvec4) CompositeInsert 566 567 2
+ Store 9(color) 568
+ 569: 7(fvec4) Load 9(color)
+ 570: 6(float) CompositeExtract 569 3
+ 572: 6(float) Load 571(d12)
+ 573: 16(bool) FOrdLessThan 570 572
+ SelectionMerge 575 None
+ BranchConditional 573 574 581
+ 574: Label
+ 576: 7(fvec4) Load 9(color)
+ 577: 6(float) CompositeExtract 576 3
+ 578: 6(float) FAdd 577 84
+ 579: 7(fvec4) Load 9(color)
+ 580: 7(fvec4) CompositeInsert 578 579 3
+ Store 9(color) 580
+ Branch 575
+ 581: Label
+ 582: 7(fvec4) Load 9(color)
+ 583: 6(float) CompositeExtract 582 0
+ 584: 6(float) FAdd 583 84
+ 585: 7(fvec4) Load 9(color)
+ 586: 7(fvec4) CompositeInsert 584 585 0
+ Store 9(color) 586
+ Branch 575
+ 575: Label
+ Branch 544
+ 563: Label
+ 588: 7(fvec4) Load 9(color)
+ 589: 7(fvec4) CompositeConstruct 84 84 84 84
+ 590: 7(fvec4) FAdd 588 589
+ Store 9(color) 590
+ Branch 545
545: Label
- 548: 8(fvec4) Load 10(color)
- 549: 7(float) CompositeExtract 548 2
- 551: 7(float) Load 550(d10)
- 552: 17(bool) FOrdLessThan 549 551
- LoopMerge 546 None
- BranchConditional 552 547 546
- 547: Label
- 553: 8(fvec4) Load 10(color)
- 554: 7(float) CompositeExtract 553 1
- 555: 7(float) FAdd 554 85
- 556: 8(fvec4) Load 10(color)
- 557: 8(fvec4) CompositeInsert 555 556 1
- Store 10(color) 557
- 558: 8(fvec4) Load 10(color)
- 559: 7(float) CompositeExtract 558 1
- 561: 7(float) Load 560(d11)
- 562: 17(bool) FOrdLessThan 559 561
- SelectionMerge 564 None
- BranchConditional 562 563 564
- 563: Label
- 565: 8(fvec4) Load 10(color)
- 566: 7(float) CompositeExtract 565 2
- 567: 7(float) FAdd 566 85
- 568: 8(fvec4) Load 10(color)
- 569: 8(fvec4) CompositeInsert 567 568 2
- Store 10(color) 569
- 570: 8(fvec4) Load 10(color)
- 571: 7(float) CompositeExtract 570 3
- 573: 7(float) Load 572(d12)
- 574: 17(bool) FOrdLessThan 571 573
- SelectionMerge 576 None
- BranchConditional 574 575 582
- 575: Label
- 577: 8(fvec4) Load 10(color)
- 578: 7(float) CompositeExtract 577 3
- 579: 7(float) FAdd 578 85
- 580: 8(fvec4) Load 10(color)
- 581: 8(fvec4) CompositeInsert 579 580 3
- Store 10(color) 581
- Branch 576
- 582: Label
- 583: 8(fvec4) Load 10(color)
- 584: 7(float) CompositeExtract 583 0
- 585: 7(float) FAdd 584 85
- 586: 8(fvec4) Load 10(color)
- 587: 8(fvec4) CompositeInsert 585 586 0
- Store 10(color) 587
- Branch 576
- 576: Label
- Branch 545
- 564: Label
- 589: 8(fvec4) Load 10(color)
- 590: 8(fvec4) CompositeConstruct 85 85 85 85
- 591: 8(fvec4) FAdd 589 590
- Store 10(color) 591
- Branch 546
- 546: Label
- Branch 593
+ Branch 592
+ 592: Label
+ 595: 7(fvec4) Load 9(color)
+ 596: 6(float) CompositeExtract 595 0
+ 598: 16(bool) FOrdLessThan 596 597
+ LoopMerge 593 None
+ BranchConditional 598 594 593
+ 594: Label
+ 600: 7(fvec4) Load 599(bigColor8)
+ 601: 7(fvec4) Load 9(color)
+ 602: 7(fvec4) FAdd 601 600
+ Store 9(color) 602
+ 603: 7(fvec4) Load 9(color)
+ 604: 6(float) CompositeExtract 603 2
+ 605: 6(float) Load 471(d8)
+ 606: 16(bool) FOrdLessThan 604 605
+ SelectionMerge 608 None
+ BranchConditional 606 607 608
+ 607: Label
+ 609: 7(fvec4) Load 9(color)
+ 610: 6(float) CompositeExtract 609 3
+ 611: 6(float) Load 365(d6)
+ 612: 16(bool) FOrdLessThan 610 611
+ SelectionMerge 614 None
+ BranchConditional 612 613 614
+ 613: Label
+ Branch 592
+ 614: Label
+ Branch 608
+ 608: Label
+ 616: 7(fvec4) Load 599(bigColor8)
+ 617: 6(float) CompositeExtract 616 0
+ 618: 7(fvec4) Load 9(color)
+ 619: 6(float) CompositeExtract 618 1
+ 620: 6(float) FAdd 619 617
+ 621: 7(fvec4) Load 9(color)
+ 622: 7(fvec4) CompositeInsert 620 621 1
+ Store 9(color) 622
+ Branch 592
593: Label
- 596: 8(fvec4) Load 10(color)
- 597: 7(float) CompositeExtract 596 0
- 599: 17(bool) FOrdLessThan 597 598
- LoopMerge 594 None
- BranchConditional 599 595 594
- 595: Label
- 601: 8(fvec4) Load 600(bigColor8)
- 602: 8(fvec4) Load 10(color)
- 603: 8(fvec4) FAdd 602 601
- Store 10(color) 603
- 604: 8(fvec4) Load 10(color)
- 605: 7(float) CompositeExtract 604 2
- 606: 7(float) Load 472(d8)
- 607: 17(bool) FOrdLessThan 605 606
- SelectionMerge 609 None
- BranchConditional 607 608 609
- 608: Label
- 610: 8(fvec4) Load 10(color)
- 611: 7(float) CompositeExtract 610 3
- 612: 7(float) Load 366(d6)
- 613: 17(bool) FOrdLessThan 611 612
- SelectionMerge 615 None
- BranchConditional 613 614 615
- 614: Label
- Branch 593
- 615: Label
- Branch 609
- 609: Label
- 617: 8(fvec4) Load 600(bigColor8)
- 618: 7(float) CompositeExtract 617 0
- 619: 8(fvec4) Load 10(color)
- 620: 7(float) CompositeExtract 619 1
- 621: 7(float) FAdd 620 618
- 622: 8(fvec4) Load 10(color)
- 623: 8(fvec4) CompositeInsert 621 622 1
- Store 10(color) 623
- Branch 593
- 594: Label
- 624: 8(fvec4) Load 10(color)
- 625: 8(fvec4) CompositeConstruct 85 85 85 85
- 626: 8(fvec4) FAdd 624 625
- Store 10(color) 626
- 629: 8(fvec4) Load 10(color)
- Store 628(gl_FragColor) 629
- Branch 630
+ 623: 7(fvec4) Load 9(color)
+ 624: 7(fvec4) CompositeConstruct 84 84 84 84
+ 625: 7(fvec4) FAdd 623 624
+ Store 9(color) 625
+ 628: 7(fvec4) Load 9(color)
+ Store 627(gl_FragColor) 628
+ Branch 629
+ 629: Label
+ 632: 7(fvec4) Load 9(color)
+ 633: 6(float) CompositeExtract 632 0
+ 635: 6(float) Load 634(d14)
+ 636: 16(bool) FOrdLessThan 633 635
+ LoopMerge 630 None
+ BranchConditional 636 631 630
+ 631: Label
+ 637: 7(fvec4) Load 9(color)
+ 638: 6(float) CompositeExtract 637 1
+ 640: 6(float) Load 639(d15)
+ 641: 16(bool) FOrdLessThan 638 640
+ SelectionMerge 643 None
+ BranchConditional 641 642 645
+ 642: Label
+ Return
+ 645: Label
+ 646: 7(fvec4) Load 9(color)
+ 647: 7(fvec4) CompositeConstruct 84 84 84 84
+ 648: 7(fvec4) FAdd 646 647
+ Store 9(color) 648
+ Branch 643
+ 643: Label
+ Branch 629
630: Label
- 633: 8(fvec4) Load 10(color)
- 634: 7(float) CompositeExtract 633 0
- 636: 7(float) Load 635(d14)
- 637: 17(bool) FOrdLessThan 634 636
- LoopMerge 631 None
- BranchConditional 637 632 631
- 632: Label
- 638: 8(fvec4) Load 10(color)
- 639: 7(float) CompositeExtract 638 1
- 641: 7(float) Load 640(d15)
- 642: 17(bool) FOrdLessThan 639 641
- SelectionMerge 644 None
- BranchConditional 642 643 646
- 643: Label
- Branch 6
- 646: Label
- 647: 8(fvec4) Load 10(color)
- 648: 8(fvec4) CompositeConstruct 85 85 85 85
- 649: 8(fvec4) FAdd 647 648
- Store 10(color) 649
- Branch 644
- 644: Label
- Branch 630
- 631: Label
- 650: 8(fvec4) Load 10(color)
- 651: 8(fvec4) CompositeConstruct 85 85 85 85
- 652: 8(fvec4) FAdd 650 651
- Store 10(color) 652
- Branch 653
+ 649: 7(fvec4) Load 9(color)
+ 650: 7(fvec4) CompositeConstruct 84 84 84 84
+ 651: 7(fvec4) FAdd 649 650
+ Store 9(color) 651
+ Branch 652
+ 652: Label
+ 655: 7(fvec4) Load 9(color)
+ 656: 6(float) CompositeExtract 655 3
+ 658: 6(float) Load 657(d16)
+ 659: 16(bool) FOrdLessThan 656 658
+ LoopMerge 653 None
+ BranchConditional 659 654 653
+ 654: Label
+ 660: 7(fvec4) Load 9(color)
+ 661: 6(float) CompositeExtract 660 3
+ 662: 6(float) FAdd 661 84
+ 663: 7(fvec4) Load 9(color)
+ 664: 7(fvec4) CompositeInsert 662 663 3
+ Store 9(color) 664
+ Branch 652
653: Label
- 656: 8(fvec4) Load 10(color)
- 657: 7(float) CompositeExtract 656 3
- 659: 7(float) Load 658(d16)
- 660: 17(bool) FOrdLessThan 657 659
- LoopMerge 654 None
- BranchConditional 660 655 654
- 655: Label
- 661: 8(fvec4) Load 10(color)
- 662: 7(float) CompositeExtract 661 3
- 663: 7(float) FAdd 662 85
- 664: 8(fvec4) Load 10(color)
- 665: 8(fvec4) CompositeInsert 663 664 3
- Store 10(color) 665
- Branch 653
- 654: Label
- Branch 666
+ Branch 665
+ 665: Label
+ 668: 7(fvec4) Load 9(color)
+ 669: 6(float) CompositeExtract 668 3
+ 670: 6(float) Load 92(d2)
+ 671: 16(bool) FOrdLessThan 669 670
+ 672: 7(fvec4) Load 9(color)
+ 673: 6(float) CompositeExtract 672 1
+ 674: 6(float) Load 97(d3)
+ 675: 16(bool) FOrdLessThan 673 674
+ 676: 16(bool) LogicalAnd 671 675
+ LoopMerge 666 None
+ BranchConditional 676 667 666
+ 667: Label
+ 677: 7(fvec4) Load 101(bigColor1_2)
+ 678: 7(fvec4) Load 9(color)
+ 679: 7(fvec4) FAdd 678 677
+ Store 9(color) 679
+ 680: 7(fvec4) Load 9(color)
+ 681: 6(float) CompositeExtract 680 2
+ 682: 6(float) Load 97(d3)
+ 683: 16(bool) FOrdLessThan 681 682
+ SelectionMerge 685 None
+ BranchConditional 683 684 685
+ 684: Label
+ Return
+ 685: Label
+ Branch 665
666: Label
- 669: 8(fvec4) Load 10(color)
- 670: 7(float) CompositeExtract 669 3
- 671: 7(float) Load 93(d2)
- 672: 17(bool) FOrdLessThan 670 671
- 673: 8(fvec4) Load 10(color)
- 674: 7(float) CompositeExtract 673 1
- 675: 7(float) Load 98(d3)
- 676: 17(bool) FOrdLessThan 674 675
- 677: 17(bool) LogicalAnd 672 676
- LoopMerge 667 None
- BranchConditional 677 668 667
- 668: Label
- 678: 8(fvec4) Load 102(bigColor1_2)
- 679: 8(fvec4) Load 10(color)
- 680: 8(fvec4) FAdd 679 678
- Store 10(color) 680
- 681: 8(fvec4) Load 10(color)
- 682: 7(float) CompositeExtract 681 2
- 683: 7(float) Load 98(d3)
- 684: 17(bool) FOrdLessThan 682 683
- SelectionMerge 686 None
- BranchConditional 684 685 686
- 685: Label
- Branch 6
- 686: Label
- Branch 666
- 667: Label
- Branch 688
- 688: Label
- 691: 17(bool) Phi 18 667 162 706
- LoopMerge 689 None
- Branch 692
- 692: Label
- SelectionMerge 690 None
- BranchConditional 691 690 693
- 693: Label
- 694: 8(fvec4) Load 10(color)
- 695: 7(float) CompositeExtract 694 0
- 697: 7(float) Load 696(d17)
- 698: 17(bool) FOrdLessThan 695 697
- SelectionMerge 699 None
- BranchConditional 698 699 689
- 699: Label
- Branch 690
- 690: Label
- 700: 8(fvec4) Load 10(color)
- 701: 7(float) CompositeExtract 700 1
- 703: 7(float) Load 702(d18)
- 704: 17(bool) FOrdLessThan 701 703
- SelectionMerge 706 None
- BranchConditional 704 705 706
- 705: Label
- Branch 6
- 706: Label
- 708: 8(fvec4) Load 10(color)
- 709: 8(fvec4) CompositeConstruct 85 85 85 85
- 710: 8(fvec4) FAdd 708 709
- Store 10(color) 710
- Branch 688
+ Branch 687
+ 687: Label
+ 690: 16(bool) Phi 17 666 161 705
+ LoopMerge 688 None
+ Branch 691
+ 691: Label
+ SelectionMerge 689 None
+ BranchConditional 690 689 692
+ 692: Label
+ 693: 7(fvec4) Load 9(color)
+ 694: 6(float) CompositeExtract 693 0
+ 696: 6(float) Load 695(d17)
+ 697: 16(bool) FOrdLessThan 694 696
+ SelectionMerge 698 None
+ BranchConditional 697 698 688
+ 698: Label
+ Branch 689
689: Label
- Branch 711
- 711: Label
- 714: 8(fvec4) Load 10(color)
- 715: 7(float) CompositeExtract 714 1
- 716: 7(float) Load 658(d16)
- 717: 17(bool) FOrdLessThan 715 716
- LoopMerge 712 None
- BranchConditional 717 713 712
- 713: Label
- 718: 8(fvec4) Load 10(color)
- 719: 7(float) CompositeExtract 718 3
- 720: 7(float) Load 658(d16)
- 721: 17(bool) FOrdLessThan 719 720
- SelectionMerge 723 None
- BranchConditional 721 722 725
- 722: Label
+ 699: 7(fvec4) Load 9(color)
+ 700: 6(float) CompositeExtract 699 1
+ 702: 6(float) Load 701(d18)
+ 703: 16(bool) FOrdLessThan 700 702
+ SelectionMerge 705 None
+ BranchConditional 703 704 705
+ 704: Label
+ Return
+ 705: Label
+ 707: 7(fvec4) Load 9(color)
+ 708: 7(fvec4) CompositeConstruct 84 84 84 84
+ 709: 7(fvec4) FAdd 707 708
+ Store 9(color) 709
+ Branch 687
+ 688: Label
+ Branch 710
+ 710: Label
+ 713: 7(fvec4) Load 9(color)
+ 714: 6(float) CompositeExtract 713 1
+ 715: 6(float) Load 657(d16)
+ 716: 16(bool) FOrdLessThan 714 715
+ LoopMerge 711 None
+ BranchConditional 716 712 711
+ 712: Label
+ 717: 7(fvec4) Load 9(color)
+ 718: 6(float) CompositeExtract 717 3
+ 719: 6(float) Load 657(d16)
+ 720: 16(bool) FOrdLessThan 718 719
+ SelectionMerge 722 None
+ BranchConditional 720 721 724
+ 721: Label
Kill
- 725: Label
- 726: 8(fvec4) Load 10(color)
- 727: 8(fvec4) CompositeConstruct 85 85 85 85
- 728: 8(fvec4) FAdd 726 727
- Store 10(color) 728
- Branch 723
- 723: Label
- Branch 711
- 712: Label
- 729: 8(fvec4) Load 10(color)
- 730: 8(fvec4) CompositeConstruct 85 85 85 85
- 731: 8(fvec4) FAdd 729 730
- Store 10(color) 731
- 732: 8(fvec4) Load 10(color)
- Store 628(gl_FragColor) 732
- Branch 6
- 6: Label
+ 724: Label
+ 725: 7(fvec4) Load 9(color)
+ 726: 7(fvec4) CompositeConstruct 84 84 84 84
+ 727: 7(fvec4) FAdd 725 726
+ Store 9(color) 727
+ Branch 722
+ 722: Label
+ Branch 710
+ 711: Label
+ 728: 7(fvec4) Load 9(color)
+ 729: 7(fvec4) CompositeConstruct 84 84 84 84
+ 730: 7(fvec4) FAdd 728 729
+ Store 9(color) 730
+ 731: 7(fvec4) Load 9(color)
+ Store 627(gl_FragColor) 731
Return
FunctionEnd
diff --git a/Test/baseResults/spv.loopsArtificial.frag.out b/Test/baseResults/spv.loopsArtificial.frag.out
index d9af6e9..3871d85 100755
--- a/Test/baseResults/spv.loopsArtificial.frag.out
+++ b/Test/baseResults/spv.loopsArtificial.frag.out
@@ -7,7 +7,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 196
+// Id's are bound by 195
Source GLSL 130
Capability Shader
@@ -16,344 +16,342 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 10 "color"
- Name 12 "BaseColor"
- Name 25 "d4"
- Name 30 "bigColor4"
- Name 84 "d13"
- Name 149 "gl_FragColor"
- Name 151 "bigColor"
- Name 152 "bigColor1_1"
- Name 153 "bigColor1_2"
- Name 154 "bigColor1_3"
- Name 155 "bigColor2"
- Name 156 "bigColor3"
- Name 157 "bigColor5"
- Name 158 "bigColor6"
- Name 159 "bigColor7"
- Name 160 "bigColor8"
- Name 161 "d"
- Name 162 "d2"
- Name 163 "d3"
- Name 164 "d5"
- Name 165 "d6"
- Name 166 "d7"
- Name 167 "d8"
- Name 168 "d9"
- Name 169 "d10"
- Name 170 "d11"
- Name 171 "d12"
- Name 172 "d14"
- Name 173 "d15"
- Name 174 "d16"
- Name 175 "d17"
- Name 176 "d18"
- Name 177 "d19"
- Name 178 "d20"
- Name 179 "d21"
- Name 180 "d22"
- Name 181 "d23"
- Name 182 "d24"
- Name 183 "d25"
- Name 184 "d26"
- Name 185 "d27"
- Name 186 "d28"
- Name 187 "d29"
- Name 188 "d30"
- Name 189 "d31"
- Name 190 "d32"
- Name 191 "d33"
- Name 192 "d34"
- Name 195 "Count"
- Decorate 12(BaseColor) Smooth
- Decorate 149(gl_FragColor) BuiltIn FragColor
- Decorate 151(bigColor) NoStaticUse
- Decorate 152(bigColor1_1) NoStaticUse
- Decorate 153(bigColor1_2) NoStaticUse
- Decorate 154(bigColor1_3) NoStaticUse
- Decorate 155(bigColor2) NoStaticUse
- Decorate 156(bigColor3) NoStaticUse
- Decorate 157(bigColor5) NoStaticUse
- Decorate 158(bigColor6) NoStaticUse
- Decorate 159(bigColor7) NoStaticUse
- Decorate 160(bigColor8) NoStaticUse
- Decorate 161(d) NoStaticUse
- Decorate 162(d2) NoStaticUse
- Decorate 163(d3) NoStaticUse
- Decorate 164(d5) NoStaticUse
- Decorate 165(d6) NoStaticUse
- Decorate 166(d7) NoStaticUse
- Decorate 167(d8) NoStaticUse
- Decorate 168(d9) NoStaticUse
- Decorate 169(d10) NoStaticUse
- Decorate 170(d11) NoStaticUse
- Decorate 171(d12) NoStaticUse
- Decorate 172(d14) NoStaticUse
- Decorate 173(d15) NoStaticUse
- Decorate 174(d16) NoStaticUse
- Decorate 175(d17) NoStaticUse
- Decorate 176(d18) NoStaticUse
- Decorate 177(d19) NoStaticUse
- Decorate 178(d20) NoStaticUse
- Decorate 179(d21) NoStaticUse
- Decorate 180(d22) NoStaticUse
- Decorate 181(d23) NoStaticUse
- Decorate 182(d24) NoStaticUse
- Decorate 183(d25) NoStaticUse
- Decorate 184(d26) NoStaticUse
- Decorate 185(d27) NoStaticUse
- Decorate 186(d28) NoStaticUse
- Decorate 187(d29) NoStaticUse
- Decorate 188(d30) NoStaticUse
- Decorate 189(d31) NoStaticUse
- Decorate 190(d32) NoStaticUse
- Decorate 191(d33) NoStaticUse
- Decorate 192(d34) NoStaticUse
- Decorate 195(Count) NoStaticUse
+ Name 9 "color"
+ Name 11 "BaseColor"
+ Name 24 "d4"
+ Name 29 "bigColor4"
+ Name 83 "d13"
+ Name 148 "gl_FragColor"
+ Name 150 "bigColor"
+ Name 151 "bigColor1_1"
+ Name 152 "bigColor1_2"
+ Name 153 "bigColor1_3"
+ Name 154 "bigColor2"
+ Name 155 "bigColor3"
+ Name 156 "bigColor5"
+ Name 157 "bigColor6"
+ Name 158 "bigColor7"
+ Name 159 "bigColor8"
+ Name 160 "d"
+ Name 161 "d2"
+ Name 162 "d3"
+ Name 163 "d5"
+ Name 164 "d6"
+ Name 165 "d7"
+ Name 166 "d8"
+ Name 167 "d9"
+ Name 168 "d10"
+ Name 169 "d11"
+ Name 170 "d12"
+ Name 171 "d14"
+ Name 172 "d15"
+ Name 173 "d16"
+ Name 174 "d17"
+ Name 175 "d18"
+ Name 176 "d19"
+ Name 177 "d20"
+ Name 178 "d21"
+ Name 179 "d22"
+ Name 180 "d23"
+ Name 181 "d24"
+ Name 182 "d25"
+ Name 183 "d26"
+ Name 184 "d27"
+ Name 185 "d28"
+ Name 186 "d29"
+ Name 187 "d30"
+ Name 188 "d31"
+ Name 189 "d32"
+ Name 190 "d33"
+ Name 191 "d34"
+ Name 194 "Count"
+ Decorate 11(BaseColor) Smooth
+ Decorate 148(gl_FragColor) BuiltIn FragColor
+ Decorate 150(bigColor) NoStaticUse
+ Decorate 151(bigColor1_1) NoStaticUse
+ Decorate 152(bigColor1_2) NoStaticUse
+ Decorate 153(bigColor1_3) NoStaticUse
+ Decorate 154(bigColor2) NoStaticUse
+ Decorate 155(bigColor3) NoStaticUse
+ Decorate 156(bigColor5) NoStaticUse
+ Decorate 157(bigColor6) NoStaticUse
+ Decorate 158(bigColor7) NoStaticUse
+ Decorate 159(bigColor8) NoStaticUse
+ Decorate 160(d) NoStaticUse
+ Decorate 161(d2) NoStaticUse
+ Decorate 162(d3) NoStaticUse
+ Decorate 163(d5) NoStaticUse
+ Decorate 164(d6) NoStaticUse
+ Decorate 165(d7) NoStaticUse
+ Decorate 166(d8) NoStaticUse
+ Decorate 167(d9) NoStaticUse
+ Decorate 168(d10) NoStaticUse
+ Decorate 169(d11) NoStaticUse
+ Decorate 170(d12) NoStaticUse
+ Decorate 171(d14) NoStaticUse
+ Decorate 172(d15) NoStaticUse
+ Decorate 173(d16) NoStaticUse
+ Decorate 174(d17) NoStaticUse
+ Decorate 175(d18) NoStaticUse
+ Decorate 176(d19) NoStaticUse
+ Decorate 177(d20) NoStaticUse
+ Decorate 178(d21) NoStaticUse
+ Decorate 179(d22) NoStaticUse
+ Decorate 180(d23) NoStaticUse
+ Decorate 181(d24) NoStaticUse
+ Decorate 182(d25) NoStaticUse
+ Decorate 183(d26) NoStaticUse
+ Decorate 184(d27) NoStaticUse
+ Decorate 185(d28) NoStaticUse
+ Decorate 186(d29) NoStaticUse
+ Decorate 187(d30) NoStaticUse
+ Decorate 188(d31) NoStaticUse
+ Decorate 189(d32) NoStaticUse
+ Decorate 190(d33) NoStaticUse
+ Decorate 191(d34) NoStaticUse
+ Decorate 194(Count) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeVector 7(float) 4
- 9: TypePointer Function 8(fvec4)
- 11: TypePointer Input 8(fvec4)
- 12(BaseColor): 11(ptr) Variable Input
- 18: TypeBool
- 19: 18(bool) ConstantTrue
- 24: TypePointer UniformConstant 7(float)
- 25(d4): 24(ptr) Variable UniformConstant
- 29: TypePointer UniformConstant 8(fvec4)
- 30(bigColor4): 29(ptr) Variable UniformConstant
- 40: 7(float) Constant 1073741824
- 54: 7(float) Constant 1065353216
- 58: 18(bool) ConstantFalse
- 84(d13): 24(ptr) Variable UniformConstant
- 148: TypePointer Output 8(fvec4)
-149(gl_FragColor): 148(ptr) Variable Output
- 151(bigColor): 29(ptr) Variable UniformConstant
-152(bigColor1_1): 29(ptr) Variable UniformConstant
-153(bigColor1_2): 29(ptr) Variable UniformConstant
-154(bigColor1_3): 29(ptr) Variable UniformConstant
- 155(bigColor2): 29(ptr) Variable UniformConstant
- 156(bigColor3): 29(ptr) Variable UniformConstant
- 157(bigColor5): 29(ptr) Variable UniformConstant
- 158(bigColor6): 29(ptr) Variable UniformConstant
- 159(bigColor7): 29(ptr) Variable UniformConstant
- 160(bigColor8): 29(ptr) Variable UniformConstant
- 161(d): 24(ptr) Variable UniformConstant
- 162(d2): 24(ptr) Variable UniformConstant
- 163(d3): 24(ptr) Variable UniformConstant
- 164(d5): 24(ptr) Variable UniformConstant
- 165(d6): 24(ptr) Variable UniformConstant
- 166(d7): 24(ptr) Variable UniformConstant
- 167(d8): 24(ptr) Variable UniformConstant
- 168(d9): 24(ptr) Variable UniformConstant
- 169(d10): 24(ptr) Variable UniformConstant
- 170(d11): 24(ptr) Variable UniformConstant
- 171(d12): 24(ptr) Variable UniformConstant
- 172(d14): 24(ptr) Variable UniformConstant
- 173(d15): 24(ptr) Variable UniformConstant
- 174(d16): 24(ptr) Variable UniformConstant
- 175(d17): 24(ptr) Variable UniformConstant
- 176(d18): 24(ptr) Variable UniformConstant
- 177(d19): 24(ptr) Variable UniformConstant
- 178(d20): 24(ptr) Variable UniformConstant
- 179(d21): 24(ptr) Variable UniformConstant
- 180(d22): 24(ptr) Variable UniformConstant
- 181(d23): 24(ptr) Variable UniformConstant
- 182(d24): 24(ptr) Variable UniformConstant
- 183(d25): 24(ptr) Variable UniformConstant
- 184(d26): 24(ptr) Variable UniformConstant
- 185(d27): 24(ptr) Variable UniformConstant
- 186(d28): 24(ptr) Variable UniformConstant
- 187(d29): 24(ptr) Variable UniformConstant
- 188(d30): 24(ptr) Variable UniformConstant
- 189(d31): 24(ptr) Variable UniformConstant
- 190(d32): 24(ptr) Variable UniformConstant
- 191(d33): 24(ptr) Variable UniformConstant
- 192(d34): 24(ptr) Variable UniformConstant
- 193: TypeInt 32 1
- 194: TypePointer UniformConstant 193(int)
- 195(Count): 194(ptr) Variable UniformConstant
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypePointer Input 7(fvec4)
+ 11(BaseColor): 10(ptr) Variable Input
+ 17: TypeBool
+ 18: 17(bool) ConstantTrue
+ 23: TypePointer UniformConstant 6(float)
+ 24(d4): 23(ptr) Variable UniformConstant
+ 28: TypePointer UniformConstant 7(fvec4)
+ 29(bigColor4): 28(ptr) Variable UniformConstant
+ 39: 6(float) Constant 1073741824
+ 53: 6(float) Constant 1065353216
+ 57: 17(bool) ConstantFalse
+ 83(d13): 23(ptr) Variable UniformConstant
+ 147: TypePointer Output 7(fvec4)
+148(gl_FragColor): 147(ptr) Variable Output
+ 150(bigColor): 28(ptr) Variable UniformConstant
+151(bigColor1_1): 28(ptr) Variable UniformConstant
+152(bigColor1_2): 28(ptr) Variable UniformConstant
+153(bigColor1_3): 28(ptr) Variable UniformConstant
+ 154(bigColor2): 28(ptr) Variable UniformConstant
+ 155(bigColor3): 28(ptr) Variable UniformConstant
+ 156(bigColor5): 28(ptr) Variable UniformConstant
+ 157(bigColor6): 28(ptr) Variable UniformConstant
+ 158(bigColor7): 28(ptr) Variable UniformConstant
+ 159(bigColor8): 28(ptr) Variable UniformConstant
+ 160(d): 23(ptr) Variable UniformConstant
+ 161(d2): 23(ptr) Variable UniformConstant
+ 162(d3): 23(ptr) Variable UniformConstant
+ 163(d5): 23(ptr) Variable UniformConstant
+ 164(d6): 23(ptr) Variable UniformConstant
+ 165(d7): 23(ptr) Variable UniformConstant
+ 166(d8): 23(ptr) Variable UniformConstant
+ 167(d9): 23(ptr) Variable UniformConstant
+ 168(d10): 23(ptr) Variable UniformConstant
+ 169(d11): 23(ptr) Variable UniformConstant
+ 170(d12): 23(ptr) Variable UniformConstant
+ 171(d14): 23(ptr) Variable UniformConstant
+ 172(d15): 23(ptr) Variable UniformConstant
+ 173(d16): 23(ptr) Variable UniformConstant
+ 174(d17): 23(ptr) Variable UniformConstant
+ 175(d18): 23(ptr) Variable UniformConstant
+ 176(d19): 23(ptr) Variable UniformConstant
+ 177(d20): 23(ptr) Variable UniformConstant
+ 178(d21): 23(ptr) Variable UniformConstant
+ 179(d22): 23(ptr) Variable UniformConstant
+ 180(d23): 23(ptr) Variable UniformConstant
+ 181(d24): 23(ptr) Variable UniformConstant
+ 182(d25): 23(ptr) Variable UniformConstant
+ 183(d26): 23(ptr) Variable UniformConstant
+ 184(d27): 23(ptr) Variable UniformConstant
+ 185(d28): 23(ptr) Variable UniformConstant
+ 186(d29): 23(ptr) Variable UniformConstant
+ 187(d30): 23(ptr) Variable UniformConstant
+ 188(d31): 23(ptr) Variable UniformConstant
+ 189(d32): 23(ptr) Variable UniformConstant
+ 190(d33): 23(ptr) Variable UniformConstant
+ 191(d34): 23(ptr) Variable UniformConstant
+ 192: TypeInt 32 1
+ 193: TypePointer UniformConstant 192(int)
+ 194(Count): 193(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
- 10(color): 9(ptr) Variable Function
- 13: 8(fvec4) Load 12(BaseColor)
- Store 10(color) 13
- Branch 14
- 14: Label
- 17: 18(bool) Phi 19 5 58 50 58 65
- LoopMerge 15 None
- Branch 20
- 20: Label
- SelectionMerge 16 None
- BranchConditional 17 16 21
- 21: Label
- 22: 8(fvec4) Load 10(color)
- 23: 7(float) CompositeExtract 22 2
- 26: 7(float) Load 25(d4)
- 27: 18(bool) FOrdLessThan 23 26
- SelectionMerge 28 None
- BranchConditional 27 28 15
- 28: Label
- Branch 16
- 16: Label
- 31: 8(fvec4) Load 30(bigColor4)
- 32: 8(fvec4) Load 10(color)
- 33: 8(fvec4) FAdd 32 31
- Store 10(color) 33
- 34: 8(fvec4) Load 10(color)
- 35: 7(float) CompositeExtract 34 0
- 36: 7(float) Load 25(d4)
- 37: 18(bool) FOrdLessThan 35 36
- SelectionMerge 39 None
- BranchConditional 37 38 39
- 38: Label
- 41: 8(fvec4) Load 10(color)
- 42: 7(float) CompositeExtract 41 2
- 43: 7(float) FAdd 42 40
- 44: 8(fvec4) Load 10(color)
- 45: 8(fvec4) CompositeInsert 43 44 2
- Store 10(color) 45
- 46: 8(fvec4) Load 10(color)
- 47: 7(float) CompositeExtract 46 2
- 48: 7(float) Load 25(d4)
- 49: 18(bool) FOrdLessThan 47 48
- SelectionMerge 51 None
- BranchConditional 49 50 51
- 50: Label
- 52: 8(fvec4) Load 10(color)
- 53: 7(float) CompositeExtract 52 0
- 55: 7(float) FAdd 53 54
- 56: 8(fvec4) Load 10(color)
- 57: 8(fvec4) CompositeInsert 55 56 0
- Store 10(color) 57
- Branch 14
- 51: Label
- Branch 39
- 39: Label
- 60: 8(fvec4) Load 10(color)
- 61: 7(float) CompositeExtract 60 1
- 62: 7(float) Load 25(d4)
- 63: 18(bool) FOrdLessThan 61 62
- SelectionMerge 65 None
- BranchConditional 63 64 72
- 64: Label
- 66: 7(float) Load 25(d4)
- 67: 8(fvec4) Load 10(color)
- 68: 7(float) CompositeExtract 67 1
- 69: 7(float) FAdd 68 66
- 70: 8(fvec4) Load 10(color)
- 71: 8(fvec4) CompositeInsert 69 70 1
- Store 10(color) 71
- Branch 65
- 72: Label
- 73: 7(float) Load 25(d4)
- 74: 8(fvec4) Load 10(color)
- 75: 7(float) CompositeExtract 74 0
- 76: 7(float) FAdd 75 73
- 77: 8(fvec4) Load 10(color)
- 78: 8(fvec4) CompositeInsert 76 77 0
- Store 10(color) 78
- Branch 65
- 65: Label
- Branch 14
+ 9(color): 8(ptr) Variable Function
+ 12: 7(fvec4) Load 11(BaseColor)
+ Store 9(color) 12
+ Branch 13
+ 13: Label
+ 16: 17(bool) Phi 18 5 57 49 57 64
+ LoopMerge 14 None
+ Branch 19
+ 19: Label
+ SelectionMerge 15 None
+ BranchConditional 16 15 20
+ 20: Label
+ 21: 7(fvec4) Load 9(color)
+ 22: 6(float) CompositeExtract 21 2
+ 25: 6(float) Load 24(d4)
+ 26: 17(bool) FOrdLessThan 22 25
+ SelectionMerge 27 None
+ BranchConditional 26 27 14
+ 27: Label
+ Branch 15
15: Label
- Branch 79
+ 30: 7(fvec4) Load 29(bigColor4)
+ 31: 7(fvec4) Load 9(color)
+ 32: 7(fvec4) FAdd 31 30
+ Store 9(color) 32
+ 33: 7(fvec4) Load 9(color)
+ 34: 6(float) CompositeExtract 33 0
+ 35: 6(float) Load 24(d4)
+ 36: 17(bool) FOrdLessThan 34 35
+ SelectionMerge 38 None
+ BranchConditional 36 37 38
+ 37: Label
+ 40: 7(fvec4) Load 9(color)
+ 41: 6(float) CompositeExtract 40 2
+ 42: 6(float) FAdd 41 39
+ 43: 7(fvec4) Load 9(color)
+ 44: 7(fvec4) CompositeInsert 42 43 2
+ Store 9(color) 44
+ 45: 7(fvec4) Load 9(color)
+ 46: 6(float) CompositeExtract 45 2
+ 47: 6(float) Load 24(d4)
+ 48: 17(bool) FOrdLessThan 46 47
+ SelectionMerge 50 None
+ BranchConditional 48 49 50
+ 49: Label
+ 51: 7(fvec4) Load 9(color)
+ 52: 6(float) CompositeExtract 51 0
+ 54: 6(float) FAdd 52 53
+ 55: 7(fvec4) Load 9(color)
+ 56: 7(fvec4) CompositeInsert 54 55 0
+ Store 9(color) 56
+ Branch 13
+ 50: Label
+ Branch 38
+ 38: Label
+ 59: 7(fvec4) Load 9(color)
+ 60: 6(float) CompositeExtract 59 1
+ 61: 6(float) Load 24(d4)
+ 62: 17(bool) FOrdLessThan 60 61
+ SelectionMerge 64 None
+ BranchConditional 62 63 71
+ 63: Label
+ 65: 6(float) Load 24(d4)
+ 66: 7(fvec4) Load 9(color)
+ 67: 6(float) CompositeExtract 66 1
+ 68: 6(float) FAdd 67 65
+ 69: 7(fvec4) Load 9(color)
+ 70: 7(fvec4) CompositeInsert 68 69 1
+ Store 9(color) 70
+ Branch 64
+ 71: Label
+ 72: 6(float) Load 24(d4)
+ 73: 7(fvec4) Load 9(color)
+ 74: 6(float) CompositeExtract 73 0
+ 75: 6(float) FAdd 74 72
+ 76: 7(fvec4) Load 9(color)
+ 77: 7(fvec4) CompositeInsert 75 76 0
+ Store 9(color) 77
+ Branch 64
+ 64: Label
+ Branch 13
+ 14: Label
+ Branch 78
+ 78: Label
+ 81: 7(fvec4) Load 9(color)
+ 82: 6(float) CompositeExtract 81 3
+ 84: 6(float) Load 83(d13)
+ 85: 17(bool) FOrdLessThan 82 84
+ LoopMerge 79 None
+ BranchConditional 85 80 79
+ 80: Label
+ 86: 7(fvec4) Load 9(color)
+ 87: 6(float) CompositeExtract 86 2
+ 88: 6(float) Load 83(d13)
+ 89: 17(bool) FOrdLessThan 87 88
+ SelectionMerge 91 None
+ BranchConditional 89 90 95
+ 90: Label
+ 92: 7(fvec4) Load 9(color)
+ 93: 7(fvec4) CompositeConstruct 53 53 53 53
+ 94: 7(fvec4) FAdd 92 93
+ Store 9(color) 94
+ Branch 91
+ 95: Label
+ 96: 7(fvec4) Load 9(color)
+ 97: 7(fvec4) CompositeConstruct 53 53 53 53
+ 98: 7(fvec4) FSub 96 97
+ Store 9(color) 98
+ Branch 91
+ 91: Label
+ 99: 7(fvec4) Load 29(bigColor4)
+ 100: 7(fvec4) Load 9(color)
+ 101: 7(fvec4) FAdd 100 99
+ Store 9(color) 101
+ 102: 7(fvec4) Load 9(color)
+ 103: 6(float) CompositeExtract 102 0
+ 104: 6(float) Load 24(d4)
+ 105: 17(bool) FOrdLessThan 103 104
+ SelectionMerge 107 None
+ BranchConditional 105 106 107
+ 106: Label
+ 108: 7(fvec4) Load 9(color)
+ 109: 6(float) CompositeExtract 108 2
+ 110: 6(float) FAdd 109 39
+ 111: 7(fvec4) Load 9(color)
+ 112: 7(fvec4) CompositeInsert 110 111 2
+ Store 9(color) 112
+ 113: 7(fvec4) Load 9(color)
+ 114: 6(float) CompositeExtract 113 2
+ 115: 6(float) Load 24(d4)
+ 116: 17(bool) FOrdLessThan 114 115
+ SelectionMerge 118 None
+ BranchConditional 116 117 118
+ 117: Label
+ 119: 7(fvec4) Load 9(color)
+ 120: 6(float) CompositeExtract 119 0
+ 121: 6(float) FAdd 120 53
+ 122: 7(fvec4) Load 9(color)
+ 123: 7(fvec4) CompositeInsert 121 122 0
+ Store 9(color) 123
+ Branch 78
+ 118: Label
+ Branch 107
+ 107: Label
+ 125: 7(fvec4) Load 9(color)
+ 126: 6(float) CompositeExtract 125 1
+ 127: 6(float) Load 24(d4)
+ 128: 17(bool) FOrdLessThan 126 127
+ SelectionMerge 130 None
+ BranchConditional 128 129 137
+ 129: Label
+ 131: 6(float) Load 24(d4)
+ 132: 7(fvec4) Load 9(color)
+ 133: 6(float) CompositeExtract 132 1
+ 134: 6(float) FAdd 133 131
+ 135: 7(fvec4) Load 9(color)
+ 136: 7(fvec4) CompositeInsert 134 135 1
+ Store 9(color) 136
+ Branch 130
+ 137: Label
+ 138: 6(float) Load 24(d4)
+ 139: 7(fvec4) Load 9(color)
+ 140: 6(float) CompositeExtract 139 0
+ 141: 6(float) FAdd 140 138
+ 142: 7(fvec4) Load 9(color)
+ 143: 7(fvec4) CompositeInsert 141 142 0
+ Store 9(color) 143
+ Branch 130
+ 130: Label
+ Branch 78
79: Label
- 82: 8(fvec4) Load 10(color)
- 83: 7(float) CompositeExtract 82 3
- 85: 7(float) Load 84(d13)
- 86: 18(bool) FOrdLessThan 83 85
- LoopMerge 80 None
- BranchConditional 86 81 80
- 81: Label
- 87: 8(fvec4) Load 10(color)
- 88: 7(float) CompositeExtract 87 2
- 89: 7(float) Load 84(d13)
- 90: 18(bool) FOrdLessThan 88 89
- SelectionMerge 92 None
- BranchConditional 90 91 96
- 91: Label
- 93: 8(fvec4) Load 10(color)
- 94: 8(fvec4) CompositeConstruct 54 54 54 54
- 95: 8(fvec4) FAdd 93 94
- Store 10(color) 95
- Branch 92
- 96: Label
- 97: 8(fvec4) Load 10(color)
- 98: 8(fvec4) CompositeConstruct 54 54 54 54
- 99: 8(fvec4) FSub 97 98
- Store 10(color) 99
- Branch 92
- 92: Label
- 100: 8(fvec4) Load 30(bigColor4)
- 101: 8(fvec4) Load 10(color)
- 102: 8(fvec4) FAdd 101 100
- Store 10(color) 102
- 103: 8(fvec4) Load 10(color)
- 104: 7(float) CompositeExtract 103 0
- 105: 7(float) Load 25(d4)
- 106: 18(bool) FOrdLessThan 104 105
- SelectionMerge 108 None
- BranchConditional 106 107 108
- 107: Label
- 109: 8(fvec4) Load 10(color)
- 110: 7(float) CompositeExtract 109 2
- 111: 7(float) FAdd 110 40
- 112: 8(fvec4) Load 10(color)
- 113: 8(fvec4) CompositeInsert 111 112 2
- Store 10(color) 113
- 114: 8(fvec4) Load 10(color)
- 115: 7(float) CompositeExtract 114 2
- 116: 7(float) Load 25(d4)
- 117: 18(bool) FOrdLessThan 115 116
- SelectionMerge 119 None
- BranchConditional 117 118 119
- 118: Label
- 120: 8(fvec4) Load 10(color)
- 121: 7(float) CompositeExtract 120 0
- 122: 7(float) FAdd 121 54
- 123: 8(fvec4) Load 10(color)
- 124: 8(fvec4) CompositeInsert 122 123 0
- Store 10(color) 124
- Branch 79
- 119: Label
- Branch 108
- 108: Label
- 126: 8(fvec4) Load 10(color)
- 127: 7(float) CompositeExtract 126 1
- 128: 7(float) Load 25(d4)
- 129: 18(bool) FOrdLessThan 127 128
- SelectionMerge 131 None
- BranchConditional 129 130 138
- 130: Label
- 132: 7(float) Load 25(d4)
- 133: 8(fvec4) Load 10(color)
- 134: 7(float) CompositeExtract 133 1
- 135: 7(float) FAdd 134 132
- 136: 8(fvec4) Load 10(color)
- 137: 8(fvec4) CompositeInsert 135 136 1
- Store 10(color) 137
- Branch 131
- 138: Label
- 139: 7(float) Load 25(d4)
- 140: 8(fvec4) Load 10(color)
- 141: 7(float) CompositeExtract 140 0
- 142: 7(float) FAdd 141 139
- 143: 8(fvec4) Load 10(color)
- 144: 8(fvec4) CompositeInsert 142 143 0
- Store 10(color) 144
- Branch 131
- 131: Label
- Branch 79
- 80: Label
- 145: 8(fvec4) Load 10(color)
- 146: 8(fvec4) CompositeConstruct 54 54 54 54
- 147: 8(fvec4) FAdd 145 146
- Store 10(color) 147
- 150: 8(fvec4) Load 10(color)
- Store 149(gl_FragColor) 150
- Branch 6
- 6: Label
+ 144: 7(fvec4) Load 9(color)
+ 145: 7(fvec4) CompositeConstruct 53 53 53 53
+ 146: 7(fvec4) FAdd 144 145
+ Store 9(color) 146
+ 149: 7(fvec4) Load 9(color)
+ Store 148(gl_FragColor) 149
Return
FunctionEnd
diff --git a/Test/baseResults/spv.matFun.vert.out b/Test/baseResults/spv.matFun.vert.out
index 4ba2e08..e46f796 100755
--- a/Test/baseResults/spv.matFun.vert.out
+++ b/Test/baseResults/spv.matFun.vert.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 94
+// Id's are bound by 93
Source GLSL 130
Capability Shader
@@ -13,128 +13,126 @@
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main"
Name 4 "main"
- Name 15 "xf(mf33;vf3;"
- Name 13 "m"
- Name 14 "v"
- Name 22 "Mat3(mf44;"
- Name 21 "m"
- Name 27 "mxv(mf44;vf3;"
- Name 25 "m4"
- Name 26 "v"
- Name 64 "param"
- Name 70 "gl_Position"
- Name 72 "m4"
- Name 74 "v3"
- Name 75 "param"
- Name 77 "param"
- Name 81 "m3"
- Name 82 "param"
- Name 84 "param"
- Name 93 "gl_VertexID"
- Decorate 70(gl_Position) BuiltIn Position
- Decorate 93(gl_VertexID) BuiltIn VertexId
- Decorate 93(gl_VertexID) NoStaticUse
+ Name 14 "xf(mf33;vf3;"
+ Name 12 "m"
+ Name 13 "v"
+ Name 21 "Mat3(mf44;"
+ Name 20 "m"
+ Name 26 "mxv(mf44;vf3;"
+ Name 24 "m4"
+ Name 25 "v"
+ Name 63 "param"
+ Name 69 "gl_Position"
+ Name 71 "m4"
+ Name 73 "v3"
+ Name 74 "param"
+ Name 76 "param"
+ Name 80 "m3"
+ Name 81 "param"
+ Name 83 "param"
+ Name 92 "gl_VertexID"
+ Decorate 69(gl_Position) BuiltIn Position
+ Decorate 92(gl_VertexID) BuiltIn VertexId
+ Decorate 92(gl_VertexID) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeVector 7(float) 3
- 9: TypeMatrix 8(fvec3) 3
- 10: TypePointer Function 9
- 11: TypePointer Function 8(fvec3)
- 12: TypeFunction 8(fvec3) 10(ptr) 11(ptr)
- 17: TypeVector 7(float) 4
- 18: TypeMatrix 17(fvec4) 4
- 19: TypePointer Function 18
- 20: TypeFunction 9 19(ptr)
- 24: TypeFunction 8(fvec3) 19(ptr) 11(ptr)
- 33: TypeInt 32 1
- 34: 33(int) Constant 0
- 35: TypePointer Function 17(fvec4)
- 39: 33(int) Constant 1
- 43: 33(int) Constant 2
- 47: 7(float) Constant 1065353216
- 48: 7(float) Constant 0
- 69: TypePointer Output 17(fvec4)
- 70(gl_Position): 69(ptr) Variable Output
- 71: TypePointer UniformConstant 18
- 72(m4): 71(ptr) Variable UniformConstant
- 73: TypePointer Input 8(fvec3)
- 74(v3): 73(ptr) Variable Input
- 80: TypePointer UniformConstant 9
- 81(m3): 80(ptr) Variable UniformConstant
- 92: TypePointer Input 33(int)
- 93(gl_VertexID): 92(ptr) Variable Input
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 3
+ 8: TypeMatrix 7(fvec3) 3
+ 9: TypePointer Function 8
+ 10: TypePointer Function 7(fvec3)
+ 11: TypeFunction 7(fvec3) 9(ptr) 10(ptr)
+ 16: TypeVector 6(float) 4
+ 17: TypeMatrix 16(fvec4) 4
+ 18: TypePointer Function 17
+ 19: TypeFunction 8 18(ptr)
+ 23: TypeFunction 7(fvec3) 18(ptr) 10(ptr)
+ 32: TypeInt 32 1
+ 33: 32(int) Constant 0
+ 34: TypePointer Function 16(fvec4)
+ 38: 32(int) Constant 1
+ 42: 32(int) Constant 2
+ 46: 6(float) Constant 1065353216
+ 47: 6(float) Constant 0
+ 68: TypePointer Output 16(fvec4)
+ 69(gl_Position): 68(ptr) Variable Output
+ 70: TypePointer UniformConstant 17
+ 71(m4): 70(ptr) Variable UniformConstant
+ 72: TypePointer Input 7(fvec3)
+ 73(v3): 72(ptr) Variable Input
+ 79: TypePointer UniformConstant 8
+ 80(m3): 79(ptr) Variable UniformConstant
+ 91: TypePointer Input 32(int)
+ 92(gl_VertexID): 91(ptr) Variable Input
4(main): 2 Function None 3
5: Label
- 75(param): 19(ptr) Variable Function
- 77(param): 11(ptr) Variable Function
- 82(param): 10(ptr) Variable Function
- 84(param): 11(ptr) Variable Function
- 76: 18 Load 72(m4)
- Store 75(param) 76
- 78: 8(fvec3) Load 74(v3)
- Store 77(param) 78
- 79: 8(fvec3) FunctionCall 27(mxv(mf44;vf3;) 75(param) 77(param)
- 83: 9 Load 81(m3)
- Store 82(param) 83
- 85: 8(fvec3) Load 74(v3)
- Store 84(param) 85
- 86: 8(fvec3) FunctionCall 15(xf(mf33;vf3;) 82(param) 84(param)
- 87: 8(fvec3) FAdd 79 86
- 88: 7(float) CompositeExtract 87 0
- 89: 7(float) CompositeExtract 87 1
- 90: 7(float) CompositeExtract 87 2
- 91: 17(fvec4) CompositeConstruct 88 89 90 47
- Store 70(gl_Position) 91
- Branch 6
- 6: Label
+ 74(param): 18(ptr) Variable Function
+ 76(param): 10(ptr) Variable Function
+ 81(param): 9(ptr) Variable Function
+ 83(param): 10(ptr) Variable Function
+ 75: 17 Load 71(m4)
+ Store 74(param) 75
+ 77: 7(fvec3) Load 73(v3)
+ Store 76(param) 77
+ 78: 7(fvec3) FunctionCall 26(mxv(mf44;vf3;) 74(param) 76(param)
+ 82: 8 Load 80(m3)
+ Store 81(param) 82
+ 84: 7(fvec3) Load 73(v3)
+ Store 83(param) 84
+ 85: 7(fvec3) FunctionCall 14(xf(mf33;vf3;) 81(param) 83(param)
+ 86: 7(fvec3) FAdd 78 85
+ 87: 6(float) CompositeExtract 86 0
+ 88: 6(float) CompositeExtract 86 1
+ 89: 6(float) CompositeExtract 86 2
+ 90: 16(fvec4) CompositeConstruct 87 88 89 46
+ Store 69(gl_Position) 90
Return
FunctionEnd
-15(xf(mf33;vf3;): 8(fvec3) Function None 12
- 13(m): 10(ptr) FunctionParameter
- 14(v): 11(ptr) FunctionParameter
- 16: Label
- 29: 8(fvec3) Load 14(v)
- 30: 9 Load 13(m)
- 31: 8(fvec3) VectorTimesMatrix 29 30
- ReturnValue 31
+14(xf(mf33;vf3;): 7(fvec3) Function None 11
+ 12(m): 9(ptr) FunctionParameter
+ 13(v): 10(ptr) FunctionParameter
+ 15: Label
+ 28: 7(fvec3) Load 13(v)
+ 29: 8 Load 12(m)
+ 30: 7(fvec3) VectorTimesMatrix 28 29
+ ReturnValue 30
FunctionEnd
- 22(Mat3(mf44;): 9 Function None 20
- 21(m): 19(ptr) FunctionParameter
- 23: Label
- 36: 35(ptr) AccessChain 21(m) 34
- 37: 17(fvec4) Load 36
- 38: 8(fvec3) VectorShuffle 37 37 0 1 2
- 40: 35(ptr) AccessChain 21(m) 39
- 41: 17(fvec4) Load 40
- 42: 8(fvec3) VectorShuffle 41 41 0 1 2
- 44: 35(ptr) AccessChain 21(m) 43
- 45: 17(fvec4) Load 44
- 46: 8(fvec3) VectorShuffle 45 45 0 1 2
- 49: 7(float) CompositeExtract 38 0
- 50: 7(float) CompositeExtract 38 1
- 51: 7(float) CompositeExtract 38 2
- 52: 7(float) CompositeExtract 42 0
- 53: 7(float) CompositeExtract 42 1
- 54: 7(float) CompositeExtract 42 2
- 55: 7(float) CompositeExtract 46 0
- 56: 7(float) CompositeExtract 46 1
- 57: 7(float) CompositeExtract 46 2
- 58: 8(fvec3) CompositeConstruct 49 50 51
- 59: 8(fvec3) CompositeConstruct 52 53 54
- 60: 8(fvec3) CompositeConstruct 55 56 57
- 61: 9 CompositeConstruct 58 59 60
- ReturnValue 61
+ 21(Mat3(mf44;): 8 Function None 19
+ 20(m): 18(ptr) FunctionParameter
+ 22: Label
+ 35: 34(ptr) AccessChain 20(m) 33
+ 36: 16(fvec4) Load 35
+ 37: 7(fvec3) VectorShuffle 36 36 0 1 2
+ 39: 34(ptr) AccessChain 20(m) 38
+ 40: 16(fvec4) Load 39
+ 41: 7(fvec3) VectorShuffle 40 40 0 1 2
+ 43: 34(ptr) AccessChain 20(m) 42
+ 44: 16(fvec4) Load 43
+ 45: 7(fvec3) VectorShuffle 44 44 0 1 2
+ 48: 6(float) CompositeExtract 37 0
+ 49: 6(float) CompositeExtract 37 1
+ 50: 6(float) CompositeExtract 37 2
+ 51: 6(float) CompositeExtract 41 0
+ 52: 6(float) CompositeExtract 41 1
+ 53: 6(float) CompositeExtract 41 2
+ 54: 6(float) CompositeExtract 45 0
+ 55: 6(float) CompositeExtract 45 1
+ 56: 6(float) CompositeExtract 45 2
+ 57: 7(fvec3) CompositeConstruct 48 49 50
+ 58: 7(fvec3) CompositeConstruct 51 52 53
+ 59: 7(fvec3) CompositeConstruct 54 55 56
+ 60: 8 CompositeConstruct 57 58 59
+ ReturnValue 60
FunctionEnd
-27(mxv(mf44;vf3;): 8(fvec3) Function None 24
- 25(m4): 19(ptr) FunctionParameter
- 26(v): 11(ptr) FunctionParameter
- 28: Label
- 64(param): 19(ptr) Variable Function
- 63: 8(fvec3) Load 26(v)
- 65: 18 Load 25(m4)
- Store 64(param) 65
- 66: 9 FunctionCall 22(Mat3(mf44;) 64(param)
- 67: 8(fvec3) VectorTimesMatrix 63 66
- ReturnValue 67
+26(mxv(mf44;vf3;): 7(fvec3) Function None 23
+ 24(m4): 18(ptr) FunctionParameter
+ 25(v): 10(ptr) FunctionParameter
+ 27: Label
+ 63(param): 18(ptr) Variable Function
+ 62: 7(fvec3) Load 25(v)
+ 64: 17 Load 24(m4)
+ Store 63(param) 64
+ 65: 8 FunctionCall 21(Mat3(mf44;) 63(param)
+ 66: 7(fvec3) VectorTimesMatrix 62 65
+ ReturnValue 66
FunctionEnd
diff --git a/Test/baseResults/spv.newTexture.frag.out b/Test/baseResults/spv.newTexture.frag.out
index 1e862e1..ef63565 100644
--- a/Test/baseResults/spv.newTexture.frag.out
+++ b/Test/baseResults/spv.newTexture.frag.out
@@ -7,7 +7,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 256
+// Id's are bound by 255
Source GLSL 430
Capability Shader
@@ -16,330 +16,328 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 10 "v"
- Name 14 "s2D"
- Name 18 "c2D"
- Name 24 "s3D"
- Name 27 "c4D"
- Name 35 "s2DArray"
- Name 39 "c3D"
- Name 48 "s2DShadow"
- Name 56 "c1D"
- Name 68 "ic3D"
- Name 71 "ic1D"
- Name 78 "ic2D"
- Name 103 "sCube"
- Name 114 "s2DArrayShadow"
- Name 142 "iv"
- Name 146 "is2D"
- Name 181 "is3D"
- Name 193 "isCube"
- Name 205 "is2DArray"
- Name 215 "iv2"
- Name 219 "sCubeShadow"
- Name 224 "FragData"
- Name 236 "is2Dms"
- Name 241 "us2D"
- Name 245 "us3D"
- Name 249 "usCube"
- Name 253 "us2DArray"
- Name 255 "ic4D"
- Decorate 18(c2D) Smooth
- Decorate 27(c4D) Smooth
- Decorate 39(c3D) Smooth
- Decorate 56(c1D) Smooth
- Decorate 68(ic3D) Flat
- Decorate 71(ic1D) Flat
- Decorate 78(ic2D) Flat
- Decorate 236(is2Dms) NoStaticUse
- Decorate 241(us2D) NoStaticUse
- Decorate 245(us3D) NoStaticUse
- Decorate 249(usCube) NoStaticUse
- Decorate 253(us2DArray) NoStaticUse
- Decorate 255(ic4D) Flat
- Decorate 255(ic4D) NoStaticUse
+ Name 9 "v"
+ Name 13 "s2D"
+ Name 17 "c2D"
+ Name 23 "s3D"
+ Name 26 "c4D"
+ Name 34 "s2DArray"
+ Name 38 "c3D"
+ Name 47 "s2DShadow"
+ Name 55 "c1D"
+ Name 67 "ic3D"
+ Name 70 "ic1D"
+ Name 77 "ic2D"
+ Name 102 "sCube"
+ Name 113 "s2DArrayShadow"
+ Name 141 "iv"
+ Name 145 "is2D"
+ Name 180 "is3D"
+ Name 192 "isCube"
+ Name 204 "is2DArray"
+ Name 214 "iv2"
+ Name 218 "sCubeShadow"
+ Name 223 "FragData"
+ Name 235 "is2Dms"
+ Name 240 "us2D"
+ Name 244 "us3D"
+ Name 248 "usCube"
+ Name 252 "us2DArray"
+ Name 254 "ic4D"
+ Decorate 17(c2D) Smooth
+ Decorate 26(c4D) Smooth
+ Decorate 38(c3D) Smooth
+ Decorate 55(c1D) Smooth
+ Decorate 67(ic3D) Flat
+ Decorate 70(ic1D) Flat
+ Decorate 77(ic2D) Flat
+ Decorate 235(is2Dms) NoStaticUse
+ Decorate 240(us2D) NoStaticUse
+ Decorate 244(us3D) NoStaticUse
+ Decorate 248(usCube) NoStaticUse
+ Decorate 252(us2DArray) NoStaticUse
+ Decorate 254(ic4D) Flat
+ Decorate 254(ic4D) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeVector 7(float) 4
- 9: TypePointer Function 8(fvec4)
- 11: TypeImage 7(float) 2D sampled format:Unknown
- 12: TypeSampledImage 11
- 13: TypePointer UniformConstant 12
- 14(s2D): 13(ptr) Variable UniformConstant
- 16: TypeVector 7(float) 2
- 17: TypePointer Input 16(fvec2)
- 18(c2D): 17(ptr) Variable Input
- 21: TypeImage 7(float) 3D sampled format:Unknown
- 22: TypeSampledImage 21
- 23: TypePointer UniformConstant 22
- 24(s3D): 23(ptr) Variable UniformConstant
- 26: TypePointer Input 8(fvec4)
- 27(c4D): 26(ptr) Variable Input
- 32: TypeImage 7(float) 2D array sampled format:Unknown
- 33: TypeSampledImage 32
- 34: TypePointer UniformConstant 33
- 35(s2DArray): 34(ptr) Variable UniformConstant
- 37: TypeVector 7(float) 3
- 38: TypePointer Input 37(fvec3)
- 39(c3D): 38(ptr) Variable Input
- 41: 7(float) Constant 1067030938
- 45: TypeImage 7(float) 2D depth sampled format:Unknown
- 46: TypeSampledImage 45
- 47: TypePointer UniformConstant 46
- 48(s2DShadow): 47(ptr) Variable UniformConstant
- 51: TypeInt 32 1
- 52: TypeVector 51(int) 2
- 53: 51(int) Constant 3
- 54: 52(ivec2) ConstantComposite 53 53
- 55: TypePointer Input 7(float)
- 56(c1D): 55(ptr) Variable Input
- 66: TypeVector 51(int) 3
- 67: TypePointer Input 66(ivec3)
- 68(ic3D): 67(ptr) Variable Input
- 70: TypePointer Input 51(int)
- 71(ic1D): 70(ptr) Variable Input
- 77: TypePointer Input 52(ivec2)
- 78(ic2D): 77(ptr) Variable Input
- 80: 51(int) Constant 4
- 100: TypeImage 7(float) Cube sampled format:Unknown
- 101: TypeSampledImage 100
- 102: TypePointer UniformConstant 101
- 103(sCube): 102(ptr) Variable UniformConstant
- 111: TypeImage 7(float) 2D depth array sampled format:Unknown
- 112: TypeSampledImage 111
- 113: TypePointer UniformConstant 112
-114(s2DArrayShadow): 113(ptr) Variable UniformConstant
- 140: TypeVector 51(int) 4
- 141: TypePointer Function 140(ivec4)
- 143: TypeImage 51(int) 2D sampled format:Unknown
- 144: TypeSampledImage 143
- 145: TypePointer UniformConstant 144
- 146(is2D): 145(ptr) Variable UniformConstant
- 178: TypeImage 51(int) 3D sampled format:Unknown
- 179: TypeSampledImage 178
- 180: TypePointer UniformConstant 179
- 181(is3D): 180(ptr) Variable UniformConstant
- 184: 7(float) Constant 1082549862
- 190: TypeImage 51(int) Cube sampled format:Unknown
- 191: TypeSampledImage 190
- 192: TypePointer UniformConstant 191
- 193(isCube): 192(ptr) Variable UniformConstant
- 202: TypeImage 51(int) 2D array sampled format:Unknown
- 203: TypeSampledImage 202
- 204: TypePointer UniformConstant 203
- 205(is2DArray): 204(ptr) Variable UniformConstant
- 214: TypePointer Function 52(ivec2)
- 216: TypeImage 7(float) Cube depth sampled format:Unknown
- 217: TypeSampledImage 216
- 218: TypePointer UniformConstant 217
-219(sCubeShadow): 218(ptr) Variable UniformConstant
- 221: 51(int) Constant 2
- 223: TypePointer Output 8(fvec4)
- 224(FragData): 223(ptr) Variable Output
- 228: 7(float) Constant 0
- 233: TypeImage 51(int) 2D multi-sampled sampled format:Unknown
- 234: TypeSampledImage 233
- 235: TypePointer UniformConstant 234
- 236(is2Dms): 235(ptr) Variable UniformConstant
- 237: TypeInt 32 0
- 238: TypeImage 237(int) 2D sampled format:Unknown
- 239: TypeSampledImage 238
- 240: TypePointer UniformConstant 239
- 241(us2D): 240(ptr) Variable UniformConstant
- 242: TypeImage 237(int) 3D sampled format:Unknown
- 243: TypeSampledImage 242
- 244: TypePointer UniformConstant 243
- 245(us3D): 244(ptr) Variable UniformConstant
- 246: TypeImage 237(int) Cube sampled format:Unknown
- 247: TypeSampledImage 246
- 248: TypePointer UniformConstant 247
- 249(usCube): 248(ptr) Variable UniformConstant
- 250: TypeImage 237(int) 2D array sampled format:Unknown
- 251: TypeSampledImage 250
- 252: TypePointer UniformConstant 251
- 253(us2DArray): 252(ptr) Variable UniformConstant
- 254: TypePointer Input 140(ivec4)
- 255(ic4D): 254(ptr) Variable Input
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypeImage 6(float) 2D sampled format:Unknown
+ 11: TypeSampledImage 10
+ 12: TypePointer UniformConstant 11
+ 13(s2D): 12(ptr) Variable UniformConstant
+ 15: TypeVector 6(float) 2
+ 16: TypePointer Input 15(fvec2)
+ 17(c2D): 16(ptr) Variable Input
+ 20: TypeImage 6(float) 3D sampled format:Unknown
+ 21: TypeSampledImage 20
+ 22: TypePointer UniformConstant 21
+ 23(s3D): 22(ptr) Variable UniformConstant
+ 25: TypePointer Input 7(fvec4)
+ 26(c4D): 25(ptr) Variable Input
+ 31: TypeImage 6(float) 2D array sampled format:Unknown
+ 32: TypeSampledImage 31
+ 33: TypePointer UniformConstant 32
+ 34(s2DArray): 33(ptr) Variable UniformConstant
+ 36: TypeVector 6(float) 3
+ 37: TypePointer Input 36(fvec3)
+ 38(c3D): 37(ptr) Variable Input
+ 40: 6(float) Constant 1067030938
+ 44: TypeImage 6(float) 2D depth sampled format:Unknown
+ 45: TypeSampledImage 44
+ 46: TypePointer UniformConstant 45
+ 47(s2DShadow): 46(ptr) Variable UniformConstant
+ 50: TypeInt 32 1
+ 51: TypeVector 50(int) 2
+ 52: 50(int) Constant 3
+ 53: 51(ivec2) ConstantComposite 52 52
+ 54: TypePointer Input 6(float)
+ 55(c1D): 54(ptr) Variable Input
+ 65: TypeVector 50(int) 3
+ 66: TypePointer Input 65(ivec3)
+ 67(ic3D): 66(ptr) Variable Input
+ 69: TypePointer Input 50(int)
+ 70(ic1D): 69(ptr) Variable Input
+ 76: TypePointer Input 51(ivec2)
+ 77(ic2D): 76(ptr) Variable Input
+ 79: 50(int) Constant 4
+ 99: TypeImage 6(float) Cube sampled format:Unknown
+ 100: TypeSampledImage 99
+ 101: TypePointer UniformConstant 100
+ 102(sCube): 101(ptr) Variable UniformConstant
+ 110: TypeImage 6(float) 2D depth array sampled format:Unknown
+ 111: TypeSampledImage 110
+ 112: TypePointer UniformConstant 111
+113(s2DArrayShadow): 112(ptr) Variable UniformConstant
+ 139: TypeVector 50(int) 4
+ 140: TypePointer Function 139(ivec4)
+ 142: TypeImage 50(int) 2D sampled format:Unknown
+ 143: TypeSampledImage 142
+ 144: TypePointer UniformConstant 143
+ 145(is2D): 144(ptr) Variable UniformConstant
+ 177: TypeImage 50(int) 3D sampled format:Unknown
+ 178: TypeSampledImage 177
+ 179: TypePointer UniformConstant 178
+ 180(is3D): 179(ptr) Variable UniformConstant
+ 183: 6(float) Constant 1082549862
+ 189: TypeImage 50(int) Cube sampled format:Unknown
+ 190: TypeSampledImage 189
+ 191: TypePointer UniformConstant 190
+ 192(isCube): 191(ptr) Variable UniformConstant
+ 201: TypeImage 50(int) 2D array sampled format:Unknown
+ 202: TypeSampledImage 201
+ 203: TypePointer UniformConstant 202
+ 204(is2DArray): 203(ptr) Variable UniformConstant
+ 213: TypePointer Function 51(ivec2)
+ 215: TypeImage 6(float) Cube depth sampled format:Unknown
+ 216: TypeSampledImage 215
+ 217: TypePointer UniformConstant 216
+218(sCubeShadow): 217(ptr) Variable UniformConstant
+ 220: 50(int) Constant 2
+ 222: TypePointer Output 7(fvec4)
+ 223(FragData): 222(ptr) Variable Output
+ 227: 6(float) Constant 0
+ 232: TypeImage 50(int) 2D multi-sampled sampled format:Unknown
+ 233: TypeSampledImage 232
+ 234: TypePointer UniformConstant 233
+ 235(is2Dms): 234(ptr) Variable UniformConstant
+ 236: TypeInt 32 0
+ 237: TypeImage 236(int) 2D sampled format:Unknown
+ 238: TypeSampledImage 237
+ 239: TypePointer UniformConstant 238
+ 240(us2D): 239(ptr) Variable UniformConstant
+ 241: TypeImage 236(int) 3D sampled format:Unknown
+ 242: TypeSampledImage 241
+ 243: TypePointer UniformConstant 242
+ 244(us3D): 243(ptr) Variable UniformConstant
+ 245: TypeImage 236(int) Cube sampled format:Unknown
+ 246: TypeSampledImage 245
+ 247: TypePointer UniformConstant 246
+ 248(usCube): 247(ptr) Variable UniformConstant
+ 249: TypeImage 236(int) 2D array sampled format:Unknown
+ 250: TypeSampledImage 249
+ 251: TypePointer UniformConstant 250
+ 252(us2DArray): 251(ptr) Variable UniformConstant
+ 253: TypePointer Input 139(ivec4)
+ 254(ic4D): 253(ptr) Variable Input
4(main): 2 Function None 3
5: Label
- 10(v): 9(ptr) Variable Function
- 142(iv): 141(ptr) Variable Function
- 215(iv2): 214(ptr) Variable Function
- 15: 12 Load 14(s2D)
- 19: 16(fvec2) Load 18(c2D)
- 20: 8(fvec4) ImageSampleImplicitLod 15 19
- Store 10(v) 20
- 25: 22 Load 24(s3D)
- 28: 8(fvec4) Load 27(c4D)
- 29: 8(fvec4) ImageSampleProjImplicitLod 25 28
- 30: 8(fvec4) Load 10(v)
- 31: 8(fvec4) FAdd 30 29
- Store 10(v) 31
- 36: 33 Load 35(s2DArray)
- 40: 37(fvec3) Load 39(c3D)
- 42: 8(fvec4) ImageSampleExplicitLod 36 40 41
- 43: 8(fvec4) Load 10(v)
- 44: 8(fvec4) FAdd 43 42
- Store 10(v) 44
- 49: 46 Load 48(s2DShadow)
- 50: 37(fvec3) Load 39(c3D)
- 57: 7(float) Load 56(c1D)
- 58: 7(float) CompositeExtract 50 2
- 59: 7(float) ImageSampleDrefImplicitLod 49 50 58 57 54
- 60: 8(fvec4) Load 10(v)
- 61: 7(float) CompositeExtract 60 1
- 62: 7(float) FAdd 61 59
- 63: 8(fvec4) Load 10(v)
- 64: 8(fvec4) CompositeInsert 62 63 1
- Store 10(v) 64
- 65: 22 Load 24(s3D)
- 69: 66(ivec3) Load 68(ic3D)
- 72: 51(int) Load 71(ic1D)
- 73: 8(fvec4) ImageFetch 65 69
- 74: 8(fvec4) Load 10(v)
- 75: 8(fvec4) FAdd 74 73
- Store 10(v) 75
- 76: 12 Load 14(s2D)
- 79: 52(ivec2) Load 78(ic2D)
- 81: 8(fvec4) ImageFetch 76 79 80
- 82: 8(fvec4) Load 10(v)
- 83: 8(fvec4) FAdd 82 81
- Store 10(v) 83
- 84: 46 Load 48(s2DShadow)
- 85: 37(fvec3) Load 39(c3D)
- 86: 7(float) Load 56(c1D)
- 87: 7(float) CompositeExtract 85 2
- 88: 7(float) ImageSampleDrefExplicitLod 84 85 87 86 54
- 89: 8(fvec4) Load 10(v)
- 90: 7(float) CompositeExtract 89 1
- 91: 7(float) FAdd 90 88
- 92: 8(fvec4) Load 10(v)
- 93: 8(fvec4) CompositeInsert 91 92 1
- Store 10(v) 93
- 94: 12 Load 14(s2D)
- 95: 37(fvec3) Load 39(c3D)
- 96: 7(float) Load 56(c1D)
- 97: 8(fvec4) ImageSampleProjExplicitLod 94 95 96 54
- 98: 8(fvec4) Load 10(v)
- 99: 8(fvec4) FAdd 98 97
- Store 10(v) 99
- 104: 101 Load 103(sCube)
- 105: 37(fvec3) Load 39(c3D)
- 106: 37(fvec3) Load 39(c3D)
- 107: 37(fvec3) Load 39(c3D)
- 108: 8(fvec4) ImageSampleExplicitLod 104 105 106 107
- 109: 8(fvec4) Load 10(v)
- 110: 8(fvec4) FAdd 109 108
- Store 10(v) 110
- 115: 112 Load 114(s2DArrayShadow)
- 116: 8(fvec4) Load 27(c4D)
- 117: 16(fvec2) Load 18(c2D)
- 118: 16(fvec2) Load 18(c2D)
- 119: 7(float) CompositeExtract 116 3
- 120: 7(float) ImageSampleDrefExplicitLod 115 116 119 117 118 54
- 121: 8(fvec4) Load 10(v)
- 122: 7(float) CompositeExtract 121 0
- 123: 7(float) FAdd 122 120
- 124: 8(fvec4) Load 10(v)
- 125: 8(fvec4) CompositeInsert 123 124 0
- Store 10(v) 125
- 126: 22 Load 24(s3D)
- 127: 8(fvec4) Load 27(c4D)
- 128: 37(fvec3) Load 39(c3D)
- 129: 37(fvec3) Load 39(c3D)
- 130: 8(fvec4) ImageSampleProjExplicitLod 126 127 128 129
- 131: 8(fvec4) Load 10(v)
- 132: 8(fvec4) FAdd 131 130
- Store 10(v) 132
- 133: 12 Load 14(s2D)
- 134: 37(fvec3) Load 39(c3D)
- 135: 16(fvec2) Load 18(c2D)
- 136: 16(fvec2) Load 18(c2D)
- 137: 8(fvec4) ImageSampleProjExplicitLod 133 134 135 136 54
- 138: 8(fvec4) Load 10(v)
- 139: 8(fvec4) FAdd 138 137
- Store 10(v) 139
- 147: 144 Load 146(is2D)
- 148: 16(fvec2) Load 18(c2D)
- 149: 140(ivec4) ImageSampleImplicitLod 147 148
- Store 142(iv) 149
- 150: 140(ivec4) Load 142(iv)
- 151: 8(fvec4) ConvertSToF 150
- 152: 8(fvec4) Load 10(v)
- 153: 8(fvec4) FAdd 152 151
- Store 10(v) 153
- 154: 144 Load 146(is2D)
- 155: 8(fvec4) Load 27(c4D)
- 156: 140(ivec4) ImageSampleProjImplicitLod 154 155 54
- Store 142(iv) 156
- 157: 140(ivec4) Load 142(iv)
- 158: 8(fvec4) ConvertSToF 157
- 159: 8(fvec4) Load 10(v)
- 160: 8(fvec4) FAdd 159 158
- Store 10(v) 160
- 161: 144 Load 146(is2D)
- 162: 37(fvec3) Load 39(c3D)
- 163: 7(float) Load 56(c1D)
- 164: 140(ivec4) ImageSampleProjExplicitLod 161 162 163
- Store 142(iv) 164
- 165: 140(ivec4) Load 142(iv)
- 166: 8(fvec4) ConvertSToF 165
- 167: 8(fvec4) Load 10(v)
- 168: 8(fvec4) FAdd 167 166
- Store 10(v) 168
- 169: 144 Load 146(is2D)
- 170: 37(fvec3) Load 39(c3D)
- 171: 16(fvec2) Load 18(c2D)
- 172: 16(fvec2) Load 18(c2D)
- 173: 140(ivec4) ImageSampleProjExplicitLod 169 170 171 172
- Store 142(iv) 173
- 174: 140(ivec4) Load 142(iv)
- 175: 8(fvec4) ConvertSToF 174
- 176: 8(fvec4) Load 10(v)
- 177: 8(fvec4) FAdd 176 175
- Store 10(v) 177
- 182: 179 Load 181(is3D)
- 183: 37(fvec3) Load 39(c3D)
- 185: 140(ivec4) ImageSampleImplicitLod 182 183 184
- Store 142(iv) 185
- 186: 140(ivec4) Load 142(iv)
- 187: 8(fvec4) ConvertSToF 186
- 188: 8(fvec4) Load 10(v)
- 189: 8(fvec4) FAdd 188 187
- Store 10(v) 189
- 194: 191 Load 193(isCube)
- 195: 37(fvec3) Load 39(c3D)
- 196: 7(float) Load 56(c1D)
- 197: 140(ivec4) ImageSampleExplicitLod 194 195 196
- Store 142(iv) 197
- 198: 140(ivec4) Load 142(iv)
- 199: 8(fvec4) ConvertSToF 198
- 200: 8(fvec4) Load 10(v)
- 201: 8(fvec4) FAdd 200 199
- Store 10(v) 201
- 206: 203 Load 205(is2DArray)
- 207: 66(ivec3) Load 68(ic3D)
- 208: 51(int) Load 71(ic1D)
- 209: 140(ivec4) ImageFetch 206 207
- Store 142(iv) 209
- 210: 140(ivec4) Load 142(iv)
- 211: 8(fvec4) ConvertSToF 210
- 212: 8(fvec4) Load 10(v)
- 213: 8(fvec4) FAdd 212 211
- Store 10(v) 213
- 220: 217 Load 219(sCubeShadow)
- 222: 52(ivec2) ImageQuerySizeLod 220 221
- Store 215(iv2) 222
- 225: 8(fvec4) Load 10(v)
- 226: 52(ivec2) Load 215(iv2)
- 227: 16(fvec2) ConvertSToF 226
- 229: 7(float) CompositeExtract 227 0
- 230: 7(float) CompositeExtract 227 1
- 231: 8(fvec4) CompositeConstruct 229 230 228 228
- 232: 8(fvec4) FAdd 225 231
- Store 224(FragData) 232
- Branch 6
- 6: Label
+ 9(v): 8(ptr) Variable Function
+ 141(iv): 140(ptr) Variable Function
+ 214(iv2): 213(ptr) Variable Function
+ 14: 11 Load 13(s2D)
+ 18: 15(fvec2) Load 17(c2D)
+ 19: 7(fvec4) ImageSampleImplicitLod 14 18
+ Store 9(v) 19
+ 24: 21 Load 23(s3D)
+ 27: 7(fvec4) Load 26(c4D)
+ 28: 7(fvec4) ImageSampleProjImplicitLod 24 27
+ 29: 7(fvec4) Load 9(v)
+ 30: 7(fvec4) FAdd 29 28
+ Store 9(v) 30
+ 35: 32 Load 34(s2DArray)
+ 39: 36(fvec3) Load 38(c3D)
+ 41: 7(fvec4) ImageSampleExplicitLod 35 39 40
+ 42: 7(fvec4) Load 9(v)
+ 43: 7(fvec4) FAdd 42 41
+ Store 9(v) 43
+ 48: 45 Load 47(s2DShadow)
+ 49: 36(fvec3) Load 38(c3D)
+ 56: 6(float) Load 55(c1D)
+ 57: 6(float) CompositeExtract 49 2
+ 58: 6(float) ImageSampleDrefImplicitLod 48 49 57 56 53
+ 59: 7(fvec4) Load 9(v)
+ 60: 6(float) CompositeExtract 59 1
+ 61: 6(float) FAdd 60 58
+ 62: 7(fvec4) Load 9(v)
+ 63: 7(fvec4) CompositeInsert 61 62 1
+ Store 9(v) 63
+ 64: 21 Load 23(s3D)
+ 68: 65(ivec3) Load 67(ic3D)
+ 71: 50(int) Load 70(ic1D)
+ 72: 7(fvec4) ImageFetch 64 68
+ 73: 7(fvec4) Load 9(v)
+ 74: 7(fvec4) FAdd 73 72
+ Store 9(v) 74
+ 75: 11 Load 13(s2D)
+ 78: 51(ivec2) Load 77(ic2D)
+ 80: 7(fvec4) ImageFetch 75 78 79
+ 81: 7(fvec4) Load 9(v)
+ 82: 7(fvec4) FAdd 81 80
+ Store 9(v) 82
+ 83: 45 Load 47(s2DShadow)
+ 84: 36(fvec3) Load 38(c3D)
+ 85: 6(float) Load 55(c1D)
+ 86: 6(float) CompositeExtract 84 2
+ 87: 6(float) ImageSampleDrefExplicitLod 83 84 86 85 53
+ 88: 7(fvec4) Load 9(v)
+ 89: 6(float) CompositeExtract 88 1
+ 90: 6(float) FAdd 89 87
+ 91: 7(fvec4) Load 9(v)
+ 92: 7(fvec4) CompositeInsert 90 91 1
+ Store 9(v) 92
+ 93: 11 Load 13(s2D)
+ 94: 36(fvec3) Load 38(c3D)
+ 95: 6(float) Load 55(c1D)
+ 96: 7(fvec4) ImageSampleProjExplicitLod 93 94 95 53
+ 97: 7(fvec4) Load 9(v)
+ 98: 7(fvec4) FAdd 97 96
+ Store 9(v) 98
+ 103: 100 Load 102(sCube)
+ 104: 36(fvec3) Load 38(c3D)
+ 105: 36(fvec3) Load 38(c3D)
+ 106: 36(fvec3) Load 38(c3D)
+ 107: 7(fvec4) ImageSampleExplicitLod 103 104 105 106
+ 108: 7(fvec4) Load 9(v)
+ 109: 7(fvec4) FAdd 108 107
+ Store 9(v) 109
+ 114: 111 Load 113(s2DArrayShadow)
+ 115: 7(fvec4) Load 26(c4D)
+ 116: 15(fvec2) Load 17(c2D)
+ 117: 15(fvec2) Load 17(c2D)
+ 118: 6(float) CompositeExtract 115 3
+ 119: 6(float) ImageSampleDrefExplicitLod 114 115 118 116 117 53
+ 120: 7(fvec4) Load 9(v)
+ 121: 6(float) CompositeExtract 120 0
+ 122: 6(float) FAdd 121 119
+ 123: 7(fvec4) Load 9(v)
+ 124: 7(fvec4) CompositeInsert 122 123 0
+ Store 9(v) 124
+ 125: 21 Load 23(s3D)
+ 126: 7(fvec4) Load 26(c4D)
+ 127: 36(fvec3) Load 38(c3D)
+ 128: 36(fvec3) Load 38(c3D)
+ 129: 7(fvec4) ImageSampleProjExplicitLod 125 126 127 128
+ 130: 7(fvec4) Load 9(v)
+ 131: 7(fvec4) FAdd 130 129
+ Store 9(v) 131
+ 132: 11 Load 13(s2D)
+ 133: 36(fvec3) Load 38(c3D)
+ 134: 15(fvec2) Load 17(c2D)
+ 135: 15(fvec2) Load 17(c2D)
+ 136: 7(fvec4) ImageSampleProjExplicitLod 132 133 134 135 53
+ 137: 7(fvec4) Load 9(v)
+ 138: 7(fvec4) FAdd 137 136
+ Store 9(v) 138
+ 146: 143 Load 145(is2D)
+ 147: 15(fvec2) Load 17(c2D)
+ 148: 139(ivec4) ImageSampleImplicitLod 146 147
+ Store 141(iv) 148
+ 149: 139(ivec4) Load 141(iv)
+ 150: 7(fvec4) ConvertSToF 149
+ 151: 7(fvec4) Load 9(v)
+ 152: 7(fvec4) FAdd 151 150
+ Store 9(v) 152
+ 153: 143 Load 145(is2D)
+ 154: 7(fvec4) Load 26(c4D)
+ 155: 139(ivec4) ImageSampleProjImplicitLod 153 154 53
+ Store 141(iv) 155
+ 156: 139(ivec4) Load 141(iv)
+ 157: 7(fvec4) ConvertSToF 156
+ 158: 7(fvec4) Load 9(v)
+ 159: 7(fvec4) FAdd 158 157
+ Store 9(v) 159
+ 160: 143 Load 145(is2D)
+ 161: 36(fvec3) Load 38(c3D)
+ 162: 6(float) Load 55(c1D)
+ 163: 139(ivec4) ImageSampleProjExplicitLod 160 161 162
+ Store 141(iv) 163
+ 164: 139(ivec4) Load 141(iv)
+ 165: 7(fvec4) ConvertSToF 164
+ 166: 7(fvec4) Load 9(v)
+ 167: 7(fvec4) FAdd 166 165
+ Store 9(v) 167
+ 168: 143 Load 145(is2D)
+ 169: 36(fvec3) Load 38(c3D)
+ 170: 15(fvec2) Load 17(c2D)
+ 171: 15(fvec2) Load 17(c2D)
+ 172: 139(ivec4) ImageSampleProjExplicitLod 168 169 170 171
+ Store 141(iv) 172
+ 173: 139(ivec4) Load 141(iv)
+ 174: 7(fvec4) ConvertSToF 173
+ 175: 7(fvec4) Load 9(v)
+ 176: 7(fvec4) FAdd 175 174
+ Store 9(v) 176
+ 181: 178 Load 180(is3D)
+ 182: 36(fvec3) Load 38(c3D)
+ 184: 139(ivec4) ImageSampleImplicitLod 181 182 183
+ Store 141(iv) 184
+ 185: 139(ivec4) Load 141(iv)
+ 186: 7(fvec4) ConvertSToF 185
+ 187: 7(fvec4) Load 9(v)
+ 188: 7(fvec4) FAdd 187 186
+ Store 9(v) 188
+ 193: 190 Load 192(isCube)
+ 194: 36(fvec3) Load 38(c3D)
+ 195: 6(float) Load 55(c1D)
+ 196: 139(ivec4) ImageSampleExplicitLod 193 194 195
+ Store 141(iv) 196
+ 197: 139(ivec4) Load 141(iv)
+ 198: 7(fvec4) ConvertSToF 197
+ 199: 7(fvec4) Load 9(v)
+ 200: 7(fvec4) FAdd 199 198
+ Store 9(v) 200
+ 205: 202 Load 204(is2DArray)
+ 206: 65(ivec3) Load 67(ic3D)
+ 207: 50(int) Load 70(ic1D)
+ 208: 139(ivec4) ImageFetch 205 206
+ Store 141(iv) 208
+ 209: 139(ivec4) Load 141(iv)
+ 210: 7(fvec4) ConvertSToF 209
+ 211: 7(fvec4) Load 9(v)
+ 212: 7(fvec4) FAdd 211 210
+ Store 9(v) 212
+ 219: 216 Load 218(sCubeShadow)
+ 221: 51(ivec2) ImageQuerySizeLod 219 220
+ Store 214(iv2) 221
+ 224: 7(fvec4) Load 9(v)
+ 225: 51(ivec2) Load 214(iv2)
+ 226: 15(fvec2) ConvertSToF 225
+ 228: 6(float) CompositeExtract 226 0
+ 229: 6(float) CompositeExtract 226 1
+ 230: 7(fvec4) CompositeConstruct 228 229 227 227
+ 231: 7(fvec4) FAdd 224 230
+ Store 223(FragData) 231
Return
FunctionEnd
diff --git a/Test/baseResults/spv.nonSquare.vert.out b/Test/baseResults/spv.nonSquare.vert.out
index fe27f56..6903490 100755
--- a/Test/baseResults/spv.nonSquare.vert.out
+++ b/Test/baseResults/spv.nonSquare.vert.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 91
+// Id's are bound by 90
Source GLSL 120
Capability Shader
@@ -13,109 +13,107 @@
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main"
Name 4 "main"
- Name 10 "a"
- Name 13 "v3"
- Name 17 "m23"
- Name 20 "b"
- Name 23 "m32"
- Name 29 "gl_Position"
- Name 56 "v4"
- Decorate 29(gl_Position) BuiltIn Position
- Decorate 75 NoStaticUse
- Decorate 79 NoStaticUse
- Decorate 90 NoStaticUse
+ Name 9 "a"
+ Name 12 "v3"
+ Name 16 "m23"
+ Name 19 "b"
+ Name 22 "m32"
+ Name 28 "gl_Position"
+ Name 55 "v4"
+ Decorate 28(gl_Position) BuiltIn Position
+ Decorate 74 NoStaticUse
+ Decorate 78 NoStaticUse
+ Decorate 89 NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeVector 7(float) 2
- 9: TypePointer Function 8(fvec2)
- 11: TypeVector 7(float) 3
- 12: TypePointer Input 11(fvec3)
- 13(v3): 12(ptr) Variable Input
- 15: TypeMatrix 11(fvec3) 2
- 16: TypePointer Function 15
- 21: TypeMatrix 8(fvec2) 3
- 22: TypePointer UniformConstant 21
- 23(m32): 22(ptr) Variable UniformConstant
- 27: TypeVector 7(float) 4
- 28: TypePointer Output 27(fvec4)
- 29(gl_Position): 28(ptr) Variable Output
- 32: TypeMatrix 11(fvec3) 3
- 36: 7(float) Constant 0
- 41: TypeMatrix 27(fvec4) 4
- 42: 7(float) Constant 1077936128
- 43: 7(float) Constant 1086324736
- 44: 27(fvec4) ConstantComposite 42 43 36 36
- 45: 7(float) Constant 1091567616
- 46: 7(float) Constant 1094713344
- 47: 27(fvec4) ConstantComposite 45 46 36 36
- 48: 7(float) Constant 1097859072
- 49: 7(float) Constant 1099956224
- 50: 27(fvec4) ConstantComposite 48 49 36 36
- 51: 7(float) Constant 1101529088
- 52: 7(float) Constant 1103101952
- 53: 27(fvec4) ConstantComposite 51 52 36 36
- 54: 41 ConstantComposite 44 47 50 53
- 55: TypePointer Input 27(fvec4)
- 56(v4): 55(ptr) Variable Input
- 60: 7(float) Constant 1112014848
- 61: 7(float) Constant 1121714176
- 62: 7(float) Constant 1126825984
- 63: 7(float) Constant 1130758144
- 64: 27(fvec4) ConstantComposite 60 61 62 63
- 66: 7(float) Constant 1106247680
- 67: 7(float) Constant 1114636288
- 68: 27(fvec4) ConstantComposite 66 67 36 36
- 70: 7(float) Constant 1101004800
- 71: 7(float) Constant 1092616192
- 72: 7(float) Constant 1084227584
- 73: 27(fvec4) ConstantComposite 70 71 43 72
- 75: 8(fvec2) ConstantComposite 71 70
- 76: TypeMatrix 27(fvec4) 2
- 77: 27(fvec4) ConstantComposite 42 36 36 36
- 78: 27(fvec4) ConstantComposite 36 42 36 36
- 79: 76 ConstantComposite 77 78
- 80: TypeMatrix 8(fvec2) 4
- 81: 7(float) Constant 1065353216
- 82: 7(float) Constant 1073741824
- 83: 8(fvec2) ConstantComposite 81 82
- 84: 7(float) Constant 1082130432
- 85: 8(fvec2) ConstantComposite 42 84
- 86: 8(fvec2) ConstantComposite 72 43
- 87: 7(float) Constant 1088421888
- 88: 7(float) Constant 1090519040
- 89: 8(fvec2) ConstantComposite 87 88
- 90: 80 ConstantComposite 83 85 86 89
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 2
+ 8: TypePointer Function 7(fvec2)
+ 10: TypeVector 6(float) 3
+ 11: TypePointer Input 10(fvec3)
+ 12(v3): 11(ptr) Variable Input
+ 14: TypeMatrix 10(fvec3) 2
+ 15: TypePointer Function 14
+ 20: TypeMatrix 7(fvec2) 3
+ 21: TypePointer UniformConstant 20
+ 22(m32): 21(ptr) Variable UniformConstant
+ 26: TypeVector 6(float) 4
+ 27: TypePointer Output 26(fvec4)
+ 28(gl_Position): 27(ptr) Variable Output
+ 31: TypeMatrix 10(fvec3) 3
+ 35: 6(float) Constant 0
+ 40: TypeMatrix 26(fvec4) 4
+ 41: 6(float) Constant 1077936128
+ 42: 6(float) Constant 1086324736
+ 43: 26(fvec4) ConstantComposite 41 42 35 35
+ 44: 6(float) Constant 1091567616
+ 45: 6(float) Constant 1094713344
+ 46: 26(fvec4) ConstantComposite 44 45 35 35
+ 47: 6(float) Constant 1097859072
+ 48: 6(float) Constant 1099956224
+ 49: 26(fvec4) ConstantComposite 47 48 35 35
+ 50: 6(float) Constant 1101529088
+ 51: 6(float) Constant 1103101952
+ 52: 26(fvec4) ConstantComposite 50 51 35 35
+ 53: 40 ConstantComposite 43 46 49 52
+ 54: TypePointer Input 26(fvec4)
+ 55(v4): 54(ptr) Variable Input
+ 59: 6(float) Constant 1112014848
+ 60: 6(float) Constant 1121714176
+ 61: 6(float) Constant 1126825984
+ 62: 6(float) Constant 1130758144
+ 63: 26(fvec4) ConstantComposite 59 60 61 62
+ 65: 6(float) Constant 1106247680
+ 66: 6(float) Constant 1114636288
+ 67: 26(fvec4) ConstantComposite 65 66 35 35
+ 69: 6(float) Constant 1101004800
+ 70: 6(float) Constant 1092616192
+ 71: 6(float) Constant 1084227584
+ 72: 26(fvec4) ConstantComposite 69 70 42 71
+ 74: 7(fvec2) ConstantComposite 70 69
+ 75: TypeMatrix 26(fvec4) 2
+ 76: 26(fvec4) ConstantComposite 41 35 35 35
+ 77: 26(fvec4) ConstantComposite 35 41 35 35
+ 78: 75 ConstantComposite 76 77
+ 79: TypeMatrix 7(fvec2) 4
+ 80: 6(float) Constant 1065353216
+ 81: 6(float) Constant 1073741824
+ 82: 7(fvec2) ConstantComposite 80 81
+ 83: 6(float) Constant 1082130432
+ 84: 7(fvec2) ConstantComposite 41 83
+ 85: 7(fvec2) ConstantComposite 71 42
+ 86: 6(float) Constant 1088421888
+ 87: 6(float) Constant 1090519040
+ 88: 7(fvec2) ConstantComposite 86 87
+ 89: 79 ConstantComposite 82 84 85 88
4(main): 2 Function None 3
5: Label
- 10(a): 9(ptr) Variable Function
- 17(m23): 16(ptr) Variable Function
- 20(b): 9(ptr) Variable Function
- 14: 11(fvec3) Load 13(v3)
- 18: 15 Load 17(m23)
- 19: 8(fvec2) VectorTimesMatrix 14 18
- Store 10(a) 19
- 24: 21 Load 23(m32)
- 25: 11(fvec3) Load 13(v3)
- 26: 8(fvec2) MatrixTimesVector 24 25
- Store 20(b) 26
- 30: 15 Load 17(m23)
- 31: 21 Load 23(m32)
- 33: 32 MatrixTimesMatrix 30 31
- 34: 11(fvec3) Load 13(v3)
- 35: 11(fvec3) MatrixTimesVector 33 34
- 37: 7(float) CompositeExtract 35 0
- 38: 7(float) CompositeExtract 35 1
- 39: 7(float) CompositeExtract 35 2
- 40: 27(fvec4) CompositeConstruct 37 38 39 36
- 57: 27(fvec4) Load 56(v4)
- 58: 27(fvec4) MatrixTimesVector 54 57
- 59: 27(fvec4) FAdd 40 58
- 65: 27(fvec4) FAdd 59 64
- 69: 27(fvec4) FAdd 65 68
- 74: 27(fvec4) FAdd 69 73
- Store 29(gl_Position) 74
- Branch 6
- 6: Label
+ 9(a): 8(ptr) Variable Function
+ 16(m23): 15(ptr) Variable Function
+ 19(b): 8(ptr) Variable Function
+ 13: 10(fvec3) Load 12(v3)
+ 17: 14 Load 16(m23)
+ 18: 7(fvec2) VectorTimesMatrix 13 17
+ Store 9(a) 18
+ 23: 20 Load 22(m32)
+ 24: 10(fvec3) Load 12(v3)
+ 25: 7(fvec2) MatrixTimesVector 23 24
+ Store 19(b) 25
+ 29: 14 Load 16(m23)
+ 30: 20 Load 22(m32)
+ 32: 31 MatrixTimesMatrix 29 30
+ 33: 10(fvec3) Load 12(v3)
+ 34: 10(fvec3) MatrixTimesVector 32 33
+ 36: 6(float) CompositeExtract 34 0
+ 37: 6(float) CompositeExtract 34 1
+ 38: 6(float) CompositeExtract 34 2
+ 39: 26(fvec4) CompositeConstruct 36 37 38 35
+ 56: 26(fvec4) Load 55(v4)
+ 57: 26(fvec4) MatrixTimesVector 53 56
+ 58: 26(fvec4) FAdd 39 57
+ 64: 26(fvec4) FAdd 58 63
+ 68: 26(fvec4) FAdd 64 67
+ 73: 26(fvec4) FAdd 68 72
+ Store 28(gl_Position) 73
Return
FunctionEnd
diff --git a/Test/baseResults/spv.precision.frag.out b/Test/baseResults/spv.precision.frag.out
index 71f6e77..042faa4 100755
--- a/Test/baseResults/spv.precision.frag.out
+++ b/Test/baseResults/spv.precision.frag.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 111
+// Id's are bound by 110
Source ESSL 300
Capability Shader
@@ -14,164 +14,162 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 13 "foo(vf3;"
- Name 12 "mv3"
- Name 20 "boolfun(vb2;"
- Name 19 "bv2"
- Name 24 "highfin"
- Name 37 "sum"
- Name 39 "uniform_medium"
- Name 41 "uniform_high"
- Name 47 "uniform_low"
- Name 52 "arg1"
- Name 54 "arg2"
- Name 56 "d"
- Name 58 "lowfin"
- Name 60 "mediumfin"
- Name 64 "global_highp"
- Name 68 "local_highp"
- Name 72 "mediumfout"
- Name 101 "ub2"
- Name 102 "param"
- Decorate 24(highfin) Smooth
- Decorate 37(sum) RelaxedPrecision
- Decorate 39(uniform_medium) RelaxedPrecision
- Decorate 47(uniform_low) RelaxedPrecision
- Decorate 52(arg1) RelaxedPrecision
- Decorate 54(arg2) RelaxedPrecision
- Decorate 56(d) RelaxedPrecision
- Decorate 58(lowfin) RelaxedPrecision
- Decorate 58(lowfin) Smooth
- Decorate 60(mediumfin) RelaxedPrecision
- Decorate 60(mediumfin) Smooth
- Decorate 72(mediumfout) RelaxedPrecision
+ Name 12 "foo(vf3;"
+ Name 11 "mv3"
+ Name 19 "boolfun(vb2;"
+ Name 18 "bv2"
+ Name 23 "highfin"
+ Name 36 "sum"
+ Name 38 "uniform_medium"
+ Name 40 "uniform_high"
+ Name 46 "uniform_low"
+ Name 51 "arg1"
+ Name 53 "arg2"
+ Name 55 "d"
+ Name 57 "lowfin"
+ Name 59 "mediumfin"
+ Name 63 "global_highp"
+ Name 67 "local_highp"
+ Name 71 "mediumfout"
+ Name 100 "ub2"
+ Name 101 "param"
+ Decorate 23(highfin) Smooth
+ Decorate 36(sum) RelaxedPrecision
+ Decorate 38(uniform_medium) RelaxedPrecision
+ Decorate 46(uniform_low) RelaxedPrecision
+ Decorate 51(arg1) RelaxedPrecision
+ Decorate 53(arg2) RelaxedPrecision
+ Decorate 55(d) RelaxedPrecision
+ Decorate 57(lowfin) RelaxedPrecision
+ Decorate 57(lowfin) Smooth
+ Decorate 59(mediumfin) RelaxedPrecision
+ Decorate 59(mediumfin) Smooth
+ Decorate 71(mediumfout) RelaxedPrecision
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeVector 7(float) 3
- 9: TypePointer Function 8(fvec3)
- 10: TypeVector 7(float) 2
- 11: TypeFunction 10(fvec2) 9(ptr)
- 15: TypeBool
- 16: TypeVector 15(bool) 2
- 17: TypePointer Function 16(bvec2)
- 18: TypeFunction 15(bool) 17(ptr)
- 22: TypeVector 7(float) 4
- 23: TypePointer Input 22(fvec4)
- 24(highfin): 23(ptr) Variable Input
- 29: 15(bool) ConstantFalse
- 30: 15(bool) ConstantTrue
- 31: 16(bvec2) ConstantComposite 29 30
- 35: TypeInt 32 1
- 36: TypePointer Function 35(int)
- 38: TypePointer UniformConstant 35(int)
-39(uniform_medium): 38(ptr) Variable UniformConstant
-41(uniform_high): 38(ptr) Variable UniformConstant
- 47(uniform_low): 38(ptr) Variable UniformConstant
- 51: TypePointer Function 7(float)
- 53: 7(float) Constant 1078774989
- 55: 7(float) Constant 1232730691
- 57: TypePointer Input 7(float)
- 58(lowfin): 57(ptr) Variable Input
- 60(mediumfin): 57(ptr) Variable Input
- 63: TypePointer PrivateGlobal 7(float)
-64(global_highp): 63(ptr) Variable PrivateGlobal
- 67: TypePointer Function 22(fvec4)
- 71: TypePointer Output 22(fvec4)
- 72(mediumfout): 71(ptr) Variable Output
- 81: 35(int) Constant 4
- 83: TypeVector 35(int) 2
- 100: TypePointer UniformConstant 16(bvec2)
- 101(ub2): 100(ptr) Variable UniformConstant
- 108: 7(float) Constant 1065353216
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 3
+ 8: TypePointer Function 7(fvec3)
+ 9: TypeVector 6(float) 2
+ 10: TypeFunction 9(fvec2) 8(ptr)
+ 14: TypeBool
+ 15: TypeVector 14(bool) 2
+ 16: TypePointer Function 15(bvec2)
+ 17: TypeFunction 14(bool) 16(ptr)
+ 21: TypeVector 6(float) 4
+ 22: TypePointer Input 21(fvec4)
+ 23(highfin): 22(ptr) Variable Input
+ 28: 14(bool) ConstantFalse
+ 29: 14(bool) ConstantTrue
+ 30: 15(bvec2) ConstantComposite 28 29
+ 34: TypeInt 32 1
+ 35: TypePointer Function 34(int)
+ 37: TypePointer UniformConstant 34(int)
+38(uniform_medium): 37(ptr) Variable UniformConstant
+40(uniform_high): 37(ptr) Variable UniformConstant
+ 46(uniform_low): 37(ptr) Variable UniformConstant
+ 50: TypePointer Function 6(float)
+ 52: 6(float) Constant 1078774989
+ 54: 6(float) Constant 1232730691
+ 56: TypePointer Input 6(float)
+ 57(lowfin): 56(ptr) Variable Input
+ 59(mediumfin): 56(ptr) Variable Input
+ 62: TypePointer PrivateGlobal 6(float)
+63(global_highp): 62(ptr) Variable PrivateGlobal
+ 66: TypePointer Function 21(fvec4)
+ 70: TypePointer Output 21(fvec4)
+ 71(mediumfout): 70(ptr) Variable Output
+ 80: 34(int) Constant 4
+ 82: TypeVector 34(int) 2
+ 99: TypePointer UniformConstant 15(bvec2)
+ 100(ub2): 99(ptr) Variable UniformConstant
+ 107: 6(float) Constant 1065353216
4(main): 2 Function None 3
5: Label
- 37(sum): 36(ptr) Variable Function
- 52(arg1): 51(ptr) Variable Function
- 54(arg2): 51(ptr) Variable Function
- 56(d): 51(ptr) Variable Function
- 68(local_highp): 67(ptr) Variable Function
- 102(param): 17(ptr) Variable Function
- 40: 35(int) Load 39(uniform_medium)
- 42: 35(int) Load 41(uniform_high)
- 43: 35(int) IAdd 40 42
- Store 37(sum) 43
- 44: 35(int) Load 41(uniform_high)
- 45: 35(int) Load 37(sum)
- 46: 35(int) IAdd 45 44
- Store 37(sum) 46
- 48: 35(int) Load 47(uniform_low)
- 49: 35(int) Load 37(sum)
- 50: 35(int) IAdd 49 48
- Store 37(sum) 50
- Store 52(arg1) 53
- Store 54(arg2) 55
- 59: 7(float) Load 58(lowfin)
- 61: 7(float) Load 60(mediumfin)
- 62: 7(float) ExtInst 1(GLSL.std.450) 66(Distance) 59 61
- Store 56(d) 62
- 65: 22(fvec4) Load 24(highfin)
- 66: 7(float) ExtInst 1(GLSL.std.450) 65(Length) 65
- Store 64(global_highp) 66
- 69: 7(float) Load 64(global_highp)
- 70: 22(fvec4) CompositeConstruct 69 69 69 69
- Store 68(local_highp) 70
- 73: 7(float) Load 56(d)
- 74: 7(float) ExtInst 1(GLSL.std.450) 13(Sin) 73
- 75: 22(fvec4) CompositeConstruct 74 74 74 74
- 76: 7(float) Load 54(arg2)
- 77: 22(fvec4) CompositeConstruct 76 76 76 76
- 78: 22(fvec4) FAdd 75 77
- 79: 22(fvec4) Load 68(local_highp)
- 80: 22(fvec4) FAdd 78 79
- Store 72(mediumfout) 80
- 82: 35(int) Load 47(uniform_low)
- 84: 83(ivec2) CompositeConstruct 82 82
- 85: 35(int) Load 41(uniform_high)
- 86: 83(ivec2) CompositeConstruct 85 85
- 87: 83(ivec2) IMul 84 86
- 88: 35(int) Load 41(uniform_high)
- 89: 83(ivec2) CompositeConstruct 88 88
- 90: 83(ivec2) IAdd 87 89
- 91: 35(int) CompositeExtract 90 0
- 92: 35(int) IAdd 81 91
- 93: 35(int) Load 37(sum)
- 94: 35(int) IAdd 93 92
- Store 37(sum) 94
- 95: 35(int) Load 37(sum)
- 96: 7(float) ConvertSToF 95
- 97: 22(fvec4) CompositeConstruct 96 96 96 96
- 98: 22(fvec4) Load 72(mediumfout)
- 99: 22(fvec4) FAdd 98 97
- Store 72(mediumfout) 99
- 103: 16(bvec2) Load 101(ub2)
- Store 102(param) 103
- 104: 15(bool) FunctionCall 20(boolfun(vb2;) 102(param)
- SelectionMerge 106 None
- BranchConditional 104 105 106
- 105: Label
- 107: 22(fvec4) Load 72(mediumfout)
- 109: 22(fvec4) CompositeConstruct 108 108 108 108
- 110: 22(fvec4) FAdd 107 109
- Store 72(mediumfout) 110
- Branch 106
- 106: Label
- Branch 6
- 6: Label
+ 36(sum): 35(ptr) Variable Function
+ 51(arg1): 50(ptr) Variable Function
+ 53(arg2): 50(ptr) Variable Function
+ 55(d): 50(ptr) Variable Function
+ 67(local_highp): 66(ptr) Variable Function
+ 101(param): 16(ptr) Variable Function
+ 39: 34(int) Load 38(uniform_medium)
+ 41: 34(int) Load 40(uniform_high)
+ 42: 34(int) IAdd 39 41
+ Store 36(sum) 42
+ 43: 34(int) Load 40(uniform_high)
+ 44: 34(int) Load 36(sum)
+ 45: 34(int) IAdd 44 43
+ Store 36(sum) 45
+ 47: 34(int) Load 46(uniform_low)
+ 48: 34(int) Load 36(sum)
+ 49: 34(int) IAdd 48 47
+ Store 36(sum) 49
+ Store 51(arg1) 52
+ Store 53(arg2) 54
+ 58: 6(float) Load 57(lowfin)
+ 60: 6(float) Load 59(mediumfin)
+ 61: 6(float) ExtInst 1(GLSL.std.450) 66(Distance) 58 60
+ Store 55(d) 61
+ 64: 21(fvec4) Load 23(highfin)
+ 65: 6(float) ExtInst 1(GLSL.std.450) 65(Length) 64
+ Store 63(global_highp) 65
+ 68: 6(float) Load 63(global_highp)
+ 69: 21(fvec4) CompositeConstruct 68 68 68 68
+ Store 67(local_highp) 69
+ 72: 6(float) Load 55(d)
+ 73: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 72
+ 74: 21(fvec4) CompositeConstruct 73 73 73 73
+ 75: 6(float) Load 53(arg2)
+ 76: 21(fvec4) CompositeConstruct 75 75 75 75
+ 77: 21(fvec4) FAdd 74 76
+ 78: 21(fvec4) Load 67(local_highp)
+ 79: 21(fvec4) FAdd 77 78
+ Store 71(mediumfout) 79
+ 81: 34(int) Load 46(uniform_low)
+ 83: 82(ivec2) CompositeConstruct 81 81
+ 84: 34(int) Load 40(uniform_high)
+ 85: 82(ivec2) CompositeConstruct 84 84
+ 86: 82(ivec2) IMul 83 85
+ 87: 34(int) Load 40(uniform_high)
+ 88: 82(ivec2) CompositeConstruct 87 87
+ 89: 82(ivec2) IAdd 86 88
+ 90: 34(int) CompositeExtract 89 0
+ 91: 34(int) IAdd 80 90
+ 92: 34(int) Load 36(sum)
+ 93: 34(int) IAdd 92 91
+ Store 36(sum) 93
+ 94: 34(int) Load 36(sum)
+ 95: 6(float) ConvertSToF 94
+ 96: 21(fvec4) CompositeConstruct 95 95 95 95
+ 97: 21(fvec4) Load 71(mediumfout)
+ 98: 21(fvec4) FAdd 97 96
+ Store 71(mediumfout) 98
+ 102: 15(bvec2) Load 100(ub2)
+ Store 101(param) 102
+ 103: 14(bool) FunctionCall 19(boolfun(vb2;) 101(param)
+ SelectionMerge 105 None
+ BranchConditional 103 104 105
+ 104: Label
+ 106: 21(fvec4) Load 71(mediumfout)
+ 108: 21(fvec4) CompositeConstruct 107 107 107 107
+ 109: 21(fvec4) FAdd 106 108
+ Store 71(mediumfout) 109
+ Branch 105
+ 105: Label
Return
FunctionEnd
- 13(foo(vf3;): 10(fvec2) Function None 11
- 12(mv3): 9(ptr) FunctionParameter
- 14: Label
- 25: 22(fvec4) Load 24(highfin)
- 26: 10(fvec2) VectorShuffle 25 25 0 1
- ReturnValue 26
+ 12(foo(vf3;): 9(fvec2) Function None 10
+ 11(mv3): 8(ptr) FunctionParameter
+ 13: Label
+ 24: 21(fvec4) Load 23(highfin)
+ 25: 9(fvec2) VectorShuffle 24 24 0 1
+ ReturnValue 25
FunctionEnd
-20(boolfun(vb2;): 15(bool) Function None 18
- 19(bv2): 17(ptr) FunctionParameter
- 21: Label
- 28: 16(bvec2) Load 19(bv2)
- 32: 16(bvec2) IEqual 28 31
- 33: 15(bool) All 32
- ReturnValue 33
+19(boolfun(vb2;): 14(bool) Function None 17
+ 18(bv2): 16(ptr) FunctionParameter
+ 20: Label
+ 27: 15(bvec2) Load 18(bv2)
+ 31: 15(bvec2) IEqual 27 30
+ 32: 14(bool) All 31
+ ReturnValue 32
FunctionEnd
diff --git a/Test/baseResults/spv.prepost.frag.out b/Test/baseResults/spv.prepost.frag.out
index 5c85d5e..22f41a6 100755
--- a/Test/baseResults/spv.prepost.frag.out
+++ b/Test/baseResults/spv.prepost.frag.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 97
+// Id's are bound by 96
Source GLSL 140
Capability Shader
@@ -14,139 +14,137 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 9 "index"
- Name 15 "s"
- MemberName 15(s) 0 "y"
- Name 17 "str"
- Name 23 "t"
- Name 51 "x"
- Name 62 "y"
- Name 67 "z"
- Name 74 "v"
- Name 93 "gl_FragColor"
- Decorate 93(gl_FragColor) BuiltIn FragColor
+ Name 8 "index"
+ Name 14 "s"
+ MemberName 14(s) 0 "y"
+ Name 16 "str"
+ Name 22 "t"
+ Name 50 "x"
+ Name 61 "y"
+ Name 66 "z"
+ Name 73 "v"
+ Name 92 "gl_FragColor"
+ Decorate 92(gl_FragColor) BuiltIn FragColor
2: TypeVoid
3: TypeFunction 2
- 7: TypeInt 32 1
- 8: TypePointer Function 7(int)
- 10: 7(int) Constant 5
- 11: TypeFloat 32
- 12: TypeInt 32 0
- 13: 12(int) Constant 5
- 14: TypeArray 11(float) 13
- 15(s): TypeStruct 14
- 16: TypePointer Function 15(s)
- 18: 7(int) Constant 0
- 19: 7(int) Constant 4
- 20: 11(float) Constant 1073741824
- 21: TypePointer Function 11(float)
- 25: 7(int) Constant 1
- 29: 11(float) Constant 1065353216
- 72: TypeVector 11(float) 4
- 73: TypePointer Function 72(fvec4)
- 75: 11(float) Constant 1077936128
- 76: 11(float) Constant 1082130432
- 77: 72(fvec4) ConstantComposite 29 20 75 76
- 92: TypePointer Output 72(fvec4)
-93(gl_FragColor): 92(ptr) Variable Output
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 5
+ 10: TypeFloat 32
+ 11: TypeInt 32 0
+ 12: 11(int) Constant 5
+ 13: TypeArray 10(float) 12
+ 14(s): TypeStruct 13
+ 15: TypePointer Function 14(s)
+ 17: 6(int) Constant 0
+ 18: 6(int) Constant 4
+ 19: 10(float) Constant 1073741824
+ 20: TypePointer Function 10(float)
+ 24: 6(int) Constant 1
+ 28: 10(float) Constant 1065353216
+ 71: TypeVector 10(float) 4
+ 72: TypePointer Function 71(fvec4)
+ 74: 10(float) Constant 1077936128
+ 75: 10(float) Constant 1082130432
+ 76: 71(fvec4) ConstantComposite 28 19 74 75
+ 91: TypePointer Output 71(fvec4)
+92(gl_FragColor): 91(ptr) Variable Output
4(main): 2 Function None 3
5: Label
- 9(index): 8(ptr) Variable Function
- 17(str): 16(ptr) Variable Function
- 23(t): 21(ptr) Variable Function
- 51(x): 21(ptr) Variable Function
- 62(y): 21(ptr) Variable Function
- 67(z): 21(ptr) Variable Function
- 74(v): 73(ptr) Variable Function
- Store 9(index) 10
- 22: 21(ptr) AccessChain 17(str) 18 19
- Store 22 20
- 24: 7(int) Load 9(index)
- 26: 7(int) ISub 24 25
- Store 9(index) 26
- 27: 21(ptr) AccessChain 17(str) 18 26
- 28: 11(float) Load 27
- 30: 11(float) FAdd 28 29
- Store 27 30
- Store 23(t) 30
- 31: 11(float) Load 23(t)
- 32: 21(ptr) AccessChain 17(str) 18 19
- 33: 11(float) Load 32
- 34: 11(float) FAdd 33 31
- 35: 21(ptr) AccessChain 17(str) 18 19
- Store 35 34
- 36: 21(ptr) AccessChain 17(str) 18 19
- 37: 11(float) Load 36
- 38: 11(float) FSub 37 29
- Store 36 38
- Store 23(t) 37
- 39: 7(int) Load 9(index)
- 40: 7(int) IAdd 39 25
- Store 9(index) 40
- 41: 11(float) Load 23(t)
- 42: 21(ptr) AccessChain 17(str) 18 39
- 43: 11(float) Load 42
- 44: 11(float) FAdd 43 41
- 45: 21(ptr) AccessChain 17(str) 18 39
- Store 45 44
- 46: 7(int) Load 9(index)
- 47: 7(int) ISub 46 25
- Store 9(index) 47
- 48: 21(ptr) AccessChain 17(str) 18 47
- 49: 11(float) Load 48
- 50: 11(float) FSub 49 29
- Store 48 50
- 52: 21(ptr) AccessChain 17(str) 18 19
- 53: 11(float) Load 52
- Store 51(x) 53
- 54: 11(float) Load 51(x)
- 55: 11(float) FAdd 54 29
- Store 51(x) 55
- 56: 11(float) Load 51(x)
- 57: 11(float) FSub 56 29
- Store 51(x) 57
- 58: 11(float) Load 51(x)
- 59: 11(float) FAdd 58 29
- Store 51(x) 59
- 60: 11(float) Load 51(x)
- 61: 11(float) FSub 60 29
- Store 51(x) 61
- 63: 11(float) Load 51(x)
- 64: 11(float) Load 51(x)
- 65: 11(float) FAdd 64 29
- Store 51(x) 65
- 66: 11(float) FMul 63 65
- Store 62(y) 66
- 68: 11(float) Load 62(y)
- 69: 11(float) Load 51(x)
- 70: 11(float) FSub 69 29
- Store 51(x) 70
- 71: 11(float) FMul 68 69
- Store 67(z) 71
- Store 74(v) 77
- 78: 72(fvec4) Load 74(v)
- 79: 11(float) CompositeExtract 78 2
- 80: 11(float) FSub 79 29
- 81: 72(fvec4) Load 74(v)
- 82: 72(fvec4) CompositeInsert 80 81 2
- Store 74(v) 82
- 83: 72(fvec4) Load 74(v)
- 84: 72(fvec4) CompositeInsert 79 83 1
- Store 74(v) 84
- 85: 72(fvec4) Load 74(v)
- 86: 11(float) CompositeExtract 85 3
- 87: 11(float) FSub 86 29
- 88: 72(fvec4) Load 74(v)
- 89: 72(fvec4) CompositeInsert 87 88 3
- Store 74(v) 89
- 90: 72(fvec4) Load 74(v)
- 91: 72(fvec4) CompositeInsert 87 90 0
- Store 74(v) 91
- 94: 11(float) Load 67(z)
- 95: 72(fvec4) Load 74(v)
- 96: 72(fvec4) VectorTimesScalar 95 94
- Store 93(gl_FragColor) 96
- Branch 6
- 6: Label
+ 8(index): 7(ptr) Variable Function
+ 16(str): 15(ptr) Variable Function
+ 22(t): 20(ptr) Variable Function
+ 50(x): 20(ptr) Variable Function
+ 61(y): 20(ptr) Variable Function
+ 66(z): 20(ptr) Variable Function
+ 73(v): 72(ptr) Variable Function
+ Store 8(index) 9
+ 21: 20(ptr) AccessChain 16(str) 17 18
+ Store 21 19
+ 23: 6(int) Load 8(index)
+ 25: 6(int) ISub 23 24
+ Store 8(index) 25
+ 26: 20(ptr) AccessChain 16(str) 17 25
+ 27: 10(float) Load 26
+ 29: 10(float) FAdd 27 28
+ Store 26 29
+ Store 22(t) 29
+ 30: 10(float) Load 22(t)
+ 31: 20(ptr) AccessChain 16(str) 17 18
+ 32: 10(float) Load 31
+ 33: 10(float) FAdd 32 30
+ 34: 20(ptr) AccessChain 16(str) 17 18
+ Store 34 33
+ 35: 20(ptr) AccessChain 16(str) 17 18
+ 36: 10(float) Load 35
+ 37: 10(float) FSub 36 28
+ Store 35 37
+ Store 22(t) 36
+ 38: 6(int) Load 8(index)
+ 39: 6(int) IAdd 38 24
+ Store 8(index) 39
+ 40: 10(float) Load 22(t)
+ 41: 20(ptr) AccessChain 16(str) 17 38
+ 42: 10(float) Load 41
+ 43: 10(float) FAdd 42 40
+ 44: 20(ptr) AccessChain 16(str) 17 38
+ Store 44 43
+ 45: 6(int) Load 8(index)
+ 46: 6(int) ISub 45 24
+ Store 8(index) 46
+ 47: 20(ptr) AccessChain 16(str) 17 46
+ 48: 10(float) Load 47
+ 49: 10(float) FSub 48 28
+ Store 47 49
+ 51: 20(ptr) AccessChain 16(str) 17 18
+ 52: 10(float) Load 51
+ Store 50(x) 52
+ 53: 10(float) Load 50(x)
+ 54: 10(float) FAdd 53 28
+ Store 50(x) 54
+ 55: 10(float) Load 50(x)
+ 56: 10(float) FSub 55 28
+ Store 50(x) 56
+ 57: 10(float) Load 50(x)
+ 58: 10(float) FAdd 57 28
+ Store 50(x) 58
+ 59: 10(float) Load 50(x)
+ 60: 10(float) FSub 59 28
+ Store 50(x) 60
+ 62: 10(float) Load 50(x)
+ 63: 10(float) Load 50(x)
+ 64: 10(float) FAdd 63 28
+ Store 50(x) 64
+ 65: 10(float) FMul 62 64
+ Store 61(y) 65
+ 67: 10(float) Load 61(y)
+ 68: 10(float) Load 50(x)
+ 69: 10(float) FSub 68 28
+ Store 50(x) 69
+ 70: 10(float) FMul 67 68
+ Store 66(z) 70
+ Store 73(v) 76
+ 77: 71(fvec4) Load 73(v)
+ 78: 10(float) CompositeExtract 77 2
+ 79: 10(float) FSub 78 28
+ 80: 71(fvec4) Load 73(v)
+ 81: 71(fvec4) CompositeInsert 79 80 2
+ Store 73(v) 81
+ 82: 71(fvec4) Load 73(v)
+ 83: 71(fvec4) CompositeInsert 78 82 1
+ Store 73(v) 83
+ 84: 71(fvec4) Load 73(v)
+ 85: 10(float) CompositeExtract 84 3
+ 86: 10(float) FSub 85 28
+ 87: 71(fvec4) Load 73(v)
+ 88: 71(fvec4) CompositeInsert 86 87 3
+ Store 73(v) 88
+ 89: 71(fvec4) Load 73(v)
+ 90: 71(fvec4) CompositeInsert 86 89 0
+ Store 73(v) 90
+ 93: 10(float) Load 66(z)
+ 94: 71(fvec4) Load 73(v)
+ 95: 71(fvec4) VectorTimesScalar 94 93
+ Store 92(gl_FragColor) 95
Return
FunctionEnd
diff --git a/Test/baseResults/spv.qualifiers.vert.out b/Test/baseResults/spv.qualifiers.vert.out
index 46d3b0e..90b7f72 100755
--- a/Test/baseResults/spv.qualifiers.vert.out
+++ b/Test/baseResults/spv.qualifiers.vert.out
@@ -7,7 +7,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 26
+// Id's are bound by 25
Source GLSL 430
Capability Shader
@@ -15,52 +15,50 @@
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main"
Name 4 "main"
- Name 10 "outVc"
- Name 12 "inV"
- Name 14 "outVs"
- Name 16 "outVf"
- Name 18 "outVn"
- Name 20 "outVcn"
- Name 24 "gl_VertexID"
- Name 25 "gl_InstanceID"
- Decorate 10(outVc) Smooth
- Decorate 14(outVs) Smooth
- Decorate 16(outVf) Flat
- Decorate 18(outVn) Noperspective
- Decorate 20(outVcn) Noperspective
- Decorate 24(gl_VertexID) BuiltIn VertexId
- Decorate 24(gl_VertexID) NoStaticUse
- Decorate 25(gl_InstanceID) BuiltIn InstanceId
- Decorate 25(gl_InstanceID) NoStaticUse
+ Name 9 "outVc"
+ Name 11 "inV"
+ Name 13 "outVs"
+ Name 15 "outVf"
+ Name 17 "outVn"
+ Name 19 "outVcn"
+ Name 23 "gl_VertexID"
+ Name 24 "gl_InstanceID"
+ Decorate 9(outVc) Smooth
+ Decorate 13(outVs) Smooth
+ Decorate 15(outVf) Flat
+ Decorate 17(outVn) Noperspective
+ Decorate 19(outVcn) Noperspective
+ Decorate 23(gl_VertexID) BuiltIn VertexId
+ Decorate 23(gl_VertexID) NoStaticUse
+ Decorate 24(gl_InstanceID) BuiltIn InstanceId
+ Decorate 24(gl_InstanceID) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeVector 7(float) 4
- 9: TypePointer Output 8(fvec4)
- 10(outVc): 9(ptr) Variable Output
- 11: TypePointer Input 8(fvec4)
- 12(inV): 11(ptr) Variable Input
- 14(outVs): 9(ptr) Variable Output
- 16(outVf): 9(ptr) Variable Output
- 18(outVn): 9(ptr) Variable Output
- 20(outVcn): 9(ptr) Variable Output
- 22: TypeInt 32 1
- 23: TypePointer Input 22(int)
- 24(gl_VertexID): 23(ptr) Variable Input
-25(gl_InstanceID): 23(ptr) Variable Input
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Output 7(fvec4)
+ 9(outVc): 8(ptr) Variable Output
+ 10: TypePointer Input 7(fvec4)
+ 11(inV): 10(ptr) Variable Input
+ 13(outVs): 8(ptr) Variable Output
+ 15(outVf): 8(ptr) Variable Output
+ 17(outVn): 8(ptr) Variable Output
+ 19(outVcn): 8(ptr) Variable Output
+ 21: TypeInt 32 1
+ 22: TypePointer Input 21(int)
+ 23(gl_VertexID): 22(ptr) Variable Input
+24(gl_InstanceID): 22(ptr) Variable Input
4(main): 2 Function None 3
5: Label
- 13: 8(fvec4) Load 12(inV)
- Store 10(outVc) 13
- 15: 8(fvec4) Load 12(inV)
- Store 14(outVs) 15
- 17: 8(fvec4) Load 12(inV)
- Store 16(outVf) 17
- 19: 8(fvec4) Load 12(inV)
- Store 18(outVn) 19
- 21: 8(fvec4) Load 12(inV)
- Store 20(outVcn) 21
- Branch 6
- 6: Label
+ 12: 7(fvec4) Load 11(inV)
+ Store 9(outVc) 12
+ 14: 7(fvec4) Load 11(inV)
+ Store 13(outVs) 14
+ 16: 7(fvec4) Load 11(inV)
+ Store 15(outVf) 16
+ 18: 7(fvec4) Load 11(inV)
+ Store 17(outVn) 18
+ 20: 7(fvec4) Load 11(inV)
+ Store 19(outVcn) 20
Return
FunctionEnd
diff --git a/Test/baseResults/spv.set.vert.out b/Test/baseResults/spv.set.vert.out
index 396cfb3..77868fa 100755
--- a/Test/baseResults/spv.set.vert.out
+++ b/Test/baseResults/spv.set.vert.out
@@ -7,7 +7,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 26
+// Id's are bound by 25
Source GLSL 450
Capability Shader
@@ -15,50 +15,48 @@
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main"
Name 4 "main"
- Name 10 "color"
- Name 11 "setBuf"
- MemberName 11(setBuf) 0 "color"
- Name 13 "setBufInst"
- Name 22 "sampler"
- Name 24 "gl_VertexID"
- Name 25 "gl_InstanceID"
- Decorate 10(color) Smooth
- Decorate 11(setBuf) GLSLShared
- Decorate 11(setBuf) BufferBlock
- Decorate 13(setBufInst) DescriptorSet 0
- Decorate 13(setBufInst) Binding 8
- Decorate 22(sampler) DescriptorSet 4
- Decorate 22(sampler) Binding 7
- Decorate 22(sampler) NoStaticUse
- Decorate 24(gl_VertexID) BuiltIn VertexId
- Decorate 24(gl_VertexID) NoStaticUse
- Decorate 25(gl_InstanceID) BuiltIn InstanceId
- Decorate 25(gl_InstanceID) NoStaticUse
+ Name 9 "color"
+ Name 10 "setBuf"
+ MemberName 10(setBuf) 0 "color"
+ Name 12 "setBufInst"
+ Name 21 "sampler"
+ Name 23 "gl_VertexID"
+ Name 24 "gl_InstanceID"
+ Decorate 9(color) Smooth
+ Decorate 10(setBuf) GLSLShared
+ Decorate 10(setBuf) BufferBlock
+ Decorate 12(setBufInst) DescriptorSet 0
+ Decorate 12(setBufInst) Binding 8
+ Decorate 21(sampler) DescriptorSet 4
+ Decorate 21(sampler) Binding 7
+ Decorate 21(sampler) NoStaticUse
+ Decorate 23(gl_VertexID) BuiltIn VertexId
+ Decorate 23(gl_VertexID) NoStaticUse
+ Decorate 24(gl_InstanceID) BuiltIn InstanceId
+ Decorate 24(gl_InstanceID) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeVector 7(float) 4
- 9: TypePointer Output 8(fvec4)
- 10(color): 9(ptr) Variable Output
- 11(setBuf): TypeStruct 8(fvec4)
- 12: TypePointer Uniform 11(setBuf)
- 13(setBufInst): 12(ptr) Variable Uniform
- 14: TypeInt 32 1
- 15: 14(int) Constant 0
- 16: TypePointer Uniform 8(fvec4)
- 19: TypeImage 7(float) 2D sampled format:Unknown
- 20: TypeSampledImage 19
- 21: TypePointer UniformConstant 20
- 22(sampler): 21(ptr) Variable UniformConstant
- 23: TypePointer Input 14(int)
- 24(gl_VertexID): 23(ptr) Variable Input
-25(gl_InstanceID): 23(ptr) Variable Input
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Output 7(fvec4)
+ 9(color): 8(ptr) Variable Output
+ 10(setBuf): TypeStruct 7(fvec4)
+ 11: TypePointer Uniform 10(setBuf)
+ 12(setBufInst): 11(ptr) Variable Uniform
+ 13: TypeInt 32 1
+ 14: 13(int) Constant 0
+ 15: TypePointer Uniform 7(fvec4)
+ 18: TypeImage 6(float) 2D sampled format:Unknown
+ 19: TypeSampledImage 18
+ 20: TypePointer UniformConstant 19
+ 21(sampler): 20(ptr) Variable UniformConstant
+ 22: TypePointer Input 13(int)
+ 23(gl_VertexID): 22(ptr) Variable Input
+24(gl_InstanceID): 22(ptr) Variable Input
4(main): 2 Function None 3
5: Label
- 17: 16(ptr) AccessChain 13(setBufInst) 15
- 18: 8(fvec4) Load 17
- Store 10(color) 18
- Branch 6
- 6: Label
+ 16: 15(ptr) AccessChain 12(setBufInst) 14
+ 17: 7(fvec4) Load 16
+ Store 9(color) 17
Return
FunctionEnd
diff --git a/Test/baseResults/spv.simpleFunctionCall.frag.out b/Test/baseResults/spv.simpleFunctionCall.frag.out
index 5b4ecd0..3c04142 100755
--- a/Test/baseResults/spv.simpleFunctionCall.frag.out
+++ b/Test/baseResults/spv.simpleFunctionCall.frag.out
@@ -7,7 +7,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 23
+// Id's are bound by 22
Source GLSL 150
Capability Shader
@@ -16,38 +16,36 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 10 "foo("
- Name 13 "BaseColor"
- Name 17 "gl_FragColor"
- Name 20 "bigColor"
- Name 22 "d"
- Decorate 13(BaseColor) Smooth
- Decorate 17(gl_FragColor) BuiltIn FragColor
- Decorate 20(bigColor) NoStaticUse
- Decorate 22(d) NoStaticUse
+ Name 9 "foo("
+ Name 12 "BaseColor"
+ Name 16 "gl_FragColor"
+ Name 19 "bigColor"
+ Name 21 "d"
+ Decorate 12(BaseColor) Smooth
+ Decorate 16(gl_FragColor) BuiltIn FragColor
+ Decorate 19(bigColor) NoStaticUse
+ Decorate 21(d) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeVector 7(float) 4
- 9: TypeFunction 8(fvec4)
- 12: TypePointer Input 8(fvec4)
- 13(BaseColor): 12(ptr) Variable Input
- 16: TypePointer Output 8(fvec4)
-17(gl_FragColor): 16(ptr) Variable Output
- 19: TypePointer UniformConstant 8(fvec4)
- 20(bigColor): 19(ptr) Variable UniformConstant
- 21: TypePointer UniformConstant 7(float)
- 22(d): 21(ptr) Variable UniformConstant
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypeFunction 7(fvec4)
+ 11: TypePointer Input 7(fvec4)
+ 12(BaseColor): 11(ptr) Variable Input
+ 15: TypePointer Output 7(fvec4)
+16(gl_FragColor): 15(ptr) Variable Output
+ 18: TypePointer UniformConstant 7(fvec4)
+ 19(bigColor): 18(ptr) Variable UniformConstant
+ 20: TypePointer UniformConstant 6(float)
+ 21(d): 20(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
- 18: 8(fvec4) FunctionCall 10(foo()
- Store 17(gl_FragColor) 18
- Branch 6
- 6: Label
+ 17: 7(fvec4) FunctionCall 9(foo()
+ Store 16(gl_FragColor) 17
Return
FunctionEnd
- 10(foo(): 8(fvec4) Function None 9
- 11: Label
- 14: 8(fvec4) Load 13(BaseColor)
- ReturnValue 14
+ 9(foo(): 7(fvec4) Function None 8
+ 10: Label
+ 13: 7(fvec4) Load 12(BaseColor)
+ ReturnValue 13
FunctionEnd
diff --git a/Test/baseResults/spv.simpleMat.vert.out b/Test/baseResults/spv.simpleMat.vert.out
index 4cae545..e2502c1 100755
--- a/Test/baseResults/spv.simpleMat.vert.out
+++ b/Test/baseResults/spv.simpleMat.vert.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 44
+// Id's are bound by 43
Source GLSL 330
Capability Shader
@@ -13,64 +13,62 @@
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main"
Name 4 "main"
- Name 10 "glPos"
- Name 13 "mvp"
- Name 16 "v"
- Name 20 "f"
- Name 24 "am3"
- Name 35 "arraym"
- Name 42 "gl_VertexID"
- Name 43 "gl_InstanceID"
- Decorate 10(glPos) Smooth
- Decorate 20(f) Smooth
- Decorate 42(gl_VertexID) BuiltIn VertexId
- Decorate 42(gl_VertexID) NoStaticUse
- Decorate 43(gl_InstanceID) BuiltIn InstanceId
- Decorate 43(gl_InstanceID) NoStaticUse
+ Name 9 "glPos"
+ Name 12 "mvp"
+ Name 15 "v"
+ Name 19 "f"
+ Name 23 "am3"
+ Name 34 "arraym"
+ Name 41 "gl_VertexID"
+ Name 42 "gl_InstanceID"
+ Decorate 9(glPos) Smooth
+ Decorate 19(f) Smooth
+ Decorate 41(gl_VertexID) BuiltIn VertexId
+ Decorate 41(gl_VertexID) NoStaticUse
+ Decorate 42(gl_InstanceID) BuiltIn InstanceId
+ Decorate 42(gl_InstanceID) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeVector 7(float) 4
- 9: TypePointer Output 8(fvec4)
- 10(glPos): 9(ptr) Variable Output
- 11: TypeMatrix 8(fvec4) 4
- 12: TypePointer UniformConstant 11
- 13(mvp): 12(ptr) Variable UniformConstant
- 15: TypePointer Input 8(fvec4)
- 16(v): 15(ptr) Variable Input
- 19: TypePointer Output 7(float)
- 20(f): 19(ptr) Variable Output
- 21: TypeVector 7(float) 3
- 22: TypeMatrix 21(fvec3) 3
- 23: TypePointer Input 22
- 24(am3): 23(ptr) Variable Input
- 25: TypeInt 32 1
- 26: 25(int) Constant 2
- 27: TypePointer Input 21(fvec3)
- 31: TypeInt 32 0
- 32: 31(int) Constant 3
- 33: TypeArray 11 32
- 34: TypePointer Input 33
- 35(arraym): 34(ptr) Variable Input
- 36: 25(int) Constant 1
- 41: TypePointer Input 25(int)
- 42(gl_VertexID): 41(ptr) Variable Input
-43(gl_InstanceID): 41(ptr) Variable Input
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Output 7(fvec4)
+ 9(glPos): 8(ptr) Variable Output
+ 10: TypeMatrix 7(fvec4) 4
+ 11: TypePointer UniformConstant 10
+ 12(mvp): 11(ptr) Variable UniformConstant
+ 14: TypePointer Input 7(fvec4)
+ 15(v): 14(ptr) Variable Input
+ 18: TypePointer Output 6(float)
+ 19(f): 18(ptr) Variable Output
+ 20: TypeVector 6(float) 3
+ 21: TypeMatrix 20(fvec3) 3
+ 22: TypePointer Input 21
+ 23(am3): 22(ptr) Variable Input
+ 24: TypeInt 32 1
+ 25: 24(int) Constant 2
+ 26: TypePointer Input 20(fvec3)
+ 30: TypeInt 32 0
+ 31: 30(int) Constant 3
+ 32: TypeArray 10 31
+ 33: TypePointer Input 32
+ 34(arraym): 33(ptr) Variable Input
+ 35: 24(int) Constant 1
+ 40: TypePointer Input 24(int)
+ 41(gl_VertexID): 40(ptr) Variable Input
+42(gl_InstanceID): 40(ptr) Variable Input
4(main): 2 Function None 3
5: Label
- 14: 11 Load 13(mvp)
- 17: 8(fvec4) Load 16(v)
- 18: 8(fvec4) MatrixTimesVector 14 17
- Store 10(glPos) 18
- 28: 27(ptr) AccessChain 24(am3) 26
- 29: 21(fvec3) Load 28
- 30: 7(float) CompositeExtract 29 1
- 37: 15(ptr) AccessChain 35(arraym) 36 26
- 38: 8(fvec4) Load 37
- 39: 7(float) CompositeExtract 38 3
- 40: 7(float) FAdd 30 39
- Store 20(f) 40
- Branch 6
- 6: Label
+ 13: 10 Load 12(mvp)
+ 16: 7(fvec4) Load 15(v)
+ 17: 7(fvec4) MatrixTimesVector 13 16
+ Store 9(glPos) 17
+ 27: 26(ptr) AccessChain 23(am3) 25
+ 28: 20(fvec3) Load 27
+ 29: 6(float) CompositeExtract 28 1
+ 36: 14(ptr) AccessChain 34(arraym) 35 25
+ 37: 7(fvec4) Load 36
+ 38: 6(float) CompositeExtract 37 3
+ 39: 6(float) FAdd 29 38
+ Store 19(f) 39
Return
FunctionEnd
diff --git a/Test/baseResults/spv.structAssignment.frag.out b/Test/baseResults/spv.structAssignment.frag.out
index 4ae7be9..e7cfd0e 100755
--- a/Test/baseResults/spv.structAssignment.frag.out
+++ b/Test/baseResults/spv.structAssignment.frag.out
@@ -7,7 +7,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 51
+// Id's are bound by 50
Source GLSL 130
Capability Shader
@@ -16,84 +16,82 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 9 "lunarStruct1"
- MemberName 9(lunarStruct1) 0 "i"
- MemberName 9(lunarStruct1) 1 "f"
- Name 10 "lunarStruct2"
- MemberName 10(lunarStruct2) 0 "i"
- MemberName 10(lunarStruct2) 1 "f"
- MemberName 10(lunarStruct2) 2 "s1_1"
- Name 11 "lunarStruct3"
- MemberName 11(lunarStruct3) 0 "s2_1"
- MemberName 11(lunarStruct3) 1 "i"
- MemberName 11(lunarStruct3) 2 "f"
- MemberName 11(lunarStruct3) 3 "s1_1"
- Name 13 "foo3"
- Name 23 "locals2"
- Name 28 "foo2"
- Name 32 "gl_FragColor"
- Name 41 "sampler"
- Name 45 "coord"
- Name 50 "foo"
- Decorate 32(gl_FragColor) BuiltIn FragColor
- Decorate 45(coord) Smooth
- Decorate 50(foo) NoStaticUse
+ Name 8 "lunarStruct1"
+ MemberName 8(lunarStruct1) 0 "i"
+ MemberName 8(lunarStruct1) 1 "f"
+ Name 9 "lunarStruct2"
+ MemberName 9(lunarStruct2) 0 "i"
+ MemberName 9(lunarStruct2) 1 "f"
+ MemberName 9(lunarStruct2) 2 "s1_1"
+ Name 10 "lunarStruct3"
+ MemberName 10(lunarStruct3) 0 "s2_1"
+ MemberName 10(lunarStruct3) 1 "i"
+ MemberName 10(lunarStruct3) 2 "f"
+ MemberName 10(lunarStruct3) 3 "s1_1"
+ Name 12 "foo3"
+ Name 22 "locals2"
+ Name 27 "foo2"
+ Name 31 "gl_FragColor"
+ Name 40 "sampler"
+ Name 44 "coord"
+ Name 49 "foo"
+ Decorate 31(gl_FragColor) BuiltIn FragColor
+ Decorate 44(coord) Smooth
+ Decorate 49(foo) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeInt 32 1
- 8: TypeFloat 32
- 9(lunarStruct1): TypeStruct 7(int) 8(float)
-10(lunarStruct2): TypeStruct 7(int) 8(float) 9(lunarStruct1)
-11(lunarStruct3): TypeStruct 10(lunarStruct2) 7(int) 8(float) 9(lunarStruct1)
- 12: TypePointer UniformConstant 11(lunarStruct3)
- 13(foo3): 12(ptr) Variable UniformConstant
- 14: 7(int) Constant 0
- 15: TypePointer UniformConstant 7(int)
- 18: TypeBool
- 22: TypePointer Function 10(lunarStruct2)
- 24: TypePointer UniformConstant 10(lunarStruct2)
- 28(foo2): 24(ptr) Variable UniformConstant
- 30: TypeVector 8(float) 4
- 31: TypePointer Output 30(fvec4)
-32(gl_FragColor): 31(ptr) Variable Output
- 33: 7(int) Constant 2
- 34: 7(int) Constant 1
- 35: TypePointer Function 8(float)
- 38: TypeImage 8(float) 2D sampled format:Unknown
- 39: TypeSampledImage 38
- 40: TypePointer UniformConstant 39
- 41(sampler): 40(ptr) Variable UniformConstant
- 43: TypeVector 8(float) 2
- 44: TypePointer Input 43(fvec2)
- 45(coord): 44(ptr) Variable Input
- 49: TypePointer UniformConstant 9(lunarStruct1)
- 50(foo): 49(ptr) Variable UniformConstant
+ 6: TypeInt 32 1
+ 7: TypeFloat 32
+ 8(lunarStruct1): TypeStruct 6(int) 7(float)
+ 9(lunarStruct2): TypeStruct 6(int) 7(float) 8(lunarStruct1)
+10(lunarStruct3): TypeStruct 9(lunarStruct2) 6(int) 7(float) 8(lunarStruct1)
+ 11: TypePointer UniformConstant 10(lunarStruct3)
+ 12(foo3): 11(ptr) Variable UniformConstant
+ 13: 6(int) Constant 0
+ 14: TypePointer UniformConstant 6(int)
+ 17: TypeBool
+ 21: TypePointer Function 9(lunarStruct2)
+ 23: TypePointer UniformConstant 9(lunarStruct2)
+ 27(foo2): 23(ptr) Variable UniformConstant
+ 29: TypeVector 7(float) 4
+ 30: TypePointer Output 29(fvec4)
+31(gl_FragColor): 30(ptr) Variable Output
+ 32: 6(int) Constant 2
+ 33: 6(int) Constant 1
+ 34: TypePointer Function 7(float)
+ 37: TypeImage 7(float) 2D sampled format:Unknown
+ 38: TypeSampledImage 37
+ 39: TypePointer UniformConstant 38
+ 40(sampler): 39(ptr) Variable UniformConstant
+ 42: TypeVector 7(float) 2
+ 43: TypePointer Input 42(fvec2)
+ 44(coord): 43(ptr) Variable Input
+ 48: TypePointer UniformConstant 8(lunarStruct1)
+ 49(foo): 48(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
- 23(locals2): 22(ptr) Variable Function
- 16: 15(ptr) AccessChain 13(foo3) 14 14
- 17: 7(int) Load 16
- 19: 18(bool) SGreaterThan 17 14
- SelectionMerge 21 None
- BranchConditional 19 20 27
- 20: Label
- 25: 24(ptr) AccessChain 13(foo3) 14
- 26:10(lunarStruct2) Load 25
- Store 23(locals2) 26
- Branch 21
- 27: Label
- 29:10(lunarStruct2) Load 28(foo2)
- Store 23(locals2) 29
- Branch 21
- 21: Label
- 36: 35(ptr) AccessChain 23(locals2) 33 34
- 37: 8(float) Load 36
- 42: 39 Load 41(sampler)
- 46: 43(fvec2) Load 45(coord)
- 47: 30(fvec4) ImageSampleImplicitLod 42 46
- 48: 30(fvec4) VectorTimesScalar 47 37
- Store 32(gl_FragColor) 48
- Branch 6
- 6: Label
+ 22(locals2): 21(ptr) Variable Function
+ 15: 14(ptr) AccessChain 12(foo3) 13 13
+ 16: 6(int) Load 15
+ 18: 17(bool) SGreaterThan 16 13
+ SelectionMerge 20 None
+ BranchConditional 18 19 26
+ 19: Label
+ 24: 23(ptr) AccessChain 12(foo3) 13
+ 25:9(lunarStruct2) Load 24
+ Store 22(locals2) 25
+ Branch 20
+ 26: Label
+ 28:9(lunarStruct2) Load 27(foo2)
+ Store 22(locals2) 28
+ Branch 20
+ 20: Label
+ 35: 34(ptr) AccessChain 22(locals2) 32 33
+ 36: 7(float) Load 35
+ 41: 38 Load 40(sampler)
+ 45: 42(fvec2) Load 44(coord)
+ 46: 29(fvec4) ImageSampleImplicitLod 41 45
+ 47: 29(fvec4) VectorTimesScalar 46 36
+ Store 31(gl_FragColor) 47
Return
FunctionEnd
diff --git a/Test/baseResults/spv.structDeref.frag.out b/Test/baseResults/spv.structDeref.frag.out
index 570a297..3e37696 100755
--- a/Test/baseResults/spv.structDeref.frag.out
+++ b/Test/baseResults/spv.structDeref.frag.out
@@ -7,7 +7,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 121
+// Id's are bound by 120
Source GLSL 130
Capability Shader
@@ -16,179 +16,177 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 9 "s0"
- MemberName 9(s0) 0 "i"
- Name 10 "s1"
- MemberName 10(s1) 0 "i"
- MemberName 10(s1) 1 "f"
- MemberName 10(s1) 2 "s0_1"
- Name 11 "s2"
- MemberName 11(s2) 0 "i"
- MemberName 11(s2) 1 "f"
- MemberName 11(s2) 2 "s1_1"
- Name 15 "s3"
- MemberName 15(s3) 0 "s2_1"
- MemberName 15(s3) 1 "i"
- MemberName 15(s3) 2 "f"
- MemberName 15(s3) 3 "s1_1"
- Name 17 "foo3"
- Name 28 "locals2"
- Name 41 "fArray"
- Name 47 "locals1Array"
- Name 50 "foo1"
- Name 54 "locals0"
- Name 55 "s00"
- MemberName 55(s00) 0 "s0_0"
- Name 57 "locals00"
- Name 62 "coord"
- Name 69 "foo0"
- Name 84 "foo00"
- Name 97 "gl_FragColor"
- Name 114 "sampler"
- Name 120 "foo2"
- Decorate 62(coord) Smooth
- Decorate 97(gl_FragColor) BuiltIn FragColor
- Decorate 120(foo2) NoStaticUse
+ Name 8 "s0"
+ MemberName 8(s0) 0 "i"
+ Name 9 "s1"
+ MemberName 9(s1) 0 "i"
+ MemberName 9(s1) 1 "f"
+ MemberName 9(s1) 2 "s0_1"
+ Name 10 "s2"
+ MemberName 10(s2) 0 "i"
+ MemberName 10(s2) 1 "f"
+ MemberName 10(s2) 2 "s1_1"
+ Name 14 "s3"
+ MemberName 14(s3) 0 "s2_1"
+ MemberName 14(s3) 1 "i"
+ MemberName 14(s3) 2 "f"
+ MemberName 14(s3) 3 "s1_1"
+ Name 16 "foo3"
+ Name 27 "locals2"
+ Name 40 "fArray"
+ Name 46 "locals1Array"
+ Name 49 "foo1"
+ Name 53 "locals0"
+ Name 54 "s00"
+ MemberName 54(s00) 0 "s0_0"
+ Name 56 "locals00"
+ Name 61 "coord"
+ Name 68 "foo0"
+ Name 83 "foo00"
+ Name 96 "gl_FragColor"
+ Name 113 "sampler"
+ Name 119 "foo2"
+ Decorate 61(coord) Smooth
+ Decorate 96(gl_FragColor) BuiltIn FragColor
+ Decorate 119(foo2) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeInt 32 1
- 8: TypeFloat 32
- 9(s0): TypeStruct 7(int)
- 10(s1): TypeStruct 7(int) 8(float) 9(s0)
- 11(s2): TypeStruct 7(int) 8(float) 10(s1)
- 12: TypeInt 32 0
- 13: 12(int) Constant 12
- 14: TypeArray 11(s2) 13
- 15(s3): TypeStruct 14 7(int) 8(float) 10(s1)
- 16: TypePointer UniformConstant 15(s3)
- 17(foo3): 16(ptr) Variable UniformConstant
- 18: 7(int) Constant 0
- 19: 7(int) Constant 9
- 20: TypePointer UniformConstant 7(int)
- 23: TypeBool
- 27: TypePointer Function 11(s2)
- 29: 7(int) Constant 1
- 30: 8(float) Constant 1065353216
- 31: TypePointer Function 8(float)
- 33: 7(int) Constant 2
- 34: 9(s0) ConstantComposite 18
- 35: 10(s1) ConstantComposite 18 30 34
- 36: TypePointer Function 10(s1)
- 38: 12(int) Constant 6
- 39: TypeArray 8(float) 38
- 40: TypePointer Function 39
- 42: 8(float) Constant 0
- 43: 39 ConstantComposite 42 42 42 42 42 42
- 44: 12(int) Constant 10
- 45: TypeArray 10(s1) 44
- 46: TypePointer Function 45
- 48: 7(int) Constant 6
- 49: TypePointer UniformConstant 10(s1)
- 50(foo1): 49(ptr) Variable UniformConstant
- 53: TypePointer Function 9(s0)
- 55(s00): TypeStruct 9(s0)
- 56: TypePointer Function 55(s00)
- 58: 55(s00) ConstantComposite 34
- 60: TypeVector 8(float) 2
- 61: TypePointer Input 60(fvec2)
- 62(coord): 61(ptr) Variable Input
- 68: TypePointer UniformConstant 9(s0)
- 69(foo0): 68(ptr) Variable UniformConstant
- 73: 8(float) Constant 1073741824
- 74: 8(float) Constant 1077936128
- 75: 8(float) Constant 1082130432
- 76: 8(float) Constant 1084227584
- 77: 39 ConstantComposite 42 30 73 74 75 76
- 83: TypePointer UniformConstant 55(s00)
- 84(foo00): 83(ptr) Variable UniformConstant
- 86: TypePointer Function 7(int)
- 89: 7(int) Constant 5
- 95: TypeVector 8(float) 4
- 96: TypePointer Output 95(fvec4)
-97(gl_FragColor): 96(ptr) Variable Output
- 104: 7(int) Constant 3
- 111: TypeImage 8(float) 2D sampled format:Unknown
- 112: TypeSampledImage 111
- 113: TypePointer UniformConstant 112
- 114(sampler): 113(ptr) Variable UniformConstant
- 119: TypePointer UniformConstant 11(s2)
- 120(foo2): 119(ptr) Variable UniformConstant
+ 6: TypeInt 32 1
+ 7: TypeFloat 32
+ 8(s0): TypeStruct 6(int)
+ 9(s1): TypeStruct 6(int) 7(float) 8(s0)
+ 10(s2): TypeStruct 6(int) 7(float) 9(s1)
+ 11: TypeInt 32 0
+ 12: 11(int) Constant 12
+ 13: TypeArray 10(s2) 12
+ 14(s3): TypeStruct 13 6(int) 7(float) 9(s1)
+ 15: TypePointer UniformConstant 14(s3)
+ 16(foo3): 15(ptr) Variable UniformConstant
+ 17: 6(int) Constant 0
+ 18: 6(int) Constant 9
+ 19: TypePointer UniformConstant 6(int)
+ 22: TypeBool
+ 26: TypePointer Function 10(s2)
+ 28: 6(int) Constant 1
+ 29: 7(float) Constant 1065353216
+ 30: TypePointer Function 7(float)
+ 32: 6(int) Constant 2
+ 33: 8(s0) ConstantComposite 17
+ 34: 9(s1) ConstantComposite 17 29 33
+ 35: TypePointer Function 9(s1)
+ 37: 11(int) Constant 6
+ 38: TypeArray 7(float) 37
+ 39: TypePointer Function 38
+ 41: 7(float) Constant 0
+ 42: 38 ConstantComposite 41 41 41 41 41 41
+ 43: 11(int) Constant 10
+ 44: TypeArray 9(s1) 43
+ 45: TypePointer Function 44
+ 47: 6(int) Constant 6
+ 48: TypePointer UniformConstant 9(s1)
+ 49(foo1): 48(ptr) Variable UniformConstant
+ 52: TypePointer Function 8(s0)
+ 54(s00): TypeStruct 8(s0)
+ 55: TypePointer Function 54(s00)
+ 57: 54(s00) ConstantComposite 33
+ 59: TypeVector 7(float) 2
+ 60: TypePointer Input 59(fvec2)
+ 61(coord): 60(ptr) Variable Input
+ 67: TypePointer UniformConstant 8(s0)
+ 68(foo0): 67(ptr) Variable UniformConstant
+ 72: 7(float) Constant 1073741824
+ 73: 7(float) Constant 1077936128
+ 74: 7(float) Constant 1082130432
+ 75: 7(float) Constant 1084227584
+ 76: 38 ConstantComposite 41 29 72 73 74 75
+ 82: TypePointer UniformConstant 54(s00)
+ 83(foo00): 82(ptr) Variable UniformConstant
+ 85: TypePointer Function 6(int)
+ 88: 6(int) Constant 5
+ 94: TypeVector 7(float) 4
+ 95: TypePointer Output 94(fvec4)
+96(gl_FragColor): 95(ptr) Variable Output
+ 103: 6(int) Constant 3
+ 110: TypeImage 7(float) 2D sampled format:Unknown
+ 111: TypeSampledImage 110
+ 112: TypePointer UniformConstant 111
+ 113(sampler): 112(ptr) Variable UniformConstant
+ 118: TypePointer UniformConstant 10(s2)
+ 119(foo2): 118(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
- 28(locals2): 27(ptr) Variable Function
- 41(fArray): 40(ptr) Variable Function
-47(locals1Array): 46(ptr) Variable Function
- 54(locals0): 53(ptr) Variable Function
- 57(locals00): 56(ptr) Variable Function
- 21: 20(ptr) AccessChain 17(foo3) 18 19 18
- 22: 7(int) Load 21
- 24: 23(bool) SGreaterThan 22 18
- SelectionMerge 26 None
- BranchConditional 24 25 59
- 25: Label
- 32: 31(ptr) AccessChain 28(locals2) 29
- Store 32 30
- 37: 36(ptr) AccessChain 28(locals2) 33
- Store 37 35
- Store 41(fArray) 43
- 51: 10(s1) Load 50(foo1)
- 52: 36(ptr) AccessChain 47(locals1Array) 48
- Store 52 51
- Store 54(locals0) 34
- Store 57(locals00) 58
- Branch 26
- 59: Label
- 63: 60(fvec2) Load 62(coord)
- 64: 8(float) CompositeExtract 63 0
- 65: 31(ptr) AccessChain 28(locals2) 29
- Store 65 64
- 66: 60(fvec2) Load 62(coord)
- 67: 8(float) CompositeExtract 66 1
- 70: 9(s0) Load 69(foo0)
- 71: 10(s1) CompositeConstruct 29 67 70
- 72: 36(ptr) AccessChain 28(locals2) 33
- Store 72 71
- Store 41(fArray) 77
- 78: 36(ptr) AccessChain 28(locals2) 33
- 79: 10(s1) Load 78
- 80: 36(ptr) AccessChain 47(locals1Array) 48
- Store 80 79
- 81: 68(ptr) AccessChain 50(foo1) 33
- 82: 9(s0) Load 81
- Store 54(locals0) 82
- 85: 55(s00) Load 84(foo00)
- Store 57(locals00) 85
- Branch 26
- 26: Label
- 87: 86(ptr) AccessChain 54(locals0) 18
- 88: 7(int) Load 87
- 90: 23(bool) SGreaterThan 88 89
- SelectionMerge 92 None
- BranchConditional 90 91 92
- 91: Label
- 93: 53(ptr) AccessChain 57(locals00) 18
- 94: 9(s0) Load 93
- Store 54(locals0) 94
- Branch 92
- 92: Label
- 98: 86(ptr) AccessChain 54(locals0) 18
- 99: 7(int) Load 98
- 100: 8(float) ConvertSToF 99
- 101: 31(ptr) AccessChain 47(locals1Array) 48 29
- 102: 8(float) Load 101
- 103: 8(float) FAdd 100 102
- 105: 31(ptr) AccessChain 41(fArray) 104
- 106: 8(float) Load 105
- 107: 8(float) FAdd 103 106
- 108: 31(ptr) AccessChain 28(locals2) 33 29
- 109: 8(float) Load 108
- 110: 8(float) FAdd 107 109
- 115: 112 Load 114(sampler)
- 116: 60(fvec2) Load 62(coord)
- 117: 95(fvec4) ImageSampleImplicitLod 115 116
- 118: 95(fvec4) VectorTimesScalar 117 110
- Store 97(gl_FragColor) 118
- Branch 6
- 6: Label
+ 27(locals2): 26(ptr) Variable Function
+ 40(fArray): 39(ptr) Variable Function
+46(locals1Array): 45(ptr) Variable Function
+ 53(locals0): 52(ptr) Variable Function
+ 56(locals00): 55(ptr) Variable Function
+ 20: 19(ptr) AccessChain 16(foo3) 17 18 17
+ 21: 6(int) Load 20
+ 23: 22(bool) SGreaterThan 21 17
+ SelectionMerge 25 None
+ BranchConditional 23 24 58
+ 24: Label
+ 31: 30(ptr) AccessChain 27(locals2) 28
+ Store 31 29
+ 36: 35(ptr) AccessChain 27(locals2) 32
+ Store 36 34
+ Store 40(fArray) 42
+ 50: 9(s1) Load 49(foo1)
+ 51: 35(ptr) AccessChain 46(locals1Array) 47
+ Store 51 50
+ Store 53(locals0) 33
+ Store 56(locals00) 57
+ Branch 25
+ 58: Label
+ 62: 59(fvec2) Load 61(coord)
+ 63: 7(float) CompositeExtract 62 0
+ 64: 30(ptr) AccessChain 27(locals2) 28
+ Store 64 63
+ 65: 59(fvec2) Load 61(coord)
+ 66: 7(float) CompositeExtract 65 1
+ 69: 8(s0) Load 68(foo0)
+ 70: 9(s1) CompositeConstruct 28 66 69
+ 71: 35(ptr) AccessChain 27(locals2) 32
+ Store 71 70
+ Store 40(fArray) 76
+ 77: 35(ptr) AccessChain 27(locals2) 32
+ 78: 9(s1) Load 77
+ 79: 35(ptr) AccessChain 46(locals1Array) 47
+ Store 79 78
+ 80: 67(ptr) AccessChain 49(foo1) 32
+ 81: 8(s0) Load 80
+ Store 53(locals0) 81
+ 84: 54(s00) Load 83(foo00)
+ Store 56(locals00) 84
+ Branch 25
+ 25: Label
+ 86: 85(ptr) AccessChain 53(locals0) 17
+ 87: 6(int) Load 86
+ 89: 22(bool) SGreaterThan 87 88
+ SelectionMerge 91 None
+ BranchConditional 89 90 91
+ 90: Label
+ 92: 52(ptr) AccessChain 56(locals00) 17
+ 93: 8(s0) Load 92
+ Store 53(locals0) 93
+ Branch 91
+ 91: Label
+ 97: 85(ptr) AccessChain 53(locals0) 17
+ 98: 6(int) Load 97
+ 99: 7(float) ConvertSToF 98
+ 100: 30(ptr) AccessChain 46(locals1Array) 47 28
+ 101: 7(float) Load 100
+ 102: 7(float) FAdd 99 101
+ 104: 30(ptr) AccessChain 40(fArray) 103
+ 105: 7(float) Load 104
+ 106: 7(float) FAdd 102 105
+ 107: 30(ptr) AccessChain 27(locals2) 32 28
+ 108: 7(float) Load 107
+ 109: 7(float) FAdd 106 108
+ 114: 111 Load 113(sampler)
+ 115: 59(fvec2) Load 61(coord)
+ 116: 94(fvec4) ImageSampleImplicitLod 114 115
+ 117: 94(fvec4) VectorTimesScalar 116 109
+ Store 96(gl_FragColor) 117
Return
FunctionEnd
diff --git a/Test/baseResults/spv.structure.frag.out b/Test/baseResults/spv.structure.frag.out
index 8edff73..5ae6fc4 100755
--- a/Test/baseResults/spv.structure.frag.out
+++ b/Test/baseResults/spv.structure.frag.out
@@ -7,7 +7,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 62
+// Id's are bound by 61
Source GLSL 130
Capability Shader
@@ -16,91 +16,89 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 9 "scale"
- Name 19 "lunarStruct1"
- MemberName 19(lunarStruct1) 0 "i"
- MemberName 19(lunarStruct1) 1 "f"
- MemberName 19(lunarStruct1) 2 "color"
- Name 22 "lunarStruct2"
- MemberName 22(lunarStruct2) 0 "i"
- MemberName 22(lunarStruct2) 1 "f"
- MemberName 22(lunarStruct2) 2 "s1_1"
- Name 25 "foo2"
- Name 47 "gl_FragColor"
- Name 52 "sampler"
- Name 56 "coord"
- Name 61 "foo"
- Decorate 47(gl_FragColor) BuiltIn FragColor
- Decorate 56(coord) Smooth
- Decorate 61(foo) NoStaticUse
+ Name 8 "scale"
+ Name 18 "lunarStruct1"
+ MemberName 18(lunarStruct1) 0 "i"
+ MemberName 18(lunarStruct1) 1 "f"
+ MemberName 18(lunarStruct1) 2 "color"
+ Name 21 "lunarStruct2"
+ MemberName 21(lunarStruct2) 0 "i"
+ MemberName 21(lunarStruct2) 1 "f"
+ MemberName 21(lunarStruct2) 2 "s1_1"
+ Name 24 "foo2"
+ Name 46 "gl_FragColor"
+ Name 51 "sampler"
+ Name 55 "coord"
+ Name 60 "foo"
+ Decorate 46(gl_FragColor) BuiltIn FragColor
+ Decorate 55(coord) Smooth
+ Decorate 60(foo) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypePointer Function 7(float)
- 10: 7(float) Constant 0
- 11: TypeInt 32 1
- 12: TypeInt 32 0
- 13: 12(int) Constant 5
- 14: TypeArray 11(int) 13
- 15: 12(int) Constant 4
- 16: TypeArray 7(float) 15
- 17: TypeVector 7(float) 4
- 18: TypeArray 17(fvec4) 13
-19(lunarStruct1): TypeStruct 11(int) 16 18
- 20: 12(int) Constant 7
- 21: TypeArray 19(lunarStruct1) 20
-22(lunarStruct2): TypeStruct 14 7(float) 21
- 23: TypeArray 22(lunarStruct2) 13
- 24: TypePointer UniformConstant 23
- 25(foo2): 24(ptr) Variable UniformConstant
- 26: 11(int) Constant 3
- 27: 11(int) Constant 0
- 28: 11(int) Constant 4
- 29: TypePointer UniformConstant 11(int)
- 32: TypeBool
- 36: 11(int) Constant 2
- 37: TypePointer UniformConstant 17(fvec4)
- 42: 11(int) Constant 1
- 43: TypePointer UniformConstant 7(float)
- 46: TypePointer Output 17(fvec4)
-47(gl_FragColor): 46(ptr) Variable Output
- 49: TypeImage 7(float) 2D sampled format:Unknown
- 50: TypeSampledImage 49
- 51: TypePointer UniformConstant 50
- 52(sampler): 51(ptr) Variable UniformConstant
- 54: TypeVector 7(float) 2
- 55: TypePointer Input 54(fvec2)
- 56(coord): 55(ptr) Variable Input
- 60: TypePointer UniformConstant 19(lunarStruct1)
- 61(foo): 60(ptr) Variable UniformConstant
+ 6: TypeFloat 32
+ 7: TypePointer Function 6(float)
+ 9: 6(float) Constant 0
+ 10: TypeInt 32 1
+ 11: TypeInt 32 0
+ 12: 11(int) Constant 5
+ 13: TypeArray 10(int) 12
+ 14: 11(int) Constant 4
+ 15: TypeArray 6(float) 14
+ 16: TypeVector 6(float) 4
+ 17: TypeArray 16(fvec4) 12
+18(lunarStruct1): TypeStruct 10(int) 15 17
+ 19: 11(int) Constant 7
+ 20: TypeArray 18(lunarStruct1) 19
+21(lunarStruct2): TypeStruct 13 6(float) 20
+ 22: TypeArray 21(lunarStruct2) 12
+ 23: TypePointer UniformConstant 22
+ 24(foo2): 23(ptr) Variable UniformConstant
+ 25: 10(int) Constant 3
+ 26: 10(int) Constant 0
+ 27: 10(int) Constant 4
+ 28: TypePointer UniformConstant 10(int)
+ 31: TypeBool
+ 35: 10(int) Constant 2
+ 36: TypePointer UniformConstant 16(fvec4)
+ 41: 10(int) Constant 1
+ 42: TypePointer UniformConstant 6(float)
+ 45: TypePointer Output 16(fvec4)
+46(gl_FragColor): 45(ptr) Variable Output
+ 48: TypeImage 6(float) 2D sampled format:Unknown
+ 49: TypeSampledImage 48
+ 50: TypePointer UniformConstant 49
+ 51(sampler): 50(ptr) Variable UniformConstant
+ 53: TypeVector 6(float) 2
+ 54: TypePointer Input 53(fvec2)
+ 55(coord): 54(ptr) Variable Input
+ 59: TypePointer UniformConstant 18(lunarStruct1)
+ 60(foo): 59(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
- 9(scale): 8(ptr) Variable Function
- Store 9(scale) 10
- 30: 29(ptr) AccessChain 25(foo2) 26 27 28
- 31: 11(int) Load 30
- 33: 32(bool) SGreaterThan 31 27
- SelectionMerge 35 None
- BranchConditional 33 34 41
- 34: Label
- 38: 37(ptr) AccessChain 25(foo2) 26 36 36 36 26
- 39: 17(fvec4) Load 38
- 40: 7(float) CompositeExtract 39 0
- Store 9(scale) 40
- Branch 35
- 41: Label
- 44: 43(ptr) AccessChain 25(foo2) 26 36 36 42 26
- 45: 7(float) Load 44
- Store 9(scale) 45
- Branch 35
- 35: Label
- 48: 7(float) Load 9(scale)
- 53: 50 Load 52(sampler)
- 57: 54(fvec2) Load 56(coord)
- 58: 17(fvec4) ImageSampleImplicitLod 53 57
- 59: 17(fvec4) VectorTimesScalar 58 48
- Store 47(gl_FragColor) 59
- Branch 6
- 6: Label
+ 8(scale): 7(ptr) Variable Function
+ Store 8(scale) 9
+ 29: 28(ptr) AccessChain 24(foo2) 25 26 27
+ 30: 10(int) Load 29
+ 32: 31(bool) SGreaterThan 30 26
+ SelectionMerge 34 None
+ BranchConditional 32 33 40
+ 33: Label
+ 37: 36(ptr) AccessChain 24(foo2) 25 35 35 35 25
+ 38: 16(fvec4) Load 37
+ 39: 6(float) CompositeExtract 38 0
+ Store 8(scale) 39
+ Branch 34
+ 40: Label
+ 43: 42(ptr) AccessChain 24(foo2) 25 35 35 41 25
+ 44: 6(float) Load 43
+ Store 8(scale) 44
+ Branch 34
+ 34: Label
+ 47: 6(float) Load 8(scale)
+ 52: 49 Load 51(sampler)
+ 56: 53(fvec2) Load 55(coord)
+ 57: 16(fvec4) ImageSampleImplicitLod 52 56
+ 58: 16(fvec4) VectorTimesScalar 57 47
+ Store 46(gl_FragColor) 58
Return
FunctionEnd
diff --git a/Test/baseResults/spv.switch.frag.out b/Test/baseResults/spv.switch.frag.out
index cd03936..a67c629 100755
--- a/Test/baseResults/spv.switch.frag.out
+++ b/Test/baseResults/spv.switch.frag.out
@@ -10,7 +10,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 261
+// Id's are bound by 260
Source ESSL 310
Capability Shader
@@ -19,382 +19,380 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 16 "foo1(vf4;vf4;i1;"
- Name 13 "v1"
- Name 14 "v2"
- Name 15 "i1"
- Name 21 "foo2(vf4;vf4;i1;"
- Name 18 "v1"
- Name 19 "v2"
- Name 20 "i1"
- Name 59 "local"
- Name 61 "c"
- Name 72 "f"
- Name 74 "x"
- Name 128 "d"
- Name 154 "i"
- Name 172 "j"
- Name 222 "color"
- Name 228 "v"
- Name 229 "param"
- Name 231 "param"
- Name 233 "param"
- Name 239 "param"
- Name 241 "param"
- Name 243 "param"
- Decorate 59(local) RelaxedPrecision
- Decorate 61(c) RelaxedPrecision
- Decorate 72(f) RelaxedPrecision
- Decorate 74(x) RelaxedPrecision
- Decorate 74(x) Smooth
- Decorate 128(d) RelaxedPrecision
- Decorate 154(i) RelaxedPrecision
- Decorate 172(j) RelaxedPrecision
- Decorate 222(color) RelaxedPrecision
- Decorate 228(v) RelaxedPrecision
+ Name 15 "foo1(vf4;vf4;i1;"
+ Name 12 "v1"
+ Name 13 "v2"
+ Name 14 "i1"
+ Name 20 "foo2(vf4;vf4;i1;"
+ Name 17 "v1"
+ Name 18 "v2"
+ Name 19 "i1"
+ Name 58 "local"
+ Name 60 "c"
+ Name 71 "f"
+ Name 73 "x"
+ Name 127 "d"
+ Name 153 "i"
+ Name 171 "j"
+ Name 221 "color"
+ Name 227 "v"
+ Name 228 "param"
+ Name 230 "param"
+ Name 232 "param"
+ Name 238 "param"
+ Name 240 "param"
+ Name 242 "param"
+ Decorate 58(local) RelaxedPrecision
+ Decorate 60(c) RelaxedPrecision
+ Decorate 71(f) RelaxedPrecision
+ Decorate 73(x) RelaxedPrecision
+ Decorate 73(x) Smooth
+ Decorate 127(d) RelaxedPrecision
+ Decorate 153(i) RelaxedPrecision
+ Decorate 171(j) RelaxedPrecision
+ Decorate 221(color) RelaxedPrecision
+ Decorate 227(v) RelaxedPrecision
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeVector 7(float) 4
- 9: TypePointer Function 8(fvec4)
- 10: TypeInt 32 1
- 11: TypePointer Function 10(int)
- 12: TypeFunction 8(fvec4) 9(ptr) 9(ptr) 11(ptr)
- 37: 7(float) Constant 0
- 38: 8(fvec4) ConstantComposite 37 37 37 37
- 48: 7(float) Constant 1065353216
- 49: 8(fvec4) ConstantComposite 48 48 48 48
- 60: TypePointer UniformConstant 10(int)
- 61(c): 60(ptr) Variable UniformConstant
- 64: 10(int) Constant 1
- 71: TypePointer Function 7(float)
- 73: TypePointer Input 7(float)
- 74(x): 73(ptr) Variable Input
- 128(d): 60(ptr) Variable UniformConstant
- 155: 10(int) Constant 0
- 160: 10(int) Constant 10
- 161: TypeBool
- 173: 10(int) Constant 20
- 178: 10(int) Constant 30
- 183: 7(float) Constant 1120429670
- 203: 7(float) Constant 1079739679
- 221: TypePointer Output 7(float)
- 222(color): 221(ptr) Variable Output
- 227: TypePointer UniformConstant 8(fvec4)
- 228(v): 227(ptr) Variable UniformConstant
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 9: TypeInt 32 1
+ 10: TypePointer Function 9(int)
+ 11: TypeFunction 7(fvec4) 8(ptr) 8(ptr) 10(ptr)
+ 36: 6(float) Constant 0
+ 37: 7(fvec4) ConstantComposite 36 36 36 36
+ 47: 6(float) Constant 1065353216
+ 48: 7(fvec4) ConstantComposite 47 47 47 47
+ 59: TypePointer UniformConstant 9(int)
+ 60(c): 59(ptr) Variable UniformConstant
+ 63: 9(int) Constant 1
+ 70: TypePointer Function 6(float)
+ 72: TypePointer Input 6(float)
+ 73(x): 72(ptr) Variable Input
+ 127(d): 59(ptr) Variable UniformConstant
+ 154: 9(int) Constant 0
+ 159: 9(int) Constant 10
+ 160: TypeBool
+ 172: 9(int) Constant 20
+ 177: 9(int) Constant 30
+ 182: 6(float) Constant 1120429670
+ 202: 6(float) Constant 1079739679
+ 220: TypePointer Output 6(float)
+ 221(color): 220(ptr) Variable Output
+ 226: TypePointer UniformConstant 7(fvec4)
+ 227(v): 226(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
- 59(local): 11(ptr) Variable Function
- 72(f): 71(ptr) Variable Function
- 154(i): 11(ptr) Variable Function
- 172(j): 11(ptr) Variable Function
- 229(param): 9(ptr) Variable Function
- 231(param): 9(ptr) Variable Function
- 233(param): 11(ptr) Variable Function
- 239(param): 9(ptr) Variable Function
- 241(param): 9(ptr) Variable Function
- 243(param): 11(ptr) Variable Function
- 62: 10(int) Load 61(c)
- Store 59(local) 62
- 63: 10(int) Load 59(local)
- 65: 10(int) IAdd 63 64
- Store 59(local) 65
- 66: 10(int) Load 61(c)
- SelectionMerge 70 None
- Switch 66 69
- case 1: 67
- case 2: 68
+ 58(local): 10(ptr) Variable Function
+ 71(f): 70(ptr) Variable Function
+ 153(i): 10(ptr) Variable Function
+ 171(j): 10(ptr) Variable Function
+ 228(param): 8(ptr) Variable Function
+ 230(param): 8(ptr) Variable Function
+ 232(param): 10(ptr) Variable Function
+ 238(param): 8(ptr) Variable Function
+ 240(param): 8(ptr) Variable Function
+ 242(param): 10(ptr) Variable Function
+ 61: 9(int) Load 60(c)
+ Store 58(local) 61
+ 62: 9(int) Load 58(local)
+ 64: 9(int) IAdd 62 63
+ Store 58(local) 64
+ 65: 9(int) Load 60(c)
+ SelectionMerge 69 None
+ Switch 65 68
+ case 1: 66
+ case 2: 67
+ 66: Label
+ 74: 6(float) Load 73(x)
+ 75: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 74
+ Store 71(f) 75
+ Branch 69
67: Label
- 75: 7(float) Load 74(x)
- 76: 7(float) ExtInst 1(GLSL.std.450) 13(Sin) 75
- Store 72(f) 76
- Branch 70
+ 77: 6(float) Load 73(x)
+ 78: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 77
+ Store 71(f) 78
+ Branch 69
68: Label
- 78: 7(float) Load 74(x)
- 79: 7(float) ExtInst 1(GLSL.std.450) 14(Cos) 78
- Store 72(f) 79
- Branch 70
- 69: Label
- 81: 7(float) Load 74(x)
- 82: 7(float) ExtInst 1(GLSL.std.450) 15(Tan) 81
- Store 72(f) 82
- Branch 70
- 70: Label
- 84: 10(int) Load 61(c)
- SelectionMerge 88 None
- Switch 84 87
- case 1: 85
- case 2: 86
+ 80: 6(float) Load 73(x)
+ 81: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 80
+ Store 71(f) 81
+ Branch 69
+ 69: Label
+ 83: 9(int) Load 60(c)
+ SelectionMerge 87 None
+ Switch 83 86
+ case 1: 84
+ case 2: 85
+ 84: Label
+ 88: 6(float) Load 73(x)
+ 89: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 88
+ 90: 6(float) Load 71(f)
+ 91: 6(float) FAdd 90 89
+ Store 71(f) 91
+ Branch 85
85: Label
- 89: 7(float) Load 74(x)
- 90: 7(float) ExtInst 1(GLSL.std.450) 13(Sin) 89
- 91: 7(float) Load 72(f)
- 92: 7(float) FAdd 91 90
- Store 72(f) 92
- Branch 86
+ 92: 6(float) Load 73(x)
+ 93: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 92
+ 94: 6(float) Load 71(f)
+ 95: 6(float) FAdd 94 93
+ Store 71(f) 95
+ Branch 87
86: Label
- 93: 7(float) Load 74(x)
- 94: 7(float) ExtInst 1(GLSL.std.450) 14(Cos) 93
- 95: 7(float) Load 72(f)
- 96: 7(float) FAdd 95 94
- Store 72(f) 96
- Branch 88
- 87: Label
- 98: 7(float) Load 74(x)
- 99: 7(float) ExtInst 1(GLSL.std.450) 15(Tan) 98
- 100: 7(float) Load 72(f)
- 101: 7(float) FAdd 100 99
- Store 72(f) 101
- Branch 88
- 88: Label
- 103: 10(int) Load 61(c)
- SelectionMerge 106 None
- Switch 103 106
- case 1: 104
- case 2: 105
+ 97: 6(float) Load 73(x)
+ 98: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 97
+ 99: 6(float) Load 71(f)
+ 100: 6(float) FAdd 99 98
+ Store 71(f) 100
+ Branch 87
+ 87: Label
+ 102: 9(int) Load 60(c)
+ SelectionMerge 105 None
+ Switch 102 105
+ case 1: 103
+ case 2: 104
+ 103: Label
+ 106: 6(float) Load 73(x)
+ 107: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 106
+ 108: 6(float) Load 71(f)
+ 109: 6(float) FAdd 108 107
+ Store 71(f) 109
+ Branch 105
104: Label
- 107: 7(float) Load 74(x)
- 108: 7(float) ExtInst 1(GLSL.std.450) 13(Sin) 107
- 109: 7(float) Load 72(f)
- 110: 7(float) FAdd 109 108
- Store 72(f) 110
- Branch 106
- 105: Label
- 112: 7(float) Load 74(x)
- 113: 7(float) ExtInst 1(GLSL.std.450) 14(Cos) 112
- 114: 7(float) Load 72(f)
- 115: 7(float) FAdd 114 113
- Store 72(f) 115
- Branch 106
- 106: Label
- 118: 10(int) Load 61(c)
- SelectionMerge 122 None
- Switch 118 121
- case 1: 119
- case 2: 120
+ 111: 6(float) Load 73(x)
+ 112: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 111
+ 113: 6(float) Load 71(f)
+ 114: 6(float) FAdd 113 112
+ Store 71(f) 114
+ Branch 105
+ 105: Label
+ 117: 9(int) Load 60(c)
+ SelectionMerge 121 None
+ Switch 117 120
+ case 1: 118
+ case 2: 119
+ 118: Label
+ 122: 6(float) Load 73(x)
+ 123: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 122
+ 124: 6(float) Load 71(f)
+ 125: 6(float) FAdd 124 123
+ Store 71(f) 125
+ Branch 121
119: Label
- 123: 7(float) Load 74(x)
- 124: 7(float) ExtInst 1(GLSL.std.450) 13(Sin) 123
- 125: 7(float) Load 72(f)
- 126: 7(float) FAdd 125 124
- Store 72(f) 126
- Branch 122
- 120: Label
- 129: 10(int) Load 128(d)
- SelectionMerge 132 None
- Switch 129 132
- case 1: 130
- case 2: 131
+ 128: 9(int) Load 127(d)
+ SelectionMerge 131 None
+ Switch 128 131
+ case 1: 129
+ case 2: 130
+ 129: Label
+ 132: 6(float) Load 73(x)
+ 133: 6(float) Load 73(x)
+ 134: 6(float) FMul 132 133
+ 135: 6(float) Load 73(x)
+ 136: 6(float) FMul 134 135
+ 137: 6(float) Load 71(f)
+ 138: 6(float) FAdd 137 136
+ Store 71(f) 138
+ Branch 131
130: Label
- 133: 7(float) Load 74(x)
- 134: 7(float) Load 74(x)
- 135: 7(float) FMul 133 134
- 136: 7(float) Load 74(x)
- 137: 7(float) FMul 135 136
- 138: 7(float) Load 72(f)
- 139: 7(float) FAdd 138 137
- Store 72(f) 139
- Branch 132
- 131: Label
- 141: 7(float) Load 74(x)
- 142: 7(float) Load 74(x)
- 143: 7(float) FMul 141 142
- 144: 7(float) Load 72(f)
- 145: 7(float) FAdd 144 143
- Store 72(f) 145
- Branch 132
- 132: Label
- Branch 122
- 121: Label
- 149: 7(float) Load 74(x)
- 150: 7(float) ExtInst 1(GLSL.std.450) 15(Tan) 149
- 151: 7(float) Load 72(f)
- 152: 7(float) FAdd 151 150
- Store 72(f) 152
- Branch 122
- 122: Label
- Store 154(i) 155
- Branch 156
- 156: Label
- 159: 10(int) Load 154(i)
- 162: 161(bool) SLessThan 159 160
- LoopMerge 157 None
- BranchConditional 162 158 157
- 158: Label
- 163: 10(int) Load 61(c)
- SelectionMerge 167 None
- Switch 163 166
- case 1: 164
- case 2: 165
- 164: Label
- 168: 7(float) Load 74(x)
- 169: 7(float) ExtInst 1(GLSL.std.450) 13(Sin) 168
- 170: 7(float) Load 72(f)
- 171: 7(float) FAdd 170 169
- Store 72(f) 171
- Store 172(j) 173
- Branch 174
+ 140: 6(float) Load 73(x)
+ 141: 6(float) Load 73(x)
+ 142: 6(float) FMul 140 141
+ 143: 6(float) Load 71(f)
+ 144: 6(float) FAdd 143 142
+ Store 71(f) 144
+ Branch 131
+ 131: Label
+ Branch 121
+ 120: Label
+ 148: 6(float) Load 73(x)
+ 149: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 148
+ 150: 6(float) Load 71(f)
+ 151: 6(float) FAdd 150 149
+ Store 71(f) 151
+ Branch 121
+ 121: Label
+ Store 153(i) 154
+ Branch 155
+ 155: Label
+ 158: 9(int) Load 153(i)
+ 161: 160(bool) SLessThan 158 159
+ LoopMerge 156 None
+ BranchConditional 161 157 156
+ 157: Label
+ 162: 9(int) Load 60(c)
+ SelectionMerge 166 None
+ Switch 162 165
+ case 1: 163
+ case 2: 164
+ 163: Label
+ 167: 6(float) Load 73(x)
+ 168: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 167
+ 169: 6(float) Load 71(f)
+ 170: 6(float) FAdd 169 168
+ Store 71(f) 170
+ Store 171(j) 172
+ Branch 173
+ 173: Label
+ 176: 9(int) Load 171(j)
+ 178: 160(bool) SLessThan 176 177
+ LoopMerge 174 None
+ BranchConditional 178 175 174
+ 175: Label
+ 179: 6(float) Load 71(f)
+ 180: 6(float) FAdd 179 47
+ Store 71(f) 180
+ 181: 6(float) Load 71(f)
+ 183: 160(bool) FOrdLessThan 181 182
+ SelectionMerge 185 None
+ BranchConditional 183 184 185
+ 184: Label
+ Branch 174
+ 185: Label
+ 187: 9(int) Load 171(j)
+ 188: 9(int) IAdd 187 63
+ Store 171(j) 188
+ Branch 173
174: Label
- 177: 10(int) Load 172(j)
- 179: 161(bool) SLessThan 177 178
- LoopMerge 175 None
- BranchConditional 179 176 175
- 176: Label
- 180: 7(float) Load 72(f)
- 181: 7(float) FAdd 180 48
- Store 72(f) 181
- 182: 7(float) Load 72(f)
- 184: 161(bool) FOrdLessThan 182 183
- SelectionMerge 186 None
- BranchConditional 184 185 186
- 185: Label
- Branch 175
- 186: Label
- 188: 10(int) Load 172(j)
- 189: 10(int) IAdd 188 64
- Store 172(j) 189
- Branch 174
- 175: Label
- Branch 167
+ Branch 166
+ 164: Label
+ 190: 6(float) Load 73(x)
+ 191: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 190
+ 192: 6(float) Load 71(f)
+ 193: 6(float) FAdd 192 191
+ Store 71(f) 193
+ Branch 166
165: Label
- 191: 7(float) Load 74(x)
- 192: 7(float) ExtInst 1(GLSL.std.450) 14(Cos) 191
- 193: 7(float) Load 72(f)
- 194: 7(float) FAdd 193 192
- Store 72(f) 194
- Branch 167
- 166: Label
- 197: 7(float) Load 74(x)
- 198: 7(float) ExtInst 1(GLSL.std.450) 15(Tan) 197
- 199: 7(float) Load 72(f)
- 200: 7(float) FAdd 199 198
- Store 72(f) 200
- Branch 167
- 167: Label
- 202: 7(float) Load 72(f)
- 204: 161(bool) FOrdLessThan 202 203
- SelectionMerge 206 None
- BranchConditional 204 205 206
- 205: Label
- Branch 157
- 206: Label
- 208: 10(int) Load 154(i)
- 209: 10(int) IAdd 208 64
- Store 154(i) 209
- Branch 156
- 157: Label
- 210: 10(int) Load 61(c)
- SelectionMerge 213 None
- Switch 210 213
- case 1: 211
- case 2: 212
+ 196: 6(float) Load 73(x)
+ 197: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 196
+ 198: 6(float) Load 71(f)
+ 199: 6(float) FAdd 198 197
+ Store 71(f) 199
+ Branch 166
+ 166: Label
+ 201: 6(float) Load 71(f)
+ 203: 160(bool) FOrdLessThan 201 202
+ SelectionMerge 205 None
+ BranchConditional 203 204 205
+ 204: Label
+ Branch 156
+ 205: Label
+ 207: 9(int) Load 153(i)
+ 208: 9(int) IAdd 207 63
+ Store 153(i) 208
+ Branch 155
+ 156: Label
+ 209: 9(int) Load 60(c)
+ SelectionMerge 212 None
+ Switch 209 212
+ case 1: 210
+ case 2: 211
+ 210: Label
+ 213: 6(float) Load 73(x)
+ 214: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 213
+ 215: 6(float) Load 71(f)
+ 216: 6(float) FAdd 215 214
+ Store 71(f) 216
+ Branch 212
211: Label
- 214: 7(float) Load 74(x)
- 215: 7(float) ExtInst 1(GLSL.std.450) 13(Sin) 214
- 216: 7(float) Load 72(f)
- 217: 7(float) FAdd 216 215
- Store 72(f) 217
- Branch 213
- 212: Label
- Branch 213
- 213: Label
- 223: 7(float) Load 72(f)
- 224: 10(int) Load 59(local)
- 225: 7(float) ConvertSToF 224
- 226: 7(float) FAdd 223 225
- Store 222(color) 226
- 230: 8(fvec4) Load 228(v)
- Store 229(param) 230
- 232: 8(fvec4) Load 228(v)
- Store 231(param) 232
- 234: 10(int) Load 61(c)
- Store 233(param) 234
- 235: 8(fvec4) FunctionCall 16(foo1(vf4;vf4;i1;) 229(param) 231(param) 233(param)
- 236: 7(float) CompositeExtract 235 1
- 237: 7(float) Load 222(color)
- 238: 7(float) FAdd 237 236
- Store 222(color) 238
- 240: 8(fvec4) Load 228(v)
- Store 239(param) 240
- 242: 8(fvec4) Load 228(v)
- Store 241(param) 242
- 244: 10(int) Load 61(c)
- Store 243(param) 244
- 245: 8(fvec4) FunctionCall 21(foo2(vf4;vf4;i1;) 239(param) 241(param) 243(param)
- 246: 7(float) CompositeExtract 245 2
- 247: 7(float) Load 222(color)
- 248: 7(float) FAdd 247 246
- Store 222(color) 248
- 249: 10(int) Load 61(c)
- SelectionMerge 252 None
- Switch 249 251
- case 0: 250
+ Branch 212
+ 212: Label
+ 222: 6(float) Load 71(f)
+ 223: 9(int) Load 58(local)
+ 224: 6(float) ConvertSToF 223
+ 225: 6(float) FAdd 222 224
+ Store 221(color) 225
+ 229: 7(fvec4) Load 227(v)
+ Store 228(param) 229
+ 231: 7(fvec4) Load 227(v)
+ Store 230(param) 231
+ 233: 9(int) Load 60(c)
+ Store 232(param) 233
+ 234: 7(fvec4) FunctionCall 15(foo1(vf4;vf4;i1;) 228(param) 230(param) 232(param)
+ 235: 6(float) CompositeExtract 234 1
+ 236: 6(float) Load 221(color)
+ 237: 6(float) FAdd 236 235
+ Store 221(color) 237
+ 239: 7(fvec4) Load 227(v)
+ Store 238(param) 239
+ 241: 7(fvec4) Load 227(v)
+ Store 240(param) 241
+ 243: 9(int) Load 60(c)
+ Store 242(param) 243
+ 244: 7(fvec4) FunctionCall 20(foo2(vf4;vf4;i1;) 238(param) 240(param) 242(param)
+ 245: 6(float) CompositeExtract 244 2
+ 246: 6(float) Load 221(color)
+ 247: 6(float) FAdd 246 245
+ Store 221(color) 247
+ 248: 9(int) Load 60(c)
+ SelectionMerge 251 None
+ Switch 248 250
+ case 0: 249
+ 249: Label
+ Branch 251
250: Label
- Branch 252
- 251: Label
- Branch 252
- 252: Label
- 256: 10(int) Load 61(c)
- SelectionMerge 258 None
- Switch 256 257
- 257: Label
- Branch 258
- 258: Label
- Branch 6
- 6: Label
+ Branch 251
+ 251: Label
+ 255: 9(int) Load 60(c)
+ SelectionMerge 257 None
+ Switch 255 256
+ 256: Label
+ Branch 257
+ 257: Label
Return
FunctionEnd
-16(foo1(vf4;vf4;i1;): 8(fvec4) Function None 12
- 13(v1): 9(ptr) FunctionParameter
- 14(v2): 9(ptr) FunctionParameter
- 15(i1): 11(ptr) FunctionParameter
- 17: Label
- 23: 10(int) Load 15(i1)
- SelectionMerge 27 None
- Switch 23 27
- case 0: 24
- case 2: 25
- case 1: 25
- case 3: 26
+15(foo1(vf4;vf4;i1;): 7(fvec4) Function None 11
+ 12(v1): 8(ptr) FunctionParameter
+ 13(v2): 8(ptr) FunctionParameter
+ 14(i1): 10(ptr) FunctionParameter
+ 16: Label
+ 22: 9(int) Load 14(i1)
+ SelectionMerge 26 None
+ Switch 22 26
+ case 0: 23
+ case 2: 24
+ case 1: 24
+ case 3: 25
+ 23: Label
+ 27: 7(fvec4) Load 12(v1)
+ ReturnValue 27
24: Label
- 28: 8(fvec4) Load 13(v1)
- ReturnValue 28
+ 29: 7(fvec4) Load 13(v2)
+ ReturnValue 29
25: Label
- 30: 8(fvec4) Load 14(v2)
- ReturnValue 30
- 26: Label
- 32: 8(fvec4) Load 13(v1)
- 33: 8(fvec4) Load 14(v2)
- 34: 8(fvec4) FMul 32 33
- ReturnValue 34
- 27: Label
- ReturnValue 38
+ 31: 7(fvec4) Load 12(v1)
+ 32: 7(fvec4) Load 13(v2)
+ 33: 7(fvec4) FMul 31 32
+ ReturnValue 33
+ 26: Label
+ ReturnValue 37
FunctionEnd
-21(foo2(vf4;vf4;i1;): 8(fvec4) Function None 12
- 18(v1): 9(ptr) FunctionParameter
- 19(v2): 9(ptr) FunctionParameter
- 20(i1): 11(ptr) FunctionParameter
- 22: Label
- 40: 10(int) Load 20(i1)
- SelectionMerge 45 None
- Switch 40 45
- case 0: 41
- case 2: 42
- case 1: 43
- case 3: 44
+20(foo2(vf4;vf4;i1;): 7(fvec4) Function None 11
+ 17(v1): 8(ptr) FunctionParameter
+ 18(v2): 8(ptr) FunctionParameter
+ 19(i1): 10(ptr) FunctionParameter
+ 21: Label
+ 39: 9(int) Load 19(i1)
+ SelectionMerge 44 None
+ Switch 39 44
+ case 0: 40
+ case 2: 41
+ case 1: 42
+ case 3: 43
+ 40: Label
+ 45: 7(fvec4) Load 17(v1)
+ ReturnValue 45
41: Label
- 46: 8(fvec4) Load 18(v1)
- ReturnValue 46
+ ReturnValue 48
42: Label
- ReturnValue 49
+ 50: 7(fvec4) Load 18(v2)
+ ReturnValue 50
43: Label
- 51: 8(fvec4) Load 19(v2)
- ReturnValue 51
- 44: Label
- 53: 8(fvec4) Load 18(v1)
- 54: 8(fvec4) Load 19(v2)
- 55: 8(fvec4) FMul 53 54
- ReturnValue 55
- 45: Label
- ReturnValue 38
+ 52: 7(fvec4) Load 17(v1)
+ 53: 7(fvec4) Load 18(v2)
+ 54: 7(fvec4) FMul 52 53
+ ReturnValue 54
+ 44: Label
+ ReturnValue 37
FunctionEnd
diff --git a/Test/baseResults/spv.swizzle.frag.out b/Test/baseResults/spv.swizzle.frag.out
index 5d5c3b0..827eb5b 100755
--- a/Test/baseResults/spv.swizzle.frag.out
+++ b/Test/baseResults/spv.swizzle.frag.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 112
+// Id's are bound by 111
Source GLSL 110
Capability Shader
@@ -14,165 +14,163 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 9 "blendscale"
- Name 13 "w"
- Name 15 "u"
- Name 17 "w_dep"
- Name 19 "w_reorder"
- Name 21 "w2"
- Name 23 "w_flow"
- Name 30 "t"
- Name 49 "w_undef"
- Name 56 "p"
- Name 70 "gl_FragColor"
- Name 82 "c"
- Name 84 "rep"
- Name 111 "blend"
- Decorate 30(t) Smooth
- Decorate 70(gl_FragColor) BuiltIn FragColor
- Decorate 111(blend) NoStaticUse
+ Name 8 "blendscale"
+ Name 12 "w"
+ Name 14 "u"
+ Name 16 "w_dep"
+ Name 18 "w_reorder"
+ Name 20 "w2"
+ Name 22 "w_flow"
+ Name 29 "t"
+ Name 48 "w_undef"
+ Name 55 "p"
+ Name 69 "gl_FragColor"
+ Name 81 "c"
+ Name 83 "rep"
+ Name 110 "blend"
+ Decorate 29(t) Smooth
+ Decorate 69(gl_FragColor) BuiltIn FragColor
+ Decorate 110(blend) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypePointer Function 7(float)
- 10: 7(float) Constant 1071971828
- 11: TypeVector 7(float) 4
- 12: TypePointer Function 11(fvec4)
- 14: TypePointer UniformConstant 11(fvec4)
- 15(u): 14(ptr) Variable UniformConstant
- 28: TypeVector 7(float) 2
- 29: TypePointer Input 28(fvec2)
- 30(t): 29(ptr) Variable Input
- 54: TypeBool
- 55: TypePointer UniformConstant 54(bool)
- 56(p): 55(ptr) Variable UniformConstant
- 69: TypePointer Output 11(fvec4)
-70(gl_FragColor): 69(ptr) Variable Output
- 81: TypePointer Function 28(fvec2)
- 85: 7(float) Constant 0
- 86: 7(float) Constant 1065353216
- 87: 11(fvec4) ConstantComposite 85 85 85 86
- 93: 7(float) Constant 3212836864
- 104: 7(float) Constant 1079613850
- 110: TypePointer UniformConstant 7(float)
- 111(blend): 110(ptr) Variable UniformConstant
+ 6: TypeFloat 32
+ 7: TypePointer Function 6(float)
+ 9: 6(float) Constant 1071971828
+ 10: TypeVector 6(float) 4
+ 11: TypePointer Function 10(fvec4)
+ 13: TypePointer UniformConstant 10(fvec4)
+ 14(u): 13(ptr) Variable UniformConstant
+ 27: TypeVector 6(float) 2
+ 28: TypePointer Input 27(fvec2)
+ 29(t): 28(ptr) Variable Input
+ 53: TypeBool
+ 54: TypePointer UniformConstant 53(bool)
+ 55(p): 54(ptr) Variable UniformConstant
+ 68: TypePointer Output 10(fvec4)
+69(gl_FragColor): 68(ptr) Variable Output
+ 80: TypePointer Function 27(fvec2)
+ 84: 6(float) Constant 0
+ 85: 6(float) Constant 1065353216
+ 86: 10(fvec4) ConstantComposite 84 84 84 85
+ 92: 6(float) Constant 3212836864
+ 103: 6(float) Constant 1079613850
+ 109: TypePointer UniformConstant 6(float)
+ 110(blend): 109(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
- 9(blendscale): 8(ptr) Variable Function
- 13(w): 12(ptr) Variable Function
- 17(w_dep): 12(ptr) Variable Function
- 19(w_reorder): 12(ptr) Variable Function
- 21(w2): 12(ptr) Variable Function
- 23(w_flow): 12(ptr) Variable Function
- 49(w_undef): 12(ptr) Variable Function
- 82(c): 81(ptr) Variable Function
- 84(rep): 12(ptr) Variable Function
- Store 9(blendscale) 10
- 16: 11(fvec4) Load 15(u)
- Store 13(w) 16
- 18: 11(fvec4) Load 15(u)
- Store 17(w_dep) 18
- 20: 11(fvec4) Load 15(u)
- Store 19(w_reorder) 20
- 22: 11(fvec4) Load 15(u)
- Store 21(w2) 22
- 24: 11(fvec4) Load 15(u)
- Store 23(w_flow) 24
- 25: 7(float) Load 9(blendscale)
- 26: 11(fvec4) Load 19(w_reorder)
- 27: 11(fvec4) CompositeInsert 25 26 2
- Store 19(w_reorder) 27
- 31: 28(fvec2) Load 30(t)
- 32: 11(fvec4) Load 13(w)
- 33: 11(fvec4) VectorShuffle 32 31 0 5 2 4
- Store 13(w) 33
- 34: 7(float) Load 9(blendscale)
- 35: 11(fvec4) Load 19(w_reorder)
- 36: 11(fvec4) CompositeInsert 34 35 0
- Store 19(w_reorder) 36
- 37: 11(fvec4) Load 15(u)
- 38: 11(fvec4) VectorShuffle 37 37 2 3 0 1
- Store 21(w2) 38
- 39: 7(float) Load 9(blendscale)
- 40: 11(fvec4) Load 19(w_reorder)
- 41: 11(fvec4) CompositeInsert 39 40 1
- Store 19(w_reorder) 41
- 42: 11(fvec4) Load 21(w2)
- 43: 28(fvec2) VectorShuffle 42 42 0 2
- 44: 11(fvec4) Load 17(w_dep)
- 45: 11(fvec4) VectorShuffle 44 43 4 5 2 3
- Store 17(w_dep) 45
- 46: 28(fvec2) Load 30(t)
- 47: 11(fvec4) Load 17(w_dep)
- 48: 11(fvec4) VectorShuffle 47 46 0 1 4 5
- Store 17(w_dep) 48
- 50: 11(fvec4) Load 15(u)
- 51: 28(fvec2) VectorShuffle 50 50 2 3
- 52: 11(fvec4) Load 49(w_undef)
- 53: 11(fvec4) VectorShuffle 52 51 4 5 2 3
- Store 49(w_undef) 53
- 57: 54(bool) Load 56(p)
- SelectionMerge 59 None
- BranchConditional 57 58 64
- 58: Label
- 60: 28(fvec2) Load 30(t)
- 61: 7(float) CompositeExtract 60 0
- 62: 11(fvec4) Load 23(w_flow)
- 63: 11(fvec4) CompositeInsert 61 62 0
- Store 23(w_flow) 63
- Branch 59
- 64: Label
- 65: 28(fvec2) Load 30(t)
- 66: 7(float) CompositeExtract 65 1
- 67: 11(fvec4) Load 23(w_flow)
- 68: 11(fvec4) CompositeInsert 66 67 0
- Store 23(w_flow) 68
- Branch 59
- 59: Label
- 71: 11(fvec4) Load 19(w_reorder)
- 72: 11(fvec4) Load 49(w_undef)
- 73: 11(fvec4) Load 13(w)
- 74: 11(fvec4) Load 21(w2)
- 75: 11(fvec4) FMul 73 74
- 76: 11(fvec4) Load 17(w_dep)
- 77: 11(fvec4) FMul 75 76
- 78: 11(fvec4) Load 23(w_flow)
- 79: 11(fvec4) FMul 77 78
- 80: 11(fvec4) ExtInst 1(GLSL.std.450) 46(Mix) 71 72 79
- Store 70(gl_FragColor) 80
- 83: 28(fvec2) Load 30(t)
- Store 82(c) 83
- Store 84(rep) 87
- 88: 28(fvec2) Load 82(c)
- 89: 7(float) CompositeExtract 88 0
- 90: 54(bool) FOrdLessThan 89 85
- SelectionMerge 92 None
- BranchConditional 90 91 92
- 91: Label
- 94: 28(fvec2) Load 82(c)
- 95: 7(float) CompositeExtract 94 0
- 96: 7(float) FMul 95 93
- 97: 28(fvec2) Load 82(c)
- 98: 28(fvec2) CompositeInsert 96 97 0
- Store 82(c) 98
- Branch 92
- 92: Label
- 99: 28(fvec2) Load 82(c)
- 100: 7(float) CompositeExtract 99 0
- 101: 54(bool) FOrdLessThanEqual 100 86
- SelectionMerge 103 None
- BranchConditional 101 102 103
- 102: Label
- 105: 11(fvec4) Load 84(rep)
- 106: 11(fvec4) CompositeInsert 104 105 0
- Store 84(rep) 106
- Branch 103
- 103: Label
- 107: 11(fvec4) Load 84(rep)
- 108: 11(fvec4) Load 70(gl_FragColor)
- 109: 11(fvec4) FAdd 108 107
- Store 70(gl_FragColor) 109
- Branch 6
- 6: Label
+ 8(blendscale): 7(ptr) Variable Function
+ 12(w): 11(ptr) Variable Function
+ 16(w_dep): 11(ptr) Variable Function
+ 18(w_reorder): 11(ptr) Variable Function
+ 20(w2): 11(ptr) Variable Function
+ 22(w_flow): 11(ptr) Variable Function
+ 48(w_undef): 11(ptr) Variable Function
+ 81(c): 80(ptr) Variable Function
+ 83(rep): 11(ptr) Variable Function
+ Store 8(blendscale) 9
+ 15: 10(fvec4) Load 14(u)
+ Store 12(w) 15
+ 17: 10(fvec4) Load 14(u)
+ Store 16(w_dep) 17
+ 19: 10(fvec4) Load 14(u)
+ Store 18(w_reorder) 19
+ 21: 10(fvec4) Load 14(u)
+ Store 20(w2) 21
+ 23: 10(fvec4) Load 14(u)
+ Store 22(w_flow) 23
+ 24: 6(float) Load 8(blendscale)
+ 25: 10(fvec4) Load 18(w_reorder)
+ 26: 10(fvec4) CompositeInsert 24 25 2
+ Store 18(w_reorder) 26
+ 30: 27(fvec2) Load 29(t)
+ 31: 10(fvec4) Load 12(w)
+ 32: 10(fvec4) VectorShuffle 31 30 0 5 2 4
+ Store 12(w) 32
+ 33: 6(float) Load 8(blendscale)
+ 34: 10(fvec4) Load 18(w_reorder)
+ 35: 10(fvec4) CompositeInsert 33 34 0
+ Store 18(w_reorder) 35
+ 36: 10(fvec4) Load 14(u)
+ 37: 10(fvec4) VectorShuffle 36 36 2 3 0 1
+ Store 20(w2) 37
+ 38: 6(float) Load 8(blendscale)
+ 39: 10(fvec4) Load 18(w_reorder)
+ 40: 10(fvec4) CompositeInsert 38 39 1
+ Store 18(w_reorder) 40
+ 41: 10(fvec4) Load 20(w2)
+ 42: 27(fvec2) VectorShuffle 41 41 0 2
+ 43: 10(fvec4) Load 16(w_dep)
+ 44: 10(fvec4) VectorShuffle 43 42 4 5 2 3
+ Store 16(w_dep) 44
+ 45: 27(fvec2) Load 29(t)
+ 46: 10(fvec4) Load 16(w_dep)
+ 47: 10(fvec4) VectorShuffle 46 45 0 1 4 5
+ Store 16(w_dep) 47
+ 49: 10(fvec4) Load 14(u)
+ 50: 27(fvec2) VectorShuffle 49 49 2 3
+ 51: 10(fvec4) Load 48(w_undef)
+ 52: 10(fvec4) VectorShuffle 51 50 4 5 2 3
+ Store 48(w_undef) 52
+ 56: 53(bool) Load 55(p)
+ SelectionMerge 58 None
+ BranchConditional 56 57 63
+ 57: Label
+ 59: 27(fvec2) Load 29(t)
+ 60: 6(float) CompositeExtract 59 0
+ 61: 10(fvec4) Load 22(w_flow)
+ 62: 10(fvec4) CompositeInsert 60 61 0
+ Store 22(w_flow) 62
+ Branch 58
+ 63: Label
+ 64: 27(fvec2) Load 29(t)
+ 65: 6(float) CompositeExtract 64 1
+ 66: 10(fvec4) Load 22(w_flow)
+ 67: 10(fvec4) CompositeInsert 65 66 0
+ Store 22(w_flow) 67
+ Branch 58
+ 58: Label
+ 70: 10(fvec4) Load 18(w_reorder)
+ 71: 10(fvec4) Load 48(w_undef)
+ 72: 10(fvec4) Load 12(w)
+ 73: 10(fvec4) Load 20(w2)
+ 74: 10(fvec4) FMul 72 73
+ 75: 10(fvec4) Load 16(w_dep)
+ 76: 10(fvec4) FMul 74 75
+ 77: 10(fvec4) Load 22(w_flow)
+ 78: 10(fvec4) FMul 76 77
+ 79: 10(fvec4) ExtInst 1(GLSL.std.450) 46(Mix) 70 71 78
+ Store 69(gl_FragColor) 79
+ 82: 27(fvec2) Load 29(t)
+ Store 81(c) 82
+ Store 83(rep) 86
+ 87: 27(fvec2) Load 81(c)
+ 88: 6(float) CompositeExtract 87 0
+ 89: 53(bool) FOrdLessThan 88 84
+ SelectionMerge 91 None
+ BranchConditional 89 90 91
+ 90: Label
+ 93: 27(fvec2) Load 81(c)
+ 94: 6(float) CompositeExtract 93 0
+ 95: 6(float) FMul 94 92
+ 96: 27(fvec2) Load 81(c)
+ 97: 27(fvec2) CompositeInsert 95 96 0
+ Store 81(c) 97
+ Branch 91
+ 91: Label
+ 98: 27(fvec2) Load 81(c)
+ 99: 6(float) CompositeExtract 98 0
+ 100: 53(bool) FOrdLessThanEqual 99 85
+ SelectionMerge 102 None
+ BranchConditional 100 101 102
+ 101: Label
+ 104: 10(fvec4) Load 83(rep)
+ 105: 10(fvec4) CompositeInsert 103 104 0
+ Store 83(rep) 105
+ Branch 102
+ 102: Label
+ 106: 10(fvec4) Load 83(rep)
+ 107: 10(fvec4) Load 69(gl_FragColor)
+ 108: 10(fvec4) FAdd 107 106
+ Store 69(gl_FragColor) 108
Return
FunctionEnd
diff --git a/Test/baseResults/spv.test.frag.out b/Test/baseResults/spv.test.frag.out
index 58bed1d..b8091b7 100755
--- a/Test/baseResults/spv.test.frag.out
+++ b/Test/baseResults/spv.test.frag.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 56
+// Id's are bound by 55
Source GLSL 110
Capability Shader
@@ -14,78 +14,76 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 9 "blendscale"
- Name 13 "v"
- Name 17 "texSampler2D"
- Name 21 "t"
- Name 24 "scale"
- Name 31 "w"
- Name 35 "texSampler3D"
- Name 39 "coords"
- Name 45 "gl_FragColor"
- Name 48 "u"
- Name 51 "blend"
- Decorate 21(t) Smooth
- Decorate 39(coords) Smooth
- Decorate 45(gl_FragColor) BuiltIn FragColor
+ Name 8 "blendscale"
+ Name 12 "v"
+ Name 16 "texSampler2D"
+ Name 20 "t"
+ Name 23 "scale"
+ Name 30 "w"
+ Name 34 "texSampler3D"
+ Name 38 "coords"
+ Name 44 "gl_FragColor"
+ Name 47 "u"
+ Name 50 "blend"
+ Decorate 20(t) Smooth
+ Decorate 38(coords) Smooth
+ Decorate 44(gl_FragColor) BuiltIn FragColor
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypePointer Function 7(float)
- 10: 7(float) Constant 1071971828
- 11: TypeVector 7(float) 4
- 12: TypePointer Function 11(fvec4)
- 14: TypeImage 7(float) 2D sampled format:Unknown
- 15: TypeSampledImage 14
- 16: TypePointer UniformConstant 15
-17(texSampler2D): 16(ptr) Variable UniformConstant
- 19: TypeVector 7(float) 2
- 20: TypePointer Input 19(fvec2)
- 21(t): 20(ptr) Variable Input
- 23: TypePointer UniformConstant 19(fvec2)
- 24(scale): 23(ptr) Variable UniformConstant
- 32: TypeImage 7(float) 3D sampled format:Unknown
- 33: TypeSampledImage 32
- 34: TypePointer UniformConstant 33
-35(texSampler3D): 34(ptr) Variable UniformConstant
- 37: TypeVector 7(float) 3
- 38: TypePointer Input 37(fvec3)
- 39(coords): 38(ptr) Variable Input
- 44: TypePointer Output 11(fvec4)
-45(gl_FragColor): 44(ptr) Variable Output
- 47: TypePointer UniformConstant 11(fvec4)
- 48(u): 47(ptr) Variable UniformConstant
- 50: TypePointer UniformConstant 7(float)
- 51(blend): 50(ptr) Variable UniformConstant
+ 6: TypeFloat 32
+ 7: TypePointer Function 6(float)
+ 9: 6(float) Constant 1071971828
+ 10: TypeVector 6(float) 4
+ 11: TypePointer Function 10(fvec4)
+ 13: TypeImage 6(float) 2D sampled format:Unknown
+ 14: TypeSampledImage 13
+ 15: TypePointer UniformConstant 14
+16(texSampler2D): 15(ptr) Variable UniformConstant
+ 18: TypeVector 6(float) 2
+ 19: TypePointer Input 18(fvec2)
+ 20(t): 19(ptr) Variable Input
+ 22: TypePointer UniformConstant 18(fvec2)
+ 23(scale): 22(ptr) Variable UniformConstant
+ 31: TypeImage 6(float) 3D sampled format:Unknown
+ 32: TypeSampledImage 31
+ 33: TypePointer UniformConstant 32
+34(texSampler3D): 33(ptr) Variable UniformConstant
+ 36: TypeVector 6(float) 3
+ 37: TypePointer Input 36(fvec3)
+ 38(coords): 37(ptr) Variable Input
+ 43: TypePointer Output 10(fvec4)
+44(gl_FragColor): 43(ptr) Variable Output
+ 46: TypePointer UniformConstant 10(fvec4)
+ 47(u): 46(ptr) Variable UniformConstant
+ 49: TypePointer UniformConstant 6(float)
+ 50(blend): 49(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
- 9(blendscale): 8(ptr) Variable Function
- 13(v): 12(ptr) Variable Function
- 31(w): 12(ptr) Variable Function
- Store 9(blendscale) 10
- 18: 15 Load 17(texSampler2D)
- 22: 19(fvec2) Load 21(t)
- 25: 19(fvec2) Load 24(scale)
- 26: 19(fvec2) FAdd 22 25
- 27: 19(fvec2) Load 24(scale)
- 28: 19(fvec2) FDiv 26 27
- 29: 11(fvec4) ImageSampleImplicitLod 18 28
- 30: 11(fvec4) VectorShuffle 29 29 3 2 1 0
- Store 13(v) 30
- 36: 33 Load 35(texSampler3D)
- 40: 37(fvec3) Load 39(coords)
- 41: 11(fvec4) ImageSampleImplicitLod 36 40
- 42: 11(fvec4) Load 13(v)
- 43: 11(fvec4) FAdd 41 42
- Store 31(w) 43
- 46: 11(fvec4) Load 31(w)
- 49: 11(fvec4) Load 48(u)
- 52: 7(float) Load 51(blend)
- 53: 7(float) Load 9(blendscale)
- 54: 7(float) FMul 52 53
- 55: 11(fvec4) ExtInst 1(GLSL.std.450) 46(Mix) 46 49 54
- Store 45(gl_FragColor) 55
- Branch 6
- 6: Label
+ 8(blendscale): 7(ptr) Variable Function
+ 12(v): 11(ptr) Variable Function
+ 30(w): 11(ptr) Variable Function
+ Store 8(blendscale) 9
+ 17: 14 Load 16(texSampler2D)
+ 21: 18(fvec2) Load 20(t)
+ 24: 18(fvec2) Load 23(scale)
+ 25: 18(fvec2) FAdd 21 24
+ 26: 18(fvec2) Load 23(scale)
+ 27: 18(fvec2) FDiv 25 26
+ 28: 10(fvec4) ImageSampleImplicitLod 17 27
+ 29: 10(fvec4) VectorShuffle 28 28 3 2 1 0
+ Store 12(v) 29
+ 35: 32 Load 34(texSampler3D)
+ 39: 36(fvec3) Load 38(coords)
+ 40: 10(fvec4) ImageSampleImplicitLod 35 39
+ 41: 10(fvec4) Load 12(v)
+ 42: 10(fvec4) FAdd 40 41
+ Store 30(w) 42
+ 45: 10(fvec4) Load 30(w)
+ 48: 10(fvec4) Load 47(u)
+ 51: 6(float) Load 50(blend)
+ 52: 6(float) Load 8(blendscale)
+ 53: 6(float) FMul 51 52
+ 54: 10(fvec4) ExtInst 1(GLSL.std.450) 46(Mix) 45 48 53
+ Store 44(gl_FragColor) 54
Return
FunctionEnd
diff --git a/Test/baseResults/spv.test.vert.out b/Test/baseResults/spv.test.vert.out
index 69f945f..c2b921b 100644
--- a/Test/baseResults/spv.test.vert.out
+++ b/Test/baseResults/spv.test.vert.out
@@ -7,7 +7,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 28
+// Id's are bound by 27
Source GLSL 130
Capability Shader
@@ -15,44 +15,42 @@
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main"
Name 4 "main"
- Name 10 "uv"
- Name 12 "uv_in"
- Name 16 "gl_Position"
- Name 19 "transform"
- Name 22 "position"
- Name 27 "gl_VertexID"
- Decorate 10(uv) Smooth
- Decorate 16(gl_Position) BuiltIn Position
- Decorate 27(gl_VertexID) BuiltIn VertexId
- Decorate 27(gl_VertexID) NoStaticUse
+ Name 9 "uv"
+ Name 11 "uv_in"
+ Name 15 "gl_Position"
+ Name 18 "transform"
+ Name 21 "position"
+ Name 26 "gl_VertexID"
+ Decorate 9(uv) Smooth
+ Decorate 15(gl_Position) BuiltIn Position
+ Decorate 26(gl_VertexID) BuiltIn VertexId
+ Decorate 26(gl_VertexID) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeVector 7(float) 2
- 9: TypePointer Output 8(fvec2)
- 10(uv): 9(ptr) Variable Output
- 11: TypePointer Input 8(fvec2)
- 12(uv_in): 11(ptr) Variable Input
- 14: TypeVector 7(float) 4
- 15: TypePointer Output 14(fvec4)
- 16(gl_Position): 15(ptr) Variable Output
- 17: TypeMatrix 14(fvec4) 4
- 18: TypePointer UniformConstant 17
- 19(transform): 18(ptr) Variable UniformConstant
- 21: TypePointer Input 14(fvec4)
- 22(position): 21(ptr) Variable Input
- 25: TypeInt 32 1
- 26: TypePointer Input 25(int)
- 27(gl_VertexID): 26(ptr) Variable Input
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 2
+ 8: TypePointer Output 7(fvec2)
+ 9(uv): 8(ptr) Variable Output
+ 10: TypePointer Input 7(fvec2)
+ 11(uv_in): 10(ptr) Variable Input
+ 13: TypeVector 6(float) 4
+ 14: TypePointer Output 13(fvec4)
+ 15(gl_Position): 14(ptr) Variable Output
+ 16: TypeMatrix 13(fvec4) 4
+ 17: TypePointer UniformConstant 16
+ 18(transform): 17(ptr) Variable UniformConstant
+ 20: TypePointer Input 13(fvec4)
+ 21(position): 20(ptr) Variable Input
+ 24: TypeInt 32 1
+ 25: TypePointer Input 24(int)
+ 26(gl_VertexID): 25(ptr) Variable Input
4(main): 2 Function None 3
5: Label
- 13: 8(fvec2) Load 12(uv_in)
- Store 10(uv) 13
- 20: 17 Load 19(transform)
- 23: 14(fvec4) Load 22(position)
- 24: 14(fvec4) MatrixTimesVector 20 23
- Store 16(gl_Position) 24
- Branch 6
- 6: Label
+ 12: 7(fvec2) Load 11(uv_in)
+ Store 9(uv) 12
+ 19: 16 Load 18(transform)
+ 22: 13(fvec4) Load 21(position)
+ 23: 13(fvec4) MatrixTimesVector 19 22
+ Store 15(gl_Position) 23
Return
FunctionEnd
diff --git a/Test/baseResults/spv.texture.frag.out b/Test/baseResults/spv.texture.frag.out
index 4326da4..35b0636 100644
--- a/Test/baseResults/spv.texture.frag.out
+++ b/Test/baseResults/spv.texture.frag.out
@@ -8,7 +8,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 283
+// Id's are bound by 282
Source GLSL 130
Capability Shader
@@ -17,359 +17,357 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 9 "blendscale"
- Name 11 "bias"
- Name 13 "lod"
- Name 15 "proj"
- Name 16 "coords1D"
- Name 19 "coords3D"
- Name 25 "coords4D"
- Name 27 "color"
- Name 33 "texSampler1D"
- Name 48 "coords2D"
- Name 73 "texSampler2D"
- Name 99 "texSampler3D"
- Name 125 "texSamplerCube"
- Name 140 "shadowSampler1D"
- Name 157 "shadowSampler2D"
- Name 200 "iCoords2D"
- Name 205 "iLod"
- Name 214 "gradX"
- Name 217 "gradY"
- Name 269 "gl_FragColor"
- Name 272 "u"
- Name 275 "blend"
- Name 281 "scale"
- Name 282 "t"
- Decorate 48(coords2D) Smooth
- Decorate 269(gl_FragColor) BuiltIn FragColor
- Decorate 281(scale) NoStaticUse
- Decorate 282(t) Smooth
- Decorate 282(t) NoStaticUse
+ Name 8 "blendscale"
+ Name 10 "bias"
+ Name 12 "lod"
+ Name 14 "proj"
+ Name 15 "coords1D"
+ Name 18 "coords3D"
+ Name 24 "coords4D"
+ Name 26 "color"
+ Name 32 "texSampler1D"
+ Name 47 "coords2D"
+ Name 72 "texSampler2D"
+ Name 98 "texSampler3D"
+ Name 124 "texSamplerCube"
+ Name 139 "shadowSampler1D"
+ Name 156 "shadowSampler2D"
+ Name 199 "iCoords2D"
+ Name 204 "iLod"
+ Name 213 "gradX"
+ Name 216 "gradY"
+ Name 268 "gl_FragColor"
+ Name 271 "u"
+ Name 274 "blend"
+ Name 280 "scale"
+ Name 281 "t"
+ Decorate 47(coords2D) Smooth
+ Decorate 268(gl_FragColor) BuiltIn FragColor
+ Decorate 280(scale) NoStaticUse
+ Decorate 281(t) Smooth
+ Decorate 281(t) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypePointer Function 7(float)
- 10: 7(float) Constant 1071971828
- 12: 7(float) Constant 1073741824
- 14: 7(float) Constant 1077936128
- 17: TypeVector 7(float) 3
- 18: TypePointer Function 17(fvec3)
- 20: 7(float) Constant 1076753334
- 21: 7(float) Constant 1079836148
- 22: 17(fvec3) ConstantComposite 10 20 21
- 23: TypeVector 7(float) 4
- 24: TypePointer Function 23(fvec4)
- 26: 23(fvec4) ConstantComposite 10 20 21 12
- 28: 7(float) Constant 0
- 29: 23(fvec4) ConstantComposite 28 28 28 28
- 30: TypeImage 7(float) 1D sampled format:Unknown
- 31: TypeSampledImage 30
- 32: TypePointer UniformConstant 31
-33(texSampler1D): 32(ptr) Variable UniformConstant
- 46: TypeVector 7(float) 2
- 47: TypePointer Input 46(fvec2)
- 48(coords2D): 47(ptr) Variable Input
- 70: TypeImage 7(float) 2D sampled format:Unknown
- 71: TypeSampledImage 70
- 72: TypePointer UniformConstant 71
-73(texSampler2D): 72(ptr) Variable UniformConstant
- 96: TypeImage 7(float) 3D sampled format:Unknown
- 97: TypeSampledImage 96
- 98: TypePointer UniformConstant 97
-99(texSampler3D): 98(ptr) Variable UniformConstant
- 122: TypeImage 7(float) Cube sampled format:Unknown
- 123: TypeSampledImage 122
- 124: TypePointer UniformConstant 123
-125(texSamplerCube): 124(ptr) Variable UniformConstant
- 137: TypeImage 7(float) 1D depth sampled format:Unknown
- 138: TypeSampledImage 137
- 139: TypePointer UniformConstant 138
-140(shadowSampler1D): 139(ptr) Variable UniformConstant
- 154: TypeImage 7(float) 2D depth sampled format:Unknown
- 155: TypeSampledImage 154
- 156: TypePointer UniformConstant 155
-157(shadowSampler2D): 156(ptr) Variable UniformConstant
- 197: TypeInt 32 1
- 198: TypeVector 197(int) 2
- 199: TypePointer Function 198(ivec2)
- 201: 197(int) Constant 0
- 202: 197(int) Constant 5
- 203: 198(ivec2) ConstantComposite 201 202
- 204: TypePointer Function 197(int)
- 206: 197(int) Constant 1
- 213: TypePointer Function 46(fvec2)
- 242: 197(int) Constant 3
- 243: 197(int) Constant 4294967289
- 244: 198(ivec2) ConstantComposite 242 243
- 268: TypePointer Output 23(fvec4)
-269(gl_FragColor): 268(ptr) Variable Output
- 271: TypePointer UniformConstant 23(fvec4)
- 272(u): 271(ptr) Variable UniformConstant
- 274: TypePointer UniformConstant 7(float)
- 275(blend): 274(ptr) Variable UniformConstant
- 280: TypePointer UniformConstant 46(fvec2)
- 281(scale): 280(ptr) Variable UniformConstant
- 282(t): 47(ptr) Variable Input
+ 6: TypeFloat 32
+ 7: TypePointer Function 6(float)
+ 9: 6(float) Constant 1071971828
+ 11: 6(float) Constant 1073741824
+ 13: 6(float) Constant 1077936128
+ 16: TypeVector 6(float) 3
+ 17: TypePointer Function 16(fvec3)
+ 19: 6(float) Constant 1076753334
+ 20: 6(float) Constant 1079836148
+ 21: 16(fvec3) ConstantComposite 9 19 20
+ 22: TypeVector 6(float) 4
+ 23: TypePointer Function 22(fvec4)
+ 25: 22(fvec4) ConstantComposite 9 19 20 11
+ 27: 6(float) Constant 0
+ 28: 22(fvec4) ConstantComposite 27 27 27 27
+ 29: TypeImage 6(float) 1D sampled format:Unknown
+ 30: TypeSampledImage 29
+ 31: TypePointer UniformConstant 30
+32(texSampler1D): 31(ptr) Variable UniformConstant
+ 45: TypeVector 6(float) 2
+ 46: TypePointer Input 45(fvec2)
+ 47(coords2D): 46(ptr) Variable Input
+ 69: TypeImage 6(float) 2D sampled format:Unknown
+ 70: TypeSampledImage 69
+ 71: TypePointer UniformConstant 70
+72(texSampler2D): 71(ptr) Variable UniformConstant
+ 95: TypeImage 6(float) 3D sampled format:Unknown
+ 96: TypeSampledImage 95
+ 97: TypePointer UniformConstant 96
+98(texSampler3D): 97(ptr) Variable UniformConstant
+ 121: TypeImage 6(float) Cube sampled format:Unknown
+ 122: TypeSampledImage 121
+ 123: TypePointer UniformConstant 122
+124(texSamplerCube): 123(ptr) Variable UniformConstant
+ 136: TypeImage 6(float) 1D depth sampled format:Unknown
+ 137: TypeSampledImage 136
+ 138: TypePointer UniformConstant 137
+139(shadowSampler1D): 138(ptr) Variable UniformConstant
+ 153: TypeImage 6(float) 2D depth sampled format:Unknown
+ 154: TypeSampledImage 153
+ 155: TypePointer UniformConstant 154
+156(shadowSampler2D): 155(ptr) Variable UniformConstant
+ 196: TypeInt 32 1
+ 197: TypeVector 196(int) 2
+ 198: TypePointer Function 197(ivec2)
+ 200: 196(int) Constant 0
+ 201: 196(int) Constant 5
+ 202: 197(ivec2) ConstantComposite 200 201
+ 203: TypePointer Function 196(int)
+ 205: 196(int) Constant 1
+ 212: TypePointer Function 45(fvec2)
+ 241: 196(int) Constant 3
+ 242: 196(int) Constant 4294967289
+ 243: 197(ivec2) ConstantComposite 241 242
+ 267: TypePointer Output 22(fvec4)
+268(gl_FragColor): 267(ptr) Variable Output
+ 270: TypePointer UniformConstant 22(fvec4)
+ 271(u): 270(ptr) Variable UniformConstant
+ 273: TypePointer UniformConstant 6(float)
+ 274(blend): 273(ptr) Variable UniformConstant
+ 279: TypePointer UniformConstant 45(fvec2)
+ 280(scale): 279(ptr) Variable UniformConstant
+ 281(t): 46(ptr) Variable Input
4(main): 2 Function None 3
5: Label
- 9(blendscale): 8(ptr) Variable Function
- 11(bias): 8(ptr) Variable Function
- 13(lod): 8(ptr) Variable Function
- 15(proj): 8(ptr) Variable Function
- 16(coords1D): 8(ptr) Variable Function
- 19(coords3D): 18(ptr) Variable Function
- 25(coords4D): 24(ptr) Variable Function
- 27(color): 24(ptr) Variable Function
- 200(iCoords2D): 199(ptr) Variable Function
- 205(iLod): 204(ptr) Variable Function
- 214(gradX): 213(ptr) Variable Function
- 217(gradY): 213(ptr) Variable Function
- Store 9(blendscale) 10
- Store 11(bias) 12
- Store 13(lod) 14
- Store 15(proj) 12
- Store 16(coords1D) 10
- Store 19(coords3D) 22
- Store 25(coords4D) 26
- Store 27(color) 29
- 34: 31 Load 33(texSampler1D)
- 35: 7(float) Load 16(coords1D)
- 36: 23(fvec4) ImageSampleImplicitLod 34 35
- 37: 23(fvec4) Load 27(color)
- 38: 23(fvec4) FAdd 37 36
- Store 27(color) 38
- 39: 31 Load 33(texSampler1D)
- 40: 7(float) Load 16(coords1D)
- 41: 7(float) Load 11(bias)
- 42: 23(fvec4) ImageSampleImplicitLod 39 40 41
- 43: 23(fvec4) Load 27(color)
- 44: 23(fvec4) FAdd 43 42
- Store 27(color) 44
- 45: 31 Load 33(texSampler1D)
- 49: 46(fvec2) Load 48(coords2D)
- 50: 23(fvec4) ImageSampleProjImplicitLod 45 49
- 51: 23(fvec4) Load 27(color)
- 52: 23(fvec4) FAdd 51 50
- Store 27(color) 52
- 53: 31 Load 33(texSampler1D)
- 54: 23(fvec4) Load 25(coords4D)
- 55: 23(fvec4) ImageSampleProjImplicitLod 53 54
- 56: 23(fvec4) Load 27(color)
- 57: 23(fvec4) FAdd 56 55
- Store 27(color) 57
- 58: 31 Load 33(texSampler1D)
- 59: 46(fvec2) Load 48(coords2D)
- 60: 7(float) Load 11(bias)
- 61: 23(fvec4) ImageSampleProjImplicitLod 58 59 60
- 62: 23(fvec4) Load 27(color)
- 63: 23(fvec4) FAdd 62 61
- Store 27(color) 63
- 64: 31 Load 33(texSampler1D)
- 65: 23(fvec4) Load 25(coords4D)
- 66: 7(float) Load 11(bias)
- 67: 23(fvec4) ImageSampleProjImplicitLod 64 65 66
- 68: 23(fvec4) Load 27(color)
- 69: 23(fvec4) FAdd 68 67
- Store 27(color) 69
- 74: 71 Load 73(texSampler2D)
- 75: 46(fvec2) Load 48(coords2D)
- 76: 23(fvec4) ImageSampleImplicitLod 74 75
- 77: 23(fvec4) Load 27(color)
- 78: 23(fvec4) FAdd 77 76
- Store 27(color) 78
- 79: 71 Load 73(texSampler2D)
- 80: 46(fvec2) Load 48(coords2D)
- 81: 7(float) Load 11(bias)
- 82: 23(fvec4) ImageSampleImplicitLod 79 80 81
- 83: 23(fvec4) Load 27(color)
- 84: 23(fvec4) FAdd 83 82
- Store 27(color) 84
- 85: 71 Load 73(texSampler2D)
- 86: 17(fvec3) Load 19(coords3D)
- 87: 23(fvec4) ImageSampleProjImplicitLod 85 86
- 88: 23(fvec4) Load 27(color)
- 89: 23(fvec4) FAdd 88 87
- Store 27(color) 89
- 90: 71 Load 73(texSampler2D)
- 91: 23(fvec4) Load 25(coords4D)
- 92: 7(float) Load 11(bias)
- 93: 23(fvec4) ImageSampleProjImplicitLod 90 91 92
- 94: 23(fvec4) Load 27(color)
- 95: 23(fvec4) FAdd 94 93
- Store 27(color) 95
- 100: 97 Load 99(texSampler3D)
- 101: 17(fvec3) Load 19(coords3D)
- 102: 23(fvec4) ImageSampleImplicitLod 100 101
- 103: 23(fvec4) Load 27(color)
- 104: 23(fvec4) FAdd 103 102
- Store 27(color) 104
- 105: 97 Load 99(texSampler3D)
- 106: 17(fvec3) Load 19(coords3D)
- 107: 7(float) Load 11(bias)
- 108: 23(fvec4) ImageSampleImplicitLod 105 106 107
- 109: 23(fvec4) Load 27(color)
- 110: 23(fvec4) FAdd 109 108
- Store 27(color) 110
- 111: 97 Load 99(texSampler3D)
- 112: 23(fvec4) Load 25(coords4D)
- 113: 23(fvec4) ImageSampleProjImplicitLod 111 112
- 114: 23(fvec4) Load 27(color)
- 115: 23(fvec4) FAdd 114 113
- Store 27(color) 115
- 116: 97 Load 99(texSampler3D)
- 117: 23(fvec4) Load 25(coords4D)
- 118: 7(float) Load 11(bias)
- 119: 23(fvec4) ImageSampleProjImplicitLod 116 117 118
- 120: 23(fvec4) Load 27(color)
- 121: 23(fvec4) FAdd 120 119
- Store 27(color) 121
- 126: 123 Load 125(texSamplerCube)
- 127: 17(fvec3) Load 19(coords3D)
- 128: 23(fvec4) ImageSampleImplicitLod 126 127
- 129: 23(fvec4) Load 27(color)
- 130: 23(fvec4) FAdd 129 128
- Store 27(color) 130
- 131: 123 Load 125(texSamplerCube)
- 132: 17(fvec3) Load 19(coords3D)
- 133: 7(float) Load 11(bias)
- 134: 23(fvec4) ImageSampleImplicitLod 131 132 133
- 135: 23(fvec4) Load 27(color)
- 136: 23(fvec4) FAdd 135 134
- Store 27(color) 136
- 141: 138 Load 140(shadowSampler1D)
- 142: 17(fvec3) Load 19(coords3D)
- 143: 7(float) CompositeExtract 142 2
- 144: 23(fvec4) ImageSampleDrefImplicitLod 141 142 143
- 145: 23(fvec4) Load 27(color)
- 146: 23(fvec4) FAdd 145 144
- Store 27(color) 146
- 147: 138 Load 140(shadowSampler1D)
- 148: 17(fvec3) Load 19(coords3D)
- 149: 7(float) Load 11(bias)
- 150: 7(float) CompositeExtract 148 2
- 151: 23(fvec4) ImageSampleDrefImplicitLod 147 148 150 149
- 152: 23(fvec4) Load 27(color)
- 153: 23(fvec4) FAdd 152 151
- Store 27(color) 153
- 158: 155 Load 157(shadowSampler2D)
- 159: 17(fvec3) Load 19(coords3D)
- 160: 7(float) CompositeExtract 159 2
- 161: 23(fvec4) ImageSampleDrefImplicitLod 158 159 160
- 162: 23(fvec4) Load 27(color)
- 163: 23(fvec4) FAdd 162 161
- Store 27(color) 163
- 164: 155 Load 157(shadowSampler2D)
- 165: 17(fvec3) Load 19(coords3D)
- 166: 7(float) Load 11(bias)
- 167: 7(float) CompositeExtract 165 2
- 168: 23(fvec4) ImageSampleDrefImplicitLod 164 165 167 166
- 169: 23(fvec4) Load 27(color)
- 170: 23(fvec4) FAdd 169 168
- Store 27(color) 170
- 171: 138 Load 140(shadowSampler1D)
- 172: 23(fvec4) Load 25(coords4D)
- 173: 7(float) CompositeExtract 172 3
- 174: 23(fvec4) ImageSampleProjDrefImplicitLod 171 172 173
- 175: 23(fvec4) Load 27(color)
- 176: 23(fvec4) FAdd 175 174
- Store 27(color) 176
- 177: 138 Load 140(shadowSampler1D)
- 178: 23(fvec4) Load 25(coords4D)
- 179: 7(float) Load 11(bias)
- 180: 7(float) CompositeExtract 178 3
- 181: 23(fvec4) ImageSampleProjDrefImplicitLod 177 178 180 179
- 182: 23(fvec4) Load 27(color)
- 183: 23(fvec4) FAdd 182 181
- Store 27(color) 183
- 184: 155 Load 157(shadowSampler2D)
- 185: 23(fvec4) Load 25(coords4D)
- 186: 7(float) CompositeExtract 185 3
- 187: 23(fvec4) ImageSampleProjDrefImplicitLod 184 185 186
- 188: 23(fvec4) Load 27(color)
- 189: 23(fvec4) FAdd 188 187
- Store 27(color) 189
- 190: 155 Load 157(shadowSampler2D)
- 191: 23(fvec4) Load 25(coords4D)
- 192: 7(float) Load 11(bias)
- 193: 7(float) CompositeExtract 191 3
- 194: 23(fvec4) ImageSampleProjDrefImplicitLod 190 191 193 192
- 195: 23(fvec4) Load 27(color)
- 196: 23(fvec4) FAdd 195 194
- Store 27(color) 196
- Store 200(iCoords2D) 203
- Store 205(iLod) 206
- 207: 71 Load 73(texSampler2D)
- 208: 198(ivec2) Load 200(iCoords2D)
- 209: 197(int) Load 205(iLod)
- 210: 23(fvec4) ImageFetch 207 208
- 211: 23(fvec4) Load 27(color)
- 212: 23(fvec4) FAdd 211 210
- Store 27(color) 212
- 215: 46(fvec2) Load 48(coords2D)
- 216: 46(fvec2) DPdx 215
- Store 214(gradX) 216
- 218: 46(fvec2) Load 48(coords2D)
- 219: 46(fvec2) DPdy 218
- Store 217(gradY) 219
- 220: 71 Load 73(texSampler2D)
- 221: 46(fvec2) Load 48(coords2D)
- 222: 46(fvec2) Load 214(gradX)
- 223: 46(fvec2) Load 217(gradY)
- 224: 23(fvec4) ImageSampleExplicitLod 220 221 222 223
- 225: 23(fvec4) Load 27(color)
- 226: 23(fvec4) FAdd 225 224
- Store 27(color) 226
- 227: 71 Load 73(texSampler2D)
- 228: 46(fvec2) Load 48(coords2D)
- 229: 7(float) Load 15(proj)
- 230: 7(float) CompositeExtract 228 0
- 231: 7(float) CompositeExtract 228 1
- 232: 17(fvec3) CompositeConstruct 230 231 229
- 233: 46(fvec2) Load 214(gradX)
- 234: 46(fvec2) Load 217(gradY)
- 235: 23(fvec4) ImageSampleProjExplicitLod 227 232 233 234
- 236: 23(fvec4) Load 27(color)
- 237: 23(fvec4) FAdd 236 235
- Store 27(color) 237
- 238: 71 Load 73(texSampler2D)
- 239: 46(fvec2) Load 48(coords2D)
- 240: 46(fvec2) Load 214(gradX)
- 241: 46(fvec2) Load 217(gradY)
- 245: 23(fvec4) ImageSampleExplicitLod 238 239 240 241 244
- 246: 23(fvec4) Load 27(color)
- 247: 23(fvec4) FAdd 246 245
- Store 27(color) 247
- 248: 71 Load 73(texSampler2D)
- 249: 17(fvec3) Load 19(coords3D)
- 250: 46(fvec2) Load 214(gradX)
- 251: 46(fvec2) Load 217(gradY)
- 252: 23(fvec4) ImageSampleProjExplicitLod 248 249 250 251 244
- 253: 23(fvec4) Load 27(color)
- 254: 23(fvec4) FAdd 253 252
- Store 27(color) 254
- 255: 155 Load 157(shadowSampler2D)
- 256: 46(fvec2) Load 48(coords2D)
- 257: 7(float) Load 13(lod)
- 258: 7(float) CompositeExtract 256 0
- 259: 7(float) CompositeExtract 256 1
- 260: 17(fvec3) CompositeConstruct 258 259 257
- 261: 46(fvec2) Load 214(gradX)
- 262: 46(fvec2) Load 217(gradY)
- 263: 7(float) CompositeExtract 260 2
- 264: 7(float) ImageSampleDrefExplicitLod 255 260 263 261 262
- 265: 23(fvec4) Load 27(color)
- 266: 23(fvec4) CompositeConstruct 264 264 264 264
- 267: 23(fvec4) FAdd 265 266
- Store 27(color) 267
- 270: 23(fvec4) Load 27(color)
- 273: 23(fvec4) Load 272(u)
- 276: 7(float) Load 275(blend)
- 277: 7(float) Load 9(blendscale)
- 278: 7(float) FMul 276 277
- 279: 23(fvec4) ExtInst 1(GLSL.std.450) 46(Mix) 270 273 278
- Store 269(gl_FragColor) 279
- Branch 6
- 6: Label
+ 8(blendscale): 7(ptr) Variable Function
+ 10(bias): 7(ptr) Variable Function
+ 12(lod): 7(ptr) Variable Function
+ 14(proj): 7(ptr) Variable Function
+ 15(coords1D): 7(ptr) Variable Function
+ 18(coords3D): 17(ptr) Variable Function
+ 24(coords4D): 23(ptr) Variable Function
+ 26(color): 23(ptr) Variable Function
+ 199(iCoords2D): 198(ptr) Variable Function
+ 204(iLod): 203(ptr) Variable Function
+ 213(gradX): 212(ptr) Variable Function
+ 216(gradY): 212(ptr) Variable Function
+ Store 8(blendscale) 9
+ Store 10(bias) 11
+ Store 12(lod) 13
+ Store 14(proj) 11
+ Store 15(coords1D) 9
+ Store 18(coords3D) 21
+ Store 24(coords4D) 25
+ Store 26(color) 28
+ 33: 30 Load 32(texSampler1D)
+ 34: 6(float) Load 15(coords1D)
+ 35: 22(fvec4) ImageSampleImplicitLod 33 34
+ 36: 22(fvec4) Load 26(color)
+ 37: 22(fvec4) FAdd 36 35
+ Store 26(color) 37
+ 38: 30 Load 32(texSampler1D)
+ 39: 6(float) Load 15(coords1D)
+ 40: 6(float) Load 10(bias)
+ 41: 22(fvec4) ImageSampleImplicitLod 38 39 40
+ 42: 22(fvec4) Load 26(color)
+ 43: 22(fvec4) FAdd 42 41
+ Store 26(color) 43
+ 44: 30 Load 32(texSampler1D)
+ 48: 45(fvec2) Load 47(coords2D)
+ 49: 22(fvec4) ImageSampleProjImplicitLod 44 48
+ 50: 22(fvec4) Load 26(color)
+ 51: 22(fvec4) FAdd 50 49
+ Store 26(color) 51
+ 52: 30 Load 32(texSampler1D)
+ 53: 22(fvec4) Load 24(coords4D)
+ 54: 22(fvec4) ImageSampleProjImplicitLod 52 53
+ 55: 22(fvec4) Load 26(color)
+ 56: 22(fvec4) FAdd 55 54
+ Store 26(color) 56
+ 57: 30 Load 32(texSampler1D)
+ 58: 45(fvec2) Load 47(coords2D)
+ 59: 6(float) Load 10(bias)
+ 60: 22(fvec4) ImageSampleProjImplicitLod 57 58 59
+ 61: 22(fvec4) Load 26(color)
+ 62: 22(fvec4) FAdd 61 60
+ Store 26(color) 62
+ 63: 30 Load 32(texSampler1D)
+ 64: 22(fvec4) Load 24(coords4D)
+ 65: 6(float) Load 10(bias)
+ 66: 22(fvec4) ImageSampleProjImplicitLod 63 64 65
+ 67: 22(fvec4) Load 26(color)
+ 68: 22(fvec4) FAdd 67 66
+ Store 26(color) 68
+ 73: 70 Load 72(texSampler2D)
+ 74: 45(fvec2) Load 47(coords2D)
+ 75: 22(fvec4) ImageSampleImplicitLod 73 74
+ 76: 22(fvec4) Load 26(color)
+ 77: 22(fvec4) FAdd 76 75
+ Store 26(color) 77
+ 78: 70 Load 72(texSampler2D)
+ 79: 45(fvec2) Load 47(coords2D)
+ 80: 6(float) Load 10(bias)
+ 81: 22(fvec4) ImageSampleImplicitLod 78 79 80
+ 82: 22(fvec4) Load 26(color)
+ 83: 22(fvec4) FAdd 82 81
+ Store 26(color) 83
+ 84: 70 Load 72(texSampler2D)
+ 85: 16(fvec3) Load 18(coords3D)
+ 86: 22(fvec4) ImageSampleProjImplicitLod 84 85
+ 87: 22(fvec4) Load 26(color)
+ 88: 22(fvec4) FAdd 87 86
+ Store 26(color) 88
+ 89: 70 Load 72(texSampler2D)
+ 90: 22(fvec4) Load 24(coords4D)
+ 91: 6(float) Load 10(bias)
+ 92: 22(fvec4) ImageSampleProjImplicitLod 89 90 91
+ 93: 22(fvec4) Load 26(color)
+ 94: 22(fvec4) FAdd 93 92
+ Store 26(color) 94
+ 99: 96 Load 98(texSampler3D)
+ 100: 16(fvec3) Load 18(coords3D)
+ 101: 22(fvec4) ImageSampleImplicitLod 99 100
+ 102: 22(fvec4) Load 26(color)
+ 103: 22(fvec4) FAdd 102 101
+ Store 26(color) 103
+ 104: 96 Load 98(texSampler3D)
+ 105: 16(fvec3) Load 18(coords3D)
+ 106: 6(float) Load 10(bias)
+ 107: 22(fvec4) ImageSampleImplicitLod 104 105 106
+ 108: 22(fvec4) Load 26(color)
+ 109: 22(fvec4) FAdd 108 107
+ Store 26(color) 109
+ 110: 96 Load 98(texSampler3D)
+ 111: 22(fvec4) Load 24(coords4D)
+ 112: 22(fvec4) ImageSampleProjImplicitLod 110 111
+ 113: 22(fvec4) Load 26(color)
+ 114: 22(fvec4) FAdd 113 112
+ Store 26(color) 114
+ 115: 96 Load 98(texSampler3D)
+ 116: 22(fvec4) Load 24(coords4D)
+ 117: 6(float) Load 10(bias)
+ 118: 22(fvec4) ImageSampleProjImplicitLod 115 116 117
+ 119: 22(fvec4) Load 26(color)
+ 120: 22(fvec4) FAdd 119 118
+ Store 26(color) 120
+ 125: 122 Load 124(texSamplerCube)
+ 126: 16(fvec3) Load 18(coords3D)
+ 127: 22(fvec4) ImageSampleImplicitLod 125 126
+ 128: 22(fvec4) Load 26(color)
+ 129: 22(fvec4) FAdd 128 127
+ Store 26(color) 129
+ 130: 122 Load 124(texSamplerCube)
+ 131: 16(fvec3) Load 18(coords3D)
+ 132: 6(float) Load 10(bias)
+ 133: 22(fvec4) ImageSampleImplicitLod 130 131 132
+ 134: 22(fvec4) Load 26(color)
+ 135: 22(fvec4) FAdd 134 133
+ Store 26(color) 135
+ 140: 137 Load 139(shadowSampler1D)
+ 141: 16(fvec3) Load 18(coords3D)
+ 142: 6(float) CompositeExtract 141 2
+ 143: 22(fvec4) ImageSampleDrefImplicitLod 140 141 142
+ 144: 22(fvec4) Load 26(color)
+ 145: 22(fvec4) FAdd 144 143
+ Store 26(color) 145
+ 146: 137 Load 139(shadowSampler1D)
+ 147: 16(fvec3) Load 18(coords3D)
+ 148: 6(float) Load 10(bias)
+ 149: 6(float) CompositeExtract 147 2
+ 150: 22(fvec4) ImageSampleDrefImplicitLod 146 147 149 148
+ 151: 22(fvec4) Load 26(color)
+ 152: 22(fvec4) FAdd 151 150
+ Store 26(color) 152
+ 157: 154 Load 156(shadowSampler2D)
+ 158: 16(fvec3) Load 18(coords3D)
+ 159: 6(float) CompositeExtract 158 2
+ 160: 22(fvec4) ImageSampleDrefImplicitLod 157 158 159
+ 161: 22(fvec4) Load 26(color)
+ 162: 22(fvec4) FAdd 161 160
+ Store 26(color) 162
+ 163: 154 Load 156(shadowSampler2D)
+ 164: 16(fvec3) Load 18(coords3D)
+ 165: 6(float) Load 10(bias)
+ 166: 6(float) CompositeExtract 164 2
+ 167: 22(fvec4) ImageSampleDrefImplicitLod 163 164 166 165
+ 168: 22(fvec4) Load 26(color)
+ 169: 22(fvec4) FAdd 168 167
+ Store 26(color) 169
+ 170: 137 Load 139(shadowSampler1D)
+ 171: 22(fvec4) Load 24(coords4D)
+ 172: 6(float) CompositeExtract 171 3
+ 173: 22(fvec4) ImageSampleProjDrefImplicitLod 170 171 172
+ 174: 22(fvec4) Load 26(color)
+ 175: 22(fvec4) FAdd 174 173
+ Store 26(color) 175
+ 176: 137 Load 139(shadowSampler1D)
+ 177: 22(fvec4) Load 24(coords4D)
+ 178: 6(float) Load 10(bias)
+ 179: 6(float) CompositeExtract 177 3
+ 180: 22(fvec4) ImageSampleProjDrefImplicitLod 176 177 179 178
+ 181: 22(fvec4) Load 26(color)
+ 182: 22(fvec4) FAdd 181 180
+ Store 26(color) 182
+ 183: 154 Load 156(shadowSampler2D)
+ 184: 22(fvec4) Load 24(coords4D)
+ 185: 6(float) CompositeExtract 184 3
+ 186: 22(fvec4) ImageSampleProjDrefImplicitLod 183 184 185
+ 187: 22(fvec4) Load 26(color)
+ 188: 22(fvec4) FAdd 187 186
+ Store 26(color) 188
+ 189: 154 Load 156(shadowSampler2D)
+ 190: 22(fvec4) Load 24(coords4D)
+ 191: 6(float) Load 10(bias)
+ 192: 6(float) CompositeExtract 190 3
+ 193: 22(fvec4) ImageSampleProjDrefImplicitLod 189 190 192 191
+ 194: 22(fvec4) Load 26(color)
+ 195: 22(fvec4) FAdd 194 193
+ Store 26(color) 195
+ Store 199(iCoords2D) 202
+ Store 204(iLod) 205
+ 206: 70 Load 72(texSampler2D)
+ 207: 197(ivec2) Load 199(iCoords2D)
+ 208: 196(int) Load 204(iLod)
+ 209: 22(fvec4) ImageFetch 206 207
+ 210: 22(fvec4) Load 26(color)
+ 211: 22(fvec4) FAdd 210 209
+ Store 26(color) 211
+ 214: 45(fvec2) Load 47(coords2D)
+ 215: 45(fvec2) DPdx 214
+ Store 213(gradX) 215
+ 217: 45(fvec2) Load 47(coords2D)
+ 218: 45(fvec2) DPdy 217
+ Store 216(gradY) 218
+ 219: 70 Load 72(texSampler2D)
+ 220: 45(fvec2) Load 47(coords2D)
+ 221: 45(fvec2) Load 213(gradX)
+ 222: 45(fvec2) Load 216(gradY)
+ 223: 22(fvec4) ImageSampleExplicitLod 219 220 221 222
+ 224: 22(fvec4) Load 26(color)
+ 225: 22(fvec4) FAdd 224 223
+ Store 26(color) 225
+ 226: 70 Load 72(texSampler2D)
+ 227: 45(fvec2) Load 47(coords2D)
+ 228: 6(float) Load 14(proj)
+ 229: 6(float) CompositeExtract 227 0
+ 230: 6(float) CompositeExtract 227 1
+ 231: 16(fvec3) CompositeConstruct 229 230 228
+ 232: 45(fvec2) Load 213(gradX)
+ 233: 45(fvec2) Load 216(gradY)
+ 234: 22(fvec4) ImageSampleProjExplicitLod 226 231 232 233
+ 235: 22(fvec4) Load 26(color)
+ 236: 22(fvec4) FAdd 235 234
+ Store 26(color) 236
+ 237: 70 Load 72(texSampler2D)
+ 238: 45(fvec2) Load 47(coords2D)
+ 239: 45(fvec2) Load 213(gradX)
+ 240: 45(fvec2) Load 216(gradY)
+ 244: 22(fvec4) ImageSampleExplicitLod 237 238 239 240 243
+ 245: 22(fvec4) Load 26(color)
+ 246: 22(fvec4) FAdd 245 244
+ Store 26(color) 246
+ 247: 70 Load 72(texSampler2D)
+ 248: 16(fvec3) Load 18(coords3D)
+ 249: 45(fvec2) Load 213(gradX)
+ 250: 45(fvec2) Load 216(gradY)
+ 251: 22(fvec4) ImageSampleProjExplicitLod 247 248 249 250 243
+ 252: 22(fvec4) Load 26(color)
+ 253: 22(fvec4) FAdd 252 251
+ Store 26(color) 253
+ 254: 154 Load 156(shadowSampler2D)
+ 255: 45(fvec2) Load 47(coords2D)
+ 256: 6(float) Load 12(lod)
+ 257: 6(float) CompositeExtract 255 0
+ 258: 6(float) CompositeExtract 255 1
+ 259: 16(fvec3) CompositeConstruct 257 258 256
+ 260: 45(fvec2) Load 213(gradX)
+ 261: 45(fvec2) Load 216(gradY)
+ 262: 6(float) CompositeExtract 259 2
+ 263: 6(float) ImageSampleDrefExplicitLod 254 259 262 260 261
+ 264: 22(fvec4) Load 26(color)
+ 265: 22(fvec4) CompositeConstruct 263 263 263 263
+ 266: 22(fvec4) FAdd 264 265
+ Store 26(color) 266
+ 269: 22(fvec4) Load 26(color)
+ 272: 22(fvec4) Load 271(u)
+ 275: 6(float) Load 274(blend)
+ 276: 6(float) Load 8(blendscale)
+ 277: 6(float) FMul 275 276
+ 278: 22(fvec4) ExtInst 1(GLSL.std.450) 46(Mix) 269 272 277
+ Store 268(gl_FragColor) 278
Return
FunctionEnd
diff --git a/Test/baseResults/spv.texture.vert.out b/Test/baseResults/spv.texture.vert.out
index 0cc4d52..d169523 100755
--- a/Test/baseResults/spv.texture.vert.out
+++ b/Test/baseResults/spv.texture.vert.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 142
+// Id's are bound by 141
Source GLSL 130
Capability Shader
@@ -13,182 +13,180 @@
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main"
Name 4 "main"
- Name 9 "lod"
- Name 11 "coords1D"
- Name 15 "coords3D"
- Name 21 "coords4D"
- Name 24 "color"
- Name 30 "texSampler1D"
- Name 40 "coords2D"
- Name 55 "texSampler2D"
- Name 77 "texSampler3D"
- Name 93 "texSamplerCube"
- Name 103 "shadowSampler1D"
- Name 114 "shadowSampler2D"
- Name 137 "gl_Position"
- Name 141 "gl_VertexID"
- Decorate 137(gl_Position) BuiltIn Position
- Decorate 141(gl_VertexID) BuiltIn VertexId
- Decorate 141(gl_VertexID) NoStaticUse
+ Name 8 "lod"
+ Name 10 "coords1D"
+ Name 14 "coords3D"
+ Name 20 "coords4D"
+ Name 23 "color"
+ Name 29 "texSampler1D"
+ Name 39 "coords2D"
+ Name 54 "texSampler2D"
+ Name 76 "texSampler3D"
+ Name 92 "texSamplerCube"
+ Name 102 "shadowSampler1D"
+ Name 113 "shadowSampler2D"
+ Name 136 "gl_Position"
+ Name 140 "gl_VertexID"
+ Decorate 136(gl_Position) BuiltIn Position
+ Decorate 140(gl_VertexID) BuiltIn VertexId
+ Decorate 140(gl_VertexID) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypePointer Function 7(float)
- 10: 7(float) Constant 1077936128
- 12: 7(float) Constant 1071971828
- 13: TypeVector 7(float) 3
- 14: TypePointer Function 13(fvec3)
- 16: 7(float) Constant 1076753334
- 17: 7(float) Constant 1079836148
- 18: 13(fvec3) ConstantComposite 12 16 17
- 19: TypeVector 7(float) 4
- 20: TypePointer Function 19(fvec4)
- 22: 7(float) Constant 1073741824
- 23: 19(fvec4) ConstantComposite 12 16 17 22
- 25: 7(float) Constant 0
- 26: 19(fvec4) ConstantComposite 25 25 25 25
- 27: TypeImage 7(float) 1D sampled format:Unknown
- 28: TypeSampledImage 27
- 29: TypePointer UniformConstant 28
-30(texSampler1D): 29(ptr) Variable UniformConstant
- 38: TypeVector 7(float) 2
- 39: TypePointer Input 38(fvec2)
- 40(coords2D): 39(ptr) Variable Input
- 52: TypeImage 7(float) 2D sampled format:Unknown
- 53: TypeSampledImage 52
- 54: TypePointer UniformConstant 53
-55(texSampler2D): 54(ptr) Variable UniformConstant
- 74: TypeImage 7(float) 3D sampled format:Unknown
- 75: TypeSampledImage 74
- 76: TypePointer UniformConstant 75
-77(texSampler3D): 76(ptr) Variable UniformConstant
- 90: TypeImage 7(float) Cube sampled format:Unknown
- 91: TypeSampledImage 90
- 92: TypePointer UniformConstant 91
-93(texSamplerCube): 92(ptr) Variable UniformConstant
- 100: TypeImage 7(float) 1D depth sampled format:Unknown
- 101: TypeSampledImage 100
- 102: TypePointer UniformConstant 101
-103(shadowSampler1D): 102(ptr) Variable UniformConstant
- 111: TypeImage 7(float) 2D depth sampled format:Unknown
- 112: TypeSampledImage 111
- 113: TypePointer UniformConstant 112
-114(shadowSampler2D): 113(ptr) Variable UniformConstant
- 136: TypePointer Output 19(fvec4)
-137(gl_Position): 136(ptr) Variable Output
- 139: TypeInt 32 1
- 140: TypePointer Input 139(int)
-141(gl_VertexID): 140(ptr) Variable Input
+ 6: TypeFloat 32
+ 7: TypePointer Function 6(float)
+ 9: 6(float) Constant 1077936128
+ 11: 6(float) Constant 1071971828
+ 12: TypeVector 6(float) 3
+ 13: TypePointer Function 12(fvec3)
+ 15: 6(float) Constant 1076753334
+ 16: 6(float) Constant 1079836148
+ 17: 12(fvec3) ConstantComposite 11 15 16
+ 18: TypeVector 6(float) 4
+ 19: TypePointer Function 18(fvec4)
+ 21: 6(float) Constant 1073741824
+ 22: 18(fvec4) ConstantComposite 11 15 16 21
+ 24: 6(float) Constant 0
+ 25: 18(fvec4) ConstantComposite 24 24 24 24
+ 26: TypeImage 6(float) 1D sampled format:Unknown
+ 27: TypeSampledImage 26
+ 28: TypePointer UniformConstant 27
+29(texSampler1D): 28(ptr) Variable UniformConstant
+ 37: TypeVector 6(float) 2
+ 38: TypePointer Input 37(fvec2)
+ 39(coords2D): 38(ptr) Variable Input
+ 51: TypeImage 6(float) 2D sampled format:Unknown
+ 52: TypeSampledImage 51
+ 53: TypePointer UniformConstant 52
+54(texSampler2D): 53(ptr) Variable UniformConstant
+ 73: TypeImage 6(float) 3D sampled format:Unknown
+ 74: TypeSampledImage 73
+ 75: TypePointer UniformConstant 74
+76(texSampler3D): 75(ptr) Variable UniformConstant
+ 89: TypeImage 6(float) Cube sampled format:Unknown
+ 90: TypeSampledImage 89
+ 91: TypePointer UniformConstant 90
+92(texSamplerCube): 91(ptr) Variable UniformConstant
+ 99: TypeImage 6(float) 1D depth sampled format:Unknown
+ 100: TypeSampledImage 99
+ 101: TypePointer UniformConstant 100
+102(shadowSampler1D): 101(ptr) Variable UniformConstant
+ 110: TypeImage 6(float) 2D depth sampled format:Unknown
+ 111: TypeSampledImage 110
+ 112: TypePointer UniformConstant 111
+113(shadowSampler2D): 112(ptr) Variable UniformConstant
+ 135: TypePointer Output 18(fvec4)
+136(gl_Position): 135(ptr) Variable Output
+ 138: TypeInt 32 1
+ 139: TypePointer Input 138(int)
+140(gl_VertexID): 139(ptr) Variable Input
4(main): 2 Function None 3
5: Label
- 9(lod): 8(ptr) Variable Function
- 11(coords1D): 8(ptr) Variable Function
- 15(coords3D): 14(ptr) Variable Function
- 21(coords4D): 20(ptr) Variable Function
- 24(color): 20(ptr) Variable Function
- Store 9(lod) 10
- Store 11(coords1D) 12
- Store 15(coords3D) 18
- Store 21(coords4D) 23
- Store 24(color) 26
- 31: 28 Load 30(texSampler1D)
- 32: 7(float) Load 11(coords1D)
- 33: 7(float) Load 9(lod)
- 34: 19(fvec4) ImageSampleExplicitLod 31 32 33
- 35: 19(fvec4) Load 24(color)
- 36: 19(fvec4) FAdd 35 34
- Store 24(color) 36
- 37: 28 Load 30(texSampler1D)
- 41: 38(fvec2) Load 40(coords2D)
- 42: 7(float) Load 9(lod)
- 43: 19(fvec4) ImageSampleProjExplicitLod 37 41 42
- 44: 19(fvec4) Load 24(color)
- 45: 19(fvec4) FAdd 44 43
- Store 24(color) 45
- 46: 28 Load 30(texSampler1D)
- 47: 19(fvec4) Load 21(coords4D)
- 48: 7(float) Load 9(lod)
- 49: 19(fvec4) ImageSampleProjExplicitLod 46 47 48
- 50: 19(fvec4) Load 24(color)
- 51: 19(fvec4) FAdd 50 49
- Store 24(color) 51
- 56: 53 Load 55(texSampler2D)
- 57: 38(fvec2) Load 40(coords2D)
- 58: 7(float) Load 9(lod)
- 59: 19(fvec4) ImageSampleExplicitLod 56 57 58
- 60: 19(fvec4) Load 24(color)
- 61: 19(fvec4) FAdd 60 59
- Store 24(color) 61
- 62: 53 Load 55(texSampler2D)
- 63: 13(fvec3) Load 15(coords3D)
- 64: 7(float) Load 9(lod)
- 65: 19(fvec4) ImageSampleProjExplicitLod 62 63 64
- 66: 19(fvec4) Load 24(color)
- 67: 19(fvec4) FAdd 66 65
- Store 24(color) 67
- 68: 53 Load 55(texSampler2D)
- 69: 19(fvec4) Load 21(coords4D)
- 70: 7(float) Load 9(lod)
- 71: 19(fvec4) ImageSampleProjExplicitLod 68 69 70
- 72: 19(fvec4) Load 24(color)
- 73: 19(fvec4) FAdd 72 71
- Store 24(color) 73
- 78: 75 Load 77(texSampler3D)
- 79: 13(fvec3) Load 15(coords3D)
- 80: 7(float) Load 9(lod)
- 81: 19(fvec4) ImageSampleExplicitLod 78 79 80
- 82: 19(fvec4) Load 24(color)
- 83: 19(fvec4) FAdd 82 81
- Store 24(color) 83
- 84: 75 Load 77(texSampler3D)
- 85: 19(fvec4) Load 21(coords4D)
- 86: 7(float) Load 9(lod)
- 87: 19(fvec4) ImageSampleProjExplicitLod 84 85 86
- 88: 19(fvec4) Load 24(color)
- 89: 19(fvec4) FAdd 88 87
- Store 24(color) 89
- 94: 91 Load 93(texSamplerCube)
- 95: 13(fvec3) Load 15(coords3D)
- 96: 7(float) Load 9(lod)
- 97: 19(fvec4) ImageSampleExplicitLod 94 95 96
- 98: 19(fvec4) Load 24(color)
- 99: 19(fvec4) FAdd 98 97
- Store 24(color) 99
- 104: 101 Load 103(shadowSampler1D)
- 105: 13(fvec3) Load 15(coords3D)
- 106: 7(float) Load 9(lod)
- 107: 7(float) CompositeExtract 105 2
- 108: 19(fvec4) ImageSampleDrefExplicitLod 104 105 107 106
- 109: 19(fvec4) Load 24(color)
- 110: 19(fvec4) FAdd 109 108
- Store 24(color) 110
- 115: 112 Load 114(shadowSampler2D)
- 116: 13(fvec3) Load 15(coords3D)
- 117: 7(float) Load 9(lod)
- 118: 7(float) CompositeExtract 116 2
- 119: 19(fvec4) ImageSampleDrefExplicitLod 115 116 118 117
- 120: 19(fvec4) Load 24(color)
- 121: 19(fvec4) FAdd 120 119
- Store 24(color) 121
- 122: 101 Load 103(shadowSampler1D)
- 123: 19(fvec4) Load 21(coords4D)
- 124: 7(float) Load 9(lod)
- 125: 7(float) CompositeExtract 123 3
- 126: 19(fvec4) ImageSampleProjDrefExplicitLod 122 123 125 124
- 127: 19(fvec4) Load 24(color)
- 128: 19(fvec4) FAdd 127 126
- Store 24(color) 128
- 129: 112 Load 114(shadowSampler2D)
- 130: 19(fvec4) Load 21(coords4D)
- 131: 7(float) Load 9(lod)
- 132: 7(float) CompositeExtract 130 3
- 133: 19(fvec4) ImageSampleProjDrefExplicitLod 129 130 132 131
- 134: 19(fvec4) Load 24(color)
- 135: 19(fvec4) FAdd 134 133
- Store 24(color) 135
- 138: 19(fvec4) Load 24(color)
- Store 137(gl_Position) 138
- Branch 6
- 6: Label
+ 8(lod): 7(ptr) Variable Function
+ 10(coords1D): 7(ptr) Variable Function
+ 14(coords3D): 13(ptr) Variable Function
+ 20(coords4D): 19(ptr) Variable Function
+ 23(color): 19(ptr) Variable Function
+ Store 8(lod) 9
+ Store 10(coords1D) 11
+ Store 14(coords3D) 17
+ Store 20(coords4D) 22
+ Store 23(color) 25
+ 30: 27 Load 29(texSampler1D)
+ 31: 6(float) Load 10(coords1D)
+ 32: 6(float) Load 8(lod)
+ 33: 18(fvec4) ImageSampleExplicitLod 30 31 32
+ 34: 18(fvec4) Load 23(color)
+ 35: 18(fvec4) FAdd 34 33
+ Store 23(color) 35
+ 36: 27 Load 29(texSampler1D)
+ 40: 37(fvec2) Load 39(coords2D)
+ 41: 6(float) Load 8(lod)
+ 42: 18(fvec4) ImageSampleProjExplicitLod 36 40 41
+ 43: 18(fvec4) Load 23(color)
+ 44: 18(fvec4) FAdd 43 42
+ Store 23(color) 44
+ 45: 27 Load 29(texSampler1D)
+ 46: 18(fvec4) Load 20(coords4D)
+ 47: 6(float) Load 8(lod)
+ 48: 18(fvec4) ImageSampleProjExplicitLod 45 46 47
+ 49: 18(fvec4) Load 23(color)
+ 50: 18(fvec4) FAdd 49 48
+ Store 23(color) 50
+ 55: 52 Load 54(texSampler2D)
+ 56: 37(fvec2) Load 39(coords2D)
+ 57: 6(float) Load 8(lod)
+ 58: 18(fvec4) ImageSampleExplicitLod 55 56 57
+ 59: 18(fvec4) Load 23(color)
+ 60: 18(fvec4) FAdd 59 58
+ Store 23(color) 60
+ 61: 52 Load 54(texSampler2D)
+ 62: 12(fvec3) Load 14(coords3D)
+ 63: 6(float) Load 8(lod)
+ 64: 18(fvec4) ImageSampleProjExplicitLod 61 62 63
+ 65: 18(fvec4) Load 23(color)
+ 66: 18(fvec4) FAdd 65 64
+ Store 23(color) 66
+ 67: 52 Load 54(texSampler2D)
+ 68: 18(fvec4) Load 20(coords4D)
+ 69: 6(float) Load 8(lod)
+ 70: 18(fvec4) ImageSampleProjExplicitLod 67 68 69
+ 71: 18(fvec4) Load 23(color)
+ 72: 18(fvec4) FAdd 71 70
+ Store 23(color) 72
+ 77: 74 Load 76(texSampler3D)
+ 78: 12(fvec3) Load 14(coords3D)
+ 79: 6(float) Load 8(lod)
+ 80: 18(fvec4) ImageSampleExplicitLod 77 78 79
+ 81: 18(fvec4) Load 23(color)
+ 82: 18(fvec4) FAdd 81 80
+ Store 23(color) 82
+ 83: 74 Load 76(texSampler3D)
+ 84: 18(fvec4) Load 20(coords4D)
+ 85: 6(float) Load 8(lod)
+ 86: 18(fvec4) ImageSampleProjExplicitLod 83 84 85
+ 87: 18(fvec4) Load 23(color)
+ 88: 18(fvec4) FAdd 87 86
+ Store 23(color) 88
+ 93: 90 Load 92(texSamplerCube)
+ 94: 12(fvec3) Load 14(coords3D)
+ 95: 6(float) Load 8(lod)
+ 96: 18(fvec4) ImageSampleExplicitLod 93 94 95
+ 97: 18(fvec4) Load 23(color)
+ 98: 18(fvec4) FAdd 97 96
+ Store 23(color) 98
+ 103: 100 Load 102(shadowSampler1D)
+ 104: 12(fvec3) Load 14(coords3D)
+ 105: 6(float) Load 8(lod)
+ 106: 6(float) CompositeExtract 104 2
+ 107: 18(fvec4) ImageSampleDrefExplicitLod 103 104 106 105
+ 108: 18(fvec4) Load 23(color)
+ 109: 18(fvec4) FAdd 108 107
+ Store 23(color) 109
+ 114: 111 Load 113(shadowSampler2D)
+ 115: 12(fvec3) Load 14(coords3D)
+ 116: 6(float) Load 8(lod)
+ 117: 6(float) CompositeExtract 115 2
+ 118: 18(fvec4) ImageSampleDrefExplicitLod 114 115 117 116
+ 119: 18(fvec4) Load 23(color)
+ 120: 18(fvec4) FAdd 119 118
+ Store 23(color) 120
+ 121: 100 Load 102(shadowSampler1D)
+ 122: 18(fvec4) Load 20(coords4D)
+ 123: 6(float) Load 8(lod)
+ 124: 6(float) CompositeExtract 122 3
+ 125: 18(fvec4) ImageSampleProjDrefExplicitLod 121 122 124 123
+ 126: 18(fvec4) Load 23(color)
+ 127: 18(fvec4) FAdd 126 125
+ Store 23(color) 127
+ 128: 111 Load 113(shadowSampler2D)
+ 129: 18(fvec4) Load 20(coords4D)
+ 130: 6(float) Load 8(lod)
+ 131: 6(float) CompositeExtract 129 3
+ 132: 18(fvec4) ImageSampleProjDrefExplicitLod 128 129 131 130
+ 133: 18(fvec4) Load 23(color)
+ 134: 18(fvec4) FAdd 133 132
+ Store 23(color) 134
+ 137: 18(fvec4) Load 23(color)
+ Store 136(gl_Position) 137
Return
FunctionEnd
diff --git a/Test/baseResults/spv.types.frag.out b/Test/baseResults/spv.types.frag.out
index 8b97d73..27e4d6f 100755
--- a/Test/baseResults/spv.types.frag.out
+++ b/Test/baseResults/spv.types.frag.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 264
+// Id's are bound by 263
Source GLSL 130
Capability Shader
@@ -14,333 +14,331 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 9 "b"
- Name 11 "u_b"
- Name 13 "i_b"
- Name 18 "b2"
- Name 20 "u_b2"
- Name 23 "i_b2"
- Name 36 "b3"
- Name 38 "u_b3"
- Name 41 "i_b3"
- Name 60 "b4"
- Name 62 "u_b4"
- Name 65 "i_b4"
- Name 90 "i"
- Name 92 "u_i"
- Name 95 "i_i"
- Name 100 "i2"
- Name 102 "u_i2"
- Name 105 "i_i2"
- Name 110 "i3"
- Name 112 "u_i3"
- Name 115 "i_i3"
- Name 120 "i4"
- Name 122 "u_i4"
- Name 125 "i_i4"
- Name 130 "f"
- Name 132 "u_f"
- Name 135 "i_f"
- Name 140 "f2"
- Name 142 "u_f2"
- Name 145 "i_f2"
- Name 150 "f3"
- Name 152 "u_f3"
- Name 155 "i_f3"
- Name 160 "f4"
- Name 162 "u_f4"
- Name 165 "i_f4"
- Name 169 "gl_FragColor"
- Decorate 95(i_i) Flat
- Decorate 105(i_i2) Flat
- Decorate 115(i_i3) Flat
- Decorate 125(i_i4) Flat
- Decorate 135(i_f) Smooth
- Decorate 145(i_f2) Smooth
- Decorate 155(i_f3) Smooth
- Decorate 165(i_f4) Smooth
- Decorate 169(gl_FragColor) BuiltIn FragColor
+ Name 8 "b"
+ Name 10 "u_b"
+ Name 12 "i_b"
+ Name 17 "b2"
+ Name 19 "u_b2"
+ Name 22 "i_b2"
+ Name 35 "b3"
+ Name 37 "u_b3"
+ Name 40 "i_b3"
+ Name 59 "b4"
+ Name 61 "u_b4"
+ Name 64 "i_b4"
+ Name 89 "i"
+ Name 91 "u_i"
+ Name 94 "i_i"
+ Name 99 "i2"
+ Name 101 "u_i2"
+ Name 104 "i_i2"
+ Name 109 "i3"
+ Name 111 "u_i3"
+ Name 114 "i_i3"
+ Name 119 "i4"
+ Name 121 "u_i4"
+ Name 124 "i_i4"
+ Name 129 "f"
+ Name 131 "u_f"
+ Name 134 "i_f"
+ Name 139 "f2"
+ Name 141 "u_f2"
+ Name 144 "i_f2"
+ Name 149 "f3"
+ Name 151 "u_f3"
+ Name 154 "i_f3"
+ Name 159 "f4"
+ Name 161 "u_f4"
+ Name 164 "i_f4"
+ Name 168 "gl_FragColor"
+ Decorate 94(i_i) Flat
+ Decorate 104(i_i2) Flat
+ Decorate 114(i_i3) Flat
+ Decorate 124(i_i4) Flat
+ Decorate 134(i_f) Smooth
+ Decorate 144(i_f2) Smooth
+ Decorate 154(i_f3) Smooth
+ Decorate 164(i_f4) Smooth
+ Decorate 168(gl_FragColor) BuiltIn FragColor
2: TypeVoid
3: TypeFunction 2
- 7: TypeBool
- 8: TypePointer Function 7(bool)
- 10: TypePointer UniformConstant 7(bool)
- 11(u_b): 10(ptr) Variable UniformConstant
- 13(i_b): 10(ptr) Variable UniformConstant
- 16: TypeVector 7(bool) 2
- 17: TypePointer Function 16(bvec2)
- 19: TypePointer UniformConstant 16(bvec2)
- 20(u_b2): 19(ptr) Variable UniformConstant
- 23(i_b2): 19(ptr) Variable UniformConstant
- 34: TypeVector 7(bool) 3
- 35: TypePointer Function 34(bvec3)
- 37: TypePointer UniformConstant 34(bvec3)
- 38(u_b3): 37(ptr) Variable UniformConstant
- 41(i_b3): 37(ptr) Variable UniformConstant
- 58: TypeVector 7(bool) 4
- 59: TypePointer Function 58(bvec4)
- 61: TypePointer UniformConstant 58(bvec4)
- 62(u_b4): 61(ptr) Variable UniformConstant
- 65(i_b4): 61(ptr) Variable UniformConstant
- 88: TypeInt 32 1
- 89: TypePointer Function 88(int)
- 91: TypePointer UniformConstant 88(int)
- 92(u_i): 91(ptr) Variable UniformConstant
- 94: TypePointer Input 88(int)
- 95(i_i): 94(ptr) Variable Input
- 98: TypeVector 88(int) 2
- 99: TypePointer Function 98(ivec2)
- 101: TypePointer UniformConstant 98(ivec2)
- 102(u_i2): 101(ptr) Variable UniformConstant
- 104: TypePointer Input 98(ivec2)
- 105(i_i2): 104(ptr) Variable Input
- 108: TypeVector 88(int) 3
- 109: TypePointer Function 108(ivec3)
- 111: TypePointer UniformConstant 108(ivec3)
- 112(u_i3): 111(ptr) Variable UniformConstant
- 114: TypePointer Input 108(ivec3)
- 115(i_i3): 114(ptr) Variable Input
- 118: TypeVector 88(int) 4
- 119: TypePointer Function 118(ivec4)
- 121: TypePointer UniformConstant 118(ivec4)
- 122(u_i4): 121(ptr) Variable UniformConstant
- 124: TypePointer Input 118(ivec4)
- 125(i_i4): 124(ptr) Variable Input
- 128: TypeFloat 32
- 129: TypePointer Function 128(float)
- 131: TypePointer UniformConstant 128(float)
- 132(u_f): 131(ptr) Variable UniformConstant
- 134: TypePointer Input 128(float)
- 135(i_f): 134(ptr) Variable Input
- 138: TypeVector 128(float) 2
- 139: TypePointer Function 138(fvec2)
- 141: TypePointer UniformConstant 138(fvec2)
- 142(u_f2): 141(ptr) Variable UniformConstant
- 144: TypePointer Input 138(fvec2)
- 145(i_f2): 144(ptr) Variable Input
- 148: TypeVector 128(float) 3
- 149: TypePointer Function 148(fvec3)
- 151: TypePointer UniformConstant 148(fvec3)
- 152(u_f3): 151(ptr) Variable UniformConstant
- 154: TypePointer Input 148(fvec3)
- 155(i_f3): 154(ptr) Variable Input
- 158: TypeVector 128(float) 4
- 159: TypePointer Function 158(fvec4)
- 161: TypePointer UniformConstant 158(fvec4)
- 162(u_f4): 161(ptr) Variable UniformConstant
- 164: TypePointer Input 158(fvec4)
- 165(i_f4): 164(ptr) Variable Input
- 168: TypePointer Output 158(fvec4)
-169(gl_FragColor): 168(ptr) Variable Output
- 261: 128(float) Constant 1065353216
- 262: 158(fvec4) ConstantComposite 261 261 261 261
+ 6: TypeBool
+ 7: TypePointer Function 6(bool)
+ 9: TypePointer UniformConstant 6(bool)
+ 10(u_b): 9(ptr) Variable UniformConstant
+ 12(i_b): 9(ptr) Variable UniformConstant
+ 15: TypeVector 6(bool) 2
+ 16: TypePointer Function 15(bvec2)
+ 18: TypePointer UniformConstant 15(bvec2)
+ 19(u_b2): 18(ptr) Variable UniformConstant
+ 22(i_b2): 18(ptr) Variable UniformConstant
+ 33: TypeVector 6(bool) 3
+ 34: TypePointer Function 33(bvec3)
+ 36: TypePointer UniformConstant 33(bvec3)
+ 37(u_b3): 36(ptr) Variable UniformConstant
+ 40(i_b3): 36(ptr) Variable UniformConstant
+ 57: TypeVector 6(bool) 4
+ 58: TypePointer Function 57(bvec4)
+ 60: TypePointer UniformConstant 57(bvec4)
+ 61(u_b4): 60(ptr) Variable UniformConstant
+ 64(i_b4): 60(ptr) Variable UniformConstant
+ 87: TypeInt 32 1
+ 88: TypePointer Function 87(int)
+ 90: TypePointer UniformConstant 87(int)
+ 91(u_i): 90(ptr) Variable UniformConstant
+ 93: TypePointer Input 87(int)
+ 94(i_i): 93(ptr) Variable Input
+ 97: TypeVector 87(int) 2
+ 98: TypePointer Function 97(ivec2)
+ 100: TypePointer UniformConstant 97(ivec2)
+ 101(u_i2): 100(ptr) Variable UniformConstant
+ 103: TypePointer Input 97(ivec2)
+ 104(i_i2): 103(ptr) Variable Input
+ 107: TypeVector 87(int) 3
+ 108: TypePointer Function 107(ivec3)
+ 110: TypePointer UniformConstant 107(ivec3)
+ 111(u_i3): 110(ptr) Variable UniformConstant
+ 113: TypePointer Input 107(ivec3)
+ 114(i_i3): 113(ptr) Variable Input
+ 117: TypeVector 87(int) 4
+ 118: TypePointer Function 117(ivec4)
+ 120: TypePointer UniformConstant 117(ivec4)
+ 121(u_i4): 120(ptr) Variable UniformConstant
+ 123: TypePointer Input 117(ivec4)
+ 124(i_i4): 123(ptr) Variable Input
+ 127: TypeFloat 32
+ 128: TypePointer Function 127(float)
+ 130: TypePointer UniformConstant 127(float)
+ 131(u_f): 130(ptr) Variable UniformConstant
+ 133: TypePointer Input 127(float)
+ 134(i_f): 133(ptr) Variable Input
+ 137: TypeVector 127(float) 2
+ 138: TypePointer Function 137(fvec2)
+ 140: TypePointer UniformConstant 137(fvec2)
+ 141(u_f2): 140(ptr) Variable UniformConstant
+ 143: TypePointer Input 137(fvec2)
+ 144(i_f2): 143(ptr) Variable Input
+ 147: TypeVector 127(float) 3
+ 148: TypePointer Function 147(fvec3)
+ 150: TypePointer UniformConstant 147(fvec3)
+ 151(u_f3): 150(ptr) Variable UniformConstant
+ 153: TypePointer Input 147(fvec3)
+ 154(i_f3): 153(ptr) Variable Input
+ 157: TypeVector 127(float) 4
+ 158: TypePointer Function 157(fvec4)
+ 160: TypePointer UniformConstant 157(fvec4)
+ 161(u_f4): 160(ptr) Variable UniformConstant
+ 163: TypePointer Input 157(fvec4)
+ 164(i_f4): 163(ptr) Variable Input
+ 167: TypePointer Output 157(fvec4)
+168(gl_FragColor): 167(ptr) Variable Output
+ 260: 127(float) Constant 1065353216
+ 261: 157(fvec4) ConstantComposite 260 260 260 260
4(main): 2 Function None 3
5: Label
- 9(b): 8(ptr) Variable Function
- 18(b2): 17(ptr) Variable Function
- 36(b3): 35(ptr) Variable Function
- 60(b4): 59(ptr) Variable Function
- 90(i): 89(ptr) Variable Function
- 100(i2): 99(ptr) Variable Function
- 110(i3): 109(ptr) Variable Function
- 120(i4): 119(ptr) Variable Function
- 130(f): 129(ptr) Variable Function
- 140(f2): 139(ptr) Variable Function
- 150(f3): 149(ptr) Variable Function
- 160(f4): 159(ptr) Variable Function
- 170: 159(ptr) Variable Function
- 12: 7(bool) Load 11(u_b)
- 14: 7(bool) Load 13(i_b)
- 15: 7(bool) LogicalAnd 12 14
- Store 9(b) 15
- 21: 16(bvec2) Load 20(u_b2)
- 22: 7(bool) CompositeExtract 21 0
- 24: 16(bvec2) Load 23(i_b2)
- 25: 7(bool) CompositeExtract 24 0
- 26: 7(bool) LogicalAnd 22 25
- 27: 16(bvec2) Load 20(u_b2)
- 28: 7(bool) CompositeExtract 27 1
- 29: 7(bool) LogicalAnd 26 28
- 30: 16(bvec2) Load 23(i_b2)
- 31: 7(bool) CompositeExtract 30 1
- 32: 7(bool) LogicalAnd 29 31
- 33: 16(bvec2) CompositeConstruct 32 32
- Store 18(b2) 33
- 39: 34(bvec3) Load 38(u_b3)
- 40: 7(bool) CompositeExtract 39 0
- 42: 34(bvec3) Load 41(i_b3)
- 43: 7(bool) CompositeExtract 42 0
- 44: 7(bool) LogicalAnd 40 43
- 45: 34(bvec3) Load 38(u_b3)
- 46: 7(bool) CompositeExtract 45 1
- 47: 7(bool) LogicalAnd 44 46
- 48: 34(bvec3) Load 41(i_b3)
- 49: 7(bool) CompositeExtract 48 1
- 50: 7(bool) LogicalAnd 47 49
- 51: 34(bvec3) Load 38(u_b3)
- 52: 7(bool) CompositeExtract 51 2
- 53: 7(bool) LogicalAnd 50 52
- 54: 34(bvec3) Load 41(i_b3)
- 55: 7(bool) CompositeExtract 54 2
- 56: 7(bool) LogicalAnd 53 55
- 57: 34(bvec3) CompositeConstruct 56 56 56
- Store 36(b3) 57
- 63: 58(bvec4) Load 62(u_b4)
- 64: 7(bool) CompositeExtract 63 0
- 66: 58(bvec4) Load 65(i_b4)
- 67: 7(bool) CompositeExtract 66 0
- 68: 7(bool) LogicalAnd 64 67
- 69: 58(bvec4) Load 62(u_b4)
- 70: 7(bool) CompositeExtract 69 1
- 71: 7(bool) LogicalAnd 68 70
- 72: 58(bvec4) Load 65(i_b4)
- 73: 7(bool) CompositeExtract 72 1
- 74: 7(bool) LogicalAnd 71 73
- 75: 58(bvec4) Load 62(u_b4)
- 76: 7(bool) CompositeExtract 75 2
- 77: 7(bool) LogicalAnd 74 76
- 78: 58(bvec4) Load 65(i_b4)
- 79: 7(bool) CompositeExtract 78 2
- 80: 7(bool) LogicalAnd 77 79
- 81: 58(bvec4) Load 62(u_b4)
- 82: 7(bool) CompositeExtract 81 3
- 83: 7(bool) LogicalAnd 80 82
- 84: 58(bvec4) Load 65(i_b4)
- 85: 7(bool) CompositeExtract 84 3
- 86: 7(bool) LogicalAnd 83 85
- 87: 58(bvec4) CompositeConstruct 86 86 86 86
- Store 60(b4) 87
- 93: 88(int) Load 92(u_i)
- 96: 88(int) Load 95(i_i)
- 97: 88(int) IAdd 93 96
- Store 90(i) 97
- 103: 98(ivec2) Load 102(u_i2)
- 106: 98(ivec2) Load 105(i_i2)
- 107: 98(ivec2) IAdd 103 106
- Store 100(i2) 107
- 113: 108(ivec3) Load 112(u_i3)
- 116: 108(ivec3) Load 115(i_i3)
- 117: 108(ivec3) IAdd 113 116
- Store 110(i3) 117
- 123: 118(ivec4) Load 122(u_i4)
- 126: 118(ivec4) Load 125(i_i4)
- 127: 118(ivec4) IAdd 123 126
- Store 120(i4) 127
- 133: 128(float) Load 132(u_f)
- 136: 128(float) Load 135(i_f)
- 137: 128(float) FAdd 133 136
- Store 130(f) 137
- 143: 138(fvec2) Load 142(u_f2)
- 146: 138(fvec2) Load 145(i_f2)
- 147: 138(fvec2) FAdd 143 146
- Store 140(f2) 147
- 153: 148(fvec3) Load 152(u_f3)
- 156: 148(fvec3) Load 155(i_f3)
- 157: 148(fvec3) FAdd 153 156
- Store 150(f3) 157
- 163: 158(fvec4) Load 162(u_f4)
- 166: 158(fvec4) Load 165(i_f4)
- 167: 158(fvec4) FAdd 163 166
- Store 160(f4) 167
- 171: 7(bool) Load 9(b)
- 172: 16(bvec2) Load 18(b2)
- 173: 7(bool) CompositeExtract 172 0
- 174: 7(bool) LogicalOr 171 173
- 175: 16(bvec2) Load 18(b2)
- 176: 7(bool) CompositeExtract 175 1
- 177: 7(bool) LogicalOr 174 176
- 178: 34(bvec3) Load 36(b3)
- 179: 7(bool) CompositeExtract 178 0
- 180: 7(bool) LogicalOr 177 179
- 181: 34(bvec3) Load 36(b3)
- 182: 7(bool) CompositeExtract 181 1
- 183: 7(bool) LogicalOr 180 182
- 184: 34(bvec3) Load 36(b3)
- 185: 7(bool) CompositeExtract 184 2
- 186: 7(bool) LogicalOr 183 185
- 187: 58(bvec4) Load 60(b4)
- 188: 7(bool) CompositeExtract 187 0
- 189: 7(bool) LogicalOr 186 188
- 190: 58(bvec4) Load 60(b4)
- 191: 7(bool) CompositeExtract 190 1
- 192: 7(bool) LogicalOr 189 191
- 193: 58(bvec4) Load 60(b4)
- 194: 7(bool) CompositeExtract 193 2
- 195: 7(bool) LogicalOr 192 194
- 196: 58(bvec4) Load 60(b4)
- 197: 7(bool) CompositeExtract 196 3
- 198: 7(bool) LogicalOr 195 197
- SelectionMerge 200 None
- BranchConditional 198 199 260
- 199: Label
- 201: 88(int) Load 90(i)
- 202: 98(ivec2) Load 100(i2)
- 203: 88(int) CompositeExtract 202 0
- 204: 88(int) IAdd 201 203
- 205: 98(ivec2) Load 100(i2)
- 206: 88(int) CompositeExtract 205 1
- 207: 88(int) IAdd 204 206
- 208: 108(ivec3) Load 110(i3)
- 209: 88(int) CompositeExtract 208 0
- 210: 88(int) IAdd 207 209
- 211: 108(ivec3) Load 110(i3)
- 212: 88(int) CompositeExtract 211 1
- 213: 88(int) IAdd 210 212
- 214: 108(ivec3) Load 110(i3)
- 215: 88(int) CompositeExtract 214 2
- 216: 88(int) IAdd 213 215
- 217: 118(ivec4) Load 120(i4)
- 218: 88(int) CompositeExtract 217 0
- 219: 88(int) IAdd 216 218
- 220: 118(ivec4) Load 120(i4)
- 221: 88(int) CompositeExtract 220 1
- 222: 88(int) IAdd 219 221
- 223: 118(ivec4) Load 120(i4)
- 224: 88(int) CompositeExtract 223 2
- 225: 88(int) IAdd 222 224
- 226: 118(ivec4) Load 120(i4)
- 227: 88(int) CompositeExtract 226 3
- 228: 88(int) IAdd 225 227
- 229: 128(float) ConvertSToF 228
- 230: 128(float) Load 130(f)
- 231: 128(float) FAdd 229 230
- 232: 138(fvec2) Load 140(f2)
- 233: 128(float) CompositeExtract 232 0
- 234: 128(float) FAdd 231 233
- 235: 138(fvec2) Load 140(f2)
- 236: 128(float) CompositeExtract 235 1
- 237: 128(float) FAdd 234 236
- 238: 148(fvec3) Load 150(f3)
- 239: 128(float) CompositeExtract 238 0
- 240: 128(float) FAdd 237 239
- 241: 148(fvec3) Load 150(f3)
- 242: 128(float) CompositeExtract 241 1
- 243: 128(float) FAdd 240 242
- 244: 148(fvec3) Load 150(f3)
- 245: 128(float) CompositeExtract 244 2
- 246: 128(float) FAdd 243 245
- 247: 158(fvec4) Load 160(f4)
- 248: 128(float) CompositeExtract 247 0
- 249: 128(float) FAdd 246 248
- 250: 158(fvec4) Load 160(f4)
- 251: 128(float) CompositeExtract 250 1
- 252: 128(float) FAdd 249 251
- 253: 158(fvec4) Load 160(f4)
- 254: 128(float) CompositeExtract 253 2
- 255: 128(float) FAdd 252 254
- 256: 158(fvec4) Load 160(f4)
- 257: 128(float) CompositeExtract 256 3
- 258: 128(float) FAdd 255 257
- 259: 158(fvec4) CompositeConstruct 258 258 258 258
- Store 170 259
- Branch 200
- 260: Label
- Store 170 262
- Branch 200
- 200: Label
- 263: 158(fvec4) Load 170
- Store 169(gl_FragColor) 263
- Branch 6
- 6: Label
+ 8(b): 7(ptr) Variable Function
+ 17(b2): 16(ptr) Variable Function
+ 35(b3): 34(ptr) Variable Function
+ 59(b4): 58(ptr) Variable Function
+ 89(i): 88(ptr) Variable Function
+ 99(i2): 98(ptr) Variable Function
+ 109(i3): 108(ptr) Variable Function
+ 119(i4): 118(ptr) Variable Function
+ 129(f): 128(ptr) Variable Function
+ 139(f2): 138(ptr) Variable Function
+ 149(f3): 148(ptr) Variable Function
+ 159(f4): 158(ptr) Variable Function
+ 169: 158(ptr) Variable Function
+ 11: 6(bool) Load 10(u_b)
+ 13: 6(bool) Load 12(i_b)
+ 14: 6(bool) LogicalAnd 11 13
+ Store 8(b) 14
+ 20: 15(bvec2) Load 19(u_b2)
+ 21: 6(bool) CompositeExtract 20 0
+ 23: 15(bvec2) Load 22(i_b2)
+ 24: 6(bool) CompositeExtract 23 0
+ 25: 6(bool) LogicalAnd 21 24
+ 26: 15(bvec2) Load 19(u_b2)
+ 27: 6(bool) CompositeExtract 26 1
+ 28: 6(bool) LogicalAnd 25 27
+ 29: 15(bvec2) Load 22(i_b2)
+ 30: 6(bool) CompositeExtract 29 1
+ 31: 6(bool) LogicalAnd 28 30
+ 32: 15(bvec2) CompositeConstruct 31 31
+ Store 17(b2) 32
+ 38: 33(bvec3) Load 37(u_b3)
+ 39: 6(bool) CompositeExtract 38 0
+ 41: 33(bvec3) Load 40(i_b3)
+ 42: 6(bool) CompositeExtract 41 0
+ 43: 6(bool) LogicalAnd 39 42
+ 44: 33(bvec3) Load 37(u_b3)
+ 45: 6(bool) CompositeExtract 44 1
+ 46: 6(bool) LogicalAnd 43 45
+ 47: 33(bvec3) Load 40(i_b3)
+ 48: 6(bool) CompositeExtract 47 1
+ 49: 6(bool) LogicalAnd 46 48
+ 50: 33(bvec3) Load 37(u_b3)
+ 51: 6(bool) CompositeExtract 50 2
+ 52: 6(bool) LogicalAnd 49 51
+ 53: 33(bvec3) Load 40(i_b3)
+ 54: 6(bool) CompositeExtract 53 2
+ 55: 6(bool) LogicalAnd 52 54
+ 56: 33(bvec3) CompositeConstruct 55 55 55
+ Store 35(b3) 56
+ 62: 57(bvec4) Load 61(u_b4)
+ 63: 6(bool) CompositeExtract 62 0
+ 65: 57(bvec4) Load 64(i_b4)
+ 66: 6(bool) CompositeExtract 65 0
+ 67: 6(bool) LogicalAnd 63 66
+ 68: 57(bvec4) Load 61(u_b4)
+ 69: 6(bool) CompositeExtract 68 1
+ 70: 6(bool) LogicalAnd 67 69
+ 71: 57(bvec4) Load 64(i_b4)
+ 72: 6(bool) CompositeExtract 71 1
+ 73: 6(bool) LogicalAnd 70 72
+ 74: 57(bvec4) Load 61(u_b4)
+ 75: 6(bool) CompositeExtract 74 2
+ 76: 6(bool) LogicalAnd 73 75
+ 77: 57(bvec4) Load 64(i_b4)
+ 78: 6(bool) CompositeExtract 77 2
+ 79: 6(bool) LogicalAnd 76 78
+ 80: 57(bvec4) Load 61(u_b4)
+ 81: 6(bool) CompositeExtract 80 3
+ 82: 6(bool) LogicalAnd 79 81
+ 83: 57(bvec4) Load 64(i_b4)
+ 84: 6(bool) CompositeExtract 83 3
+ 85: 6(bool) LogicalAnd 82 84
+ 86: 57(bvec4) CompositeConstruct 85 85 85 85
+ Store 59(b4) 86
+ 92: 87(int) Load 91(u_i)
+ 95: 87(int) Load 94(i_i)
+ 96: 87(int) IAdd 92 95
+ Store 89(i) 96
+ 102: 97(ivec2) Load 101(u_i2)
+ 105: 97(ivec2) Load 104(i_i2)
+ 106: 97(ivec2) IAdd 102 105
+ Store 99(i2) 106
+ 112: 107(ivec3) Load 111(u_i3)
+ 115: 107(ivec3) Load 114(i_i3)
+ 116: 107(ivec3) IAdd 112 115
+ Store 109(i3) 116
+ 122: 117(ivec4) Load 121(u_i4)
+ 125: 117(ivec4) Load 124(i_i4)
+ 126: 117(ivec4) IAdd 122 125
+ Store 119(i4) 126
+ 132: 127(float) Load 131(u_f)
+ 135: 127(float) Load 134(i_f)
+ 136: 127(float) FAdd 132 135
+ Store 129(f) 136
+ 142: 137(fvec2) Load 141(u_f2)
+ 145: 137(fvec2) Load 144(i_f2)
+ 146: 137(fvec2) FAdd 142 145
+ Store 139(f2) 146
+ 152: 147(fvec3) Load 151(u_f3)
+ 155: 147(fvec3) Load 154(i_f3)
+ 156: 147(fvec3) FAdd 152 155
+ Store 149(f3) 156
+ 162: 157(fvec4) Load 161(u_f4)
+ 165: 157(fvec4) Load 164(i_f4)
+ 166: 157(fvec4) FAdd 162 165
+ Store 159(f4) 166
+ 170: 6(bool) Load 8(b)
+ 171: 15(bvec2) Load 17(b2)
+ 172: 6(bool) CompositeExtract 171 0
+ 173: 6(bool) LogicalOr 170 172
+ 174: 15(bvec2) Load 17(b2)
+ 175: 6(bool) CompositeExtract 174 1
+ 176: 6(bool) LogicalOr 173 175
+ 177: 33(bvec3) Load 35(b3)
+ 178: 6(bool) CompositeExtract 177 0
+ 179: 6(bool) LogicalOr 176 178
+ 180: 33(bvec3) Load 35(b3)
+ 181: 6(bool) CompositeExtract 180 1
+ 182: 6(bool) LogicalOr 179 181
+ 183: 33(bvec3) Load 35(b3)
+ 184: 6(bool) CompositeExtract 183 2
+ 185: 6(bool) LogicalOr 182 184
+ 186: 57(bvec4) Load 59(b4)
+ 187: 6(bool) CompositeExtract 186 0
+ 188: 6(bool) LogicalOr 185 187
+ 189: 57(bvec4) Load 59(b4)
+ 190: 6(bool) CompositeExtract 189 1
+ 191: 6(bool) LogicalOr 188 190
+ 192: 57(bvec4) Load 59(b4)
+ 193: 6(bool) CompositeExtract 192 2
+ 194: 6(bool) LogicalOr 191 193
+ 195: 57(bvec4) Load 59(b4)
+ 196: 6(bool) CompositeExtract 195 3
+ 197: 6(bool) LogicalOr 194 196
+ SelectionMerge 199 None
+ BranchConditional 197 198 259
+ 198: Label
+ 200: 87(int) Load 89(i)
+ 201: 97(ivec2) Load 99(i2)
+ 202: 87(int) CompositeExtract 201 0
+ 203: 87(int) IAdd 200 202
+ 204: 97(ivec2) Load 99(i2)
+ 205: 87(int) CompositeExtract 204 1
+ 206: 87(int) IAdd 203 205
+ 207: 107(ivec3) Load 109(i3)
+ 208: 87(int) CompositeExtract 207 0
+ 209: 87(int) IAdd 206 208
+ 210: 107(ivec3) Load 109(i3)
+ 211: 87(int) CompositeExtract 210 1
+ 212: 87(int) IAdd 209 211
+ 213: 107(ivec3) Load 109(i3)
+ 214: 87(int) CompositeExtract 213 2
+ 215: 87(int) IAdd 212 214
+ 216: 117(ivec4) Load 119(i4)
+ 217: 87(int) CompositeExtract 216 0
+ 218: 87(int) IAdd 215 217
+ 219: 117(ivec4) Load 119(i4)
+ 220: 87(int) CompositeExtract 219 1
+ 221: 87(int) IAdd 218 220
+ 222: 117(ivec4) Load 119(i4)
+ 223: 87(int) CompositeExtract 222 2
+ 224: 87(int) IAdd 221 223
+ 225: 117(ivec4) Load 119(i4)
+ 226: 87(int) CompositeExtract 225 3
+ 227: 87(int) IAdd 224 226
+ 228: 127(float) ConvertSToF 227
+ 229: 127(float) Load 129(f)
+ 230: 127(float) FAdd 228 229
+ 231: 137(fvec2) Load 139(f2)
+ 232: 127(float) CompositeExtract 231 0
+ 233: 127(float) FAdd 230 232
+ 234: 137(fvec2) Load 139(f2)
+ 235: 127(float) CompositeExtract 234 1
+ 236: 127(float) FAdd 233 235
+ 237: 147(fvec3) Load 149(f3)
+ 238: 127(float) CompositeExtract 237 0
+ 239: 127(float) FAdd 236 238
+ 240: 147(fvec3) Load 149(f3)
+ 241: 127(float) CompositeExtract 240 1
+ 242: 127(float) FAdd 239 241
+ 243: 147(fvec3) Load 149(f3)
+ 244: 127(float) CompositeExtract 243 2
+ 245: 127(float) FAdd 242 244
+ 246: 157(fvec4) Load 159(f4)
+ 247: 127(float) CompositeExtract 246 0
+ 248: 127(float) FAdd 245 247
+ 249: 157(fvec4) Load 159(f4)
+ 250: 127(float) CompositeExtract 249 1
+ 251: 127(float) FAdd 248 250
+ 252: 157(fvec4) Load 159(f4)
+ 253: 127(float) CompositeExtract 252 2
+ 254: 127(float) FAdd 251 253
+ 255: 157(fvec4) Load 159(f4)
+ 256: 127(float) CompositeExtract 255 3
+ 257: 127(float) FAdd 254 256
+ 258: 157(fvec4) CompositeConstruct 257 257 257 257
+ Store 169 258
+ Branch 199
+ 259: Label
+ Store 169 261
+ Branch 199
+ 199: Label
+ 262: 157(fvec4) Load 169
+ Store 168(gl_FragColor) 262
Return
FunctionEnd
diff --git a/Test/baseResults/spv.uint.frag.out b/Test/baseResults/spv.uint.frag.out
index 4a839ca..d7951a9 100755
--- a/Test/baseResults/spv.uint.frag.out
+++ b/Test/baseResults/spv.uint.frag.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 207
+// Id's are bound by 206
Source ESSL 300
Capability Shader
@@ -14,344 +14,342 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 9 "count"
- Name 13 "u"
- Name 16 "t"
- Name 54 "shiftedii"
- Name 56 "shiftedui"
- Name 58 "shiftediu"
- Name 59 "shifteduu"
- Name 67 "c"
- Name 71 "usampler"
- Name 76 "tc"
- Name 109 "af"
- Name 113 "ab"
- Name 117 "ai"
- Name 152 "mask1"
- Name 154 "mask2"
- Name 156 "mask3"
- Name 160 "mask4"
- Name 200 "f"
- Name 202 "v"
- Name 204 "i"
- Name 206 "b"
- Decorate 9(count) RelaxedPrecision
- Decorate 13(u) RelaxedPrecision
- Decorate 16(t) RelaxedPrecision
- Decorate 16(t) Flat
- Decorate 54(shiftedii) RelaxedPrecision
- Decorate 56(shiftedui) RelaxedPrecision
- Decorate 58(shiftediu) RelaxedPrecision
- Decorate 59(shifteduu) RelaxedPrecision
- Decorate 67(c) RelaxedPrecision
- Decorate 71(usampler) RelaxedPrecision
- Decorate 76(tc) RelaxedPrecision
- Decorate 76(tc) Smooth
- Decorate 109(af) RelaxedPrecision
- Decorate 117(ai) RelaxedPrecision
- Decorate 152(mask1) RelaxedPrecision
- Decorate 154(mask2) RelaxedPrecision
- Decorate 156(mask3) RelaxedPrecision
- Decorate 160(mask4) RelaxedPrecision
- Decorate 200(f) RelaxedPrecision
- Decorate 200(f) Smooth
- Decorate 200(f) NoStaticUse
- Decorate 202(v) RelaxedPrecision
- Decorate 202(v) NoStaticUse
- Decorate 204(i) RelaxedPrecision
- Decorate 204(i) NoStaticUse
- Decorate 206(b) NoStaticUse
+ Name 8 "count"
+ Name 12 "u"
+ Name 15 "t"
+ Name 53 "shiftedii"
+ Name 55 "shiftedui"
+ Name 57 "shiftediu"
+ Name 58 "shifteduu"
+ Name 66 "c"
+ Name 70 "usampler"
+ Name 75 "tc"
+ Name 108 "af"
+ Name 112 "ab"
+ Name 116 "ai"
+ Name 151 "mask1"
+ Name 153 "mask2"
+ Name 155 "mask3"
+ Name 159 "mask4"
+ Name 199 "f"
+ Name 201 "v"
+ Name 203 "i"
+ Name 205 "b"
+ Decorate 8(count) RelaxedPrecision
+ Decorate 12(u) RelaxedPrecision
+ Decorate 15(t) RelaxedPrecision
+ Decorate 15(t) Flat
+ Decorate 53(shiftedii) RelaxedPrecision
+ Decorate 55(shiftedui) RelaxedPrecision
+ Decorate 57(shiftediu) RelaxedPrecision
+ Decorate 58(shifteduu) RelaxedPrecision
+ Decorate 66(c) RelaxedPrecision
+ Decorate 70(usampler) RelaxedPrecision
+ Decorate 75(tc) RelaxedPrecision
+ Decorate 75(tc) Smooth
+ Decorate 108(af) RelaxedPrecision
+ Decorate 116(ai) RelaxedPrecision
+ Decorate 151(mask1) RelaxedPrecision
+ Decorate 153(mask2) RelaxedPrecision
+ Decorate 155(mask3) RelaxedPrecision
+ Decorate 159(mask4) RelaxedPrecision
+ Decorate 199(f) RelaxedPrecision
+ Decorate 199(f) Smooth
+ Decorate 199(f) NoStaticUse
+ Decorate 201(v) RelaxedPrecision
+ Decorate 201(v) NoStaticUse
+ Decorate 203(i) RelaxedPrecision
+ Decorate 203(i) NoStaticUse
+ Decorate 205(b) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeInt 32 1
- 8: TypePointer Function 7(int)
- 10: 7(int) Constant 1
- 11: TypeInt 32 0
- 12: TypePointer Function 11(int)
- 14: TypeVector 11(int) 2
- 15: TypePointer Input 14(ivec2)
- 16(t): 15(ptr) Variable Input
- 19: 11(int) Constant 3
- 21: TypeBool
- 22: 21(bool) ConstantTrue
- 25: 7(int) Constant 2
- 30: 7(int) Constant 3
- 33: 21(bool) ConstantFalse
- 36: 7(int) Constant 5
- 41: 7(int) Constant 7
- 46: 7(int) Constant 11
- 51: 7(int) Constant 13
- 55: 7(int) Constant 4294967295
- 57: 11(int) Constant 4194303
- 65: TypeVector 11(int) 4
- 66: TypePointer Output 65(ivec4)
- 67(c): 66(ptr) Variable Output
- 68: TypeImage 11(int) 2D sampled format:Unknown
- 69: TypeSampledImage 68
- 70: TypePointer UniformConstant 69
- 71(usampler): 70(ptr) Variable UniformConstant
- 73: TypeFloat 32
- 74: TypeVector 73(float) 2
- 75: TypePointer Input 74(fvec2)
- 76(tc): 75(ptr) Variable Input
- 86: 73(float) Constant 1065353216
- 98: 73(float) Constant 1073741824
- 99: 74(fvec2) ConstantComposite 98 98
- 104: 11(int) Constant 4
- 108: TypePointer Function 73(float)
- 112: TypePointer Function 21(bool)
- 115: 11(int) Constant 0
- 123: 11(int) Constant 1
- 134: 7(int) Constant 17
- 139: 7(int) Constant 19
- 144: 7(int) Constant 23
- 149: 7(int) Constant 27
- 153: 11(int) Constant 161
- 155: 11(int) Constant 2576
- 158: 7(int) Constant 4
- 161: 11(int) Constant 2737
- 199: TypePointer Input 73(float)
- 200(f): 199(ptr) Variable Input
- 201: TypePointer UniformConstant 65(ivec4)
- 202(v): 201(ptr) Variable UniformConstant
- 203: TypePointer UniformConstant 7(int)
- 204(i): 203(ptr) Variable UniformConstant
- 205: TypePointer UniformConstant 21(bool)
- 206(b): 205(ptr) Variable UniformConstant
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 1
+ 10: TypeInt 32 0
+ 11: TypePointer Function 10(int)
+ 13: TypeVector 10(int) 2
+ 14: TypePointer Input 13(ivec2)
+ 15(t): 14(ptr) Variable Input
+ 18: 10(int) Constant 3
+ 20: TypeBool
+ 21: 20(bool) ConstantTrue
+ 24: 6(int) Constant 2
+ 29: 6(int) Constant 3
+ 32: 20(bool) ConstantFalse
+ 35: 6(int) Constant 5
+ 40: 6(int) Constant 7
+ 45: 6(int) Constant 11
+ 50: 6(int) Constant 13
+ 54: 6(int) Constant 4294967295
+ 56: 10(int) Constant 4194303
+ 64: TypeVector 10(int) 4
+ 65: TypePointer Output 64(ivec4)
+ 66(c): 65(ptr) Variable Output
+ 67: TypeImage 10(int) 2D sampled format:Unknown
+ 68: TypeSampledImage 67
+ 69: TypePointer UniformConstant 68
+ 70(usampler): 69(ptr) Variable UniformConstant
+ 72: TypeFloat 32
+ 73: TypeVector 72(float) 2
+ 74: TypePointer Input 73(fvec2)
+ 75(tc): 74(ptr) Variable Input
+ 85: 72(float) Constant 1065353216
+ 97: 72(float) Constant 1073741824
+ 98: 73(fvec2) ConstantComposite 97 97
+ 103: 10(int) Constant 4
+ 107: TypePointer Function 72(float)
+ 111: TypePointer Function 20(bool)
+ 114: 10(int) Constant 0
+ 122: 10(int) Constant 1
+ 133: 6(int) Constant 17
+ 138: 6(int) Constant 19
+ 143: 6(int) Constant 23
+ 148: 6(int) Constant 27
+ 152: 10(int) Constant 161
+ 154: 10(int) Constant 2576
+ 157: 6(int) Constant 4
+ 160: 10(int) Constant 2737
+ 198: TypePointer Input 72(float)
+ 199(f): 198(ptr) Variable Input
+ 200: TypePointer UniformConstant 64(ivec4)
+ 201(v): 200(ptr) Variable UniformConstant
+ 202: TypePointer UniformConstant 6(int)
+ 203(i): 202(ptr) Variable UniformConstant
+ 204: TypePointer UniformConstant 20(bool)
+ 205(b): 204(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
- 9(count): 8(ptr) Variable Function
- 13(u): 12(ptr) Variable Function
- 54(shiftedii): 8(ptr) Variable Function
- 56(shiftedui): 12(ptr) Variable Function
- 58(shiftediu): 8(ptr) Variable Function
- 59(shifteduu): 12(ptr) Variable Function
- 109(af): 108(ptr) Variable Function
- 113(ab): 112(ptr) Variable Function
- 117(ai): 8(ptr) Variable Function
- 152(mask1): 12(ptr) Variable Function
- 154(mask2): 12(ptr) Variable Function
- 156(mask3): 12(ptr) Variable Function
- 160(mask4): 12(ptr) Variable Function
- Store 9(count) 10
- 17: 14(ivec2) Load 16(t)
- 18: 11(int) CompositeExtract 17 1
- 20: 11(int) IAdd 18 19
- Store 13(u) 20
- SelectionMerge 24 None
- BranchConditional 22 23 24
- 23: Label
- 26: 7(int) Load 9(count)
- 27: 7(int) IMul 26 25
- Store 9(count) 27
- Branch 24
- 24: Label
- SelectionMerge 29 None
- BranchConditional 22 28 29
- 28: Label
- 31: 7(int) Load 9(count)
- 32: 7(int) IMul 31 30
- Store 9(count) 32
- Branch 29
- 29: Label
- SelectionMerge 35 None
- BranchConditional 33 34 35
- 34: Label
- 37: 7(int) Load 9(count)
- 38: 7(int) IMul 37 36
- Store 9(count) 38
- Branch 35
- 35: Label
- SelectionMerge 40 None
- BranchConditional 22 39 40
- 39: Label
- 42: 7(int) Load 9(count)
- 43: 7(int) IMul 42 41
- Store 9(count) 43
- Branch 40
- 40: Label
- SelectionMerge 45 None
- BranchConditional 22 44 45
- 44: Label
- 47: 7(int) Load 9(count)
- 48: 7(int) IMul 47 46
- Store 9(count) 48
- Branch 45
- 45: Label
- SelectionMerge 50 None
- BranchConditional 33 49 50
- 49: Label
- 52: 7(int) Load 9(count)
- 53: 7(int) IMul 52 51
- Store 9(count) 53
- Branch 50
- 50: Label
- Store 54(shiftedii) 55
- Store 56(shiftedui) 57
- Store 58(shiftediu) 55
- Store 59(shifteduu) 57
- 60: 7(int) Load 54(shiftedii)
- 61: 7(int) Load 58(shiftediu)
- 62: 21(bool) IEqual 60 61
- SelectionMerge 64 None
- BranchConditional 62 63 64
- 63: Label
- 72: 69 Load 71(usampler)
- 77: 74(fvec2) Load 76(tc)
- 78: 65(ivec4) ImageSampleImplicitLod 72 77
- Store 67(c) 78
- Branch 64
- 64: Label
- 79: 11(int) Load 56(shiftedui)
- 80: 11(int) Load 59(shifteduu)
- 81: 21(bool) IEqual 79 80
- SelectionMerge 83 None
- BranchConditional 81 82 83
- 82: Label
- 84: 69 Load 71(usampler)
- 85: 74(fvec2) Load 76(tc)
- 87: 74(fvec2) CompositeConstruct 86 86
- 88: 74(fvec2) FAdd 85 87
- 89: 65(ivec4) ImageSampleImplicitLod 84 88
- Store 67(c) 89
- Branch 83
- 83: Label
- 90: 7(int) Load 54(shiftedii)
- 91: 11(int) Load 56(shiftedui)
- 92: 7(int) Bitcast 91
- 93: 21(bool) IEqual 90 92
- SelectionMerge 95 None
- BranchConditional 93 94 95
- 94: Label
- 96: 69 Load 71(usampler)
- 97: 74(fvec2) Load 76(tc)
- 100: 74(fvec2) FSub 97 99
- 101: 65(ivec4) ImageSampleImplicitLod 96 100
- Store 67(c) 101
- Branch 95
- 95: Label
- 102: 14(ivec2) Load 16(t)
- 103: 11(int) CompositeExtract 102 0
- 105: 21(bool) UGreaterThan 103 104
- SelectionMerge 107 None
- BranchConditional 105 106 107
- 106: Label
- 110: 11(int) Load 13(u)
- 111: 73(float) ConvertUToF 110
- Store 109(af) 111
- 114: 11(int) Load 13(u)
- 116: 21(bool) INotEqual 114 115
- Store 113(ab) 116
- 118: 11(int) Load 13(u)
- 119: 7(int) Bitcast 118
- Store 117(ai) 119
- 120: 73(float) Load 109(af)
- 121: 11(int) ConvertFToU 120
- 122: 21(bool) Load 113(ab)
- 124: 11(int) Select 122 123 115
- 125: 7(int) Load 117(ai)
- 126: 11(int) Bitcast 125
- 127: 7(int) Load 9(count)
- 128: 11(int) Bitcast 127
- 129: 65(ivec4) CompositeConstruct 121 124 126 128
- 130: 65(ivec4) Load 67(c)
- 131: 65(ivec4) IAdd 130 129
- Store 67(c) 131
- Branch 107
- 107: Label
- SelectionMerge 133 None
- BranchConditional 22 132 133
- 132: Label
- 135: 7(int) Load 9(count)
- 136: 7(int) IMul 135 134
- Store 9(count) 136
- Branch 133
- 133: Label
- SelectionMerge 138 None
- BranchConditional 33 137 138
- 137: Label
- 140: 7(int) Load 9(count)
- 141: 7(int) IMul 140 139
- Store 9(count) 141
- Branch 138
- 138: Label
- SelectionMerge 143 None
- BranchConditional 22 142 143
- 142: Label
- 145: 7(int) Load 9(count)
- 146: 7(int) IMul 145 144
- Store 9(count) 146
- Branch 143
- 143: Label
- SelectionMerge 148 None
- BranchConditional 22 147 148
- 147: Label
- 150: 7(int) Load 9(count)
- 151: 7(int) IMul 150 149
- Store 9(count) 151
- Branch 148
- 148: Label
- Store 152(mask1) 153
- Store 154(mask2) 155
- 157: 11(int) Load 152(mask1)
- 159: 11(int) ShiftLeftLogical 157 158
- Store 156(mask3) 159
- Store 160(mask4) 161
- 162: 11(int) Load 156(mask3)
- 163: 11(int) Load 154(mask2)
- 164: 21(bool) IEqual 162 163
- SelectionMerge 166 None
- BranchConditional 164 165 166
- 165: Label
- 167: 7(int) Load 9(count)
- 168: 7(int) IMul 167 25
- Store 9(count) 168
- Branch 166
- 166: Label
- 169: 11(int) Load 156(mask3)
- 170: 11(int) Load 152(mask1)
- 171: 11(int) BitwiseAnd 169 170
- 172: 21(bool) INotEqual 171 115
- SelectionMerge 174 None
- BranchConditional 172 173 174
- 173: Label
- 175: 7(int) Load 9(count)
- 176: 7(int) IMul 175 30
- Store 9(count) 176
- Branch 174
- 174: Label
- 177: 11(int) Load 152(mask1)
- 178: 11(int) Load 156(mask3)
- 179: 11(int) BitwiseOr 177 178
- 180: 11(int) Load 160(mask4)
- 181: 21(bool) IEqual 179 180
- SelectionMerge 183 None
- BranchConditional 181 182 183
- 182: Label
- 184: 7(int) Load 9(count)
- 185: 7(int) IMul 184 36
- Store 9(count) 185
- Branch 183
- 183: Label
- 186: 11(int) Load 152(mask1)
- 187: 11(int) Load 160(mask4)
- 188: 11(int) BitwiseXor 186 187
- 189: 21(bool) IEqual 188 155
- SelectionMerge 191 None
- BranchConditional 189 190 191
- 190: Label
- 192: 7(int) Load 9(count)
- 193: 7(int) IMul 192 41
- Store 9(count) 193
- Branch 191
- 191: Label
- 194: 7(int) Load 9(count)
- 195: 11(int) Bitcast 194
- 196: 65(ivec4) CompositeConstruct 195 195 195 195
- 197: 65(ivec4) Load 67(c)
- 198: 65(ivec4) IAdd 197 196
- Store 67(c) 198
- Branch 6
- 6: Label
+ 8(count): 7(ptr) Variable Function
+ 12(u): 11(ptr) Variable Function
+ 53(shiftedii): 7(ptr) Variable Function
+ 55(shiftedui): 11(ptr) Variable Function
+ 57(shiftediu): 7(ptr) Variable Function
+ 58(shifteduu): 11(ptr) Variable Function
+ 108(af): 107(ptr) Variable Function
+ 112(ab): 111(ptr) Variable Function
+ 116(ai): 7(ptr) Variable Function
+ 151(mask1): 11(ptr) Variable Function
+ 153(mask2): 11(ptr) Variable Function
+ 155(mask3): 11(ptr) Variable Function
+ 159(mask4): 11(ptr) Variable Function
+ Store 8(count) 9
+ 16: 13(ivec2) Load 15(t)
+ 17: 10(int) CompositeExtract 16 1
+ 19: 10(int) IAdd 17 18
+ Store 12(u) 19
+ SelectionMerge 23 None
+ BranchConditional 21 22 23
+ 22: Label
+ 25: 6(int) Load 8(count)
+ 26: 6(int) IMul 25 24
+ Store 8(count) 26
+ Branch 23
+ 23: Label
+ SelectionMerge 28 None
+ BranchConditional 21 27 28
+ 27: Label
+ 30: 6(int) Load 8(count)
+ 31: 6(int) IMul 30 29
+ Store 8(count) 31
+ Branch 28
+ 28: Label
+ SelectionMerge 34 None
+ BranchConditional 32 33 34
+ 33: Label
+ 36: 6(int) Load 8(count)
+ 37: 6(int) IMul 36 35
+ Store 8(count) 37
+ Branch 34
+ 34: Label
+ SelectionMerge 39 None
+ BranchConditional 21 38 39
+ 38: Label
+ 41: 6(int) Load 8(count)
+ 42: 6(int) IMul 41 40
+ Store 8(count) 42
+ Branch 39
+ 39: Label
+ SelectionMerge 44 None
+ BranchConditional 21 43 44
+ 43: Label
+ 46: 6(int) Load 8(count)
+ 47: 6(int) IMul 46 45
+ Store 8(count) 47
+ Branch 44
+ 44: Label
+ SelectionMerge 49 None
+ BranchConditional 32 48 49
+ 48: Label
+ 51: 6(int) Load 8(count)
+ 52: 6(int) IMul 51 50
+ Store 8(count) 52
+ Branch 49
+ 49: Label
+ Store 53(shiftedii) 54
+ Store 55(shiftedui) 56
+ Store 57(shiftediu) 54
+ Store 58(shifteduu) 56
+ 59: 6(int) Load 53(shiftedii)
+ 60: 6(int) Load 57(shiftediu)
+ 61: 20(bool) IEqual 59 60
+ SelectionMerge 63 None
+ BranchConditional 61 62 63
+ 62: Label
+ 71: 68 Load 70(usampler)
+ 76: 73(fvec2) Load 75(tc)
+ 77: 64(ivec4) ImageSampleImplicitLod 71 76
+ Store 66(c) 77
+ Branch 63
+ 63: Label
+ 78: 10(int) Load 55(shiftedui)
+ 79: 10(int) Load 58(shifteduu)
+ 80: 20(bool) IEqual 78 79
+ SelectionMerge 82 None
+ BranchConditional 80 81 82
+ 81: Label
+ 83: 68 Load 70(usampler)
+ 84: 73(fvec2) Load 75(tc)
+ 86: 73(fvec2) CompositeConstruct 85 85
+ 87: 73(fvec2) FAdd 84 86
+ 88: 64(ivec4) ImageSampleImplicitLod 83 87
+ Store 66(c) 88
+ Branch 82
+ 82: Label
+ 89: 6(int) Load 53(shiftedii)
+ 90: 10(int) Load 55(shiftedui)
+ 91: 6(int) Bitcast 90
+ 92: 20(bool) IEqual 89 91
+ SelectionMerge 94 None
+ BranchConditional 92 93 94
+ 93: Label
+ 95: 68 Load 70(usampler)
+ 96: 73(fvec2) Load 75(tc)
+ 99: 73(fvec2) FSub 96 98
+ 100: 64(ivec4) ImageSampleImplicitLod 95 99
+ Store 66(c) 100
+ Branch 94
+ 94: Label
+ 101: 13(ivec2) Load 15(t)
+ 102: 10(int) CompositeExtract 101 0
+ 104: 20(bool) UGreaterThan 102 103
+ SelectionMerge 106 None
+ BranchConditional 104 105 106
+ 105: Label
+ 109: 10(int) Load 12(u)
+ 110: 72(float) ConvertUToF 109
+ Store 108(af) 110
+ 113: 10(int) Load 12(u)
+ 115: 20(bool) INotEqual 113 114
+ Store 112(ab) 115
+ 117: 10(int) Load 12(u)
+ 118: 6(int) Bitcast 117
+ Store 116(ai) 118
+ 119: 72(float) Load 108(af)
+ 120: 10(int) ConvertFToU 119
+ 121: 20(bool) Load 112(ab)
+ 123: 10(int) Select 121 122 114
+ 124: 6(int) Load 116(ai)
+ 125: 10(int) Bitcast 124
+ 126: 6(int) Load 8(count)
+ 127: 10(int) Bitcast 126
+ 128: 64(ivec4) CompositeConstruct 120 123 125 127
+ 129: 64(ivec4) Load 66(c)
+ 130: 64(ivec4) IAdd 129 128
+ Store 66(c) 130
+ Branch 106
+ 106: Label
+ SelectionMerge 132 None
+ BranchConditional 21 131 132
+ 131: Label
+ 134: 6(int) Load 8(count)
+ 135: 6(int) IMul 134 133
+ Store 8(count) 135
+ Branch 132
+ 132: Label
+ SelectionMerge 137 None
+ BranchConditional 32 136 137
+ 136: Label
+ 139: 6(int) Load 8(count)
+ 140: 6(int) IMul 139 138
+ Store 8(count) 140
+ Branch 137
+ 137: Label
+ SelectionMerge 142 None
+ BranchConditional 21 141 142
+ 141: Label
+ 144: 6(int) Load 8(count)
+ 145: 6(int) IMul 144 143
+ Store 8(count) 145
+ Branch 142
+ 142: Label
+ SelectionMerge 147 None
+ BranchConditional 21 146 147
+ 146: Label
+ 149: 6(int) Load 8(count)
+ 150: 6(int) IMul 149 148
+ Store 8(count) 150
+ Branch 147
+ 147: Label
+ Store 151(mask1) 152
+ Store 153(mask2) 154
+ 156: 10(int) Load 151(mask1)
+ 158: 10(int) ShiftLeftLogical 156 157
+ Store 155(mask3) 158
+ Store 159(mask4) 160
+ 161: 10(int) Load 155(mask3)
+ 162: 10(int) Load 153(mask2)
+ 163: 20(bool) IEqual 161 162
+ SelectionMerge 165 None
+ BranchConditional 163 164 165
+ 164: Label
+ 166: 6(int) Load 8(count)
+ 167: 6(int) IMul 166 24
+ Store 8(count) 167
+ Branch 165
+ 165: Label
+ 168: 10(int) Load 155(mask3)
+ 169: 10(int) Load 151(mask1)
+ 170: 10(int) BitwiseAnd 168 169
+ 171: 20(bool) INotEqual 170 114
+ SelectionMerge 173 None
+ BranchConditional 171 172 173
+ 172: Label
+ 174: 6(int) Load 8(count)
+ 175: 6(int) IMul 174 29
+ Store 8(count) 175
+ Branch 173
+ 173: Label
+ 176: 10(int) Load 151(mask1)
+ 177: 10(int) Load 155(mask3)
+ 178: 10(int) BitwiseOr 176 177
+ 179: 10(int) Load 159(mask4)
+ 180: 20(bool) IEqual 178 179
+ SelectionMerge 182 None
+ BranchConditional 180 181 182
+ 181: Label
+ 183: 6(int) Load 8(count)
+ 184: 6(int) IMul 183 35
+ Store 8(count) 184
+ Branch 182
+ 182: Label
+ 185: 10(int) Load 151(mask1)
+ 186: 10(int) Load 159(mask4)
+ 187: 10(int) BitwiseXor 185 186
+ 188: 20(bool) IEqual 187 154
+ SelectionMerge 190 None
+ BranchConditional 188 189 190
+ 189: Label
+ 191: 6(int) Load 8(count)
+ 192: 6(int) IMul 191 40
+ Store 8(count) 192
+ Branch 190
+ 190: Label
+ 193: 6(int) Load 8(count)
+ 194: 10(int) Bitcast 193
+ 195: 64(ivec4) CompositeConstruct 194 194 194 194
+ 196: 64(ivec4) Load 66(c)
+ 197: 64(ivec4) IAdd 196 195
+ Store 66(c) 197
Return
FunctionEnd
diff --git a/Test/baseResults/spv.uniformArray.frag.out b/Test/baseResults/spv.uniformArray.frag.out
index d2f7910..b653609 100755
--- a/Test/baseResults/spv.uniformArray.frag.out
+++ b/Test/baseResults/spv.uniformArray.frag.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 53
+// Id's are bound by 52
Source GLSL 130
Capability Shader
@@ -14,69 +14,67 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 10 "texColor"
- Name 15 "color"
- Name 26 "inColor"
- Name 36 "alpha"
- Name 47 "gl_FragColor"
- Name 52 "texSampler2D"
- Decorate 47(gl_FragColor) BuiltIn FragColor
- Decorate 52(texSampler2D) NoStaticUse
+ Name 9 "texColor"
+ Name 14 "color"
+ Name 25 "inColor"
+ Name 35 "alpha"
+ Name 46 "gl_FragColor"
+ Name 51 "texSampler2D"
+ Decorate 46(gl_FragColor) BuiltIn FragColor
+ Decorate 51(texSampler2D) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeVector 7(float) 4
- 9: TypePointer Function 8(fvec4)
- 11: TypeInt 32 0
- 12: 11(int) Constant 6
- 13: TypeArray 8(fvec4) 12
- 14: TypePointer UniformConstant 13
- 15(color): 14(ptr) Variable UniformConstant
- 16: TypeInt 32 1
- 17: 16(int) Constant 1
- 18: TypePointer UniformConstant 8(fvec4)
- 24: TypeVector 7(float) 3
- 25: TypePointer UniformConstant 24(fvec3)
- 26(inColor): 25(ptr) Variable UniformConstant
- 33: 11(int) Constant 16
- 34: TypeArray 7(float) 33
- 35: TypePointer UniformConstant 34
- 36(alpha): 35(ptr) Variable UniformConstant
- 37: 16(int) Constant 12
- 38: TypePointer UniformConstant 7(float)
- 46: TypePointer Output 8(fvec4)
-47(gl_FragColor): 46(ptr) Variable Output
- 49: TypeImage 7(float) 2D sampled format:Unknown
- 50: TypeSampledImage 49
- 51: TypePointer UniformConstant 50
-52(texSampler2D): 51(ptr) Variable UniformConstant
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypeInt 32 0
+ 11: 10(int) Constant 6
+ 12: TypeArray 7(fvec4) 11
+ 13: TypePointer UniformConstant 12
+ 14(color): 13(ptr) Variable UniformConstant
+ 15: TypeInt 32 1
+ 16: 15(int) Constant 1
+ 17: TypePointer UniformConstant 7(fvec4)
+ 23: TypeVector 6(float) 3
+ 24: TypePointer UniformConstant 23(fvec3)
+ 25(inColor): 24(ptr) Variable UniformConstant
+ 32: 10(int) Constant 16
+ 33: TypeArray 6(float) 32
+ 34: TypePointer UniformConstant 33
+ 35(alpha): 34(ptr) Variable UniformConstant
+ 36: 15(int) Constant 12
+ 37: TypePointer UniformConstant 6(float)
+ 45: TypePointer Output 7(fvec4)
+46(gl_FragColor): 45(ptr) Variable Output
+ 48: TypeImage 6(float) 2D sampled format:Unknown
+ 49: TypeSampledImage 48
+ 50: TypePointer UniformConstant 49
+51(texSampler2D): 50(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
- 10(texColor): 9(ptr) Variable Function
- 19: 18(ptr) AccessChain 15(color) 17
- 20: 8(fvec4) Load 19
- 21: 18(ptr) AccessChain 15(color) 17
- 22: 8(fvec4) Load 21
- 23: 8(fvec4) FAdd 20 22
- Store 10(texColor) 23
- 27: 24(fvec3) Load 26(inColor)
- 28: 8(fvec4) Load 10(texColor)
- 29: 24(fvec3) VectorShuffle 28 28 0 1 2
- 30: 24(fvec3) FAdd 29 27
- 31: 8(fvec4) Load 10(texColor)
- 32: 8(fvec4) VectorShuffle 31 30 4 5 6 3
- Store 10(texColor) 32
- 39: 38(ptr) AccessChain 36(alpha) 37
- 40: 7(float) Load 39
- 41: 8(fvec4) Load 10(texColor)
- 42: 7(float) CompositeExtract 41 3
- 43: 7(float) FAdd 42 40
- 44: 8(fvec4) Load 10(texColor)
- 45: 8(fvec4) CompositeInsert 43 44 3
- Store 10(texColor) 45
- 48: 8(fvec4) Load 10(texColor)
- Store 47(gl_FragColor) 48
- Branch 6
- 6: Label
+ 9(texColor): 8(ptr) Variable Function
+ 18: 17(ptr) AccessChain 14(color) 16
+ 19: 7(fvec4) Load 18
+ 20: 17(ptr) AccessChain 14(color) 16
+ 21: 7(fvec4) Load 20
+ 22: 7(fvec4) FAdd 19 21
+ Store 9(texColor) 22
+ 26: 23(fvec3) Load 25(inColor)
+ 27: 7(fvec4) Load 9(texColor)
+ 28: 23(fvec3) VectorShuffle 27 27 0 1 2
+ 29: 23(fvec3) FAdd 28 26
+ 30: 7(fvec4) Load 9(texColor)
+ 31: 7(fvec4) VectorShuffle 30 29 4 5 6 3
+ Store 9(texColor) 31
+ 38: 37(ptr) AccessChain 35(alpha) 36
+ 39: 6(float) Load 38
+ 40: 7(fvec4) Load 9(texColor)
+ 41: 6(float) CompositeExtract 40 3
+ 42: 6(float) FAdd 41 39
+ 43: 7(fvec4) Load 9(texColor)
+ 44: 7(fvec4) CompositeInsert 42 43 3
+ Store 9(texColor) 44
+ 47: 7(fvec4) Load 9(texColor)
+ Store 46(gl_FragColor) 47
Return
FunctionEnd
diff --git a/Test/baseResults/spv.variableArrayIndex.frag.out b/Test/baseResults/spv.variableArrayIndex.frag.out
index 5931d59..215c22a 100755
--- a/Test/baseResults/spv.variableArrayIndex.frag.out
+++ b/Test/baseResults/spv.variableArrayIndex.frag.out
@@ -7,7 +7,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 94
+// Id's are bound by 93
Source GLSL 130
Capability Shader
@@ -16,133 +16,131 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 9 "iLocal"
- Name 11 "Count"
- Name 14 "lunarStruct1"
- MemberName 14(lunarStruct1) 0 "i"
- MemberName 14(lunarStruct1) 1 "f"
- Name 15 "lunarStruct2"
- MemberName 15(lunarStruct2) 0 "i"
- MemberName 15(lunarStruct2) 1 "f"
- MemberName 15(lunarStruct2) 2 "s1_1"
- Name 19 "lunarStruct3"
- MemberName 19(lunarStruct3) 0 "s2_1"
- MemberName 19(lunarStruct3) 1 "i"
- MemberName 19(lunarStruct3) 2 "f"
- MemberName 19(lunarStruct3) 3 "s1_1"
- Name 21 "foo3"
- Name 31 "scale"
- Name 35 "foo2"
- Name 37 "foo"
- Name 55 "gl_FragColor"
- Name 60 "sampler"
- Name 64 "coord"
- Name 70 "constructed"
- Decorate 55(gl_FragColor) BuiltIn FragColor
- Decorate 64(coord) Smooth
+ Name 8 "iLocal"
+ Name 10 "Count"
+ Name 13 "lunarStruct1"
+ MemberName 13(lunarStruct1) 0 "i"
+ MemberName 13(lunarStruct1) 1 "f"
+ Name 14 "lunarStruct2"
+ MemberName 14(lunarStruct2) 0 "i"
+ MemberName 14(lunarStruct2) 1 "f"
+ MemberName 14(lunarStruct2) 2 "s1_1"
+ Name 18 "lunarStruct3"
+ MemberName 18(lunarStruct3) 0 "s2_1"
+ MemberName 18(lunarStruct3) 1 "i"
+ MemberName 18(lunarStruct3) 2 "f"
+ MemberName 18(lunarStruct3) 3 "s1_1"
+ Name 20 "foo3"
+ Name 30 "scale"
+ Name 34 "foo2"
+ Name 36 "foo"
+ Name 54 "gl_FragColor"
+ Name 59 "sampler"
+ Name 63 "coord"
+ Name 69 "constructed"
+ Decorate 54(gl_FragColor) BuiltIn FragColor
+ Decorate 63(coord) Smooth
2: TypeVoid
3: TypeFunction 2
- 7: TypeInt 32 1
- 8: TypePointer Function 7(int)
- 10: TypePointer UniformConstant 7(int)
- 11(Count): 10(ptr) Variable UniformConstant
- 13: TypeFloat 32
-14(lunarStruct1): TypeStruct 7(int) 13(float)
-15(lunarStruct2): TypeStruct 7(int) 13(float) 14(lunarStruct1)
- 16: TypeInt 32 0
- 17: 16(int) Constant 3
- 18: TypeArray 15(lunarStruct2) 17
-19(lunarStruct3): TypeStruct 18 7(int) 13(float) 14(lunarStruct1)
- 20: TypePointer UniformConstant 19(lunarStruct3)
- 21(foo3): 20(ptr) Variable UniformConstant
- 22: 7(int) Constant 0
- 23: 7(int) Constant 1
- 26: TypeBool
- 30: TypePointer Function 13(float)
- 32: 16(int) Constant 5
- 33: TypeArray 15(lunarStruct2) 32
- 34: TypePointer UniformConstant 33
- 35(foo2): 34(ptr) Variable UniformConstant
- 36: TypePointer UniformConstant 14(lunarStruct1)
- 37(foo): 36(ptr) Variable UniformConstant
- 42: 7(int) Constant 2
- 47: TypePointer UniformConstant 13(float)
- 53: TypeVector 13(float) 4
- 54: TypePointer Output 53(fvec4)
-55(gl_FragColor): 54(ptr) Variable Output
- 57: TypeImage 13(float) 2D sampled format:Unknown
- 58: TypeSampledImage 57
- 59: TypePointer UniformConstant 58
- 60(sampler): 59(ptr) Variable UniformConstant
- 62: TypeVector 13(float) 2
- 63: TypePointer Input 62(fvec2)
- 64(coord): 63(ptr) Variable Input
- 68: TypeArray 62(fvec2) 17
- 69: TypePointer Function 68
- 74: 13(float) Constant 1065353216
- 75: 13(float) Constant 1073741824
- 76: 62(fvec2) ConstantComposite 74 75
- 80: TypePointer Function 62(fvec2)
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: TypePointer UniformConstant 6(int)
+ 10(Count): 9(ptr) Variable UniformConstant
+ 12: TypeFloat 32
+13(lunarStruct1): TypeStruct 6(int) 12(float)
+14(lunarStruct2): TypeStruct 6(int) 12(float) 13(lunarStruct1)
+ 15: TypeInt 32 0
+ 16: 15(int) Constant 3
+ 17: TypeArray 14(lunarStruct2) 16
+18(lunarStruct3): TypeStruct 17 6(int) 12(float) 13(lunarStruct1)
+ 19: TypePointer UniformConstant 18(lunarStruct3)
+ 20(foo3): 19(ptr) Variable UniformConstant
+ 21: 6(int) Constant 0
+ 22: 6(int) Constant 1
+ 25: TypeBool
+ 29: TypePointer Function 12(float)
+ 31: 15(int) Constant 5
+ 32: TypeArray 14(lunarStruct2) 31
+ 33: TypePointer UniformConstant 32
+ 34(foo2): 33(ptr) Variable UniformConstant
+ 35: TypePointer UniformConstant 13(lunarStruct1)
+ 36(foo): 35(ptr) Variable UniformConstant
+ 41: 6(int) Constant 2
+ 46: TypePointer UniformConstant 12(float)
+ 52: TypeVector 12(float) 4
+ 53: TypePointer Output 52(fvec4)
+54(gl_FragColor): 53(ptr) Variable Output
+ 56: TypeImage 12(float) 2D sampled format:Unknown
+ 57: TypeSampledImage 56
+ 58: TypePointer UniformConstant 57
+ 59(sampler): 58(ptr) Variable UniformConstant
+ 61: TypeVector 12(float) 2
+ 62: TypePointer Input 61(fvec2)
+ 63(coord): 62(ptr) Variable Input
+ 67: TypeArray 61(fvec2) 16
+ 68: TypePointer Function 67
+ 73: 12(float) Constant 1065353216
+ 74: 12(float) Constant 1073741824
+ 75: 61(fvec2) ConstantComposite 73 74
+ 79: TypePointer Function 61(fvec2)
4(main): 2 Function None 3
5: Label
- 9(iLocal): 8(ptr) Variable Function
- 31(scale): 30(ptr) Variable Function
- 70(constructed): 69(ptr) Variable Function
- 12: 7(int) Load 11(Count)
- Store 9(iLocal) 12
- 24: 10(ptr) AccessChain 21(foo3) 22 23 22
- 25: 7(int) Load 24
- 27: 26(bool) SGreaterThan 25 22
- SelectionMerge 29 None
- BranchConditional 27 28 50
- 28: Label
- 38: 10(ptr) AccessChain 37(foo) 22
- 39: 7(int) Load 38
- 40: 10(ptr) AccessChain 21(foo3) 22 39 22
- 41: 7(int) Load 40
- 43: 7(int) IAdd 41 42
- 44: 7(int) Load 9(iLocal)
- 45: 7(int) IAdd 44 23
- Store 9(iLocal) 45
- 46: 7(int) IAdd 43 45
- 48: 47(ptr) AccessChain 35(foo2) 46 42 23
- 49: 13(float) Load 48
- Store 31(scale) 49
- Branch 29
- 50: Label
- 51: 47(ptr) AccessChain 21(foo3) 22 22 42 23
- 52: 13(float) Load 51
- Store 31(scale) 52
- Branch 29
- 29: Label
- 56: 13(float) Load 31(scale)
- 61: 58 Load 60(sampler)
- 65: 62(fvec2) Load 64(coord)
- 66: 53(fvec4) ImageSampleImplicitLod 61 65
- 67: 53(fvec4) VectorTimesScalar 66 56
- Store 55(gl_FragColor) 67
- 71: 62(fvec2) Load 64(coord)
- 72: 13(float) Load 31(scale)
- 73: 62(fvec2) CompositeConstruct 72 72
- 77: 68 CompositeConstruct 71 73 76
- Store 70(constructed) 77
- 78: 10(ptr) AccessChain 37(foo) 22
- 79: 7(int) Load 78
- 81: 80(ptr) AccessChain 70(constructed) 79
- 82: 62(fvec2) Load 81
- 83: 10(ptr) AccessChain 37(foo) 22
- 84: 7(int) Load 83
- 85: 80(ptr) AccessChain 70(constructed) 84
- 86: 62(fvec2) Load 85
- 87: 13(float) CompositeExtract 82 0
- 88: 13(float) CompositeExtract 82 1
- 89: 13(float) CompositeExtract 86 0
- 90: 13(float) CompositeExtract 86 1
- 91: 53(fvec4) CompositeConstruct 87 88 89 90
- 92: 53(fvec4) Load 55(gl_FragColor)
- 93: 53(fvec4) FAdd 92 91
- Store 55(gl_FragColor) 93
- Branch 6
- 6: Label
+ 8(iLocal): 7(ptr) Variable Function
+ 30(scale): 29(ptr) Variable Function
+ 69(constructed): 68(ptr) Variable Function
+ 11: 6(int) Load 10(Count)
+ Store 8(iLocal) 11
+ 23: 9(ptr) AccessChain 20(foo3) 21 22 21
+ 24: 6(int) Load 23
+ 26: 25(bool) SGreaterThan 24 21
+ SelectionMerge 28 None
+ BranchConditional 26 27 49
+ 27: Label
+ 37: 9(ptr) AccessChain 36(foo) 21
+ 38: 6(int) Load 37
+ 39: 9(ptr) AccessChain 20(foo3) 21 38 21
+ 40: 6(int) Load 39
+ 42: 6(int) IAdd 40 41
+ 43: 6(int) Load 8(iLocal)
+ 44: 6(int) IAdd 43 22
+ Store 8(iLocal) 44
+ 45: 6(int) IAdd 42 44
+ 47: 46(ptr) AccessChain 34(foo2) 45 41 22
+ 48: 12(float) Load 47
+ Store 30(scale) 48
+ Branch 28
+ 49: Label
+ 50: 46(ptr) AccessChain 20(foo3) 21 21 41 22
+ 51: 12(float) Load 50
+ Store 30(scale) 51
+ Branch 28
+ 28: Label
+ 55: 12(float) Load 30(scale)
+ 60: 57 Load 59(sampler)
+ 64: 61(fvec2) Load 63(coord)
+ 65: 52(fvec4) ImageSampleImplicitLod 60 64
+ 66: 52(fvec4) VectorTimesScalar 65 55
+ Store 54(gl_FragColor) 66
+ 70: 61(fvec2) Load 63(coord)
+ 71: 12(float) Load 30(scale)
+ 72: 61(fvec2) CompositeConstruct 71 71
+ 76: 67 CompositeConstruct 70 72 75
+ Store 69(constructed) 76
+ 77: 9(ptr) AccessChain 36(foo) 21
+ 78: 6(int) Load 77
+ 80: 79(ptr) AccessChain 69(constructed) 78
+ 81: 61(fvec2) Load 80
+ 82: 9(ptr) AccessChain 36(foo) 21
+ 83: 6(int) Load 82
+ 84: 79(ptr) AccessChain 69(constructed) 83
+ 85: 61(fvec2) Load 84
+ 86: 12(float) CompositeExtract 81 0
+ 87: 12(float) CompositeExtract 81 1
+ 88: 12(float) CompositeExtract 85 0
+ 89: 12(float) CompositeExtract 85 1
+ 90: 52(fvec4) CompositeConstruct 86 87 88 89
+ 91: 52(fvec4) Load 54(gl_FragColor)
+ 92: 52(fvec4) FAdd 91 90
+ Store 54(gl_FragColor) 92
Return
FunctionEnd
diff --git a/Test/baseResults/spv.varyingArray.frag.out b/Test/baseResults/spv.varyingArray.frag.out
index 848470f..f42947f 100755
--- a/Test/baseResults/spv.varyingArray.frag.out
+++ b/Test/baseResults/spv.varyingArray.frag.out
@@ -10,7 +10,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 62
+// Id's are bound by 61
Source GLSL 130
Capability Shader
@@ -19,82 +19,80 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 10 "texColor"
- Name 14 "texSampler2D"
- Name 20 "gl_TexCoord"
- Name 35 "color"
- Name 40 "alpha"
- Name 45 "gl_FragColor"
- Name 49 "foo"
- Decorate 20(gl_TexCoord) Smooth
- Decorate 35(color) Smooth
- Decorate 40(alpha) Smooth
- Decorate 45(gl_FragColor) BuiltIn FragColor
- Decorate 49(foo) Smooth
+ Name 9 "texColor"
+ Name 13 "texSampler2D"
+ Name 19 "gl_TexCoord"
+ Name 34 "color"
+ Name 39 "alpha"
+ Name 44 "gl_FragColor"
+ Name 48 "foo"
+ Decorate 19(gl_TexCoord) Smooth
+ Decorate 34(color) Smooth
+ Decorate 39(alpha) Smooth
+ Decorate 44(gl_FragColor) BuiltIn FragColor
+ Decorate 48(foo) Smooth
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeVector 7(float) 4
- 9: TypePointer Function 8(fvec4)
- 11: TypeImage 7(float) 2D sampled format:Unknown
- 12: TypeSampledImage 11
- 13: TypePointer UniformConstant 12
-14(texSampler2D): 13(ptr) Variable UniformConstant
- 16: TypeInt 32 0
- 17: 16(int) Constant 6
- 18: TypeArray 8(fvec4) 17
- 19: TypePointer Input 18
- 20(gl_TexCoord): 19(ptr) Variable Input
- 21: TypeInt 32 1
- 22: 21(int) Constant 4
- 23: TypePointer Input 8(fvec4)
- 26: 21(int) Constant 5
- 30: TypeVector 7(float) 2
- 35(color): 23(ptr) Variable Input
- 39: TypePointer Input 7(float)
- 40(alpha): 39(ptr) Variable Input
- 44: TypePointer Output 8(fvec4)
-45(gl_FragColor): 44(ptr) Variable Output
- 46: 16(int) Constant 3
- 47: TypeArray 8(fvec4) 46
- 48: TypePointer Input 47
- 49(foo): 48(ptr) Variable Input
- 50: 21(int) Constant 1
- 53: 21(int) Constant 0
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypeImage 6(float) 2D sampled format:Unknown
+ 11: TypeSampledImage 10
+ 12: TypePointer UniformConstant 11
+13(texSampler2D): 12(ptr) Variable UniformConstant
+ 15: TypeInt 32 0
+ 16: 15(int) Constant 6
+ 17: TypeArray 7(fvec4) 16
+ 18: TypePointer Input 17
+ 19(gl_TexCoord): 18(ptr) Variable Input
+ 20: TypeInt 32 1
+ 21: 20(int) Constant 4
+ 22: TypePointer Input 7(fvec4)
+ 25: 20(int) Constant 5
+ 29: TypeVector 6(float) 2
+ 34(color): 22(ptr) Variable Input
+ 38: TypePointer Input 6(float)
+ 39(alpha): 38(ptr) Variable Input
+ 43: TypePointer Output 7(fvec4)
+44(gl_FragColor): 43(ptr) Variable Output
+ 45: 15(int) Constant 3
+ 46: TypeArray 7(fvec4) 45
+ 47: TypePointer Input 46
+ 48(foo): 47(ptr) Variable Input
+ 49: 20(int) Constant 1
+ 52: 20(int) Constant 0
4(main): 2 Function None 3
5: Label
- 10(texColor): 9(ptr) Variable Function
- 15: 12 Load 14(texSampler2D)
- 24: 23(ptr) AccessChain 20(gl_TexCoord) 22
- 25: 8(fvec4) Load 24
- 27: 23(ptr) AccessChain 20(gl_TexCoord) 26
- 28: 8(fvec4) Load 27
- 29: 8(fvec4) FAdd 25 28
- 31: 7(float) CompositeExtract 29 0
- 32: 7(float) CompositeExtract 29 1
- 33: 30(fvec2) CompositeConstruct 31 32
- 34: 8(fvec4) ImageSampleImplicitLod 15 33
- Store 10(texColor) 34
- 36: 8(fvec4) Load 35(color)
- 37: 8(fvec4) Load 10(texColor)
- 38: 8(fvec4) FAdd 37 36
- Store 10(texColor) 38
- 41: 7(float) Load 40(alpha)
- 42: 8(fvec4) Load 10(texColor)
- 43: 8(fvec4) CompositeInsert 41 42 3
- Store 10(texColor) 43
- 51: 23(ptr) AccessChain 49(foo) 50
- 52: 8(fvec4) Load 51
- 54: 23(ptr) AccessChain 20(gl_TexCoord) 53
- 55: 8(fvec4) Load 54
- 56: 8(fvec4) FAdd 52 55
- 57: 23(ptr) AccessChain 20(gl_TexCoord) 22
- 58: 8(fvec4) Load 57
- 59: 8(fvec4) FAdd 56 58
- 60: 8(fvec4) Load 10(texColor)
- 61: 8(fvec4) FAdd 59 60
- Store 45(gl_FragColor) 61
- Branch 6
- 6: Label
+ 9(texColor): 8(ptr) Variable Function
+ 14: 11 Load 13(texSampler2D)
+ 23: 22(ptr) AccessChain 19(gl_TexCoord) 21
+ 24: 7(fvec4) Load 23
+ 26: 22(ptr) AccessChain 19(gl_TexCoord) 25
+ 27: 7(fvec4) Load 26
+ 28: 7(fvec4) FAdd 24 27
+ 30: 6(float) CompositeExtract 28 0
+ 31: 6(float) CompositeExtract 28 1
+ 32: 29(fvec2) CompositeConstruct 30 31
+ 33: 7(fvec4) ImageSampleImplicitLod 14 32
+ Store 9(texColor) 33
+ 35: 7(fvec4) Load 34(color)
+ 36: 7(fvec4) Load 9(texColor)
+ 37: 7(fvec4) FAdd 36 35
+ Store 9(texColor) 37
+ 40: 6(float) Load 39(alpha)
+ 41: 7(fvec4) Load 9(texColor)
+ 42: 7(fvec4) CompositeInsert 40 41 3
+ Store 9(texColor) 42
+ 50: 22(ptr) AccessChain 48(foo) 49
+ 51: 7(fvec4) Load 50
+ 53: 22(ptr) AccessChain 19(gl_TexCoord) 52
+ 54: 7(fvec4) Load 53
+ 55: 7(fvec4) FAdd 51 54
+ 56: 22(ptr) AccessChain 19(gl_TexCoord) 21
+ 57: 7(fvec4) Load 56
+ 58: 7(fvec4) FAdd 55 57
+ 59: 7(fvec4) Load 9(texColor)
+ 60: 7(fvec4) FAdd 58 59
+ Store 44(gl_FragColor) 60
Return
FunctionEnd
diff --git a/Test/baseResults/spv.varyingArrayIndirect.frag.out b/Test/baseResults/spv.varyingArrayIndirect.frag.out
index 9dfe588..a6db896 100755
--- a/Test/baseResults/spv.varyingArrayIndirect.frag.out
+++ b/Test/baseResults/spv.varyingArrayIndirect.frag.out
@@ -10,7 +10,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 70
+// Id's are bound by 69
Source GLSL 130
Capability Shader
@@ -19,92 +19,90 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 10 "texColor"
- Name 14 "texSampler2D"
- Name 20 "userIn"
- Name 23 "b"
- Name 31 "gl_TexCoord"
- Name 32 "a"
- Name 46 "color"
- Name 51 "alpha"
- Name 56 "gl_FragColor"
- Decorate 20(userIn) Smooth
- Decorate 31(gl_TexCoord) Smooth
- Decorate 46(color) Smooth
- Decorate 51(alpha) Smooth
- Decorate 56(gl_FragColor) BuiltIn FragColor
+ Name 9 "texColor"
+ Name 13 "texSampler2D"
+ Name 19 "userIn"
+ Name 22 "b"
+ Name 30 "gl_TexCoord"
+ Name 31 "a"
+ Name 45 "color"
+ Name 50 "alpha"
+ Name 55 "gl_FragColor"
+ Decorate 19(userIn) Smooth
+ Decorate 30(gl_TexCoord) Smooth
+ Decorate 45(color) Smooth
+ Decorate 50(alpha) Smooth
+ Decorate 55(gl_FragColor) BuiltIn FragColor
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeVector 7(float) 4
- 9: TypePointer Function 8(fvec4)
- 11: TypeImage 7(float) 2D sampled format:Unknown
- 12: TypeSampledImage 11
- 13: TypePointer UniformConstant 12
-14(texSampler2D): 13(ptr) Variable UniformConstant
- 16: TypeInt 32 0
- 17: 16(int) Constant 2
- 18: TypeArray 8(fvec4) 17
- 19: TypePointer Input 18
- 20(userIn): 19(ptr) Variable Input
- 21: TypeInt 32 1
- 22: TypePointer UniformConstant 21(int)
- 23(b): 22(ptr) Variable UniformConstant
- 25: TypePointer Input 8(fvec4)
- 28: 16(int) Constant 6
- 29: TypeArray 8(fvec4) 28
- 30: TypePointer Input 29
- 31(gl_TexCoord): 30(ptr) Variable Input
- 32(a): 22(ptr) Variable UniformConstant
- 37: 21(int) Constant 5
- 41: TypeVector 7(float) 2
- 46(color): 25(ptr) Variable Input
- 50: TypePointer Input 7(float)
- 51(alpha): 50(ptr) Variable Input
- 55: TypePointer Output 8(fvec4)
-56(gl_FragColor): 55(ptr) Variable Output
- 57: 21(int) Constant 0
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypeImage 6(float) 2D sampled format:Unknown
+ 11: TypeSampledImage 10
+ 12: TypePointer UniformConstant 11
+13(texSampler2D): 12(ptr) Variable UniformConstant
+ 15: TypeInt 32 0
+ 16: 15(int) Constant 2
+ 17: TypeArray 7(fvec4) 16
+ 18: TypePointer Input 17
+ 19(userIn): 18(ptr) Variable Input
+ 20: TypeInt 32 1
+ 21: TypePointer UniformConstant 20(int)
+ 22(b): 21(ptr) Variable UniformConstant
+ 24: TypePointer Input 7(fvec4)
+ 27: 15(int) Constant 6
+ 28: TypeArray 7(fvec4) 27
+ 29: TypePointer Input 28
+ 30(gl_TexCoord): 29(ptr) Variable Input
+ 31(a): 21(ptr) Variable UniformConstant
+ 36: 20(int) Constant 5
+ 40: TypeVector 6(float) 2
+ 45(color): 24(ptr) Variable Input
+ 49: TypePointer Input 6(float)
+ 50(alpha): 49(ptr) Variable Input
+ 54: TypePointer Output 7(fvec4)
+55(gl_FragColor): 54(ptr) Variable Output
+ 56: 20(int) Constant 0
4(main): 2 Function None 3
5: Label
- 10(texColor): 9(ptr) Variable Function
- 15: 12 Load 14(texSampler2D)
- 24: 21(int) Load 23(b)
- 26: 25(ptr) AccessChain 20(userIn) 24
- 27: 8(fvec4) Load 26
- 33: 21(int) Load 32(a)
- 34: 25(ptr) AccessChain 31(gl_TexCoord) 33
- 35: 8(fvec4) Load 34
- 36: 8(fvec4) FAdd 27 35
- 38: 25(ptr) AccessChain 31(gl_TexCoord) 37
- 39: 8(fvec4) Load 38
- 40: 8(fvec4) FAdd 36 39
- 42: 7(float) CompositeExtract 40 0
- 43: 7(float) CompositeExtract 40 1
- 44: 41(fvec2) CompositeConstruct 42 43
- 45: 8(fvec4) ImageSampleImplicitLod 15 44
- Store 10(texColor) 45
- 47: 8(fvec4) Load 46(color)
- 48: 8(fvec4) Load 10(texColor)
- 49: 8(fvec4) FAdd 48 47
- Store 10(texColor) 49
- 52: 7(float) Load 51(alpha)
- 53: 8(fvec4) Load 10(texColor)
- 54: 8(fvec4) CompositeInsert 52 53 3
- Store 10(texColor) 54
- 58: 25(ptr) AccessChain 31(gl_TexCoord) 57
- 59: 8(fvec4) Load 58
- 60: 21(int) Load 23(b)
- 61: 25(ptr) AccessChain 31(gl_TexCoord) 60
- 62: 8(fvec4) Load 61
- 63: 8(fvec4) FAdd 59 62
- 64: 8(fvec4) Load 10(texColor)
- 65: 8(fvec4) FAdd 63 64
- 66: 21(int) Load 32(a)
- 67: 25(ptr) AccessChain 20(userIn) 66
- 68: 8(fvec4) Load 67
- 69: 8(fvec4) FAdd 65 68
- Store 56(gl_FragColor) 69
- Branch 6
- 6: Label
+ 9(texColor): 8(ptr) Variable Function
+ 14: 11 Load 13(texSampler2D)
+ 23: 20(int) Load 22(b)
+ 25: 24(ptr) AccessChain 19(userIn) 23
+ 26: 7(fvec4) Load 25
+ 32: 20(int) Load 31(a)
+ 33: 24(ptr) AccessChain 30(gl_TexCoord) 32
+ 34: 7(fvec4) Load 33
+ 35: 7(fvec4) FAdd 26 34
+ 37: 24(ptr) AccessChain 30(gl_TexCoord) 36
+ 38: 7(fvec4) Load 37
+ 39: 7(fvec4) FAdd 35 38
+ 41: 6(float) CompositeExtract 39 0
+ 42: 6(float) CompositeExtract 39 1
+ 43: 40(fvec2) CompositeConstruct 41 42
+ 44: 7(fvec4) ImageSampleImplicitLod 14 43
+ Store 9(texColor) 44
+ 46: 7(fvec4) Load 45(color)
+ 47: 7(fvec4) Load 9(texColor)
+ 48: 7(fvec4) FAdd 47 46
+ Store 9(texColor) 48
+ 51: 6(float) Load 50(alpha)
+ 52: 7(fvec4) Load 9(texColor)
+ 53: 7(fvec4) CompositeInsert 51 52 3
+ Store 9(texColor) 53
+ 57: 24(ptr) AccessChain 30(gl_TexCoord) 56
+ 58: 7(fvec4) Load 57
+ 59: 20(int) Load 22(b)
+ 60: 24(ptr) AccessChain 30(gl_TexCoord) 59
+ 61: 7(fvec4) Load 60
+ 62: 7(fvec4) FAdd 58 61
+ 63: 7(fvec4) Load 9(texColor)
+ 64: 7(fvec4) FAdd 62 63
+ 65: 20(int) Load 31(a)
+ 66: 24(ptr) AccessChain 19(userIn) 65
+ 67: 7(fvec4) Load 66
+ 68: 7(fvec4) FAdd 64 67
+ Store 55(gl_FragColor) 68
Return
FunctionEnd
diff --git a/Test/baseResults/spv.voidFunction.frag.out b/Test/baseResults/spv.voidFunction.frag.out
index 6e288de..a5086d3 100755
--- a/Test/baseResults/spv.voidFunction.frag.out
+++ b/Test/baseResults/spv.voidFunction.frag.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 43
+// Id's are bound by 42
Source GLSL 120
Capability Shader
@@ -14,67 +14,65 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 7 "foo("
- Name 9 "foo2("
- Name 13 "bar"
- Name 23 "outColor"
- Name 25 "bigColor"
- Name 36 "gl_FragColor"
- Name 40 "BaseColor"
- Name 42 "d"
- Decorate 36(gl_FragColor) BuiltIn FragColor
- Decorate 40(BaseColor) Smooth
- Decorate 40(BaseColor) NoStaticUse
- Decorate 42(d) NoStaticUse
+ Name 6 "foo("
+ Name 8 "foo2("
+ Name 12 "bar"
+ Name 22 "outColor"
+ Name 24 "bigColor"
+ Name 35 "gl_FragColor"
+ Name 39 "BaseColor"
+ Name 41 "d"
+ Decorate 35(gl_FragColor) BuiltIn FragColor
+ Decorate 39(BaseColor) Smooth
+ Decorate 39(BaseColor) NoStaticUse
+ Decorate 41(d) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 11: TypeFloat 32
- 12: TypePointer PrivateGlobal 11(float)
- 13(bar): 12(ptr) Variable PrivateGlobal
- 14: 11(float) Constant 1073741824
- 16: 11(float) Constant 1065353216
- 21: TypeVector 11(float) 4
- 22: TypePointer Function 21(fvec4)
- 24: TypePointer UniformConstant 21(fvec4)
- 25(bigColor): 24(ptr) Variable UniformConstant
- 35: TypePointer Output 21(fvec4)
-36(gl_FragColor): 35(ptr) Variable Output
- 39: TypePointer Input 21(fvec4)
- 40(BaseColor): 39(ptr) Variable Input
- 41: TypePointer UniformConstant 11(float)
- 42(d): 41(ptr) Variable UniformConstant
+ 10: TypeFloat 32
+ 11: TypePointer PrivateGlobal 10(float)
+ 12(bar): 11(ptr) Variable PrivateGlobal
+ 13: 10(float) Constant 1073741824
+ 15: 10(float) Constant 1065353216
+ 20: TypeVector 10(float) 4
+ 21: TypePointer Function 20(fvec4)
+ 23: TypePointer UniformConstant 20(fvec4)
+ 24(bigColor): 23(ptr) Variable UniformConstant
+ 34: TypePointer Output 20(fvec4)
+35(gl_FragColor): 34(ptr) Variable Output
+ 38: TypePointer Input 20(fvec4)
+ 39(BaseColor): 38(ptr) Variable Input
+ 40: TypePointer UniformConstant 10(float)
+ 41(d): 40(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
- 23(outColor): 22(ptr) Variable Function
- Store 13(bar) 14
- 26: 21(fvec4) Load 25(bigColor)
- Store 23(outColor) 26
- 27: 2 FunctionCall 7(foo()
- 28: 2 FunctionCall 9(foo2()
- 29: 11(float) Load 13(bar)
- 30: 21(fvec4) Load 23(outColor)
- 31: 11(float) CompositeExtract 30 0
- 32: 11(float) FAdd 31 29
- 33: 21(fvec4) Load 23(outColor)
- 34: 21(fvec4) CompositeInsert 32 33 0
- Store 23(outColor) 34
- 37: 21(fvec4) Load 23(outColor)
- Store 36(gl_FragColor) 37
- Branch 6
- 6: Label
+ 22(outColor): 21(ptr) Variable Function
+ Store 12(bar) 13
+ 25: 20(fvec4) Load 24(bigColor)
+ Store 22(outColor) 25
+ 26: 2 FunctionCall 6(foo()
+ 27: 2 FunctionCall 8(foo2()
+ 28: 10(float) Load 12(bar)
+ 29: 20(fvec4) Load 22(outColor)
+ 30: 10(float) CompositeExtract 29 0
+ 31: 10(float) FAdd 30 28
+ 32: 20(fvec4) Load 22(outColor)
+ 33: 20(fvec4) CompositeInsert 31 32 0
+ Store 22(outColor) 33
+ 36: 20(fvec4) Load 22(outColor)
+ Store 35(gl_FragColor) 36
Return
FunctionEnd
- 7(foo(): 2 Function None 3
- 8: Label
- 15: 11(float) Load 13(bar)
- 17: 11(float) FAdd 15 16
- Store 13(bar) 17
+ 6(foo(): 2 Function None 3
+ 7: Label
+ 14: 10(float) Load 12(bar)
+ 16: 10(float) FAdd 14 15
+ Store 12(bar) 16
Return
FunctionEnd
- 9(foo2(): 2 Function None 3
- 10: Label
- 19: 11(float) Load 13(bar)
- 20: 11(float) FAdd 19 16
- Store 13(bar) 20
+ 8(foo2(): 2 Function None 3
+ 9: Label
+ 18: 10(float) Load 12(bar)
+ 19: 10(float) FAdd 18 15
+ Store 12(bar) 19
Return
FunctionEnd
diff --git a/Test/baseResults/spv.while-continue-break.vert.out b/Test/baseResults/spv.while-continue-break.vert.out
index 1dba3c8..533e4cb 100755
--- a/Test/baseResults/spv.while-continue-break.vert.out
+++ b/Test/baseResults/spv.while-continue-break.vert.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 43
+// Id's are bound by 42
Source ESSL 300
Capability Shader
@@ -13,78 +13,76 @@
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main"
Name 4 "main"
- Name 9 "i"
- Name 18 "A"
- Name 26 "B"
- Name 28 "C"
- Name 38 "D"
- Name 41 "gl_VertexID"
- Name 42 "gl_InstanceID"
- Decorate 41(gl_VertexID) BuiltIn VertexId
- Decorate 41(gl_VertexID) NoStaticUse
- Decorate 42(gl_InstanceID) BuiltIn InstanceId
- Decorate 42(gl_InstanceID) NoStaticUse
+ Name 8 "i"
+ Name 17 "A"
+ Name 25 "B"
+ Name 27 "C"
+ Name 37 "D"
+ Name 40 "gl_VertexID"
+ Name 41 "gl_InstanceID"
+ Decorate 40(gl_VertexID) BuiltIn VertexId
+ Decorate 40(gl_VertexID) NoStaticUse
+ Decorate 41(gl_InstanceID) BuiltIn InstanceId
+ Decorate 41(gl_InstanceID) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeInt 32 1
- 8: TypePointer Function 7(int)
- 10: 7(int) Constant 0
- 15: 7(int) Constant 10
- 16: TypeBool
- 19: 7(int) Constant 1
- 21: 7(int) Constant 2
- 30: 7(int) Constant 5
- 39: 7(int) Constant 3
- 40: TypePointer Input 7(int)
- 41(gl_VertexID): 40(ptr) Variable Input
-42(gl_InstanceID): 40(ptr) Variable Input
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 0
+ 14: 6(int) Constant 10
+ 15: TypeBool
+ 18: 6(int) Constant 1
+ 20: 6(int) Constant 2
+ 29: 6(int) Constant 5
+ 38: 6(int) Constant 3
+ 39: TypePointer Input 6(int)
+ 40(gl_VertexID): 39(ptr) Variable Input
+41(gl_InstanceID): 39(ptr) Variable Input
4(main): 2 Function None 3
5: Label
- 9(i): 8(ptr) Variable Function
- 18(A): 8(ptr) Variable Function
- 26(B): 8(ptr) Variable Function
- 28(C): 8(ptr) Variable Function
- 38(D): 8(ptr) Variable Function
- Store 9(i) 10
- Branch 11
- 11: Label
- 14: 7(int) Load 9(i)
- 17: 16(bool) SLessThan 14 15
- LoopMerge 12 None
- BranchConditional 17 13 12
- 13: Label
- Store 18(A) 19
- 20: 7(int) Load 9(i)
- 22: 7(int) SMod 20 21
- 23: 16(bool) IEqual 22 10
- SelectionMerge 25 None
- BranchConditional 23 24 25
- 24: Label
- Store 26(B) 21
+ 8(i): 7(ptr) Variable Function
+ 17(A): 7(ptr) Variable Function
+ 25(B): 7(ptr) Variable Function
+ 27(C): 7(ptr) Variable Function
+ 37(D): 7(ptr) Variable Function
+ Store 8(i) 9
+ Branch 10
+ 10: Label
+ 13: 6(int) Load 8(i)
+ 16: 15(bool) SLessThan 13 14
+ LoopMerge 11 None
+ BranchConditional 16 12 11
+ 12: Label
+ Store 17(A) 18
+ 19: 6(int) Load 8(i)
+ 21: 6(int) SMod 19 20
+ 22: 15(bool) IEqual 21 9
+ SelectionMerge 24 None
+ BranchConditional 22 23 24
+ 23: Label
+ Store 25(B) 20
+ Branch 10
+ 26: Label
+ Store 27(C) 20
+ Branch 24
+ 24: Label
+ 28: 6(int) Load 8(i)
+ 30: 6(int) SMod 28 29
+ 31: 15(bool) IEqual 30 9
+ SelectionMerge 33 None
+ BranchConditional 31 32 33
+ 32: Label
+ Store 25(B) 20
Branch 11
- 27: Label
- Store 28(C) 21
- Branch 25
- 25: Label
- 29: 7(int) Load 9(i)
- 31: 7(int) SMod 29 30
- 32: 16(bool) IEqual 31 10
- SelectionMerge 34 None
- BranchConditional 32 33 34
- 33: Label
- Store 26(B) 21
- Branch 12
- 35: Label
- Store 28(C) 21
- Branch 34
- 34: Label
- 36: 7(int) Load 9(i)
- 37: 7(int) IAdd 36 19
- Store 9(i) 37
- Branch 11
- 12: Label
- Store 38(D) 39
- Branch 6
- 6: Label
+ 34: Label
+ Store 27(C) 20
+ Branch 33
+ 33: Label
+ 35: 6(int) Load 8(i)
+ 36: 6(int) IAdd 35 18
+ Store 8(i) 36
+ Branch 10
+ 11: Label
+ Store 37(D) 38
Return
FunctionEnd
diff --git a/Test/baseResults/spv.while-simple.vert.out b/Test/baseResults/spv.while-simple.vert.out
index b896e9f..9b04a52 100755
--- a/Test/baseResults/spv.while-simple.vert.out
+++ b/Test/baseResults/spv.while-simple.vert.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 24
+// Id's are bound by 23
Source ESSL 300
Capability Shader
@@ -13,41 +13,39 @@
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main"
Name 4 "main"
- Name 9 "i"
- Name 22 "gl_VertexID"
- Name 23 "gl_InstanceID"
- Decorate 22(gl_VertexID) BuiltIn VertexId
- Decorate 22(gl_VertexID) NoStaticUse
- Decorate 23(gl_InstanceID) BuiltIn InstanceId
- Decorate 23(gl_InstanceID) NoStaticUse
+ Name 8 "i"
+ Name 21 "gl_VertexID"
+ Name 22 "gl_InstanceID"
+ Decorate 21(gl_VertexID) BuiltIn VertexId
+ Decorate 21(gl_VertexID) NoStaticUse
+ Decorate 22(gl_InstanceID) BuiltIn InstanceId
+ Decorate 22(gl_InstanceID) NoStaticUse
2: TypeVoid
3: TypeFunction 2
- 7: TypeInt 32 1
- 8: TypePointer Function 7(int)
- 10: 7(int) Constant 0
- 15: 7(int) Constant 10
- 16: TypeBool
- 19: 7(int) Constant 1
- 21: TypePointer Input 7(int)
- 22(gl_VertexID): 21(ptr) Variable Input
-23(gl_InstanceID): 21(ptr) Variable Input
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 0
+ 14: 6(int) Constant 10
+ 15: TypeBool
+ 18: 6(int) Constant 1
+ 20: TypePointer Input 6(int)
+ 21(gl_VertexID): 20(ptr) Variable Input
+22(gl_InstanceID): 20(ptr) Variable Input
4(main): 2 Function None 3
5: Label
- 9(i): 8(ptr) Variable Function
- Store 9(i) 10
- Branch 11
+ 8(i): 7(ptr) Variable Function
+ Store 8(i) 9
+ Branch 10
+ 10: Label
+ 13: 6(int) Load 8(i)
+ 16: 15(bool) SLessThan 13 14
+ LoopMerge 11 None
+ BranchConditional 16 12 11
+ 12: Label
+ 17: 6(int) Load 8(i)
+ 19: 6(int) IAdd 17 18
+ Store 8(i) 19
+ Branch 10
11: Label
- 14: 7(int) Load 9(i)
- 17: 16(bool) SLessThan 14 15
- LoopMerge 12 None
- BranchConditional 17 13 12
- 13: Label
- 18: 7(int) Load 9(i)
- 20: 7(int) IAdd 18 19
- Store 9(i) 20
- Branch 11
- 12: Label
- Branch 6
- 6: Label
Return
FunctionEnd
diff --git a/Test/baseResults/spv.whileLoop.frag.out b/Test/baseResults/spv.whileLoop.frag.out
index bb7d913..f6e59e1 100755
--- a/Test/baseResults/spv.whileLoop.frag.out
+++ b/Test/baseResults/spv.whileLoop.frag.out
@@ -5,7 +5,7 @@
// Module Version 99
// Generated by (magic number): 51a00bb
-// Id's are bound by 32
+// Id's are bound by 31
Source GLSL 110
Capability Shader
@@ -14,50 +14,48 @@
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
- Name 10 "color"
- Name 12 "BaseColor"
- Name 20 "d"
- Name 25 "bigColor"
- Name 30 "gl_FragColor"
- Decorate 12(BaseColor) Smooth
- Decorate 30(gl_FragColor) BuiltIn FragColor
+ Name 9 "color"
+ Name 11 "BaseColor"
+ Name 19 "d"
+ Name 24 "bigColor"
+ Name 29 "gl_FragColor"
+ Decorate 11(BaseColor) Smooth
+ Decorate 29(gl_FragColor) BuiltIn FragColor
2: TypeVoid
3: TypeFunction 2
- 7: TypeFloat 32
- 8: TypeVector 7(float) 4
- 9: TypePointer Function 8(fvec4)
- 11: TypePointer Input 8(fvec4)
- 12(BaseColor): 11(ptr) Variable Input
- 19: TypePointer UniformConstant 7(float)
- 20(d): 19(ptr) Variable UniformConstant
- 22: TypeBool
- 24: TypePointer UniformConstant 8(fvec4)
- 25(bigColor): 24(ptr) Variable UniformConstant
- 29: TypePointer Output 8(fvec4)
-30(gl_FragColor): 29(ptr) Variable Output
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypePointer Input 7(fvec4)
+ 11(BaseColor): 10(ptr) Variable Input
+ 18: TypePointer UniformConstant 6(float)
+ 19(d): 18(ptr) Variable UniformConstant
+ 21: TypeBool
+ 23: TypePointer UniformConstant 7(fvec4)
+ 24(bigColor): 23(ptr) Variable UniformConstant
+ 28: TypePointer Output 7(fvec4)
+29(gl_FragColor): 28(ptr) Variable Output
4(main): 2 Function None 3
5: Label
- 10(color): 9(ptr) Variable Function
- 13: 8(fvec4) Load 12(BaseColor)
- Store 10(color) 13
- Branch 14
+ 9(color): 8(ptr) Variable Function
+ 12: 7(fvec4) Load 11(BaseColor)
+ Store 9(color) 12
+ Branch 13
+ 13: Label
+ 16: 7(fvec4) Load 9(color)
+ 17: 6(float) CompositeExtract 16 0
+ 20: 6(float) Load 19(d)
+ 22: 21(bool) FOrdLessThan 17 20
+ LoopMerge 14 None
+ BranchConditional 22 15 14
+ 15: Label
+ 25: 7(fvec4) Load 24(bigColor)
+ 26: 7(fvec4) Load 9(color)
+ 27: 7(fvec4) FAdd 26 25
+ Store 9(color) 27
+ Branch 13
14: Label
- 17: 8(fvec4) Load 10(color)
- 18: 7(float) CompositeExtract 17 0
- 21: 7(float) Load 20(d)
- 23: 22(bool) FOrdLessThan 18 21
- LoopMerge 15 None
- BranchConditional 23 16 15
- 16: Label
- 26: 8(fvec4) Load 25(bigColor)
- 27: 8(fvec4) Load 10(color)
- 28: 8(fvec4) FAdd 27 26
- Store 10(color) 28
- Branch 14
- 15: Label
- 31: 8(fvec4) Load 10(color)
- Store 30(gl_FragColor) 31
- Branch 6
- 6: Label
+ 30: 7(fvec4) Load 9(color)
+ Store 29(gl_FragColor) 30
Return
FunctionEnd
diff --git a/glslang/Include/Types.h b/glslang/Include/Types.h
index cccc87c..9d7c280 100644
--- a/glslang/Include/Types.h
+++ b/glslang/Include/Types.h
@@ -574,7 +574,7 @@
}
bool hasLocation() const
{
- return layoutLocation != layoutLocationEnd;
+ return layoutLocation != layoutLocationEnd;
}
bool hasComponent() const
{
diff --git a/glslang/Include/revision.h b/glslang/Include/revision.h
index 12a3874..a223c3a 100644
--- a/glslang/Include/revision.h
+++ b/glslang/Include/revision.h
@@ -2,5 +2,5 @@
// 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).
-#define GLSLANG_REVISION "3.0.752"
-#define GLSLANG_DATE "13-Sep-2015"
+#define GLSLANG_REVISION "3.0.753"
+#define GLSLANG_DATE "14-Sep-2015"