Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
glslang
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Chen Yisong
glslang
Commits
f4984009
Commit
f4984009
authored
Jul 22, 2015
by
John Kessenich
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #33 from google/spv-builder-loop-ctor-inits-all-members
spv::Builder::Loop constructor inits all members.
parents
8ba301c7
3e6a33ce
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
458 additions
and
453 deletions
+458
-453
SpvBuilder.cpp
SPIRV/SpvBuilder.cpp
+16
-20
SpvBuilder.h
SPIRV/SpvBuilder.h
+17
-8
spv.dataOutIndirect.vert.out
Test/baseResults/spv.dataOutIndirect.vert.out
+6
-6
spv.do-simple.vert.out
Test/baseResults/spv.do-simple.vert.out
+11
-11
spv.do-while-continue-break.vert.out
Test/baseResults/spv.do-while-continue-break.vert.out
+13
-13
spv.doWhileLoop.frag.out
Test/baseResults/spv.doWhileLoop.frag.out
+11
-11
spv.for-continue-break.vert.out
Test/baseResults/spv.for-continue-break.vert.out
+8
-8
spv.for-simple.vert.out
Test/baseResults/spv.for-simple.vert.out
+6
-6
spv.forLoop.frag.out
Test/baseResults/spv.forLoop.frag.out
+29
-29
spv.localAggregates.frag.out
Test/baseResults/spv.localAggregates.frag.out
+5
-5
spv.loops.frag.out
Test/baseResults/spv.loops.frag.out
+272
-272
spv.loopsArtificial.frag.out
Test/baseResults/spv.loopsArtificial.frag.out
+27
-27
spv.switch.frag.out
Test/baseResults/spv.switch.frag.out
+13
-13
spv.while-continue-break.vert.out
Test/baseResults/spv.while-continue-break.vert.out
+8
-8
spv.while-simple.vert.out
Test/baseResults/spv.while-simple.vert.out
+6
-6
spv.whileLoop.frag.out
Test/baseResults/spv.whileLoop.frag.out
+10
-10
No files found.
SPIRV/SpvBuilder.cpp
View file @
f4984009
...
@@ -1738,19 +1738,8 @@ void Builder::endSwitch(std::vector<Block*>& /*segmentBlock*/)
...
@@ -1738,19 +1738,8 @@ void Builder::endSwitch(std::vector<Block*>& /*segmentBlock*/)
// Comments in header
// Comments in header
void
Builder
::
makeNewLoop
(
bool
loopTestFirst
)
void
Builder
::
makeNewLoop
(
bool
loopTestFirst
)
{
{
loops
.
push
(
Loop
());
loops
.
push
(
Loop
(
*
this
,
loopTestFirst
));
Loop
&
loop
=
loops
.
top
();
const
Loop
&
loop
=
loops
.
top
();
loop
.
function
=
&
getBuildPoint
()
->
getParent
();
loop
.
header
=
new
Block
(
getUniqueId
(),
*
loop
.
function
);
loop
.
merge
=
new
Block
(
getUniqueId
(),
*
loop
.
function
);
// Delaying creation of the loop body perturbs test results less,
// which makes for easier patch review.
// TODO(dneto): Create the loop body block here, instead of
// upon first use.
loop
.
body
=
0
;
loop
.
testFirst
=
loopTestFirst
;
loop
.
isFirstIteration
=
0
;
// The loop test is always emitted before the loop body.
// The loop test is always emitted before the loop body.
// But if the loop test executes at the bottom of the loop, then
// But if the loop test executes at the bottom of the loop, then
...
@@ -1771,8 +1760,6 @@ void Builder::makeNewLoop(bool loopTestFirst)
...
@@ -1771,8 +1760,6 @@ void Builder::makeNewLoop(bool loopTestFirst)
// Generate code to defer the loop test until the second and
// Generate code to defer the loop test until the second and
// subsequent iterations.
// subsequent iterations.
// A phi node determines whether we're on the first iteration.
loop
.
isFirstIteration
=
new
Instruction
(
getUniqueId
(),
makeBoolType
(),
OpPhi
);
// It's always the first iteration when coming from the preheader.
// It's always the first iteration when coming from the preheader.
// All other branches to this loop header will need to indicate "false",
// All other branches to this loop header will need to indicate "false",
// but we don't yet know where they will come from.
// but we don't yet know where they will come from.
...
@@ -1792,7 +1779,6 @@ void Builder::makeNewLoop(bool loopTestFirst)
...
@@ -1792,7 +1779,6 @@ void Builder::makeNewLoop(bool loopTestFirst)
loop
.
function
->
addBlock
(
firstIterationCheck
);
loop
.
function
->
addBlock
(
firstIterationCheck
);
setBuildPoint
(
firstIterationCheck
);
setBuildPoint
(
firstIterationCheck
);
loop
.
body
=
new
Block
(
getUniqueId
(),
*
loop
.
function
);
// Control flow after this "if" normally reconverges at the loop body.
// Control flow after this "if" normally reconverges at the loop body.
// However, the loop test has a "break branch" out of this selection
// However, the loop test has a "break branch" out of this selection
// construct because it can transfer control to the loop merge block.
// construct because it can transfer control to the loop merge block.
...
@@ -1808,14 +1794,13 @@ void Builder::makeNewLoop(bool loopTestFirst)
...
@@ -1808,14 +1794,13 @@ void Builder::makeNewLoop(bool loopTestFirst)
void
Builder
::
createLoopTestBranch
(
Id
condition
)
void
Builder
::
createLoopTestBranch
(
Id
condition
)
{
{
Loop
&
loop
=
loops
.
top
();
const
Loop
&
loop
=
loops
.
top
();
// Generate the merge instruction. If the loop test executes before
// Generate the merge instruction. If the loop test executes before
// the body, then this is a loop merge. Otherwise the loop merge
// the body, then this is a loop merge. Otherwise the loop merge
// has already been generated and this is a conditional merge.
// has already been generated and this is a conditional merge.
if
(
loop
.
testFirst
)
{
if
(
loop
.
testFirst
)
{
createMerge
(
OpLoopMerge
,
loop
.
merge
,
LoopControlMaskNone
);
createMerge
(
OpLoopMerge
,
loop
.
merge
,
LoopControlMaskNone
);
loop
.
body
=
new
Block
(
getUniqueId
(),
*
loop
.
function
);
// Branching to the "body" block will keep control inside
// Branching to the "body" block will keep control inside
// the loop.
// the loop.
createConditionalBranch
(
condition
,
loop
.
body
,
loop
.
merge
);
createConditionalBranch
(
condition
,
loop
.
body
,
loop
.
merge
);
...
@@ -1842,7 +1827,7 @@ void Builder::createLoopTestBranch(Id condition)
...
@@ -1842,7 +1827,7 @@ void Builder::createLoopTestBranch(Id condition)
void
Builder
::
createBranchToBody
()
void
Builder
::
createBranchToBody
()
{
{
Loop
&
loop
=
loops
.
top
();
const
Loop
&
loop
=
loops
.
top
();
assert
(
loop
.
body
);
assert
(
loop
.
body
);
// This is a reconvergence of control flow, so no merge instruction
// This is a reconvergence of control flow, so no merge instruction
...
@@ -1870,7 +1855,7 @@ void Builder::createLoopExit()
...
@@ -1870,7 +1855,7 @@ void Builder::createLoopExit()
// Close the innermost loop
// Close the innermost loop
void
Builder
::
closeLoop
()
void
Builder
::
closeLoop
()
{
{
Loop
&
loop
=
loops
.
top
();
const
Loop
&
loop
=
loops
.
top
();
// Branch back to the top
// Branch back to the top
createBranchToLoopHeaderFromInside
(
loop
);
createBranchToLoopHeaderFromInside
(
loop
);
...
@@ -2198,4 +2183,15 @@ void ValidationError(const char* error)
...
@@ -2198,4 +2183,15 @@ void ValidationError(const char* error)
printf
(
"Validation Error: %s
\n
"
,
error
);
printf
(
"Validation Error: %s
\n
"
,
error
);
}
}
Builder
::
Loop
::
Loop
(
Builder
&
builder
,
bool
testFirstArg
)
:
function
(
&
builder
.
getBuildPoint
()
->
getParent
()),
header
(
new
Block
(
builder
.
getUniqueId
(),
*
function
)),
merge
(
new
Block
(
builder
.
getUniqueId
(),
*
function
)),
body
(
new
Block
(
builder
.
getUniqueId
(),
*
function
)),
testFirst
(
testFirstArg
),
isFirstIteration
(
testFirst
?
nullptr
:
new
Instruction
(
builder
.
getUniqueId
(),
builder
.
makeBoolType
(),
OpPhi
))
{}
};
// end spv namespace
};
// end spv namespace
SPIRV/SpvBuilder.h
View file @
f4984009
...
@@ -524,7 +524,18 @@ protected:
...
@@ -524,7 +524,18 @@ protected:
// Data that needs to be kept in order to properly handle loops.
// Data that needs to be kept in order to properly handle loops.
struct
Loop
{
struct
Loop
{
Loop
()
:
header
(
nullptr
),
merge
(
nullptr
),
body
(
nullptr
),
testFirst
(
false
),
isFirstIteration
(
nullptr
),
function
(
nullptr
)
{
}
// Constructs a default Loop structure containing new header, merge, and
// body blocks for the current function.
// The testFirst argument indicates whether the loop test executes at
// the top of the loop rather than at the bottom. In the latter case,
// also create a phi instruction whose value indicates whether we're on
// the first iteration of the loop. The phi instruction is initialized
// with no values or predecessor operands.
Loop
(
Builder
&
builder
,
bool
testFirst
);
Loop
(
const
Loop
&
)
=
default
;
// The function containing the loop.
Function
*
const
function
;
// The header is the first block generated for the loop.
// The header is the first block generated for the loop.
// It dominates all the blocks in the loop, i.e. it is always
// It dominates all the blocks in the loop, i.e. it is always
// executed before any others.
// executed before any others.
...
@@ -532,24 +543,22 @@ protected:
...
@@ -532,24 +543,22 @@ protected:
// "for" loops), then the header begins with the test code.
// "for" loops), then the header begins with the test code.
// Otherwise, the loop is a "do-while" loop and the header contains the
// Otherwise, the loop is a "do-while" loop and the header contains the
// start of the body of the loop (if the body exists).
// start of the body of the loop (if the body exists).
Block
*
header
;
Block
*
const
header
;
// The merge block marks the end of the loop. Control is transferred
// The merge block marks the end of the loop. Control is transferred
// to the merge block when either the loop test fails, or when a
// to the merge block when either the loop test fails, or when a
// nested "break" is encountered.
// nested "break" is encountered.
Block
*
merge
;
Block
*
const
merge
;
// The body block is the first basic block in the body of the loop, i.e.
// The body block is the first basic block in the body of the loop, i.e.
// the code that is to be repeatedly executed, aside from loop control.
// the code that is to be repeatedly executed, aside from loop control.
// This member is null until we generate code that references the loop
// This member is null until we generate code that references the loop
// body block.
// body block.
Block
*
body
;
Block
*
const
body
;
// True when the loop test executes before the body.
// True when the loop test executes before the body.
bool
testFirst
;
const
bool
testFirst
;
// When the test executes after the body, this is defined as the phi
// When the test executes after the body, this is defined as the phi
// instruction that tells us whether we are on the first iteration of
// instruction that tells us whether we are on the first iteration of
// the loop. Otherwise this is null.
// the loop. Otherwise this is null.
Instruction
*
isFirstIteration
;
Instruction
*
const
isFirstIteration
;
// The function containing the loop.
Function
*
function
;
};
};
// Our loop stack.
// Our loop stack.
...
...
Test/baseResults/spv.dataOutIndirect.vert.out
View file @
f4984009
...
@@ -29,8 +29,8 @@ Linked vertex stage:
...
@@ -29,8 +29,8 @@ Linked vertex stage:
7: TypeInt 32 1
7: TypeInt 32 1
8: TypePointer Function 7(int)
8: TypePointer Function 7(int)
10: 7(int) Constant 1
10: 7(int) Constant 1
1
4
: 7(int) Constant 5
1
5
: 7(int) Constant 5
1
5
: TypeBool
1
6
: TypeBool
18: TypeFloat 32
18: TypeFloat 32
19: TypeVector 18(float) 4
19: TypeVector 18(float) 4
20: TypeInt 32 0
20: TypeInt 32 0
...
@@ -51,11 +51,11 @@ Linked vertex stage:
...
@@ -51,11 +51,11 @@ Linked vertex stage:
Store 9(i) 10
Store 9(i) 10
Branch 11
Branch 11
11: Label
11: Label
1
3
: 7(int) Load 9(i)
1
4
: 7(int) Load 9(i)
1
6: 15(bool) SLessThan 13 14
1
7: 16(bool) SLessThan 14 15
LoopMerge 12 None
LoopMerge 12 None
BranchConditional 1
6 17
12
BranchConditional 1
7 13
12
1
7
: Label
1
3
: Label
25: 7(int) Load 9(i)
25: 7(int) Load 9(i)
28: 19(fvec4) Load 27(color)
28: 19(fvec4) Load 27(color)
30: 29(ptr) AccessChain 24(colorOut) 25
30: 29(ptr) AccessChain 24(colorOut) 25
...
...
Test/baseResults/spv.do-simple.vert.out
View file @
f4984009
...
@@ -27,11 +27,11 @@ Linked vertex stage:
...
@@ -27,11 +27,11 @@ Linked vertex stage:
7: TypeInt 32 1
7: TypeInt 32 1
8: TypePointer Function 7(int)
8: TypePointer Function 7(int)
10: 7(int) Constant 0
10: 7(int) Constant 0
1
4
: TypeBool
1
5
: TypeBool
1
5: 14
(bool) ConstantTrue
1
6: 15
(bool) ConstantTrue
20: 7(int) Constant 10
20: 7(int) Constant 10
24: 7(int) Constant 1
24: 7(int) Constant 1
26: 1
4
(bool) ConstantFalse
26: 1
5
(bool) ConstantFalse
27: TypePointer Input 7(int)
27: TypePointer Input 7(int)
28(gl_VertexID): 27(ptr) Variable Input
28(gl_VertexID): 27(ptr) Variable Input
29(gl_InstanceID): 27(ptr) Variable Input
29(gl_InstanceID): 27(ptr) Variable Input
...
@@ -41,20 +41,20 @@ Linked vertex stage:
...
@@ -41,20 +41,20 @@ Linked vertex stage:
Store 9(i) 10
Store 9(i) 10
Branch 11
Branch 11
11: Label
11: Label
1
3: 14(bool) Phi 15 5 26 17
1
4: 15(bool) Phi 16 5 26 13
LoopMerge 12 None
LoopMerge 12 None
Branch 1
6
Branch 1
7
1
6
: Label
1
7
: Label
SelectionMerge 1
7
None
SelectionMerge 1
3
None
BranchConditional 1
3 17
18
BranchConditional 1
4 13
18
18: Label
18: Label
19: 7(int) Load 9(i)
19: 7(int) Load 9(i)
21: 1
4
(bool) SLessThan 19 20
21: 1
5
(bool) SLessThan 19 20
SelectionMerge 22 None
SelectionMerge 22 None
BranchConditional 21 22 12
BranchConditional 21 22 12
22: Label
22: Label
Branch 1
7
Branch 1
3
1
7
: Label
1
3
: Label
23: 7(int) Load 9(i)
23: 7(int) Load 9(i)
25: 7(int) IAdd 23 24
25: 7(int) IAdd 23 24
Store 9(i) 25
Store 9(i) 25
...
...
Test/baseResults/spv.do-while-continue-break.vert.out
View file @
f4984009
...
@@ -41,12 +41,12 @@ Linked vertex stage:
...
@@ -41,12 +41,12 @@ Linked vertex stage:
7: TypeInt 32 1
7: TypeInt 32 1
8: TypePointer Function 7(int)
8: TypePointer Function 7(int)
10: 7(int) Constant 0
10: 7(int) Constant 0
1
4
: TypeBool
1
5
: TypeBool
1
5: 14
(bool) ConstantTrue
1
6: 15
(bool) ConstantTrue
20: 7(int) Constant 1
20: 7(int) Constant 1
22: 7(int) Constant 19
22: 7(int) Constant 19
27: 7(int) Constant 2
27: 7(int) Constant 2
32: 1
4
(bool) ConstantFalse
32: 1
5
(bool) ConstantFalse
36: 7(int) Constant 5
36: 7(int) Constant 5
41: 7(int) Constant 3
41: 7(int) Constant 3
44: 7(int) Constant 42
44: 7(int) Constant 42
...
@@ -68,25 +68,25 @@ Linked vertex stage:
...
@@ -68,25 +68,25 @@ Linked vertex stage:
Store 9(i) 10
Store 9(i) 10
Branch 11
Branch 11
11: Label
11: Label
1
3: 14(bool) Phi 15
5 32 29 32 39
1
4: 15(bool) Phi 16
5 32 29 32 39
LoopMerge 12 None
LoopMerge 12 None
Branch 1
6
Branch 1
7
1
6
: Label
1
7
: Label
SelectionMerge 1
7
None
SelectionMerge 1
3
None
BranchConditional 1
3 17
18
BranchConditional 1
4 13
18
18: Label
18: Label
19: 7(int) Load 9(i)
19: 7(int) Load 9(i)
21: 7(int) IAdd 19 20
21: 7(int) IAdd 19 20
Store 9(i) 21
Store 9(i) 21
23: 1
4
(bool) SLessThan 21 22
23: 1
5
(bool) SLessThan 21 22
SelectionMerge 24 None
SelectionMerge 24 None
BranchConditional 23 24 12
BranchConditional 23 24 12
24: Label
24: Label
Branch 1
7
Branch 1
3
1
7
: Label
1
3
: Label
Store 25(A) 10
Store 25(A) 10
26: 7(int) Load 9(i)
26: 7(int) Load 9(i)
28: 1
4
(bool) IEqual 26 27
28: 1
5
(bool) IEqual 26 27
SelectionMerge 30 None
SelectionMerge 30 None
BranchConditional 28 29 30
BranchConditional 28 29 30
29: Label
29: Label
...
@@ -97,7 +97,7 @@ Linked vertex stage:
...
@@ -97,7 +97,7 @@ Linked vertex stage:
Branch 30
Branch 30
30: Label
30: Label
35: 7(int) Load 9(i)
35: 7(int) Load 9(i)
37: 1
4
(bool) IEqual 35 36
37: 1
5
(bool) IEqual 35 36
SelectionMerge 39 None
SelectionMerge 39 None
BranchConditional 37 38 39
BranchConditional 37 38 39
38: Label
38: Label
...
...
Test/baseResults/spv.doWhileLoop.frag.out
View file @
f4984009
...
@@ -26,13 +26,13 @@ Linked fragment stage:
...
@@ -26,13 +26,13 @@ Linked fragment stage:
9: TypePointer Function 8(fvec4)
9: TypePointer Function 8(fvec4)
11: TypePointer Input 8(fvec4)
11: TypePointer Input 8(fvec4)
12(BaseColor): 11(ptr) Variable Input
12(BaseColor): 11(ptr) Variable Input
1
7
: TypeBool
1
8
: TypeBool
1
8: 17
(bool) ConstantTrue
1
9: 18
(bool) ConstantTrue
24: TypePointer UniformConstant 7(float)
24: TypePointer UniformConstant 7(float)
25(d): 24(ptr) Variable UniformConstant
25(d): 24(ptr) Variable UniformConstant
29: TypePointer UniformConstant 8(fvec4)
29: TypePointer UniformConstant 8(fvec4)
30(bigColor): 29(ptr) Variable UniformConstant
30(bigColor): 29(ptr) Variable UniformConstant
34: 1
7
(bool) ConstantFalse
34: 1
8
(bool) ConstantFalse
35: TypePointer Output 8(fvec4)
35: TypePointer Output 8(fvec4)
36(gl_FragColor): 35(ptr) Variable Output
36(gl_FragColor): 35(ptr) Variable Output
4(main): 2 Function None 3
4(main): 2 Function None 3
...
@@ -42,22 +42,22 @@ Linked fragment stage:
...
@@ -42,22 +42,22 @@ Linked fragment stage:
Store 10(color) 13
Store 10(color) 13
Branch 14
Branch 14
14: Label
14: Label
1
6: 17(bool) Phi 18 5 34 20
1
7: 18(bool) Phi 19 5 34 16
LoopMerge 15 None
LoopMerge 15 None
Branch
19
Branch
20
19
: Label
20
: Label
SelectionMerge
20
None
SelectionMerge
16
None
BranchConditional 1
6 20
21
BranchConditional 1
7 16
21
21: Label
21: Label
22: 8(fvec4) Load 10(color)
22: 8(fvec4) Load 10(color)
23: 7(float) CompositeExtract 22 0
23: 7(float) CompositeExtract 22 0
26: 7(float) Load 25(d)
26: 7(float) Load 25(d)
27: 1
7
(bool) FOrdLessThan 23 26
27: 1
8
(bool) FOrdLessThan 23 26
SelectionMerge 28 None
SelectionMerge 28 None
BranchConditional 27 28 15
BranchConditional 27 28 15
28: Label
28: Label
Branch
20
Branch
16
20
: Label
16
: Label
31: 8(fvec4) Load 30(bigColor)
31: 8(fvec4) Load 30(bigColor)
32: 8(fvec4) Load 10(color)
32: 8(fvec4) Load 10(color)
33: 8(fvec4) FAdd 32 31
33: 8(fvec4) FAdd 32 31
...
...
Test/baseResults/spv.for-continue-break.vert.out
View file @
f4984009
...
@@ -41,8 +41,8 @@ Linked vertex stage:
...
@@ -41,8 +41,8 @@ Linked vertex stage:
7: TypeInt 32 1
7: TypeInt 32 1
8: TypePointer Function 7(int)
8: TypePointer Function 7(int)
10: 7(int) Constant 0
10: 7(int) Constant 0
1
4
: 7(int) Constant 10
1
5
: 7(int) Constant 10
1
5
: TypeBool
1
6
: TypeBool
19: 7(int) Constant 1
19: 7(int) Constant 1
21: 7(int) Constant 2
21: 7(int) Constant 2
32: 7(int) Constant 3
32: 7(int) Constant 3
...
@@ -64,15 +64,15 @@ Linked vertex stage:
...
@@ -64,15 +64,15 @@ Linked vertex stage:
Store 9(i) 10
Store 9(i) 10
Branch 11
Branch 11
11: Label
11: Label
1
3
: 7(int) Load 9(i)
1
4
: 7(int) Load 9(i)
1
6: 15(bool) SLessThan 13 14
1
7: 16(bool) SLessThan 14 15
LoopMerge 12 None
LoopMerge 12 None
BranchConditional 1
6 17
12
BranchConditional 1
7 13
12
1
7
: Label
1
3
: Label
Store 18(A) 19
Store 18(A) 19
20: 7(int) Load 9(i)
20: 7(int) Load 9(i)
22: 7(int) SMod 20 21
22: 7(int) SMod 20 21
23: 1
5
(bool) IEqual 22 10
23: 1
6
(bool) IEqual 22 10
SelectionMerge 25 None
SelectionMerge 25 None
BranchConditional 23 24 25
BranchConditional 23 24 25
24: Label
24: Label
...
@@ -87,7 +87,7 @@ Linked vertex stage:
...
@@ -87,7 +87,7 @@ Linked vertex stage:
25: Label
25: Label
31: 7(int) Load 9(i)
31: 7(int) Load 9(i)
33: 7(int) SMod 31 32
33: 7(int) SMod 31 32
34: 1
5
(bool) IEqual 33 10
34: 1
6
(bool) IEqual 33 10
SelectionMerge 36 None
SelectionMerge 36 None
BranchConditional 34 35 36
BranchConditional 34 35 36
35: Label
35: Label
...
...
Test/baseResults/spv.for-simple.vert.out
View file @
f4984009
...
@@ -29,8 +29,8 @@ Linked vertex stage:
...
@@ -29,8 +29,8 @@ Linked vertex stage:
7: TypeInt 32 1
7: TypeInt 32 1
8: TypePointer Function 7(int)
8: TypePointer Function 7(int)
10: 7(int) Constant 0
10: 7(int) Constant 0
1
4
: 7(int) Constant 10
1
5
: 7(int) Constant 10
1
5
: TypeBool
1
6
: TypeBool
19: 7(int) Constant 12
19: 7(int) Constant 12
21: 7(int) Constant 1
21: 7(int) Constant 1
23: TypePointer Input 7(int)
23: TypePointer Input 7(int)
...
@@ -43,11 +43,11 @@ Linked vertex stage:
...
@@ -43,11 +43,11 @@ Linked vertex stage:
Store 9(i) 10
Store 9(i) 10
Branch 11
Branch 11
11: Label
11: Label
1
3
: 7(int) Load 9(i)
1
4
: 7(int) Load 9(i)
1
6: 15(bool) SLessThan 13 14
1
7: 16(bool) SLessThan 14 15
LoopMerge 12 None
LoopMerge 12 None
BranchConditional 1
6 17
12
BranchConditional 1
7 13
12
1
7
: Label
1
3
: Label
Store 18(j) 19
Store 18(j) 19
20: 7(int) Load 9(i)
20: 7(int) Load 9(i)
22: 7(int) IAdd 20 21
22: 7(int) IAdd 20 21
...
...
Test/baseResults/spv.forLoop.frag.out
View file @
f4984009
...
@@ -15,7 +15,7 @@ Linked fragment stage:
...
@@ -15,7 +15,7 @@ Linked fragment stage:
Name 10 "color"
Name 10 "color"
Name 12 "BaseColor"
Name 12 "BaseColor"
Name 16 "i"
Name 16 "i"
Name 2
2
"Count"
Name 2
3
"Count"
Name 28 "bigColor"
Name 28 "bigColor"
Name 36 "gl_FragColor"
Name 36 "gl_FragColor"
Name 39 "sum"
Name 39 "sum"
...
@@ -40,9 +40,9 @@ Linked fragment stage:
...
@@ -40,9 +40,9 @@ Linked fragment stage:
14: TypeInt 32 1
14: TypeInt 32 1
15: TypePointer Function 14(int)
15: TypePointer Function 14(int)
17: 14(int) Constant 0
17: 14(int) Constant 0
2
1
: TypePointer UniformConstant 14(int)
2
2
: TypePointer UniformConstant 14(int)
2
2(Count): 21
(ptr) Variable UniformConstant
2
3(Count): 22
(ptr) Variable UniformConstant
2
4
: TypeBool
2
5
: TypeBool
27: TypePointer UniformConstant 8(fvec4)
27: TypePointer UniformConstant 8(fvec4)
28(bigColor): 27(ptr) Variable UniformConstant
28(bigColor): 27(ptr) Variable UniformConstant
33: 14(int) Constant 1
33: 14(int) Constant 1
...
@@ -50,7 +50,7 @@ Linked fragment stage:
...
@@ -50,7 +50,7 @@ Linked fragment stage:
36(gl_FragColor): 35(ptr) Variable Output
36(gl_FragColor): 35(ptr) Variable Output
38: TypePointer Function 7(float)
38: TypePointer Function 7(float)
40: 7(float) Constant 0
40: 7(float) Constant 0
4
5
: 14(int) Constant 4
4
6
: 14(int) Constant 4
48: TypeInt 32 0
48: TypeInt 32 0
49: TypeVector 48(int) 4
49: TypeVector 48(int) 4
50: TypePointer UniformConstant 49(ivec4)
50: TypePointer UniformConstant 49(ivec4)
...
@@ -59,7 +59,7 @@ Linked fragment stage:
...
@@ -59,7 +59,7 @@ Linked fragment stage:
86: TypeVector 7(float) 3
86: TypeVector 7(float) 3
97: TypePointer Input 7(float)
97: TypePointer Input 7(float)
98(f): 97(ptr) Variable Input
98(f): 97(ptr) Variable Input
11
5
: 14(int) Constant 16
11
6
: 14(int) Constant 16
4(main): 2 Function None 3
4(main): 2 Function None 3
5: Label
5: Label
10(color): 9(ptr) Variable Function
10(color): 9(ptr) Variable Function
...
@@ -76,12 +76,12 @@ Linked fragment stage:
...
@@ -76,12 +76,12 @@ Linked fragment stage:
Store 16(i) 17
Store 16(i) 17
Branch 18
Branch 18
18: Label
18: Label
2
0
: 14(int) Load 16(i)
2
1
: 14(int) Load 16(i)
2
3: 14(int) Load 22
(Count)
2
4: 14(int) Load 23
(Count)
2
5: 24(bool) SLessThan 20 23
2
6: 25(bool) SLessThan 21 24
LoopMerge 19 None
LoopMerge 19 None
BranchConditional 2
5 26
19
BranchConditional 2
6 20
19
2
6
: Label
2
0
: Label
29: 8(fvec4) Load 28(bigColor)
29: 8(fvec4) Load 28(bigColor)
30: 8(fvec4) Load 10(color)
30: 8(fvec4) Load 10(color)
31: 8(fvec4) FAdd 30 29
31: 8(fvec4) FAdd 30 29
...
@@ -97,11 +97,11 @@ Linked fragment stage:
...
@@ -97,11 +97,11 @@ Linked fragment stage:
Store 41(i) 17
Store 41(i) 17
Branch 42
Branch 42
42: Label
42: Label
4
4
: 14(int) Load 41(i)
4
5
: 14(int) Load 41(i)
4
6: 24(bool) SLessThan 44 45
4
7: 25(bool) SLessThan 45 46
LoopMerge 43 None
LoopMerge 43 None
BranchConditional 4
6 47
43
BranchConditional 4
7 44
43
4
7
: Label
4
4
: Label
52: 14(int) Load 41(i)
52: 14(int) Load 41(i)
53: 49(ivec4) Load 51(v4)
53: 49(ivec4) Load 51(v4)
54: 48(int) VectorExtractDynamic 53 52
54: 48(int) VectorExtractDynamic 53 52
...
@@ -117,11 +117,11 @@ Linked fragment stage:
...
@@ -117,11 +117,11 @@ Linked fragment stage:
Store 60(i) 17
Store 60(i) 17
Branch 61
Branch 61
61: Label
61: Label
6
3
: 14(int) Load 60(i)
6
4
: 14(int) Load 60(i)
6
4: 24(bool) SLessThan 63 45
6
5: 25(bool) SLessThan 64 46
LoopMerge 62 None
LoopMerge 62 None
BranchConditional 6
4 65
62
BranchConditional 6
5 63
62
6
5
: Label
6
3
: Label
67: 14(int) Load 60(i)
67: 14(int) Load 60(i)
68: 14(int) Load 60(i)
68: 14(int) Load 60(i)
69: 49(ivec4) Load 51(v4)
69: 49(ivec4) Load 51(v4)
...
@@ -151,12 +151,12 @@ Linked fragment stage:
...
@@ -151,12 +151,12 @@ Linked fragment stage:
Store 90(i) 17
Store 90(i) 17
Branch 91
Branch 91
91: Label
91: Label
9
3
: 14(int) Load 90(i)
9
4
: 14(int) Load 90(i)
9
4: 14(int) Load 22
(Count)
9
5: 14(int) Load 23
(Count)
9
5: 24(bool) SLessThan 93 94
9
6: 25(bool) SLessThan 94 95
LoopMerge 92 None
LoopMerge 92 None
BranchConditional 9
5 96
92
BranchConditional 9
6 93
92
9
6
: Label
9
3
: Label
99: 7(float) Load 98(f)
99: 7(float) Load 98(f)
100: 8(fvec4) Load 84(r)
100: 8(fvec4) Load 84(r)
101: 8(fvec4) CompositeInsert 99 100 3
101: 8(fvec4) CompositeInsert 99 100 3
...
@@ -177,17 +177,17 @@ Linked fragment stage:
...
@@ -177,17 +177,17 @@ Linked fragment stage:
Store 111(i) 17
Store 111(i) 17
Branch 112
Branch 112
112: Label
112: Label
11
4
: 14(int) Load 111(i)
11
5
: 14(int) Load 111(i)
11
6: 24(bool) SLessThan 114 115
11
7: 25(bool) SLessThan 115 116
LoopMerge 113 None
LoopMerge 113 None
BranchConditional 11
6 117
113
BranchConditional 11
7 114
113
11
7
: Label
11
4
: Label
118: 7(float) Load 98(f)
118: 7(float) Load 98(f)
119: 8(fvec4) Load 36(gl_FragColor)
119: 8(fvec4) Load 36(gl_FragColor)
120: 8(fvec4) VectorTimesScalar 119 118
120: 8(fvec4) VectorTimesScalar 119 118
Store 36(gl_FragColor) 120
Store 36(gl_FragColor) 120
121: 14(int) Load 111(i)
121: 14(int) Load 111(i)
122: 14(int) IAdd 121 4
5
122: 14(int) IAdd 121 4
6
Store 111(i) 122
Store 111(i) 122
Branch 112
Branch 112
113: Label
113: Label
...
...
Test/baseResults/spv.localAggregates.frag.out
View file @
f4984009
...
@@ -82,7 +82,7 @@ Linked fragment stage:
...
@@ -82,7 +82,7 @@ Linked fragment stage:
47: TypePointer Function 46
47: TypePointer Function 46
51: TypePointer Function 7(int)
51: TypePointer Function 7(int)
68: 7(int) Constant 5
68: 7(int) Constant 5
7
8
: 7(int) Constant 16
7
9
: 7(int) Constant 16
83: 8(float) Constant 0
83: 8(float) Constant 0
87(condition): 21(ptr) Variable UniformConstant
87(condition): 21(ptr) Variable UniformConstant
93: 7(int) Constant 3
93: 7(int) Constant 3
...
@@ -160,11 +160,11 @@ Linked fragment stage:
...
@@ -160,11 +160,11 @@ Linked fragment stage:
Store 74(i) 17
Store 74(i) 17
Branch 75
Branch 75
75: Label
75: Label
7
7
: 7(int) Load 74(i)
7
8
: 7(int) Load 74(i)
79: 24(bool) SLessThan 77 78
80: 24(bool) SLessThan 78 79
LoopMerge 76 None
LoopMerge 76 None
BranchConditional
79 80
76
BranchConditional
80 77
76
80
: Label
77
: Label
82: 7(int) Load 74(i)
82: 7(int) Load 74(i)
84: 31(ptr) AccessChain 81(a) 82
84: 31(ptr) AccessChain 81(a) 82
Store 84 83
Store 84 83
...
...
Test/baseResults/spv.loops.frag.out
View file @
f4984009
...
@@ -16,16 +16,16 @@ Linked fragment stage:
...
@@ -16,16 +16,16 @@ Linked fragment stage:
Name 4 "main"
Name 4 "main"
Name 10 "color"
Name 10 "color"
Name 12 "BaseColor"
Name 12 "BaseColor"
Name 4
7
"d"
Name 4
8
"d"
Name 52 "bigColor"
Name 52 "bigColor"
Name 63 "bigColor1_1"
Name 63 "bigColor1_1"
Name 9
2
"d2"
Name 9
3
"d2"
Name 9
7
"d3"
Name 9
8
"d3"
Name 102 "bigColor1_2"
Name 102 "bigColor1_2"
Name 113 "bigColor1_3"
Name 113 "bigColor1_3"
Name 119 "d4"
Name 119 "d4"
Name 130 "i"
Name 130 "i"
Name 13
6
"Count"
Name 13
7
"Count"
Name 140 "bigColor2"
Name 140 "bigColor2"
Name 158 "bigColor3"
Name 158 "bigColor3"
Name 163 "i"
Name 163 "i"
...
@@ -41,15 +41,15 @@ Linked fragment stage:
...
@@ -41,15 +41,15 @@ Linked fragment stage:
Name 413 "d7"
Name 413 "d7"
Name 447 "bigColor7"
Name 447 "bigColor7"
Name 472 "d8"
Name 472 "d8"
Name 51
7
"d9"
Name 51
8
"d9"
Name 5
49
"d10"
Name 5
50
"d10"
Name 560 "d11"
Name 560 "d11"
Name 572 "d12"
Name 572 "d12"
Name 600 "bigColor8"
Name 600 "bigColor8"
Name 628 "gl_FragColor"
Name 628 "gl_FragColor"
Name 63
4
"d14"
Name 63
5
"d14"
Name 640 "d15"
Name 640 "d15"
Name 65
7
"d16"
Name 65
8
"d16"
Name 696 "d17"
Name 696 "d17"
Name 702 "d18"
Name 702 "d18"
Name 733 "d13"
Name 733 "d13"
...
@@ -95,78 +95,78 @@ Linked fragment stage:
...
@@ -95,78 +95,78 @@ Linked fragment stage:
9: TypePointer Function 8(fvec4)
9: TypePointer Function 8(fvec4)
11: TypePointer Input 8(fvec4)
11: TypePointer Input 8(fvec4)
12(BaseColor): 11(ptr) Variable Input
12(BaseColor): 11(ptr) Variable Input
1
6
: TypeBool
1
7
: TypeBool
1
7: 16
(bool) ConstantTrue
1
8: 17
(bool) ConstantTrue
21: 7(float) Constant 1051260355
21: 7(float) Constant 1051260355
25: 8(fvec4) ConstantComposite 21 21 21 21
25: 8(fvec4) ConstantComposite 21 21 21 21
31: 7(float) Constant 1059648963
31: 7(float) Constant 1059648963
35: 8(fvec4) ConstantComposite 31 31 31 31
35: 8(fvec4) ConstantComposite 31 31 31 31
4
6
: TypePointer UniformConstant 7(float)
4
7
: TypePointer UniformConstant 7(float)
4
7(d): 46
(ptr) Variable UniformConstant
4
8(d): 47
(ptr) Variable UniformConstant
51: TypePointer UniformConstant 8(fvec4)
51: TypePointer UniformConstant 8(fvec4)
52(bigColor): 51(ptr) Variable UniformConstant
52(bigColor): 51(ptr) Variable UniformConstant
63(bigColor1_1): 51(ptr) Variable UniformConstant
63(bigColor1_1): 51(ptr) Variable UniformConstant
8
1
: 7(float) Constant 1109917696
8
2
: 7(float) Constant 1109917696
85: 7(float) Constant 1065353216
85: 7(float) Constant 1065353216
9
2(d2): 46
(ptr) Variable UniformConstant
9
3(d2): 47
(ptr) Variable UniformConstant
9
7(d3): 46
(ptr) Variable UniformConstant
9
8(d3): 47
(ptr) Variable UniformConstant
102(bigColor1_2): 51(ptr) Variable UniformConstant
102(bigColor1_2): 51(ptr) Variable UniformConstant
113(bigColor1_3): 51(ptr) Variable UniformConstant
113(bigColor1_3): 51(ptr) Variable UniformConstant
119(d4): 4
6
(ptr) Variable UniformConstant
119(d4): 4
7
(ptr) Variable UniformConstant
128: TypeInt 32 1
128: TypeInt 32 1
129: TypePointer Function 128(int)
129: TypePointer Function 128(int)
131: 128(int) Constant 0
131: 128(int) Constant 0
13
5
: TypePointer UniformConstant 128(int)
13
6
: TypePointer UniformConstant 128(int)
13
6(Count): 135
(ptr) Variable UniformConstant
13
7(Count): 136
(ptr) Variable UniformConstant
140(bigColor2): 51(ptr) Variable UniformConstant
140(bigColor2): 51(ptr) Variable UniformConstant
145: 128(int) Constant 1
145: 128(int) Constant 1
158(bigColor3): 51(ptr) Variable UniformConstant
158(bigColor3): 51(ptr) Variable UniformConstant
162: 1
6
(bool) ConstantFalse
162: 1
7
(bool) ConstantFalse
16
7
: 128(int) Constant 42
16
8
: 128(int) Constant 42
18
2
: 128(int) Constant 100
18
3
: 128(int) Constant 100
187: 7(float) Constant 1101004800
187: 7(float) Constant 1101004800
22
0
: 128(int) Constant 120
22
1
: 128(int) Constant 120
306(bigColor4): 51(ptr) Variable UniformConstant
306(bigColor4): 51(ptr) Variable UniformConstant
344(d5): 4
6
(ptr) Variable UniformConstant
344(d5): 4
7
(ptr) Variable UniformConstant
348(bigColor5): 51(ptr) Variable UniformConstant
348(bigColor5): 51(ptr) Variable UniformConstant
366(d6): 4
6
(ptr) Variable UniformConstant
366(d6): 4
7
(ptr) Variable UniformConstant
378(bigColor6): 51(ptr) Variable UniformConstant
378(bigColor6): 51(ptr) Variable UniformConstant
413(d7): 4
6
(ptr) Variable UniformConstant
413(d7): 4
7
(ptr) Variable UniformConstant
442: 7(float) Constant 0
442: 7(float) Constant 0
447(bigColor7): 51(ptr) Variable UniformConstant
447(bigColor7): 51(ptr) Variable UniformConstant
472(d8): 4
6
(ptr) Variable UniformConstant
472(d8): 4
7
(ptr) Variable UniformConstant
494: 7(float) Constant 1073741824
494: 7(float) Constant 1073741824
51
7(d9): 46
(ptr) Variable UniformConstant
51
8(d9): 47
(ptr) Variable UniformConstant
534: 7(float) Constant 1084227584
534: 7(float) Constant 1084227584
5
49(d10): 46
(ptr) Variable UniformConstant
5
50(d10): 47
(ptr) Variable UniformConstant
560(d11): 4
6
(ptr) Variable UniformConstant
560(d11): 4
7
(ptr) Variable UniformConstant
572(d12): 4
6
(ptr) Variable UniformConstant
572(d12): 4
7
(ptr) Variable UniformConstant
59
7
: 7(float) Constant 1092616192
59
8
: 7(float) Constant 1092616192
600(bigColor8): 51(ptr) Variable UniformConstant
600(bigColor8): 51(ptr) Variable UniformConstant
627: TypePointer Output 8(fvec4)
627: TypePointer Output 8(fvec4)
628(gl_FragColor): 627(ptr) Variable Output
628(gl_FragColor): 627(ptr) Variable Output
63
4(d14): 46
(ptr) Variable UniformConstant
63
5(d14): 47
(ptr) Variable UniformConstant
640(d15): 4
6
(ptr) Variable UniformConstant
640(d15): 4
7
(ptr) Variable UniformConstant
65
7(d16): 46
(ptr) Variable UniformConstant
65
8(d16): 47
(ptr) Variable UniformConstant
696(d17): 4
6
(ptr) Variable UniformConstant
696(d17): 4
7
(ptr) Variable UniformConstant
702(d18): 4
6
(ptr) Variable UniformConstant
702(d18): 4
7
(ptr) Variable UniformConstant
733(d13): 4
6
(ptr) Variable UniformConstant
733(d13): 4
7
(ptr) Variable UniformConstant
734(d19): 4
6
(ptr) Variable UniformConstant
734(d19): 4
7
(ptr) Variable UniformConstant
735(d20): 4
6
(ptr) Variable UniformConstant
735(d20): 4
7
(ptr) Variable UniformConstant
736(d21): 4
6
(ptr) Variable UniformConstant
736(d21): 4
7
(ptr) Variable UniformConstant
737(d22): 4
6
(ptr) Variable UniformConstant
737(d22): 4
7
(ptr) Variable UniformConstant
738(d23): 4
6
(ptr) Variable UniformConstant
738(d23): 4
7
(ptr) Variable UniformConstant
739(d24): 4
6
(ptr) Variable UniformConstant
739(d24): 4
7
(ptr) Variable UniformConstant
740(d25): 4
6
(ptr) Variable UniformConstant
740(d25): 4
7
(ptr) Variable UniformConstant
741(d26): 4
6
(ptr) Variable UniformConstant
741(d26): 4
7
(ptr) Variable UniformConstant
742(d27): 4
6
(ptr) Variable UniformConstant
742(d27): 4
7
(ptr) Variable UniformConstant
743(d28): 4
6
(ptr) Variable UniformConstant
743(d28): 4
7
(ptr) Variable UniformConstant
744(d29): 4
6
(ptr) Variable UniformConstant
744(d29): 4
7
(ptr) Variable UniformConstant
745(d30): 4
6
(ptr) Variable UniformConstant
745(d30): 4
7
(ptr) Variable UniformConstant
746(d31): 4
6
(ptr) Variable UniformConstant
746(d31): 4
7
(ptr) Variable UniformConstant
747(d32): 4
6
(ptr) Variable UniformConstant
747(d32): 4
7
(ptr) Variable UniformConstant
748(d33): 4
6
(ptr) Variable UniformConstant
748(d33): 4
7
(ptr) Variable UniformConstant
749(d34): 4
6
(ptr) Variable UniformConstant
749(d34): 4
7
(ptr) Variable UniformConstant
4(main): 2 Function None 3
4(main): 2 Function None 3
5: Label
5: Label
10(color): 9(ptr) Variable Function
10(color): 9(ptr) Variable Function
...
@@ -181,11 +181,11 @@ Linked fragment stage:
...
@@ -181,11 +181,11 @@ Linked fragment stage:
Branch 14
Branch 14
14: Label
14: Label
LoopMerge 15 None
LoopMerge 15 None
BranchConditional 1
7 18
15
BranchConditional 1
8 16
15
1
8
: Label
1
6
: Label
19: 8(fvec4) Load 10(color)
19: 8(fvec4) Load 10(color)
20: 7(float) CompositeExtract 19 0
20: 7(float) CompositeExtract 19 0
22: 1
6
(bool) FOrdLessThan 20 21
22: 1
7
(bool) FOrdLessThan 20 21
SelectionMerge 24 None
SelectionMerge 24 None
BranchConditional 22 23 24
BranchConditional 22 23 24
23: Label
23: Label
...
@@ -196,7 +196,7 @@ Linked fragment stage:
...
@@ -196,7 +196,7 @@ Linked fragment stage:
24: Label
24: Label
29: 8(fvec4) Load 10(color)
29: 8(fvec4) Load 10(color)
30: 7(float) CompositeExtract 29 0
30: 7(float) CompositeExtract 29 0
32: 1
6
(bool) FOrdLessThan 30 31
32: 1
7
(bool) FOrdLessThan 30 31
SelectionMerge 34 None
SelectionMerge 34 None
BranchConditional 32 33 34
BranchConditional 32 33 34
33: Label
33: Label
...
@@ -212,13 +212,13 @@ Linked fragment stage:
...
@@ -212,13 +212,13 @@ Linked fragment stage:
15: Label
15: Label
Branch 42
Branch 42
42: Label
42: Label
4
4
: 8(fvec4) Load 10(color)
4
5
: 8(fvec4) Load 10(color)
4
5: 7(float) CompositeExtract 44
0
4
6: 7(float) CompositeExtract 45
0
4
8: 7(float) Load 47
(d)
4
9: 7(float) Load 48
(d)
49: 16(bool) FOrdLessThan 45 48
50: 17(bool) FOrdLessThan 46 49
LoopMerge 43 None
LoopMerge 43 None
BranchConditional
49 50
43
BranchConditional
50 44
43
50
: Label
44
: Label
53: 8(fvec4) Load 52(bigColor)
53: 8(fvec4) Load 52(bigColor)
54: 8(fvec4) Load 10(color)
54: 8(fvec4) Load 10(color)
55: 8(fvec4) FAdd 54 53
55: 8(fvec4) FAdd 54 53
...
@@ -227,21 +227,21 @@ Linked fragment stage:
...
@@ -227,21 +227,21 @@ Linked fragment stage:
43: Label
43: Label
Branch 56
Branch 56
56: Label
56: Label
5
8
: 8(fvec4) Load 10(color)
5
9
: 8(fvec4) Load 10(color)
59: 7(float) CompositeExtract 58
2
60: 7(float) CompositeExtract 59
2
6
0: 7(float) Load 47
(d)
6
1: 7(float) Load 48
(d)
6
1: 16(bool) FOrdLessThan 59 60
6
2: 17(bool) FOrdLessThan 60 61
LoopMerge 57 None
LoopMerge 57 None
BranchConditional 6
1 62
57
BranchConditional 6
2 58
57
62
: Label
58
: Label
64: 8(fvec4) Load 63(bigColor1_1)
64: 8(fvec4) Load 63(bigColor1_1)
65: 8(fvec4) Load 10(color)
65: 8(fvec4) Load 10(color)
66: 8(fvec4) FAdd 65 64
66: 8(fvec4) FAdd 65 64
Store 10(color) 66
Store 10(color) 66
67: 8(fvec4) Load 10(color)
67: 8(fvec4) Load 10(color)
68: 7(float) CompositeExtract 67 3
68: 7(float) CompositeExtract 67 3
69: 7(float) Load 4
7
(d)
69: 7(float) Load 4
8
(d)
70: 1
6
(bool) FOrdLessThan 68 69
70: 1
7
(bool) FOrdLessThan 68 69
SelectionMerge 72 None
SelectionMerge 72 None
BranchConditional 70 71 72
BranchConditional 70 71 72
71: Label
71: Label
...
@@ -255,12 +255,12 @@ Linked fragment stage:
...
@@ -255,12 +255,12 @@ Linked fragment stage:
57: Label
57: Label
Branch 77
Branch 77
77: Label
77: Label
79
: 8(fvec4) Load 10(color)
80
: 8(fvec4) Load 10(color)
8
0: 7(float) CompositeExtract 79
0
8
1: 7(float) CompositeExtract 80
0
8
2: 16(bool) FOrdLessThan 80 81
8
3: 17(bool) FOrdLessThan 81 82
LoopMerge 78 None
LoopMerge 78 None
BranchConditional 8
2 83
78
BranchConditional 8
3 79
78
83
: Label
79
: Label
84: 8(fvec4) Load 10(color)
84: 8(fvec4) Load 10(color)
86: 8(fvec4) CompositeConstruct 85 85 85 85
86: 8(fvec4) CompositeConstruct 85 85 85 85
87: 8(fvec4) FAdd 84 86
87: 8(fvec4) FAdd 84 86
...
@@ -269,18 +269,18 @@ Linked fragment stage:
...
@@ -269,18 +269,18 @@ Linked fragment stage:
78: Label
78: Label
Branch 88
Branch 88
88: Label
88: Label
9
0
: 8(fvec4) Load 10(color)
9
1
: 8(fvec4) Load 10(color)
9
1: 7(float) CompositeExtract 90
3
9
2: 7(float) CompositeExtract 91
3
9
3: 7(float) Load 92
(d2)
9
4: 7(float) Load 93
(d2)
9
4: 16(bool) FOrdLessThan 91 93
9
5: 17(bool) FOrdLessThan 92 94
9
5
: 8(fvec4) Load 10(color)
9
6
: 8(fvec4) Load 10(color)
9
6: 7(float) CompositeExtract 95
1
9
7: 7(float) CompositeExtract 96
1
9
8: 7(float) Load 97
(d3)
9
9: 7(float) Load 98
(d3)
99: 16(bool) FOrdLessThan 96 98
100: 17(bool) FOrdLessThan 97 99
10
0: 16(bool) LogicalAnd 94 99
10
1: 17(bool) LogicalAnd 95 100
LoopMerge 89 None
LoopMerge 89 None
BranchConditional 10
0 101
89
BranchConditional 10
1 90
89
101
: Label
90
: Label
103: 8(fvec4) Load 102(bigColor1_2)
103: 8(fvec4) Load 102(bigColor1_2)
104: 8(fvec4) Load 10(color)
104: 8(fvec4) Load 10(color)
105: 8(fvec4) FAdd 104 103
105: 8(fvec4) FAdd 104 103
...
@@ -289,13 +289,13 @@ Linked fragment stage:
...
@@ -289,13 +289,13 @@ Linked fragment stage:
89: Label
89: Label
Branch 106
Branch 106
106: Label
106: Label
10
8
: 8(fvec4) Load 10(color)
10
9
: 8(fvec4) Load 10(color)
1
09: 7(float) CompositeExtract 108
2
1
10: 7(float) CompositeExtract 109
2
11
0: 7(float) Load 97
(d3)
11
1: 7(float) Load 98
(d3)
11
1: 16(bool) FOrdLessThan 109 110
11
2: 17(bool) FOrdLessThan 110 111
LoopMerge 107 None
LoopMerge 107 None
BranchConditional 11
1 112
107
BranchConditional 11
2 108
107
1
12
: Label
1
08
: Label
114: 8(fvec4) Load 113(bigColor1_3)
114: 8(fvec4) Load 113(bigColor1_3)
115: 8(fvec4) Load 10(color)
115: 8(fvec4) Load 10(color)
116: 8(fvec4) FAdd 115 114
116: 8(fvec4) FAdd 115 114
...
@@ -303,7 +303,7 @@ Linked fragment stage:
...
@@ -303,7 +303,7 @@ Linked fragment stage:
117: 8(fvec4) Load 10(color)
117: 8(fvec4) Load 10(color)
118: 7(float) CompositeExtract 117 1
118: 7(float) CompositeExtract 117 1
120: 7(float) Load 119(d4)
120: 7(float) Load 119(d4)
121: 1
6
(bool) FOrdLessThan 118 120
121: 1
7
(bool) FOrdLessThan 118 120
SelectionMerge 123 None
SelectionMerge 123 None
BranchConditional 121 122 123
BranchConditional 121 122 123
122: Label
122: Label
...
@@ -318,12 +318,12 @@ Linked fragment stage:
...
@@ -318,12 +318,12 @@ Linked fragment stage:
Store 130(i) 131
Store 130(i) 131
Branch 132
Branch 132
132: Label
132: Label
13
4
: 128(int) Load 130(i)
13
5
: 128(int) Load 130(i)
13
7: 128(int) Load 136
(Count)
13
8: 128(int) Load 137
(Count)
13
8: 16(bool) SLessThan 134 137
13
9: 17(bool) SLessThan 135 138
LoopMerge 133 None
LoopMerge 133 None
BranchConditional 13
8 139
133
BranchConditional 13
9 134
133
13
9
: Label
13
4
: Label
141: 8(fvec4) Load 140(bigColor2)
141: 8(fvec4) Load 140(bigColor2)
142: 8(fvec4) Load 10(color)
142: 8(fvec4) Load 10(color)
143: 8(fvec4) FAdd 142 141
143: 8(fvec4) FAdd 142 141
...
@@ -335,22 +335,22 @@ Linked fragment stage:
...
@@ -335,22 +335,22 @@ Linked fragment stage:
133: Label
133: Label
Branch 147
Branch 147
147: Label
147: Label
1
49: 16(bool) Phi 17 133 162 151
1
50: 17(bool) Phi 18 133 162 149
LoopMerge 148 None
LoopMerge 148 None
Branch 15
0
Branch 15
1
15
0
: Label
15
1
: Label
SelectionMerge 1
51
None
SelectionMerge 1
49
None
BranchConditional 1
49 151
152
BranchConditional 1
50 149
152
152: Label
152: Label
153: 8(fvec4) Load 10(color)
153: 8(fvec4) Load 10(color)
154: 7(float) CompositeExtract 153 0
154: 7(float) CompositeExtract 153 0
155: 7(float) Load 9
2
(d2)
155: 7(float) Load 9
3
(d2)
156: 1
6
(bool) FOrdLessThan 154 155
156: 1
7
(bool) FOrdLessThan 154 155
SelectionMerge 157 None
SelectionMerge 157 None
BranchConditional 156 157 148
BranchConditional 156 157 148
157: Label
157: Label
Branch 1
51
Branch 1
49
1
51
: Label
1
49
: Label
159: 8(fvec4) Load 158(bigColor3)
159: 8(fvec4) Load 158(bigColor3)
160: 8(fvec4) Load 10(color)
160: 8(fvec4) Load 10(color)
161: 8(fvec4) FAdd 160 159
161: 8(fvec4) FAdd 160 159
...
@@ -360,12 +360,12 @@ Linked fragment stage:
...
@@ -360,12 +360,12 @@ Linked fragment stage:
Store 163(i) 131
Store 163(i) 131
Branch 164
Branch 164
164: Label
164: Label
16
6
: 128(int) Load 163(i)
16
7
: 128(int) Load 163(i)
16
8: 16(bool) SLessThan 166 167
16
9: 17(bool) SLessThan 167 168
LoopMerge 165 None
LoopMerge 165 None
BranchConditional 16
8 169
165
BranchConditional 16
9 166
165
16
9
: Label
16
6
: Label
170: 7(float) Load 9
7
(d3)
170: 7(float) Load 9
8
(d3)
171: 8(fvec4) Load 10(color)
171: 8(fvec4) Load 10(color)
172: 7(float) CompositeExtract 171 2
172: 7(float) CompositeExtract 171 2
173: 7(float) FAdd 172 170
173: 7(float) FAdd 172 170
...
@@ -380,14 +380,14 @@ Linked fragment stage:
...
@@ -380,14 +380,14 @@ Linked fragment stage:
Store 178(i) 131
Store 178(i) 131
Branch 179
Branch 179
179: Label
179: Label
18
1
: 128(int) Load 178(i)
18
2
: 128(int) Load 178(i)
18
3: 16(bool) SLessThan 181 182
18
4: 17(bool) SLessThan 182 183
LoopMerge 180 None
LoopMerge 180 None
BranchConditional 18
3 184
180
BranchConditional 18
4 181
180
18
4
: Label
18
1
: Label
185: 8(fvec4) Load 10(color)
185: 8(fvec4) Load 10(color)
186: 7(float) CompositeExtract 185 2
186: 7(float) CompositeExtract 185 2
188: 1
6
(bool) FOrdLessThan 186 187
188: 1
7
(bool) FOrdLessThan 186 187
SelectionMerge 190 None
SelectionMerge 190 None
BranchConditional 188 189 196
BranchConditional 188 189 196
189: Label
189: Label
...
@@ -409,7 +409,7 @@ Linked fragment stage:
...
@@ -409,7 +409,7 @@ Linked fragment stage:
190: Label
190: Label
202: 8(fvec4) Load 10(color)
202: 8(fvec4) Load 10(color)
203: 7(float) CompositeExtract 202 3
203: 7(float) CompositeExtract 202 3
204: 1
6
(bool) FOrdLessThan 203 187
204: 1
7
(bool) FOrdLessThan 203 187
SelectionMerge 206 None
SelectionMerge 206 None
BranchConditional 204 205 206
BranchConditional 204 205 206
205: Label
205: Label
...
@@ -417,7 +417,7 @@ Linked fragment stage:
...
@@ -417,7 +417,7 @@ Linked fragment stage:
208: 7(float) CompositeExtract 207 2
208: 7(float) CompositeExtract 207 2
209: 8(fvec4) Load 10(color)
209: 8(fvec4) Load 10(color)
210: 7(float) CompositeExtract 209 1
210: 7(float) CompositeExtract 209 1
211: 1
6
(bool) FOrdGreaterThan 208 210
211: 1
7
(bool) FOrdGreaterThan 208 210
SelectionMerge 213 None
SelectionMerge 213 None
BranchConditional 211 212 213
BranchConditional 211 212 213
212: Label
212: Label
...
@@ -433,14 +433,14 @@ Linked fragment stage:
...
@@ -433,14 +433,14 @@ Linked fragment stage:
Store 216(i) 131
Store 216(i) 131
Branch 217
Branch 217
217: Label
217: Label
2
19
: 128(int) Load 216(i)
2
20
: 128(int) Load 216(i)
22
1: 16(bool) SLessThan 219 220
22
2: 17(bool) SLessThan 220 221
LoopMerge 218 None
LoopMerge 218 None
BranchConditional 22
1 222
218
BranchConditional 22
2 219
218
2
22
: Label
2
19
: Label
223: 8(fvec4) Load 10(color)
223: 8(fvec4) Load 10(color)
224: 7(float) CompositeExtract 223 2
224: 7(float) CompositeExtract 223 2
225: 1
6
(bool) FOrdLessThan 224 187
225: 1
7
(bool) FOrdLessThan 224 187
SelectionMerge 227 None
SelectionMerge 227 None
BranchConditional 225 226 233
BranchConditional 225 226 233
226: Label
226: Label
...
@@ -468,12 +468,12 @@ Linked fragment stage:
...
@@ -468,12 +468,12 @@ Linked fragment stage:
Store 241(i) 131
Store 241(i) 131
Branch 242
Branch 242
242: Label
242: Label
24
4
: 128(int) Load 241(i)
24
5
: 128(int) Load 241(i)
24
5: 16(bool) SLessThan 244 167
24
6: 17(bool) SLessThan 245 168
LoopMerge 243 None
LoopMerge 243 None
BranchConditional 24
5 246
243
BranchConditional 24
6 244
243
24
6
: Label
24
4
: Label
247: 7(float) Load 9
7
(d3)
247: 7(float) Load 9
8
(d3)
248: 8(fvec4) Load 10(color)
248: 8(fvec4) Load 10(color)
249: 7(float) CompositeExtract 248 2
249: 7(float) CompositeExtract 248 2
250: 7(float) FAdd 249 247
250: 7(float) FAdd 249 247
...
@@ -483,7 +483,7 @@ Linked fragment stage:
...
@@ -483,7 +483,7 @@ Linked fragment stage:
253: 8(fvec4) Load 10(color)
253: 8(fvec4) Load 10(color)
254: 7(float) CompositeExtract 253 0
254: 7(float) CompositeExtract 253 0
255: 7(float) Load 119(d4)
255: 7(float) Load 119(d4)
256: 1
6
(bool) FOrdLessThan 254 255
256: 1
7
(bool) FOrdLessThan 254 255
SelectionMerge 258 None
SelectionMerge 258 None
BranchConditional 256 257 258
BranchConditional 256 257 258
257: Label
257: Label
...
@@ -506,12 +506,12 @@ Linked fragment stage:
...
@@ -506,12 +506,12 @@ Linked fragment stage:
Store 269(i) 131
Store 269(i) 131
Branch 270
Branch 270
270: Label
270: Label
27
2
: 128(int) Load 269(i)
27
3
: 128(int) Load 269(i)
27
3: 16(bool) SLessThan 272 167
27
4: 17(bool) SLessThan 273 168
LoopMerge 271 None
LoopMerge 271 None
BranchConditional 27
3 274
271
BranchConditional 27
4 272
271
27
4
: Label
27
2
: Label
275: 7(float) Load 9
7
(d3)
275: 7(float) Load 9
8
(d3)
276: 8(fvec4) Load 10(color)
276: 8(fvec4) Load 10(color)
277: 7(float) CompositeExtract 276 2
277: 7(float) CompositeExtract 276 2
278: 7(float) FAdd 277 275
278: 7(float) FAdd 277 275
...
@@ -521,7 +521,7 @@ Linked fragment stage:
...
@@ -521,7 +521,7 @@ Linked fragment stage:
281: 8(fvec4) Load 10(color)
281: 8(fvec4) Load 10(color)
282: 7(float) CompositeExtract 281 0
282: 7(float) CompositeExtract 281 0
283: 7(float) Load 119(d4)
283: 7(float) Load 119(d4)
284: 1
6
(bool) FOrdLessThan 282 283
284: 1
7
(bool) FOrdLessThan 282 283
SelectionMerge 286 None
SelectionMerge 286 None
BranchConditional 284 285 286
BranchConditional 284 285 286
285: Label
285: Label
...
@@ -540,22 +540,22 @@ Linked fragment stage:
...
@@ -540,22 +540,22 @@ Linked fragment stage:
271: Label
271: Label
Branch 295
Branch 295
295: Label
295: Label
29
7: 16(bool) Phi 17
271 162 314 162 322
29
8: 17(bool) Phi 18
271 162 314 162 322
LoopMerge 296 None
LoopMerge 296 None
Branch 29
8
Branch 29
9
29
8
: Label
29
9
: Label
SelectionMerge 29
9
None
SelectionMerge 29
7
None
BranchConditional 29
7 299
300
BranchConditional 29
8 297
300
300: Label
300: Label
301: 8(fvec4) Load 10(color)
301: 8(fvec4) Load 10(color)
302: 7(float) CompositeExtract 301 2
302: 7(float) CompositeExtract 301 2
303: 7(float) Load 119(d4)
303: 7(float) Load 119(d4)
304: 1
6
(bool) FOrdLessThan 302 303
304: 1
7
(bool) FOrdLessThan 302 303
SelectionMerge 305 None
SelectionMerge 305 None
BranchConditional 304 305 296
BranchConditional 304 305 296
305: Label
305: Label
Branch 29
9
Branch 29
7
29
9
: Label
29
7
: Label
307: 8(fvec4) Load 306(bigColor4)
307: 8(fvec4) Load 306(bigColor4)
308: 8(fvec4) Load 10(color)
308: 8(fvec4) Load 10(color)
309: 8(fvec4) FAdd 308 307
309: 8(fvec4) FAdd 308 307
...
@@ -563,7 +563,7 @@ Linked fragment stage:
...
@@ -563,7 +563,7 @@ Linked fragment stage:
310: 8(fvec4) Load 10(color)
310: 8(fvec4) Load 10(color)
311: 7(float) CompositeExtract 310 0
311: 7(float) CompositeExtract 310 0
312: 7(float) Load 119(d4)
312: 7(float) Load 119(d4)
313: 1
6
(bool) FOrdLessThan 311 312
313: 1
7
(bool) FOrdLessThan 311 312
SelectionMerge 315 None
SelectionMerge 315 None
BranchConditional 313 314 315
BranchConditional 313 314 315
314: Label
314: Label
...
@@ -572,7 +572,7 @@ Linked fragment stage:
...
@@ -572,7 +572,7 @@ Linked fragment stage:
317: 8(fvec4) Load 10(color)
317: 8(fvec4) Load 10(color)
318: 7(float) CompositeExtract 317 1
318: 7(float) CompositeExtract 317 1
319: 7(float) Load 119(d4)
319: 7(float) Load 119(d4)
320: 1
6
(bool) FOrdLessThan 318 319
320: 1
7
(bool) FOrdLessThan 318 319
SelectionMerge 322 None
SelectionMerge 322 None
BranchConditional 320 321 329
BranchConditional 320 321 329
321: Label
321: Label
...
@@ -598,22 +598,22 @@ Linked fragment stage:
...
@@ -598,22 +598,22 @@ Linked fragment stage:
296: Label
296: Label
Branch 336
Branch 336
336: Label
336: Label
33
8: 16(bool) Phi 17
296 162 357
33
9: 17(bool) Phi 18
296 162 357
LoopMerge 337 None
LoopMerge 337 None
Branch 3
39
Branch 3
40
3
39
: Label
3
40
: Label
SelectionMerge 3
40
None
SelectionMerge 3
38
None
BranchConditional 33
8 340
341
BranchConditional 33
9 338
341
341: Label
341: Label
342: 8(fvec4) Load 10(color)
342: 8(fvec4) Load 10(color)
343: 7(float) CompositeExtract 342 0
343: 7(float) CompositeExtract 342 0
345: 7(float) Load 344(d5)
345: 7(float) Load 344(d5)
346: 1
6
(bool) FOrdLessThan 343 345
346: 1
7
(bool) FOrdLessThan 343 345
SelectionMerge 347 None
SelectionMerge 347 None
BranchConditional 346 347 337
BranchConditional 346 347 337
347: Label
347: Label
Branch 3
40
Branch 3
38
3
40
: Label
3
38
: Label
349: 8(fvec4) Load 348(bigColor5)
349: 8(fvec4) Load 348(bigColor5)
350: 8(fvec4) Load 10(color)
350: 8(fvec4) Load 10(color)
351: 8(fvec4) FAdd 350 349
351: 8(fvec4) FAdd 350 349
...
@@ -621,7 +621,7 @@ Linked fragment stage:
...
@@ -621,7 +621,7 @@ Linked fragment stage:
352: 8(fvec4) Load 10(color)
352: 8(fvec4) Load 10(color)
353: 7(float) CompositeExtract 352 1
353: 7(float) CompositeExtract 352 1
354: 7(float) Load 344(d5)
354: 7(float) Load 344(d5)
355: 1
6
(bool) FOrdLessThan 353 354
355: 1
7
(bool) FOrdLessThan 353 354
SelectionMerge 357 None
SelectionMerge 357 None
BranchConditional 355 356 357
BranchConditional 355 356 357
356: Label
356: Label
...
@@ -639,19 +639,19 @@ Linked fragment stage:
...
@@ -639,19 +639,19 @@ Linked fragment stage:
364: 8(fvec4) Load 10(color)
364: 8(fvec4) Load 10(color)
365: 7(float) CompositeExtract 364 0
365: 7(float) CompositeExtract 364 0
367: 7(float) Load 366(d6)
367: 7(float) Load 366(d6)
368: 1
6
(bool) FOrdLessThan 365 367
368: 1
7
(bool) FOrdLessThan 365 367
SelectionMerge 370 None
SelectionMerge 370 None
BranchConditional 368 369 382
BranchConditional 368 369 382
369: Label
369: Label
Branch 371
Branch 371
371: Label
371: Label
37
3
: 8(fvec4) Load 10(color)
37
4
: 8(fvec4) Load 10(color)
37
4: 7(float) CompositeExtract 373
1
37
5: 7(float) CompositeExtract 374
1
37
5
: 7(float) Load 366(d6)
37
6
: 7(float) Load 366(d6)
37
6: 16(bool) FOrdLessThan 374 375
37
7: 17(bool) FOrdLessThan 375 376
LoopMerge 372 None
LoopMerge 372 None
BranchConditional 37
6 377
372
BranchConditional 37
7 373
372
37
7
: Label
37
3
: Label
379: 8(fvec4) Load 378(bigColor6)
379: 8(fvec4) Load 378(bigColor6)
380: 8(fvec4) Load 10(color)
380: 8(fvec4) Load 10(color)
381: 8(fvec4) FAdd 380 379
381: 8(fvec4) FAdd 380 379
...
@@ -662,13 +662,13 @@ Linked fragment stage:
...
@@ -662,13 +662,13 @@ Linked fragment stage:
382: Label
382: Label
Branch 383
Branch 383
383: Label
383: Label
38
5
: 8(fvec4) Load 10(color)
38
6
: 8(fvec4) Load 10(color)
38
6: 7(float) CompositeExtract 385
2
38
7: 7(float) CompositeExtract 386
2
38
7
: 7(float) Load 366(d6)
38
8
: 7(float) Load 366(d6)
38
8: 16(bool) FOrdLessThan 386 387
38
9: 17(bool) FOrdLessThan 387 388
LoopMerge 384 None
LoopMerge 384 None
BranchConditional 38
8 389
384
BranchConditional 38
9 385
384
38
9
: Label
38
5
: Label
390: 8(fvec4) Load 378(bigColor6)
390: 8(fvec4) Load 378(bigColor6)
391: 7(float) CompositeExtract 390 2
391: 7(float) CompositeExtract 390 2
392: 8(fvec4) Load 10(color)
392: 8(fvec4) Load 10(color)
...
@@ -684,25 +684,25 @@ Linked fragment stage:
...
@@ -684,25 +684,25 @@ Linked fragment stage:
397: 8(fvec4) Load 10(color)
397: 8(fvec4) Load 10(color)
398: 7(float) CompositeExtract 397 0
398: 7(float) CompositeExtract 397 0
399: 7(float) Load 366(d6)
399: 7(float) Load 366(d6)
400: 1
6
(bool) FOrdLessThan 398 399
400: 1
7
(bool) FOrdLessThan 398 399
SelectionMerge 402 None
SelectionMerge 402 None
BranchConditional 400 401 419
BranchConditional 400 401 419
401: Label
401: Label
Branch 403
Branch 403
403: Label
403: Label
40
5
: 8(fvec4) Load 10(color)
40
6
: 8(fvec4) Load 10(color)
40
6: 7(float) CompositeExtract 405
1
40
7: 7(float) CompositeExtract 406
1
40
7
: 7(float) Load 366(d6)
40
8
: 7(float) Load 366(d6)
40
8: 16(bool) FOrdLessThan 406 407
40
9: 17(bool) FOrdLessThan 407 408
LoopMerge 404 None
LoopMerge 404 None
BranchConditional 40
8 409
404
BranchConditional 40
9 405
404
40
9
: Label
40
5
: Label
410: 8(fvec4) Load 378(bigColor6)
410: 8(fvec4) Load 378(bigColor6)
411: 8(fvec4) Load 10(color)
411: 8(fvec4) Load 10(color)
412: 8(fvec4) FAdd 411 410
412: 8(fvec4) FAdd 411 410
Store 10(color) 412
Store 10(color) 412
414: 7(float) Load 413(d7)
414: 7(float) Load 413(d7)
415: 1
6
(bool) FOrdLessThan 414 85
415: 1
7
(bool) FOrdLessThan 414 85
SelectionMerge 417 None
SelectionMerge 417 None
BranchConditional 415 416 417
BranchConditional 415 416 417
416: Label
416: Label
...
@@ -714,13 +714,13 @@ Linked fragment stage:
...
@@ -714,13 +714,13 @@ Linked fragment stage:
419: Label
419: Label
Branch 420
Branch 420
420: Label
420: Label
42
2
: 8(fvec4) Load 10(color)
42
3
: 8(fvec4) Load 10(color)
42
3: 7(float) CompositeExtract 422
2
42
4: 7(float) CompositeExtract 423
2
42
4
: 7(float) Load 366(d6)
42
5
: 7(float) Load 366(d6)
42
5: 16(bool) FOrdLessThan 423 424
42
6: 17(bool) FOrdLessThan 424 425
LoopMerge 421 None
LoopMerge 421 None
BranchConditional 42
5 426
421
BranchConditional 42
6 422
421
42
6
: Label
42
2
: Label
427: 8(fvec4) Load 378(bigColor6)
427: 8(fvec4) Load 378(bigColor6)
428: 7(float) CompositeExtract 427 2
428: 7(float) CompositeExtract 427 2
429: 8(fvec4) Load 10(color)
429: 8(fvec4) Load 10(color)
...
@@ -735,20 +735,20 @@ Linked fragment stage:
...
@@ -735,20 +735,20 @@ Linked fragment stage:
402: Label
402: Label
Branch 434
Branch 434
434: Label
434: Label
43
6: 16(bool) Phi 17
402 162 454
43
7: 17(bool) Phi 18
402 162 454
LoopMerge 435 None
LoopMerge 435 None
Branch 43
7
Branch 43
8
43
7
: Label
43
8
: Label
SelectionMerge 43
8
None
SelectionMerge 43
6
None
BranchConditional 43
6 438
439
BranchConditional 43
7 436
439
439: Label
439: Label
SelectionMerge 440 None
SelectionMerge 440 None
BranchConditional 1
7
440 435
BranchConditional 1
8
440 435
440: Label
440: Label
Branch 43
8
Branch 43
6
43
8
: Label
43
6
: Label
441: 7(float) Load 413(d7)
441: 7(float) Load 413(d7)
443: 1
6
(bool) FOrdLessThan 441 442
443: 1
7
(bool) FOrdLessThan 441 442
SelectionMerge 445 None
SelectionMerge 445 None
BranchConditional 443 444 445
BranchConditional 443 444 445
444: Label
444: Label
...
@@ -759,7 +759,7 @@ Linked fragment stage:
...
@@ -759,7 +759,7 @@ Linked fragment stage:
450: 8(fvec4) FAdd 449 448
450: 8(fvec4) FAdd 449 448
Store 10(color) 450
Store 10(color) 450
451: 7(float) Load 413(d7)
451: 7(float) Load 413(d7)
452: 1
6
(bool) FOrdLessThan 451 85
452: 1
7
(bool) FOrdLessThan 451 85
SelectionMerge 454 None
SelectionMerge 454 None
BranchConditional 452 453 454
BranchConditional 452 453 454
453: Label
453: Label
...
@@ -779,24 +779,24 @@ Linked fragment stage:
...
@@ -779,24 +779,24 @@ Linked fragment stage:
435: Label
435: Label
Branch 464
Branch 464
464: Label
464: Label
46
6: 16(bool) Phi 17
435 162 487
46
7: 17(bool) Phi 18
435 162 487
LoopMerge 465 None
LoopMerge 465 None
Branch 46
7
Branch 46
8
46
7
: Label
46
8
: Label
SelectionMerge 46
8
None
SelectionMerge 46
6
None
BranchConditional 46
6 468
469
BranchConditional 46
7 466
469
469: Label
469: Label
470: 8(fvec4) Load 10(color)
470: 8(fvec4) Load 10(color)
471: 7(float) CompositeExtract 470 2
471: 7(float) CompositeExtract 470 2
473: 7(float) Load 472(d8)
473: 7(float) Load 472(d8)
474: 1
6
(bool) FOrdLessThan 471 473
474: 1
7
(bool) FOrdLessThan 471 473
SelectionMerge 475 None
SelectionMerge 475 None
BranchConditional 474 475 465
BranchConditional 474 475 465
475: Label
475: Label
Branch 46
8
Branch 46
6
46
8
: Label
46
6
: Label
476: 7(float) Load 472(d8)
476: 7(float) Load 472(d8)
477: 1
6
(bool) FOrdLessThan 476 442
477: 1
7
(bool) FOrdLessThan 476 442
SelectionMerge 479 None
SelectionMerge 479 None
BranchConditional 477 478 479
BranchConditional 477 478 479
478: Label
478: Label
...
@@ -807,7 +807,7 @@ Linked fragment stage:
...
@@ -807,7 +807,7 @@ Linked fragment stage:
483: 8(fvec4) FAdd 482 481
483: 8(fvec4) FAdd 482 481
Store 10(color) 483
Store 10(color) 483
484: 7(float) Load 472(d8)
484: 7(float) Load 472(d8)
485: 1
6
(bool) FOrdLessThan 484 85
485: 1
7
(bool) FOrdLessThan 484 85
SelectionMerge 487 None
SelectionMerge 487 None
BranchConditional 485 486 487
BranchConditional 485 486 487
486: Label
486: Label
...
@@ -818,7 +818,7 @@ Linked fragment stage:
...
@@ -818,7 +818,7 @@ Linked fragment stage:
492: 8(fvec4) CompositeInsert 490 491 2
492: 8(fvec4) CompositeInsert 490 491 2
Store 10(color) 492
Store 10(color) 492
493: 7(float) Load 472(d8)
493: 7(float) Load 472(d8)
495: 1
6
(bool) FOrdLessThan 493 494
495: 1
7
(bool) FOrdLessThan 493 494
SelectionMerge 497 None
SelectionMerge 497 None
BranchConditional 495 496 503
BranchConditional 495 496 503
496: Label
496: Label
...
@@ -848,29 +848,29 @@ Linked fragment stage:
...
@@ -848,29 +848,29 @@ Linked fragment stage:
465: Label
465: Label
Branch 513
Branch 513
513: Label
513: Label
51
5
: 8(fvec4) Load 10(color)
51
6
: 8(fvec4) Load 10(color)
51
6: 7(float) CompositeExtract 515
3
51
7: 7(float) CompositeExtract 516
3
51
8: 7(float) Load 517
(d9)
51
9: 7(float) Load 518
(d9)
5
19: 16(bool) FOrdLessThan 516 518
5
20: 17(bool) FOrdLessThan 517 519
LoopMerge 514 None
LoopMerge 514 None
BranchConditional 5
19 520
514
BranchConditional 5
20 515
514
5
20
: Label
5
15
: Label
521: 7(float) Load 51
7
(d9)
521: 7(float) Load 51
8
(d9)
522: 7(float) Load 472(d8)
522: 7(float) Load 472(d8)
523: 1
6
(bool) FOrdGreaterThan 521 522
523: 1
7
(bool) FOrdGreaterThan 521 522
SelectionMerge 525 None
SelectionMerge 525 None
BranchConditional 523 524 525
BranchConditional 523 524 525
524: Label
524: Label
526: 8(fvec4) Load 10(color)
526: 8(fvec4) Load 10(color)
527: 7(float) CompositeExtract 526 0
527: 7(float) CompositeExtract 526 0
528: 7(float) Load 413(d7)
528: 7(float) Load 413(d7)
529: 1
6
(bool) FOrdLessThanEqual 527 528
529: 1
7
(bool) FOrdLessThanEqual 527 528
SelectionMerge 531 None
SelectionMerge 531 None
BranchConditional 529 530 531
BranchConditional 529 530 531
530: Label
530: Label
532: 8(fvec4) Load 10(color)
532: 8(fvec4) Load 10(color)
533: 7(float) CompositeExtract 532 2
533: 7(float) CompositeExtract 532 2
535: 1
6
(bool) FOrdEqual 533 534
535: 1
7
(bool) FOrdEqual 533 534
SelectionMerge 537 None
SelectionMerge 537 None
BranchConditional 535 536 543
BranchConditional 535 536 543
536: Label
536: Label
...
@@ -892,13 +892,13 @@ Linked fragment stage:
...
@@ -892,13 +892,13 @@ Linked fragment stage:
514: Label
514: Label
Branch 545
Branch 545
545: Label
545: Label
54
7
: 8(fvec4) Load 10(color)
54
8
: 8(fvec4) Load 10(color)
54
8: 7(float) CompositeExtract 547
2
54
9: 7(float) CompositeExtract 548
2
55
0: 7(float) Load 549
(d10)
55
1: 7(float) Load 550
(d10)
55
1: 16(bool) FOrdLessThan 548 550
55
2: 17(bool) FOrdLessThan 549 551
LoopMerge 546 None
LoopMerge 546 None
BranchConditional 55
1 552
546
BranchConditional 55
2 547
546
5
52
: Label
5
47
: Label
553: 8(fvec4) Load 10(color)
553: 8(fvec4) Load 10(color)
554: 7(float) CompositeExtract 553 1
554: 7(float) CompositeExtract 553 1
555: 7(float) FAdd 554 85
555: 7(float) FAdd 554 85
...
@@ -908,7 +908,7 @@ Linked fragment stage:
...
@@ -908,7 +908,7 @@ Linked fragment stage:
558: 8(fvec4) Load 10(color)
558: 8(fvec4) Load 10(color)
559: 7(float) CompositeExtract 558 1
559: 7(float) CompositeExtract 558 1
561: 7(float) Load 560(d11)
561: 7(float) Load 560(d11)
562: 1
6
(bool) FOrdLessThan 559 561
562: 1
7
(bool) FOrdLessThan 559 561
SelectionMerge 564 None
SelectionMerge 564 None
BranchConditional 562 563 564
BranchConditional 562 563 564
563: Label
563: Label
...
@@ -921,7 +921,7 @@ Linked fragment stage:
...
@@ -921,7 +921,7 @@ Linked fragment stage:
570: 8(fvec4) Load 10(color)
570: 8(fvec4) Load 10(color)
571: 7(float) CompositeExtract 570 3
571: 7(float) CompositeExtract 570 3
573: 7(float) Load 572(d12)
573: 7(float) Load 572(d12)
574: 1
6
(bool) FOrdLessThan 571 573
574: 1
7
(bool) FOrdLessThan 571 573
SelectionMerge 576 None
SelectionMerge 576 None
BranchConditional 574 575 582
BranchConditional 574 575 582
575: Label
575: Label
...
@@ -951,12 +951,12 @@ Linked fragment stage:
...
@@ -951,12 +951,12 @@ Linked fragment stage:
546: Label
546: Label
Branch 593
Branch 593
593: Label
593: Label
59
5
: 8(fvec4) Load 10(color)
59
6
: 8(fvec4) Load 10(color)
59
6: 7(float) CompositeExtract 595
0
59
7: 7(float) CompositeExtract 596
0
59
8: 16(bool) FOrdLessThan 596 597
59
9: 17(bool) FOrdLessThan 597 598
LoopMerge 594 None
LoopMerge 594 None
BranchConditional 59
8 599
594
BranchConditional 59
9 595
594
59
9
: Label
59
5
: Label
601: 8(fvec4) Load 600(bigColor8)
601: 8(fvec4) Load 600(bigColor8)
602: 8(fvec4) Load 10(color)
602: 8(fvec4) Load 10(color)
603: 8(fvec4) FAdd 602 601
603: 8(fvec4) FAdd 602 601
...
@@ -964,14 +964,14 @@ Linked fragment stage:
...
@@ -964,14 +964,14 @@ Linked fragment stage:
604: 8(fvec4) Load 10(color)
604: 8(fvec4) Load 10(color)
605: 7(float) CompositeExtract 604 2
605: 7(float) CompositeExtract 604 2
606: 7(float) Load 472(d8)
606: 7(float) Load 472(d8)
607: 1
6
(bool) FOrdLessThan 605 606
607: 1
7
(bool) FOrdLessThan 605 606
SelectionMerge 609 None
SelectionMerge 609 None
BranchConditional 607 608 609
BranchConditional 607 608 609
608: Label
608: Label
610: 8(fvec4) Load 10(color)
610: 8(fvec4) Load 10(color)
611: 7(float) CompositeExtract 610 3
611: 7(float) CompositeExtract 610 3
612: 7(float) Load 366(d6)
612: 7(float) Load 366(d6)
613: 1
6
(bool) FOrdLessThan 611 612
613: 1
7
(bool) FOrdLessThan 611 612
SelectionMerge 615 None
SelectionMerge 615 None
BranchConditional 613 614 615
BranchConditional 613 614 615
614: Label
614: Label
...
@@ -997,17 +997,17 @@ Linked fragment stage:
...
@@ -997,17 +997,17 @@ Linked fragment stage:
Store 628(gl_FragColor) 629
Store 628(gl_FragColor) 629
Branch 630
Branch 630
630: Label
630: Label
63
2
: 8(fvec4) Load 10(color)
63
3
: 8(fvec4) Load 10(color)
63
3: 7(float) CompositeExtract 632
0
63
4: 7(float) CompositeExtract 633
0
63
5: 7(float) Load 634
(d14)
63
6: 7(float) Load 635
(d14)
63
6: 16(bool) FOrdLessThan 633 635
63
7: 17(bool) FOrdLessThan 634 636
LoopMerge 631 None
LoopMerge 631 None
BranchConditional 63
6 637
631
BranchConditional 63
7 632
631
63
7
: Label
63
2
: Label
638: 8(fvec4) Load 10(color)
638: 8(fvec4) Load 10(color)
639: 7(float) CompositeExtract 638 1
639: 7(float) CompositeExtract 638 1
641: 7(float) Load 640(d15)
641: 7(float) Load 640(d15)
642: 1
6
(bool) FOrdLessThan 639 641
642: 1
7
(bool) FOrdLessThan 639 641
SelectionMerge 644 None
SelectionMerge 644 None
BranchConditional 642 643 646
BranchConditional 642 643 646
643: Label
643: Label
...
@@ -1027,13 +1027,13 @@ Linked fragment stage:
...
@@ -1027,13 +1027,13 @@ Linked fragment stage:
Store 10(color) 652
Store 10(color) 652
Branch 653
Branch 653
653: Label
653: Label
65
5
: 8(fvec4) Load 10(color)
65
6
: 8(fvec4) Load 10(color)
65
6: 7(float) CompositeExtract 655
3
65
7: 7(float) CompositeExtract 656
3
65
8: 7(float) Load 657
(d16)
65
9: 7(float) Load 658
(d16)
6
59: 16(bool) FOrdLessThan 656 658
6
60: 17(bool) FOrdLessThan 657 659
LoopMerge 654 None
LoopMerge 654 None
BranchConditional 6
59 660
654
BranchConditional 6
60 655
654
6
60
: Label
6
55
: Label
661: 8(fvec4) Load 10(color)
661: 8(fvec4) Load 10(color)
662: 7(float) CompositeExtract 661 3
662: 7(float) CompositeExtract 661 3
663: 7(float) FAdd 662 85
663: 7(float) FAdd 662 85
...
@@ -1044,26 +1044,26 @@ Linked fragment stage:
...
@@ -1044,26 +1044,26 @@ Linked fragment stage:
654: Label
654: Label
Branch 666
Branch 666
666: Label
666: Label
66
8
: 8(fvec4) Load 10(color)
66
9
: 8(fvec4) Load 10(color)
6
69: 7(float) CompositeExtract 668
3
6
70: 7(float) CompositeExtract 669
3
67
0: 7(float) Load 92
(d2)
67
1: 7(float) Load 93
(d2)
67
1: 16(bool) FOrdLessThan 669 670
67
2: 17(bool) FOrdLessThan 670 671
67
2
: 8(fvec4) Load 10(color)
67
3
: 8(fvec4) Load 10(color)
67
3: 7(float) CompositeExtract 672
1
67
4: 7(float) CompositeExtract 673
1
67
4: 7(float) Load 97
(d3)
67
5: 7(float) Load 98
(d3)
67
5: 16(bool) FOrdLessThan 673 674
67
6: 17(bool) FOrdLessThan 674 675
67
6: 16(bool) LogicalAnd 671 675
67
7: 17(bool) LogicalAnd 672 676
LoopMerge 667 None
LoopMerge 667 None
BranchConditional 67
6 677
667
BranchConditional 67
7 668
667
6
77
: Label
6
68
: Label
678: 8(fvec4) Load 102(bigColor1_2)
678: 8(fvec4) Load 102(bigColor1_2)
679: 8(fvec4) Load 10(color)
679: 8(fvec4) Load 10(color)
680: 8(fvec4) FAdd 679 678
680: 8(fvec4) FAdd 679 678
Store 10(color) 680
Store 10(color) 680
681: 8(fvec4) Load 10(color)
681: 8(fvec4) Load 10(color)
682: 7(float) CompositeExtract 681 2
682: 7(float) CompositeExtract 681 2
683: 7(float) Load 9
7
(d3)
683: 7(float) Load 9
8
(d3)
684: 1
6
(bool) FOrdLessThan 682 683
684: 1
7
(bool) FOrdLessThan 682 683
SelectionMerge 686 None
SelectionMerge 686 None
BranchConditional 684 685 686
BranchConditional 684 685 686
685: Label
685: Label
...
@@ -1073,26 +1073,26 @@ Linked fragment stage:
...
@@ -1073,26 +1073,26 @@ Linked fragment stage:
667: Label
667: Label
Branch 688
Branch 688
688: Label
688: Label
69
0: 16(bool) Phi 17
667 162 706
69
1: 17(bool) Phi 18
667 162 706
LoopMerge 689 None
LoopMerge 689 None
Branch 69
1
Branch 69
2
69
1
: Label
69
2
: Label
SelectionMerge 69
2
None
SelectionMerge 69
0
None
BranchConditional 69
0 692
693
BranchConditional 69
1 690
693
693: Label
693: Label
694: 8(fvec4) Load 10(color)
694: 8(fvec4) Load 10(color)
695: 7(float) CompositeExtract 694 0
695: 7(float) CompositeExtract 694 0
697: 7(float) Load 696(d17)
697: 7(float) Load 696(d17)
698: 1
6
(bool) FOrdLessThan 695 697
698: 1
7
(bool) FOrdLessThan 695 697
SelectionMerge 699 None
SelectionMerge 699 None
BranchConditional 698 699 689
BranchConditional 698 699 689
699: Label
699: Label
Branch 69
2
Branch 69
0
69
2
: Label
69
0
: Label
700: 8(fvec4) Load 10(color)
700: 8(fvec4) Load 10(color)
701: 7(float) CompositeExtract 700 1
701: 7(float) CompositeExtract 700 1
703: 7(float) Load 702(d18)
703: 7(float) Load 702(d18)
704: 1
6
(bool) FOrdLessThan 701 703
704: 1
7
(bool) FOrdLessThan 701 703
SelectionMerge 706 None
SelectionMerge 706 None
BranchConditional 704 705 706
BranchConditional 704 705 706
705: Label
705: Label
...
@@ -1106,17 +1106,17 @@ Linked fragment stage:
...
@@ -1106,17 +1106,17 @@ Linked fragment stage:
689: Label
689: Label
Branch 711
Branch 711
711: Label
711: Label
71
3
: 8(fvec4) Load 10(color)
71
4
: 8(fvec4) Load 10(color)
71
4: 7(float) CompositeExtract 713
1
71
5: 7(float) CompositeExtract 714
1
71
5: 7(float) Load 657
(d16)
71
6: 7(float) Load 658
(d16)
71
6: 16(bool) FOrdLessThan 714 715
71
7: 17(bool) FOrdLessThan 715 716
LoopMerge 712 None
LoopMerge 712 None
BranchConditional 71
6 717
712
BranchConditional 71
7 713
712
71
7
: Label
71
3
: Label
718: 8(fvec4) Load 10(color)
718: 8(fvec4) Load 10(color)
719: 7(float) CompositeExtract 718 3
719: 7(float) CompositeExtract 718 3
720: 7(float) Load 65
7
(d16)
720: 7(float) Load 65
8
(d16)
721: 1
6
(bool) FOrdLessThan 719 720
721: 1
7
(bool) FOrdLessThan 719 720
SelectionMerge 723 None
SelectionMerge 723 None
BranchConditional 721 722 725
BranchConditional 721 722 725
722: Label
722: Label
...
...
Test/baseResults/spv.loopsArtificial.frag.out
View file @
f4984009
...
@@ -18,7 +18,7 @@ Linked fragment stage:
...
@@ -18,7 +18,7 @@ Linked fragment stage:
Name 12 "BaseColor"
Name 12 "BaseColor"
Name 25 "d4"
Name 25 "d4"
Name 30 "bigColor4"
Name 30 "bigColor4"
Name 8
3
"d13"
Name 8
4
"d13"
Name 149 "gl_FragColor"
Name 149 "gl_FragColor"
Name 151 "bigColor"
Name 151 "bigColor"
Name 152 "bigColor1_1"
Name 152 "bigColor1_1"
...
@@ -115,16 +115,16 @@ Linked fragment stage:
...
@@ -115,16 +115,16 @@ Linked fragment stage:
9: TypePointer Function 8(fvec4)
9: TypePointer Function 8(fvec4)
11: TypePointer Input 8(fvec4)
11: TypePointer Input 8(fvec4)
12(BaseColor): 11(ptr) Variable Input
12(BaseColor): 11(ptr) Variable Input
1
7
: TypeBool
1
8
: TypeBool
1
8: 17
(bool) ConstantTrue
1
9: 18
(bool) ConstantTrue
24: TypePointer UniformConstant 7(float)
24: TypePointer UniformConstant 7(float)
25(d4): 24(ptr) Variable UniformConstant
25(d4): 24(ptr) Variable UniformConstant
29: TypePointer UniformConstant 8(fvec4)
29: TypePointer UniformConstant 8(fvec4)
30(bigColor4): 29(ptr) Variable UniformConstant
30(bigColor4): 29(ptr) Variable UniformConstant
40: 7(float) Constant 1073741824
40: 7(float) Constant 1073741824
54: 7(float) Constant 1065353216
54: 7(float) Constant 1065353216
58: 1
7
(bool) ConstantFalse
58: 1
8
(bool) ConstantFalse
8
3
(d13): 24(ptr) Variable UniformConstant
8
4
(d13): 24(ptr) Variable UniformConstant
148: TypePointer Output 8(fvec4)
148: TypePointer Output 8(fvec4)
149(gl_FragColor): 148(ptr) Variable Output
149(gl_FragColor): 148(ptr) Variable Output
151(bigColor): 29(ptr) Variable UniformConstant
151(bigColor): 29(ptr) Variable UniformConstant
...
@@ -179,22 +179,22 @@ Linked fragment stage:
...
@@ -179,22 +179,22 @@ Linked fragment stage:
Store 10(color) 13
Store 10(color) 13
Branch 14
Branch 14
14: Label
14: Label
1
6: 17(bool) Phi 18
5 58 50 58 65
1
7: 18(bool) Phi 19
5 58 50 58 65
LoopMerge 15 None
LoopMerge 15 None
Branch
19
Branch
20
19
: Label
20
: Label
SelectionMerge
20
None
SelectionMerge
16
None
BranchConditional 1
6 20
21
BranchConditional 1
7 16
21
21: Label
21: Label
22: 8(fvec4) Load 10(color)
22: 8(fvec4) Load 10(color)
23: 7(float) CompositeExtract 22 2
23: 7(float) CompositeExtract 22 2
26: 7(float) Load 25(d4)
26: 7(float) Load 25(d4)
27: 1
7
(bool) FOrdLessThan 23 26
27: 1
8
(bool) FOrdLessThan 23 26
SelectionMerge 28 None
SelectionMerge 28 None
BranchConditional 27 28 15
BranchConditional 27 28 15
28: Label
28: Label
Branch
20
Branch
16
20
: Label
16
: Label
31: 8(fvec4) Load 30(bigColor4)
31: 8(fvec4) Load 30(bigColor4)
32: 8(fvec4) Load 10(color)
32: 8(fvec4) Load 10(color)
33: 8(fvec4) FAdd 32 31
33: 8(fvec4) FAdd 32 31
...
@@ -202,7 +202,7 @@ Linked fragment stage:
...
@@ -202,7 +202,7 @@ Linked fragment stage:
34: 8(fvec4) Load 10(color)
34: 8(fvec4) Load 10(color)
35: 7(float) CompositeExtract 34 0
35: 7(float) CompositeExtract 34 0
36: 7(float) Load 25(d4)
36: 7(float) Load 25(d4)
37: 1
7
(bool) FOrdLessThan 35 36
37: 1
8
(bool) FOrdLessThan 35 36
SelectionMerge 39 None
SelectionMerge 39 None
BranchConditional 37 38 39
BranchConditional 37 38 39
38: Label
38: Label
...
@@ -215,7 +215,7 @@ Linked fragment stage:
...
@@ -215,7 +215,7 @@ Linked fragment stage:
46: 8(fvec4) Load 10(color)
46: 8(fvec4) Load 10(color)
47: 7(float) CompositeExtract 46 2
47: 7(float) CompositeExtract 46 2
48: 7(float) Load 25(d4)
48: 7(float) Load 25(d4)
49: 1
7
(bool) FOrdLessThan 47 48
49: 1
8
(bool) FOrdLessThan 47 48
SelectionMerge 51 None
SelectionMerge 51 None
BranchConditional 49 50 51
BranchConditional 49 50 51
50: Label
50: Label
...
@@ -232,7 +232,7 @@ Linked fragment stage:
...
@@ -232,7 +232,7 @@ Linked fragment stage:
60: 8(fvec4) Load 10(color)
60: 8(fvec4) Load 10(color)
61: 7(float) CompositeExtract 60 1
61: 7(float) CompositeExtract 60 1
62: 7(float) Load 25(d4)
62: 7(float) Load 25(d4)
63: 1
7
(bool) FOrdLessThan 61 62
63: 1
8
(bool) FOrdLessThan 61 62
SelectionMerge 65 None
SelectionMerge 65 None
BranchConditional 63 64 72
BranchConditional 63 64 72
64: Label
64: Label
...
@@ -258,17 +258,17 @@ Linked fragment stage:
...
@@ -258,17 +258,17 @@ Linked fragment stage:
15: Label
15: Label
Branch 79
Branch 79
79: Label
79: Label
8
1
: 8(fvec4) Load 10(color)
8
2
: 8(fvec4) Load 10(color)
8
2: 7(float) CompositeExtract 81
3
8
3: 7(float) CompositeExtract 82
3
8
4: 7(float) Load 83
(d13)
8
5: 7(float) Load 84
(d13)
8
5: 17(bool) FOrdLessThan 82 84
8
6: 18(bool) FOrdLessThan 83 85
LoopMerge 80 None
LoopMerge 80 None
BranchConditional 8
5 86
80
BranchConditional 8
6 81
80
8
6
: Label
8
1
: Label
87: 8(fvec4) Load 10(color)
87: 8(fvec4) Load 10(color)
88: 7(float) CompositeExtract 87 2
88: 7(float) CompositeExtract 87 2
89: 7(float) Load 8
3
(d13)
89: 7(float) Load 8
4
(d13)
90: 1
7
(bool) FOrdLessThan 88 89
90: 1
8
(bool) FOrdLessThan 88 89
SelectionMerge 92 None
SelectionMerge 92 None
BranchConditional 90 91 96
BranchConditional 90 91 96
91: Label
91: Label
...
@@ -291,7 +291,7 @@ Linked fragment stage:
...
@@ -291,7 +291,7 @@ Linked fragment stage:
103: 8(fvec4) Load 10(color)
103: 8(fvec4) Load 10(color)
104: 7(float) CompositeExtract 103 0
104: 7(float) CompositeExtract 103 0
105: 7(float) Load 25(d4)
105: 7(float) Load 25(d4)
106: 1
7
(bool) FOrdLessThan 104 105
106: 1
8
(bool) FOrdLessThan 104 105
SelectionMerge 108 None
SelectionMerge 108 None
BranchConditional 106 107 108
BranchConditional 106 107 108
107: Label
107: Label
...
@@ -304,7 +304,7 @@ Linked fragment stage:
...
@@ -304,7 +304,7 @@ Linked fragment stage:
114: 8(fvec4) Load 10(color)
114: 8(fvec4) Load 10(color)
115: 7(float) CompositeExtract 114 2
115: 7(float) CompositeExtract 114 2
116: 7(float) Load 25(d4)
116: 7(float) Load 25(d4)
117: 1
7
(bool) FOrdLessThan 115 116
117: 1
8
(bool) FOrdLessThan 115 116
SelectionMerge 119 None
SelectionMerge 119 None
BranchConditional 117 118 119
BranchConditional 117 118 119
118: Label
118: Label
...
@@ -321,7 +321,7 @@ Linked fragment stage:
...
@@ -321,7 +321,7 @@ Linked fragment stage:
126: 8(fvec4) Load 10(color)
126: 8(fvec4) Load 10(color)
127: 7(float) CompositeExtract 126 1
127: 7(float) CompositeExtract 126 1
128: 7(float) Load 25(d4)
128: 7(float) Load 25(d4)
129: 1
7
(bool) FOrdLessThan 127 128
129: 1
8
(bool) FOrdLessThan 127 128
SelectionMerge 131 None
SelectionMerge 131 None
BranchConditional 129 130 138
BranchConditional 129 130 138
130: Label
130: Label
...
...
Test/baseResults/spv.switch.frag.out
View file @
f4984009
...
@@ -70,10 +70,10 @@ Linked fragment stage:
...
@@ -70,10 +70,10 @@ Linked fragment stage:
74(x): 73(ptr) Variable Input
74(x): 73(ptr) Variable Input
128(d): 60(ptr) Variable UniformConstant
128(d): 60(ptr) Variable UniformConstant
155: 10(int) Constant 0
155: 10(int) Constant 0
1
59
: 10(int) Constant 10
1
60
: 10(int) Constant 10
16
0
: TypeBool
16
1
: TypeBool
173: 10(int) Constant 20
173: 10(int) Constant 20
17
7
: 10(int) Constant 30
17
8
: 10(int) Constant 30
183: 7(float) Constant 1120429670
183: 7(float) Constant 1120429670
203: 7(float) Constant 1079739679
203: 7(float) Constant 1079739679
221: TypePointer Output 7(float)
221: TypePointer Output 7(float)
...
@@ -214,11 +214,11 @@ Linked fragment stage:
...
@@ -214,11 +214,11 @@ Linked fragment stage:
Store 154(i) 155
Store 154(i) 155
Branch 156
Branch 156
156: Label
156: Label
15
8
: 10(int) Load 154(i)
15
9
: 10(int) Load 154(i)
16
1: 160(bool) SLessThan 158 159
16
2: 161(bool) SLessThan 159 160
LoopMerge 157 None
LoopMerge 157 None
BranchConditional 16
1 162
157
BranchConditional 16
2 158
157
1
62
: Label
1
58
: Label
163: 10(int) Load 61(c)
163: 10(int) Load 61(c)
SelectionMerge 167 None
SelectionMerge 167 None
Switch 163 166
Switch 163 166
...
@@ -233,16 +233,16 @@ Linked fragment stage:
...
@@ -233,16 +233,16 @@ Linked fragment stage:
Store 172(j) 173
Store 172(j) 173
Branch 174
Branch 174
174: Label
174: Label
17
6
: 10(int) Load 172(j)
17
7
: 10(int) Load 172(j)
17
8: 160(bool) SLessThan 176 177
17
9: 161(bool) SLessThan 177 178
LoopMerge 175 None
LoopMerge 175 None
BranchConditional 17
8 179
175
BranchConditional 17
9 176
175
17
9
: Label
17
6
: Label
180: 7(float) Load 72(f)
180: 7(float) Load 72(f)
181: 7(float) FAdd 180 48
181: 7(float) FAdd 180 48
Store 72(f) 181
Store 72(f) 181
182: 7(float) Load 72(f)
182: 7(float) Load 72(f)
184: 16
0
(bool) FOrdLessThan 182 183
184: 16
1
(bool) FOrdLessThan 182 183
SelectionMerge 186 None
SelectionMerge 186 None
BranchConditional 184 185 186
BranchConditional 184 185 186
185: Label
185: Label
...
@@ -270,7 +270,7 @@ Linked fragment stage:
...
@@ -270,7 +270,7 @@ Linked fragment stage:
Branch 167
Branch 167
167: Label
167: Label
202: 7(float) Load 72(f)
202: 7(float) Load 72(f)
204: 16
0
(bool) FOrdLessThan 202 203
204: 16
1
(bool) FOrdLessThan 202 203
SelectionMerge 206 None
SelectionMerge 206 None
BranchConditional 204 205 206
BranchConditional 204 205 206
205: Label
205: Label
...
...
Test/baseResults/spv.while-continue-break.vert.out
View file @
f4984009
...
@@ -35,8 +35,8 @@ Linked vertex stage:
...
@@ -35,8 +35,8 @@ Linked vertex stage:
7: TypeInt 32 1
7: TypeInt 32 1
8: TypePointer Function 7(int)
8: TypePointer Function 7(int)
10: 7(int) Constant 0
10: 7(int) Constant 0
1
4
: 7(int) Constant 10
1
5
: 7(int) Constant 10
1
5
: TypeBool
1
6
: TypeBool
19: 7(int) Constant 1
19: 7(int) Constant 1
21: 7(int) Constant 2
21: 7(int) Constant 2
30: 7(int) Constant 5
30: 7(int) Constant 5
...
@@ -54,15 +54,15 @@ Linked vertex stage:
...
@@ -54,15 +54,15 @@ Linked vertex stage:
Store 9(i) 10
Store 9(i) 10
Branch 11
Branch 11
11: Label
11: Label
1
3
: 7(int) Load 9(i)
1
4
: 7(int) Load 9(i)
1
6: 15(bool) SLessThan 13 14
1
7: 16(bool) SLessThan 14 15
LoopMerge 12 None
LoopMerge 12 None
BranchConditional 1
6 17
12
BranchConditional 1
7 13
12
1
7
: Label
1
3
: Label
Store 18(A) 19
Store 18(A) 19
20: 7(int) Load 9(i)
20: 7(int) Load 9(i)
22: 7(int) SMod 20 21
22: 7(int) SMod 20 21
23: 1
5
(bool) IEqual 22 10
23: 1
6
(bool) IEqual 22 10
SelectionMerge 25 None
SelectionMerge 25 None
BranchConditional 23 24 25
BranchConditional 23 24 25
24: Label
24: Label
...
@@ -74,7 +74,7 @@ Linked vertex stage:
...
@@ -74,7 +74,7 @@ Linked vertex stage:
25: Label
25: Label
29: 7(int) Load 9(i)
29: 7(int) Load 9(i)
31: 7(int) SMod 29 30
31: 7(int) SMod 29 30
32: 1
5
(bool) IEqual 31 10
32: 1
6
(bool) IEqual 31 10
SelectionMerge 34 None
SelectionMerge 34 None
BranchConditional 32 33 34
BranchConditional 32 33 34
33: Label
33: Label
...
...
Test/baseResults/spv.while-simple.vert.out
View file @
f4984009
...
@@ -27,8 +27,8 @@ Linked vertex stage:
...
@@ -27,8 +27,8 @@ Linked vertex stage:
7: TypeInt 32 1
7: TypeInt 32 1
8: TypePointer Function 7(int)
8: TypePointer Function 7(int)
10: 7(int) Constant 0
10: 7(int) Constant 0
1
4
: 7(int) Constant 10
1
5
: 7(int) Constant 10
1
5
: TypeBool
1
6
: TypeBool
19: 7(int) Constant 1
19: 7(int) Constant 1
21: TypePointer Input 7(int)
21: TypePointer Input 7(int)
22(gl_VertexID): 21(ptr) Variable Input
22(gl_VertexID): 21(ptr) Variable Input
...
@@ -39,11 +39,11 @@ Linked vertex stage:
...
@@ -39,11 +39,11 @@ Linked vertex stage:
Store 9(i) 10
Store 9(i) 10
Branch 11
Branch 11
11: Label
11: Label
1
3
: 7(int) Load 9(i)
1
4
: 7(int) Load 9(i)
1
6: 15(bool) SLessThan 13 14
1
7: 16(bool) SLessThan 14 15
LoopMerge 12 None
LoopMerge 12 None
BranchConditional 1
6 17
12
BranchConditional 1
7 13
12
1
7
: Label
1
3
: Label
18: 7(int) Load 9(i)
18: 7(int) Load 9(i)
20: 7(int) IAdd 18 19
20: 7(int) IAdd 18 19
Store 9(i) 20
Store 9(i) 20
...
...
Test/baseResults/spv.whileLoop.frag.out
View file @
f4984009
...
@@ -14,7 +14,7 @@ Linked fragment stage:
...
@@ -14,7 +14,7 @@ Linked fragment stage:
Name 4 "main"
Name 4 "main"
Name 10 "color"
Name 10 "color"
Name 12 "BaseColor"
Name 12 "BaseColor"
Name
19
"d"
Name
20
"d"
Name 25 "bigColor"
Name 25 "bigColor"
Name 30 "gl_FragColor"
Name 30 "gl_FragColor"
Decorate 12(BaseColor) Smooth
Decorate 12(BaseColor) Smooth
...
@@ -26,9 +26,9 @@ Linked fragment stage:
...
@@ -26,9 +26,9 @@ Linked fragment stage:
9: TypePointer Function 8(fvec4)
9: TypePointer Function 8(fvec4)
11: TypePointer Input 8(fvec4)
11: TypePointer Input 8(fvec4)
12(BaseColor): 11(ptr) Variable Input
12(BaseColor): 11(ptr) Variable Input
1
8
: TypePointer UniformConstant 7(float)
1
9
: TypePointer UniformConstant 7(float)
19(d): 18
(ptr) Variable UniformConstant
20(d): 19
(ptr) Variable UniformConstant
2
1
: TypeBool
2
2
: TypeBool
24: TypePointer UniformConstant 8(fvec4)
24: TypePointer UniformConstant 8(fvec4)
25(bigColor): 24(ptr) Variable UniformConstant
25(bigColor): 24(ptr) Variable UniformConstant
29: TypePointer Output 8(fvec4)
29: TypePointer Output 8(fvec4)
...
@@ -40,13 +40,13 @@ Linked fragment stage:
...
@@ -40,13 +40,13 @@ Linked fragment stage:
Store 10(color) 13
Store 10(color) 13
Branch 14
Branch 14
14: Label
14: Label
1
6
: 8(fvec4) Load 10(color)
1
7
: 8(fvec4) Load 10(color)
1
7: 7(float) CompositeExtract 16
0
1
8: 7(float) CompositeExtract 17
0
2
0: 7(float) Load 19
(d)
2
1: 7(float) Load 20
(d)
2
2: 21(bool) FOrdLessThan 17 20
2
3: 22(bool) FOrdLessThan 18 21
LoopMerge 15 None
LoopMerge 15 None
BranchConditional 2
2 23
15
BranchConditional 2
3 16
15
23
: Label
16
: Label
26: 8(fvec4) Load 25(bigColor)
26: 8(fvec4) Load 25(bigColor)
27: 8(fvec4) Load 10(color)
27: 8(fvec4) Load 10(color)
28: 8(fvec4) FAdd 27 26
28: 8(fvec4) FAdd 27 26
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment