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
7b8c386c
Commit
7b8c386c
authored
May 19, 2017
by
John Kessenich
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
More non-determinism fixed.
parent
b6cabc4f
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
17 additions
and
19 deletions
+17
-19
GlslangToSpv.cpp
SPIRV/GlslangToSpv.cpp
+3
-5
spv.boolInBlock.frag.out
Test/baseResults/spv.boolInBlock.frag.out
+14
-14
No files found.
SPIRV/GlslangToSpv.cpp
View file @
7b8c386c
...
...
@@ -2603,11 +2603,9 @@ void TGlslangToSpvTraverser::accessChainStore(const glslang::TType& type, spv::I
spv
::
Id
bvecType
=
builder
.
makeVectorType
(
builder
.
makeBoolType
(),
vecSize
);
if
(
nominalTypeId
!=
bvecType
)
{
// keep these outside arguments, for determinant order-of-evaluation
spv
::
Id
one
=
builder
.
makeUintConstant
(
1
);
spv
::
Id
zero
=
builder
.
makeUintConstant
(
0
);
rvalue
=
builder
.
createTriOp
(
spv
::
OpSelect
,
nominalTypeId
,
rvalue
,
makeSmearedConstant
(
one
,
vecSize
),
makeSmearedConstant
(
zero
,
vecSize
));
spv
::
Id
one
=
makeSmearedConstant
(
builder
.
makeUintConstant
(
1
),
vecSize
);
spv
::
Id
zero
=
makeSmearedConstant
(
builder
.
makeUintConstant
(
0
),
vecSize
);
rvalue
=
builder
.
createTriOp
(
spv
::
OpSelect
,
nominalTypeId
,
rvalue
,
one
,
zero
);
}
else
if
(
builder
.
getTypeId
(
rvalue
)
!=
bvecType
)
rvalue
=
builder
.
createBinOp
(
spv
::
OpINotEqual
,
bvecType
,
rvalue
,
makeSmearedConstant
(
builder
.
makeUintConstant
(
0
),
vecSize
));
...
...
Test/baseResults/spv.boolInBlock.frag.out
View file @
7b8c386c
...
...
@@ -53,16 +53,16 @@ Warning, version 450 is not yet complete; most version-specific features are pre
29: 6(bool) ConstantFalse
30: 9(bvec2) ConstantComposite 29 29
31: 22(int) Constant 1
32:
22(int) Constant 0
33:
23(ivec2) ConstantComposite 32 32
34: 23(ivec2) ConstantComposite 3
1 31
32:
23(ivec2) ConstantComposite 31 31
33:
22(int) Constant 0
34: 23(ivec2) ConstantComposite 3
3 33
36: TypePointer Uniform 23(ivec2)
38: TypeVector 22(int) 4
39(Uniform): TypeStruct 38(ivec4)
40: TypePointer Uniform 39(Uniform)
41: 40(ptr) Variable Uniform
42: TypePointer Uniform 38(ivec4)
65: 38(ivec4) ConstantComposite 3
2 32 32 32
65: 38(ivec4) ConstantComposite 3
3 33 33 33
72: TypeFloat 32
73: TypeVector 72(float) 4
74: TypePointer Output 73(fvec4)
...
...
@@ -73,22 +73,22 @@ Warning, version 450 is not yet complete; most version-specific features are pre
5: Label
62(param): 8(ptr) Variable Function
67(param): 10(ptr) Variable Function
35: 23(ivec2) Select 30 3
4 33
35: 23(ivec2) Select 30 3
2 34
37: 36(ptr) AccessChain 26 28
Store 37 35
43: 42(ptr) AccessChain 41 28
44: 38(ivec4) Load 43
45: 22(int) CompositeExtract 44 2
46: 6(bool) INotEqual 45 3
2
46: 6(bool) INotEqual 45 3
3
SelectionMerge 48 None
BranchConditional 46 47 48
47: Label
49: 42(ptr) AccessChain 41 28
50: 38(ivec4) Load 49
51: 22(int) CompositeExtract 50 0
52: 6(bool) INotEqual 51 3
2
52: 6(bool) INotEqual 51 3
3
53: 9(bvec2) CompositeConstruct 52 52
54: 23(ivec2) Select 53 3
4 33
54: 23(ivec2) Select 53 3
2 34
55: 36(ptr) AccessChain 26 28
Store 55 54
Branch 48
...
...
@@ -96,7 +96,7 @@ Warning, version 450 is not yet complete; most version-specific features are pre
56: 36(ptr) AccessChain 26 28
57: 23(ivec2) Load 56
58: 22(int) CompositeExtract 57 0
59: 6(bool) INotEqual 58 3
2
59: 6(bool) INotEqual 58 3
3
SelectionMerge 61 None
BranchConditional 59 60 61
60: Label
...
...
@@ -106,7 +106,7 @@ Warning, version 450 is not yet complete; most version-specific features are pre
Store 62(param) 66
68: 2 FunctionCall 14(foo(vb4;vb2;) 62(param) 67(param)
69: 9(bvec2) Load 67(param)
70: 23(ivec2) Select 69 3
4 33
70: 23(ivec2) Select 69 3
2 34
71: 36(ptr) AccessChain 26 28
Store 71 70
Branch 61
...
...
@@ -114,14 +114,14 @@ Warning, version 450 is not yet complete; most version-specific features are pre
76: 42(ptr) AccessChain 41 28
77: 38(ivec4) Load 76
78: 22(int) CompositeExtract 77 0
79: 6(bool) INotEqual 78 3
2
79: 6(bool) INotEqual 78 3
3
SelectionMerge 81 None
BranchConditional 79 80 81
80: Label
82: 42(ptr) AccessChain 41 28
83: 38(ivec4) Load 82
84: 22(int) CompositeExtract 83 1
85: 6(bool) INotEqual 84 3
2
85: 6(bool) INotEqual 84 3
3
Branch 81
81: Label
86: 6(bool) Phi 79 61 85 80
...
...
@@ -131,7 +131,7 @@ Warning, version 450 is not yet complete; most version-specific features are pre
91: 42(ptr) AccessChain 41 28
92: 38(ivec4) Load 91
93: 22(int) CompositeExtract 92 0
94: 6(bool) INotEqual 93 3
2
94: 6(bool) INotEqual 93 3
3
95: 6(bool) LogicalNot 94
SelectionMerge 97 None
BranchConditional 95 96 97
...
...
@@ -139,7 +139,7 @@ Warning, version 450 is not yet complete; most version-specific features are pre
98: 42(ptr) AccessChain 41 28
99: 38(ivec4) Load 98
100: 22(int) CompositeExtract 99 1
101: 6(bool) INotEqual 100 3
2
101: 6(bool) INotEqual 100 3
3
Branch 97
97: Label
102: 6(bool) Phi 94 81 101 96
...
...
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