Commit e770b3e6 by John Kessenich

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.
parent 5f5b205c
......@@ -454,7 +454,7 @@ TGlslangToSpvTraverser::~TGlslangToSpvTraverser()
if (! mainTerminated) {
spv::Block* lastMainBlock = shaderEntry->getLastBlock();
builder.setBuildPoint(lastMainBlock);
builder.leaveFunction(true);
builder.leaveFunction();
}
}
......@@ -854,7 +854,7 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt
} else {
if (inMain)
mainTerminated = true;
builder.leaveFunction(inMain);
builder.leaveFunction();
inMain = false;
}
......@@ -1276,12 +1276,10 @@ bool TGlslangToSpvTraverser::visitBranch(glslang::TVisit /* visit */, glslang::T
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;
......
......@@ -65,8 +65,7 @@ Builder::Builder(unsigned int userNumber) :
builderNumber(userNumber << 16 | SpvBuilderMagic),
buildPoint(0),
uniqueId(0),
mainFunction(0),
stageExit(0)
mainFunction(0)
{
clearAccessChain();
}
......@@ -723,20 +722,11 @@ Function* Builder::makeMain()
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 @@ Function* Builder::makeFunctionEntry(Id returnType, const char* name, std::vecto
}
// 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 @@ void Builder::makeReturn(bool implicit, Id retVal, bool isMain)
}
// Comments in header
void Builder::leaveFunction(bool main)
void Builder::leaveFunction()
{
Block* block = buildPoint;
Function& function = buildPoint->getParent();
......@@ -791,10 +776,8 @@ void Builder::leaveFunction(bool main)
// 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 @@ void Builder::leaveFunction(bool main)
}
}
}
if (main)
closeMain();
}
// Comments in header
......
......@@ -195,23 +195,16 @@ public:
// 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 @@ protected:
Block* buildPoint;
Id uniqueId;
Function* mainFunction;
Block* stageExit;
AccessChain accessChain;
// special blocks of instructions for output
......
......@@ -5,7 +5,7 @@ Linked fragment stage:
// 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 @@ Linked fragment stage:
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
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
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
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
......@@ -5,7 +5,7 @@ Linked vertex stage:
// 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 @@ Linked vertex stage:
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
......@@ -5,7 +5,7 @@ Linked fragment stage:
// 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 @@ Linked fragment stage:
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
......@@ -5,7 +5,7 @@ Linked geometry stage:
// 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 @@ Linked geometry stage:
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
......@@ -5,7 +5,7 @@ Linked fragment stage:
// 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 @@ Linked fragment stage:
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
......@@ -5,7 +5,7 @@ Linked fragment stage:
// 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 @@ Linked fragment stage:
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
......@@ -7,7 +7,7 @@ Linked fragment stage:
// 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 @@ Linked fragment stage:
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
......@@ -7,7 +7,7 @@ Linked fragment stage:
// 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 @@ Linked fragment stage:
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
......@@ -8,7 +8,7 @@ Linked vertex stage:
// 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 @@ Linked vertex stage:
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
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
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
35: 29(ptr) AccessChain 24(colorOut) 34
36: 19(fvec4) Load 35
Store 33(gl_Position) 36
Branch 6
6: 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
34: 28(ptr) AccessChain 23(colorOut) 33
35: 18(fvec4) Load 34
Store 32(gl_Position) 35
Return
FunctionEnd
......@@ -8,7 +8,7 @@ Linked fragment stage:
// 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 @@ Linked fragment stage:
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
......@@ -5,7 +5,7 @@ Linked vertex stage:
// 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 @@ Linked vertex stage:
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
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
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
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
......@@ -5,7 +5,7 @@ Linked vertex stage:
// 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 @@ Linked vertex stage:
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
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
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
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
12: 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
Store 31(B) 20
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
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
41: Label
Store 42(E) 43
Branch 38
38: Label
Store 40(D) 41
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 44(F) 45
Branch 10
11: Label
Store 46(G) 47
Return
FunctionEnd
......@@ -5,7 +5,7 @@ Linked fragment stage:
// 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 @@ Linked fragment stage:
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
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
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
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
......@@ -5,7 +5,7 @@ Linked fragment stage:
// 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 @@ Linked fragment stage:
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
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
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
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
......@@ -5,7 +5,7 @@ Linked vertex stage:
// 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 @@ Linked vertex stage:
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
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
Store 26(B) 19
27: 7(int) Load 9(i)
28: 7(int) IAdd 27 19
Store 9(i) 28
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
37: Label
Store 38(E) 18
Branch 35
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
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
......@@ -5,7 +5,7 @@ Linked vertex stage:
// 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 @@ Linked vertex stage:
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
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
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
Branch 6
6: 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
Return
FunctionEnd
......@@ -5,7 +5,7 @@ Linked fragment stage:
// 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 @@ Linked fragment stage:
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
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
ReturnValue 44
46: Label
ReturnValue 47
43: Label
49: 9(float) Undef
ReturnValue 49
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
......@@ -5,7 +5,7 @@ Linked fragment stage:
// 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 @@ Linked fragment stage:
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
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -7,7 +7,7 @@ Linked vertex stage:
// 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 @@ Linked vertex stage:
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
......@@ -7,7 +7,7 @@ Linked vertex stage:
// 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 @@ Linked vertex stage:
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
......@@ -7,7 +7,7 @@ Linked fragment stage:
// 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 @@ Linked fragment stage:
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
......@@ -5,7 +5,7 @@ Linked vertex stage:
// 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 @@ Linked vertex stage:
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
......@@ -7,7 +7,7 @@ Linked fragment stage:
// 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 @@ Linked fragment stage:
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
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
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
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
......@@ -7,7 +7,7 @@ Linked fragment stage:
// 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 @@ Linked fragment stage:
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
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
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
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
......@@ -5,7 +5,7 @@ Linked fragment stage:
// 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 @@ Linked fragment stage:
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
......@@ -7,7 +7,7 @@ Linked vertex stage:
// 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 @@ Linked vertex stage:
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
......@@ -5,7 +5,7 @@ Linked fragment stage:
// 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 @@ Linked fragment stage:
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
......@@ -10,7 +10,7 @@ Linked fragment stage:
// 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 @@ Linked fragment stage:
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
......@@ -10,7 +10,7 @@ Linked fragment stage:
// 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 @@ Linked fragment stage:
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
......@@ -5,7 +5,7 @@ Linked fragment stage:
// 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 @@ Linked fragment stage:
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
......@@ -5,7 +5,7 @@ Linked vertex stage:
// 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 @@ Linked vertex stage:
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
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
Store 26(B) 21
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
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
......@@ -5,7 +5,7 @@ Linked vertex stage:
// 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 @@ Linked vertex stage:
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
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
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
Branch 6
6: Label
17: 6(int) Load 8(i)
19: 6(int) IAdd 17 18
Store 8(i) 19
Branch 10
11: Label
Return
FunctionEnd
......@@ -5,7 +5,7 @@ Linked fragment stage:
// 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 @@ Linked fragment stage:
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
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
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
31: 8(fvec4) Load 10(color)
Store 30(gl_FragColor) 31
Branch 6
6: 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
30: 7(fvec4) Load 9(color)
Store 29(gl_FragColor) 30
Return
FunctionEnd
......@@ -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"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment