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
4bfb32e1
Commit
4bfb32e1
authored
Sep 09, 2016
by
John Kessenich
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'bugfix2' of
https://github.com/amdrexu/glslang
into amdrexu-bugfix2
parents
31527186
99c4dd16
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
667 additions
and
633 deletions
+667
-633
spv.int64.frag.out
Test/baseResults/spv.int64.frag.out
+611
-607
spv.uint.frag.out
Test/baseResults/spv.uint.frag.out
+28
-19
spv.int64.frag
Test/spv.int64.frag
+4
-2
spv.uint.frag
Test/spv.uint.frag
+4
-1
revision.h
glslang/Include/revision.h
+2
-2
PpTokens.cpp
glslang/MachineIndependent/preprocessor/PpTokens.cpp
+18
-2
No files found.
Test/baseResults/spv.int64.frag.out
View file @
4bfb32e1
...
...
@@ -7,7 +7,7 @@ Linked fragment stage:
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 4
78
// Id's are bound by 4
80
Capability Shader
Capability Float64
...
...
@@ -23,631 +23,635 @@ Linked fragment stage:
Name 8 "typeCast("
Name 10 "operators("
Name 12 "builtinFuncs("
Name 16 "i64"
Name 24 "Uniforms"
MemberName 24(Uniforms) 0 "index"
Name 26 ""
Name 33 "indexable"
Name 38 "u64"
Name 47 "indexable"
Name 52 "i64v"
Name 56 "bv"
Name 65 "u64v"
Name 74 "iv"
Name 81 "uv"
Name 89 "fv"
Name 95 "dv"
Name 132 "u64v"
Name 137 "i64"
Name 157 "i"
Name 164 "uv"
Name 216 "b"
Name 276 "i64v"
Name 279 "i64"
Name 289 "u64v"
Name 291 "u64"
Name 363 "dv"
Name 382 "iv"
Name 387 "uv"
Name 391 "bv"
Name 452 "Block"
MemberName 452(Block) 0 "i64v"
MemberName 452(Block) 1 "u64"
Name 454 "block"
MemberDecorate 24(Uniforms) 0 Offset 0
Decorate 24(Uniforms) Block
Decorate 26 DescriptorSet 0
Decorate 26 Binding 0
MemberDecorate 452(Block) 0 Offset 0
MemberDecorate 452(Block) 1 Offset 24
Decorate 452(Block) Block
Decorate 454(block) DescriptorSet 0
Decorate 454(block) Binding 1
Decorate 455 SpecId 100
Decorate 456 SpecId 101
Decorate 457 SpecId 102
Decorate 458 SpecId 103
Decorate 459 SpecId 104
Name 16 "u64Max"
Name 20 "i64"
Name 28 "Uniforms"
MemberName 28(Uniforms) 0 "index"
Name 30 ""
Name 37 "indexable"
Name 41 "u64"
Name 49 "indexable"
Name 54 "i64v"
Name 58 "bv"
Name 67 "u64v"
Name 76 "iv"
Name 83 "uv"
Name 91 "fv"
Name 97 "dv"
Name 134 "u64v"
Name 139 "i64"
Name 159 "i"
Name 166 "uv"
Name 218 "b"
Name 278 "i64v"
Name 281 "i64"
Name 291 "u64v"
Name 293 "u64"
Name 365 "dv"
Name 384 "iv"
Name 389 "uv"
Name 393 "bv"
Name 454 "Block"
MemberName 454(Block) 0 "i64v"
MemberName 454(Block) 1 "u64"
Name 456 "block"
MemberDecorate 28(Uniforms) 0 Offset 0
Decorate 28(Uniforms) Block
Decorate 30 DescriptorSet 0
Decorate 30 Binding 0
MemberDecorate 454(Block) 0 Offset 0
MemberDecorate 454(Block) 1 Offset 24
Decorate 454(Block) Block
Decorate 456(block) DescriptorSet 0
Decorate 456(block) Binding 1
Decorate 457 SpecId 100
Decorate 458 SpecId 101
Decorate 459 SpecId 102
Decorate 460 SpecId 103
Decorate 461 SpecId 104
2: TypeVoid
3: TypeFunction 2
14: TypeInt 64 1
15: TypePointer Function 14(int)
17: TypeInt 32 0
18: 17(int) Constant 3
19: TypeArray 14(int) 18
20: 14(int) Constant 4008636143 4008636142
21: 14(int) Constant 4294967295 4294967295
22: 14(int) Constant 0 1
23: 19 ConstantComposite 20 21 22
24(Uniforms): TypeStruct 17(int)
25: TypePointer Uniform 24(Uniforms)
26: 25(ptr) Variable Uniform
27: TypeInt 32 1
28: 27(int) Constant 0
29: TypePointer Uniform 17(int)
32: TypePointer Function 19
36: TypeInt 64 0
37: TypePointer Function 36(int)
39: TypeArray 36(int) 18
40: 36(int) Constant 4294967295 4294967295
41: 36(int) Constant 0 1
42: 36(int) Constant 4294967295 1
43: 39 ConstantComposite 40 41 42
46: TypePointer Function 39
50: TypeVector 14(int) 2
51: TypePointer Function 50(ivec2)
53: TypeBool
54: TypeVector 53(bool) 2
55: TypePointer Function 54(bvec2)
58: 14(int) Constant 0 0
59: 14(int) Constant 1 0
60: 50(ivec2) ConstantComposite 58 58
61: 50(ivec2) ConstantComposite 59 59
63: TypeVector 36(int) 2
64: TypePointer Function 63(ivec2)
67: 36(int) Constant 0 0
68: 36(int) Constant 1 0
69: 63(ivec2) ConstantComposite 67 67
70: 63(ivec2) ConstantComposite 68 68
72: TypeVector 27(int) 2
73: TypePointer Function 72(ivec2)
79: TypeVector 17(int) 2
80: TypePointer Function 79(ivec2)
86: TypeFloat 32
87: TypeVector 86(float) 2
88: TypePointer Function 87(fvec2)
92: TypeFloat 64
93: TypeVector 92(float) 2
94: TypePointer Function 93(fvec2)
130: TypeVector 36(int) 3
131: TypePointer Function 130(ivec3)
134: TypeVector 14(int) 3
156: TypePointer Function 27(int)
162: TypeVector 17(int) 3
163: TypePointer Function 162(ivec3)
197: TypeVector 27(int) 3
200: 17(int) Constant 1
201: TypePointer Function 17(int)
207: 17(int) Constant 2
215: TypePointer Function 53(bool)
217: 17(int) Constant 0
287: 50(ivec2) ConstantComposite 21 21
296: 130(ivec3) ConstantComposite 67 67 67
338: 53(bool) ConstantTrue
345: 53(bool) ConstantFalse
346: 54(bvec2) ConstantComposite 345 345
358: TypeVector 53(bool) 3
359: 358(bvec3) ConstantComposite 345 345 345
361: TypeVector 92(float) 3
362: TypePointer Function 361(fvec3)
367: TypePointer Function 92(float)
378: 27(int) Constant 1
379: 27(int) Constant 2
380: 72(ivec2) ConstantComposite 378 379
385: 79(ivec2) ConstantComposite 207 18
390: TypePointer Function 358(bvec3)
452(Block): TypeStruct 134(ivec3) 36(int)
453: TypePointer Uniform 452(Block)
454(block): 453(ptr) Variable Uniform
455: 14(int) SpecConstant 4294967286 4294967295
456: 36(int) SpecConstant 20 0
457: 27(int) SpecConstant 4294967291
458: 17(int) SpecConstant 4
459: 53(bool) SpecConstantTrue
460: 53(bool) SpecConstantOp 171 455 67
461: 53(bool) SpecConstantOp 171 456 67
462: 14(int) SpecConstantOp 169 459 59 58
463: 36(int) SpecConstantOp 169 459 68 67
464: 27(int) SpecConstantOp 114 455
465: 14(int) SpecConstantOp 114 457
466: 17(int) SpecConstantOp 113 456
467: 36(int) SpecConstantOp 113 458
468: 14(int) SpecConstantOp 128 456 67
469: 36(int) SpecConstantOp 128 455 67
470: 17(int) SpecConstantOp 113 456
471: 27(int) SpecConstantOp 128 470 217
472: 14(int) SpecConstantOp 114 457
473: 36(int) SpecConstantOp 128 472 67
474: 27(int) SpecConstantOp 114 455
475: 17(int) SpecConstantOp 128 474 217
476: 36(int) SpecConstantOp 113 458
477: 14(int) SpecConstantOp 128 476 67
14: TypeInt 64 0
15: TypePointer Private 14(int)
16(u64Max): 15(ptr) Variable Private
17: 14(int) Constant 4294967295 4294967295
18: TypeInt 64 1
19: TypePointer Function 18(int)
21: TypeInt 32 0
22: 21(int) Constant 3
23: TypeArray 18(int) 22
24: 18(int) Constant 4008636143 4008636142
25: 18(int) Constant 4294967295 4294967295
26: 18(int) Constant 0 1
27: 23 ConstantComposite 24 25 26
28(Uniforms): TypeStruct 21(int)
29: TypePointer Uniform 28(Uniforms)
30: 29(ptr) Variable Uniform
31: TypeInt 32 1
32: 31(int) Constant 0
33: TypePointer Uniform 21(int)
36: TypePointer Function 23
40: TypePointer Function 14(int)
42: TypeArray 14(int) 22
43: 14(int) Constant 0 1
44: 14(int) Constant 4294967295 1
45: 42 ConstantComposite 17 43 44
48: TypePointer Function 42
52: TypeVector 18(int) 2
53: TypePointer Function 52(ivec2)
55: TypeBool
56: TypeVector 55(bool) 2
57: TypePointer Function 56(bvec2)
60: 18(int) Constant 0 0
61: 18(int) Constant 1 0
62: 52(ivec2) ConstantComposite 60 60
63: 52(ivec2) ConstantComposite 61 61
65: TypeVector 14(int) 2
66: TypePointer Function 65(ivec2)
69: 14(int) Constant 0 0
70: 14(int) Constant 1 0
71: 65(ivec2) ConstantComposite 69 69
72: 65(ivec2) ConstantComposite 70 70
74: TypeVector 31(int) 2
75: TypePointer Function 74(ivec2)
81: TypeVector 21(int) 2
82: TypePointer Function 81(ivec2)
88: TypeFloat 32
89: TypeVector 88(float) 2
90: TypePointer Function 89(fvec2)
94: TypeFloat 64
95: TypeVector 94(float) 2
96: TypePointer Function 95(fvec2)
132: TypeVector 14(int) 3
133: TypePointer Function 132(ivec3)
136: TypeVector 18(int) 3
158: TypePointer Function 31(int)
164: TypeVector 21(int) 3
165: TypePointer Function 164(ivec3)
199: TypeVector 31(int) 3
202: 21(int) Constant 1
203: TypePointer Function 21(int)
209: 21(int) Constant 2
217: TypePointer Function 55(bool)
219: 21(int) Constant 0
289: 52(ivec2) ConstantComposite 25 25
298: 132(ivec3) ConstantComposite 69 69 69
340: 55(bool) ConstantTrue
347: 55(bool) ConstantFalse
348: 56(bvec2) ConstantComposite 347 347
360: TypeVector 55(bool) 3
361: 360(bvec3) ConstantComposite 347 347 347
363: TypeVector 94(float) 3
364: TypePointer Function 363(fvec3)
369: TypePointer Function 94(float)
380: 31(int) Constant 1
381: 31(int) Constant 2
382: 74(ivec2) ConstantComposite 380 381
387: 81(ivec2) ConstantComposite 209 22
392: TypePointer Function 360(bvec3)
454(Block): TypeStruct 136(ivec3) 14(int)
455: TypePointer Uniform 454(Block)
456(block): 455(ptr) Variable Uniform
457: 18(int) SpecConstant 4294967286 4294967295
458: 14(int) SpecConstant 20 0
459: 31(int) SpecConstant 4294967291
460: 21(int) SpecConstant 4
461: 55(bool) SpecConstantTrue
462: 55(bool) SpecConstantOp 171 457 69
463: 55(bool) SpecConstantOp 171 458 69
464: 18(int) SpecConstantOp 169 461 61 60
465: 14(int) SpecConstantOp 169 461 70 69
466: 31(int) SpecConstantOp 114 457
467: 18(int) SpecConstantOp 114 459
468: 21(int) SpecConstantOp 113 458
469: 14(int) SpecConstantOp 113 460
470: 18(int) SpecConstantOp 128 458 69
471: 14(int) SpecConstantOp 128 457 69
472: 21(int) SpecConstantOp 113 458
473: 31(int) SpecConstantOp 128 472 219
474: 18(int) SpecConstantOp 114 459
475: 14(int) SpecConstantOp 128 474 69
476: 31(int) SpecConstantOp 114 457
477: 21(int) SpecConstantOp 128 476 219
478: 14(int) SpecConstantOp 113 460
479: 18(int) SpecConstantOp 128 478 69
4(main): 2 Function None 3
5: Label
Store 16(u64Max) 17
Return
FunctionEnd
6(literal(): 2 Function None 3
7: Label
16(i64): 15
(ptr) Variable Function
3
3(indexable): 32
(ptr) Variable Function
38(u64): 37
(ptr) Variable Function
4
7(indexable): 46
(ptr) Variable Function
3
0: 29(ptr) AccessChain 26 28
3
1: 17(int) Load 30
Store 3
3(indexable) 23
3
4: 15(ptr) AccessChain 33(indexable) 31
3
5: 14(int) Load 34
Store
16(i64) 35
4
4: 29(ptr) AccessChain 26 28
4
5: 17(int) Load 44
Store 4
7(indexable) 43
48: 37(ptr) AccessChain 47(indexable) 45
49: 36(int) Load 48
Store
38(u64) 49
20(i64): 19
(ptr) Variable Function
3
7(indexable): 36
(ptr) Variable Function
41(u64): 40
(ptr) Variable Function
4
9(indexable): 48
(ptr) Variable Function
3
4: 33(ptr) AccessChain 30 32
3
5: 21(int) Load 34
Store 3
7(indexable) 27
3
8: 19(ptr) AccessChain 37(indexable) 35
3
9: 18(int) Load 38
Store
20(i64) 39
4
6: 33(ptr) AccessChain 30 32
4
7: 21(int) Load 46
Store 4
9(indexable) 45
50: 40(ptr) AccessChain 49(indexable) 47
51: 14(int) Load 50
Store
41(u64) 51
Return
FunctionEnd
8(typeCast(): 2 Function None 3
9: Label
5
2(i64v): 51
(ptr) Variable Function
5
6(bv): 55
(ptr) Variable Function
6
5(u64v): 64
(ptr) Variable Function
7
4(iv): 73
(ptr) Variable Function
8
1(uv): 80
(ptr) Variable Function
89(fv): 88
(ptr) Variable Function
9
5(dv): 94
(ptr) Variable Function
5
7: 54(bvec2) Load 56
(bv)
6
2: 50(ivec2) Select 57 61 60
Store 5
2(i64v) 62
6
6: 54(bvec2) Load 56
(bv)
7
1: 63(ivec2) Select 66 70 69
Store 6
5(u64v) 71
7
5: 72(ivec2) Load 74
(iv)
7
6: 50(ivec2) SConvert 75
Store 5
2(i64v) 76
7
7: 50(ivec2) Load 52
(i64v)
78: 72(ivec2) SConvert 77
Store 7
4(iv) 78
8
2: 79(ivec2) Load 81
(uv)
8
3: 63(ivec2) UConvert 82
Store 6
5(u64v) 83
8
4: 63(ivec2) Load 65
(u64v)
8
5: 79(ivec2) UConvert 84
Store 8
1(uv) 85
9
0: 50(ivec2) Load 52
(i64v)
9
1: 87(fvec2) ConvertSToF 90
Store
89(fv) 91
9
6: 50(ivec2) Load 52
(i64v)
9
7: 93(fvec2) ConvertSToF 96
Store 9
5(dv) 97
98: 63(ivec2) Load 65
(u64v)
99: 87(fvec2) ConvertUToF 98
Store
89(fv) 99
10
0: 63(ivec2) Load 65
(u64v)
10
1: 93(fvec2) ConvertUToF 100
Store 9
5(dv) 101
10
2: 87(fvec2) Load 89
(fv)
10
3: 50(ivec2) ConvertFToS 102
Store 5
2(i64v) 103
10
4: 93(fvec2) Load 95
(dv)
10
5: 50(ivec2) ConvertFToS 104
Store 5
2(i64v) 105
10
6: 87(fvec2) Load 89
(fv)
10
7: 63(ivec2) ConvertFToU 106
Store 6
5(u64v) 107
1
08: 93(fvec2) Load 95
(dv)
1
09: 63(ivec2) ConvertFToU 108
Store 6
5(u64v) 109
11
0: 50(ivec2) Load 52
(i64v)
11
1: 54(bvec2) INotEqual 110 69
Store 5
6(bv) 111
11
2: 63(ivec2) Load 65
(u64v)
11
3: 54(bvec2) INotEqual 112 69
Store 5
6(bv) 113
11
4: 50(ivec2) Load 52
(i64v)
11
5: 63(ivec2) Bitcast 114
Store 6
5(u64v) 115
11
6: 63(ivec2) Load 65
(u64v)
11
7: 50(ivec2) Bitcast 116
Store 5
2(i64v) 117
1
18: 50(ivec2) Load 52
(i64v)
1
19: 72(ivec2) SConvert 118
12
0: 79(ivec2) Bitcast 119
Store 8
1(uv) 120
12
1: 79(ivec2) Load 81
(uv)
12
2: 63(ivec2) UConvert 121
12
3: 50(ivec2) Bitcast 122
Store 5
2(i64v) 123
12
4: 63(ivec2) Load 65
(u64v)
12
5: 79(ivec2) UConvert 124
12
6: 72(ivec2) Bitcast 125
Store 7
4(iv) 126
12
7: 72(ivec2) Load 74
(iv)
1
28: 50(ivec2) SConvert 127
1
29: 63(ivec2) Bitcast 128
Store 6
5(u64v) 129
5
4(i64v): 53
(ptr) Variable Function
5
8(bv): 57
(ptr) Variable Function
6
7(u64v): 66
(ptr) Variable Function
7
6(iv): 75
(ptr) Variable Function
8
3(uv): 82
(ptr) Variable Function
91(fv): 90
(ptr) Variable Function
9
7(dv): 96
(ptr) Variable Function
5
9: 56(bvec2) Load 58
(bv)
6
4: 52(ivec2) Select 59 63 62
Store 5
4(i64v) 64
6
8: 56(bvec2) Load 58
(bv)
7
3: 65(ivec2) Select 68 72 71
Store 6
7(u64v) 73
7
7: 74(ivec2) Load 76
(iv)
7
8: 52(ivec2) SConvert 77
Store 5
4(i64v) 78
7
9: 52(ivec2) Load 54
(i64v)
80: 74(ivec2) SConvert 79
Store 7
6(iv) 80
8
4: 81(ivec2) Load 83
(uv)
8
5: 65(ivec2) UConvert 84
Store 6
7(u64v) 85
8
6: 65(ivec2) Load 67
(u64v)
8
7: 81(ivec2) UConvert 86
Store 8
3(uv) 87
9
2: 52(ivec2) Load 54
(i64v)
9
3: 89(fvec2) ConvertSToF 92
Store
91(fv) 93
9
8: 52(ivec2) Load 54
(i64v)
9
9: 95(fvec2) ConvertSToF 98
Store 9
7(dv) 99
100: 65(ivec2) Load 67
(u64v)
101: 89(fvec2) ConvertUToF 100
Store
91(fv) 101
10
2: 65(ivec2) Load 67
(u64v)
10
3: 95(fvec2) ConvertUToF 102
Store 9
7(dv) 103
10
4: 89(fvec2) Load 91
(fv)
10
5: 52(ivec2) ConvertFToS 104
Store 5
4(i64v) 105
10
6: 95(fvec2) Load 97
(dv)
10
7: 52(ivec2) ConvertFToS 106
Store 5
4(i64v) 107
10
8: 89(fvec2) Load 91
(fv)
10
9: 65(ivec2) ConvertFToU 108
Store 6
7(u64v) 109
1
10: 95(fvec2) Load 97
(dv)
1
11: 65(ivec2) ConvertFToU 110
Store 6
7(u64v) 111
11
2: 52(ivec2) Load 54
(i64v)
11
3: 56(bvec2) INotEqual 112 71
Store 5
8(bv) 113
11
4: 65(ivec2) Load 67
(u64v)
11
5: 56(bvec2) INotEqual 114 71
Store 5
8(bv) 115
11
6: 52(ivec2) Load 54
(i64v)
11
7: 65(ivec2) Bitcast 116
Store 6
7(u64v) 117
11
8: 65(ivec2) Load 67
(u64v)
11
9: 52(ivec2) Bitcast 118
Store 5
4(i64v) 119
1
20: 52(ivec2) Load 54
(i64v)
1
21: 74(ivec2) SConvert 120
12
2: 81(ivec2) Bitcast 121
Store 8
3(uv) 122
12
3: 81(ivec2) Load 83
(uv)
12
4: 65(ivec2) UConvert 123
12
5: 52(ivec2) Bitcast 124
Store 5
4(i64v) 125
12
6: 65(ivec2) Load 67
(u64v)
12
7: 81(ivec2) UConvert 126
12
8: 74(ivec2) Bitcast 127
Store 7
6(iv) 128
12
9: 74(ivec2) Load 76
(iv)
1
30: 52(ivec2) SConvert 129
1
31: 65(ivec2) Bitcast 130
Store 6
7(u64v) 131
Return
FunctionEnd
10(operators(): 2 Function None 3
11: Label
13
2(u64v): 131
(ptr) Variable Function
13
7(i64): 15
(ptr) Variable Function
15
7(i): 156
(ptr) Variable Function
16
4(uv): 163
(ptr) Variable Function
21
6(b): 215
(ptr) Variable Function
13
3: 130(ivec3) Load 132
(u64v)
13
5: 134(ivec3) CompositeConstruct 59 59 59
13
6: 130(ivec3) IAdd 133 135
Store 13
2(u64v) 136
1
38: 14(int) Load 137
(i64)
1
39: 14(int) ISub 138 59
Store 13
7(i64) 139
14
0: 14(int) Load 137
(i64)
14
1: 14(int) IAdd 140 59
Store 13
7(i64) 141
14
2: 130(ivec3) Load 132
(u64v)
14
3: 134(ivec3) CompositeConstruct 59 59 59
14
4: 130(ivec3) ISub 142 143
Store 13
2(u64v) 144
14
5: 130(ivec3) Load 132
(u64v)
14
6: 130(ivec3) Not 145
Store 13
2(u64v) 146
14
7: 14(int) Load 137
(i64)
Store 13
7(i64) 147
1
48: 130(ivec3) Load 132
(u64v)
1
49: 130(ivec3) SNegate 148
Store 13
2(u64v) 149
15
0: 14(int) Load 137
(i64)
15
1: 14(int) Load 137
(i64)
15
2: 14(int) IAdd 151 150
Store 13
7(i64) 152
15
3: 130(ivec3) Load 132
(u64v)
15
4: 130(ivec3) Load 132
(u64v)
15
5: 130(ivec3) ISub 154 153
Store 13
2(u64v) 155
1
58: 27(int) Load 157
(i)
1
59: 14(int) SConvert 158
16
0: 14(int) Load 137
(i64)
16
1: 14(int) IMul 160 159
Store 13
7(i64) 161
16
5: 162(ivec3) Load 164
(uv)
16
6: 130(ivec3) UConvert 165
16
7: 130(ivec3) Load 132
(u64v)
1
68: 130(ivec3) UDiv 167 166
Store 13
2(u64v) 168
1
69: 27(int) Load 157
(i)
17
0: 14(int) SConvert 169
17
1: 36(int) Bitcast 170
17
2: 130(ivec3) Load 132
(u64v)
17
3: 130(ivec3) CompositeConstruct 171 171 171
17
4: 130(ivec3) UMod 172 173
Store 13
2(u64v) 174
17
5: 130(ivec3) Load 132
(u64v)
17
6: 162(ivec3) Load 164
(uv)
17
7: 130(ivec3) UConvert 176
1
78: 130(ivec3) IAdd 175 177
Store 13
2(u64v) 178
1
79: 14(int) Load 137
(i64)
18
0: 27(int) Load 157
(i)
18
1: 14(int) SConvert 180
18
2: 14(int) ISub 179 181
Store 13
7(i64) 182
18
3: 130(ivec3) Load 132
(u64v)
18
4: 162(ivec3) Load 164
(uv)
18
5: 130(ivec3) UConvert 184
18
6: 130(ivec3) IMul 183 185
Store 13
2(u64v) 186
18
7: 14(int) Load 137
(i64)
1
88: 27(int) Load 157
(i)
1
89: 14(int) SConvert 188
19
0: 14(int) IMul 187 189
Store 13
7(i64) 190
19
1: 14(int) Load 137
(i64)
19
2: 27(int) Load 157
(i)
19
3: 14(int) SConvert 192
19
4: 14(int) SMod 191 193
Store 13
7(i64) 194
19
5: 27(int) Load 157
(i)
19
6: 130(ivec3) Load 132
(u64v)
198: 197(ivec3) CompositeConstruct 195 195 195
199: 130(ivec3) ShiftLeftLogical 196 198
Store 13
2(u64v) 199
20
2: 201(ptr) AccessChain 164(uv) 200
20
3: 17(int) Load 202
20
4: 14(int) Load 137
(i64)
20
5: 14(int) ShiftRightArithmetic 204 203
Store 13
7(i64) 205
20
6: 14(int) Load 137
(i64)
2
08: 37(ptr) AccessChain 132(u64v) 207
2
09: 36(int) Load 208
21
0: 14(int) ShiftLeftLogical 206 209
Store 13
7(i64) 210
21
1: 130(ivec3) Load 132
(u64v)
21
2: 14(int) Load 137
(i64)
21
3: 134(ivec3) CompositeConstruct 212 212 212
21
4: 130(ivec3) ShiftLeftLogical 211 213
Store 13
2(u64v) 214
2
18: 37(ptr) AccessChain 132(u64v) 217
2
19: 36(int) Load 218
22
0: 14(int) Load 137
(i64)
22
1: 36(int) Bitcast 220
22
2: 53(bool) INotEqual 219 221
Store 21
6(b) 222
22
3: 14(int) Load 137
(i64)
22
4: 36(int) Bitcast 223
22
5: 37(ptr) AccessChain 132(u64v) 217
22
6: 36(int) Load 225
22
7: 53(bool) IEqual 224 226
Store 21
6(b) 227
2
28: 37(ptr) AccessChain 132(u64v) 217
2
29: 36(int) Load 228
23
0: 201(ptr) AccessChain 164(uv) 200
23
1: 17(int) Load 230
23
2: 36(int) UConvert 231
23
3: 53(bool) UGreaterThan 229 232
Store 21
6(b) 233
23
4: 14(int) Load 137
(i64)
23
5: 27(int) Load 157
(i)
23
6: 14(int) SConvert 235
23
7: 53(bool) SLessThan 234 236
Store 21
6(b) 237
2
38: 37(ptr) AccessChain 132(u64v) 200
2
39: 36(int) Load 238
24
0: 201(ptr) AccessChain 164(uv) 217
24
1: 17(int) Load 240
24
2: 36(int) UConvert 241
24
3: 53(bool) UGreaterThanEqual 239 242
Store 21
6(b) 243
24
4: 14(int) Load 137
(i64)
24
5: 27(int) Load 157
(i)
24
6: 14(int) SConvert 245
24
7: 53(bool) SLessThanEqual 244 246
Store 21
6(b) 247
2
48: 27(int) Load 157
(i)
2
49: 14(int) SConvert 248
25
0: 36(int) Bitcast 249
25
1: 130(ivec3) Load 132
(u64v)
25
2: 130(ivec3) CompositeConstruct 250 250 250
25
3: 130(ivec3) BitwiseOr 251 252
Store 13
2(u64v) 253
25
4: 14(int) Load 137
(i64)
25
5: 27(int) Load 157
(i)
25
6: 14(int) SConvert 255
25
7: 14(int) BitwiseOr 254 256
Store 13
7(i64) 257
2
58: 27(int) Load 157
(i)
2
59: 14(int) SConvert 258
26
0: 14(int) Load 137
(i64)
26
1: 14(int) BitwiseAnd 260 259
Store 13
7(i64) 261
26
2: 130(ivec3) Load 132
(u64v)
26
3: 162(ivec3) Load 164
(uv)
26
4: 130(ivec3) UConvert 263
26
5: 130(ivec3) BitwiseAnd 262 264
Store 13
2(u64v) 265
26
6: 14(int) Load 137
(i64)
26
7: 36(int) Bitcast 266
2
68: 130(ivec3) Load 132
(u64v)
2
69: 130(ivec3) CompositeConstruct 267 267 267
27
0: 130(ivec3) BitwiseXor 268 269
Store 13
2(u64v) 270
27
1: 130(ivec3) Load 132
(u64v)
27
2: 14(int) Load 137
(i64)
27
3: 36(int) Bitcast 272
27
4: 130(ivec3) CompositeConstruct 273 273 273
27
5: 130(ivec3) BitwiseXor 271 274
Store 13
2(u64v) 275
13
4(u64v): 133
(ptr) Variable Function
13
9(i64): 19
(ptr) Variable Function
15
9(i): 158
(ptr) Variable Function
16
6(uv): 165
(ptr) Variable Function
21
8(b): 217
(ptr) Variable Function
13
5: 132(ivec3) Load 134
(u64v)
13
7: 136(ivec3) CompositeConstruct 61 61 61
13
8: 132(ivec3) IAdd 135 137
Store 13
4(u64v) 138
1
40: 18(int) Load 139
(i64)
1
41: 18(int) ISub 140 61
Store 13
9(i64) 141
14
2: 18(int) Load 139
(i64)
14
3: 18(int) IAdd 142 61
Store 13
9(i64) 143
14
4: 132(ivec3) Load 134
(u64v)
14
5: 136(ivec3) CompositeConstruct 61 61 61
14
6: 132(ivec3) ISub 144 145
Store 13
4(u64v) 146
14
7: 132(ivec3) Load 134
(u64v)
14
8: 132(ivec3) Not 147
Store 13
4(u64v) 148
14
9: 18(int) Load 139
(i64)
Store 13
9(i64) 149
1
50: 132(ivec3) Load 134
(u64v)
1
51: 132(ivec3) SNegate 150
Store 13
4(u64v) 151
15
2: 18(int) Load 139
(i64)
15
3: 18(int) Load 139
(i64)
15
4: 18(int) IAdd 153 152
Store 13
9(i64) 154
15
5: 132(ivec3) Load 134
(u64v)
15
6: 132(ivec3) Load 134
(u64v)
15
7: 132(ivec3) ISub 156 155
Store 13
4(u64v) 157
1
60: 31(int) Load 159
(i)
1
61: 18(int) SConvert 160
16
2: 18(int) Load 139
(i64)
16
3: 18(int) IMul 162 161
Store 13
9(i64) 163
16
7: 164(ivec3) Load 166
(uv)
16
8: 132(ivec3) UConvert 167
16
9: 132(ivec3) Load 134
(u64v)
1
70: 132(ivec3) UDiv 169 168
Store 13
4(u64v) 170
1
71: 31(int) Load 159
(i)
17
2: 18(int) SConvert 171
17
3: 14(int) Bitcast 172
17
4: 132(ivec3) Load 134
(u64v)
17
5: 132(ivec3) CompositeConstruct 173 173 173
17
6: 132(ivec3) UMod 174 175
Store 13
4(u64v) 176
17
7: 132(ivec3) Load 134
(u64v)
17
8: 164(ivec3) Load 166
(uv)
17
9: 132(ivec3) UConvert 178
1
80: 132(ivec3) IAdd 177 179
Store 13
4(u64v) 180
1
81: 18(int) Load 139
(i64)
18
2: 31(int) Load 159
(i)
18
3: 18(int) SConvert 182
18
4: 18(int) ISub 181 183
Store 13
9(i64) 184
18
5: 132(ivec3) Load 134
(u64v)
18
6: 164(ivec3) Load 166
(uv)
18
7: 132(ivec3) UConvert 186
18
8: 132(ivec3) IMul 185 187
Store 13
4(u64v) 188
18
9: 18(int) Load 139
(i64)
1
90: 31(int) Load 159
(i)
1
91: 18(int) SConvert 190
19
2: 18(int) IMul 189 191
Store 13
9(i64) 192
19
3: 18(int) Load 139
(i64)
19
4: 31(int) Load 159
(i)
19
5: 18(int) SConvert 194
19
6: 18(int) SMod 193 195
Store 13
9(i64) 196
19
7: 31(int) Load 159
(i)
19
8: 132(ivec3) Load 134
(u64v)
200: 199(ivec3) CompositeConstruct 197 197 197
201: 132(ivec3) ShiftLeftLogical 198 200
Store 13
4(u64v) 201
20
4: 203(ptr) AccessChain 166(uv) 202
20
5: 21(int) Load 204
20
6: 18(int) Load 139
(i64)
20
7: 18(int) ShiftRightArithmetic 206 205
Store 13
9(i64) 207
20
8: 18(int) Load 139
(i64)
2
10: 40(ptr) AccessChain 134(u64v) 209
2
11: 14(int) Load 210
21
2: 18(int) ShiftLeftLogical 208 211
Store 13
9(i64) 212
21
3: 132(ivec3) Load 134
(u64v)
21
4: 18(int) Load 139
(i64)
21
5: 136(ivec3) CompositeConstruct 214 214 214
21
6: 132(ivec3) ShiftLeftLogical 213 215
Store 13
4(u64v) 216
2
20: 40(ptr) AccessChain 134(u64v) 219
2
21: 14(int) Load 220
22
2: 18(int) Load 139
(i64)
22
3: 14(int) Bitcast 222
22
4: 55(bool) INotEqual 221 223
Store 21
8(b) 224
22
5: 18(int) Load 139
(i64)
22
6: 14(int) Bitcast 225
22
7: 40(ptr) AccessChain 134(u64v) 219
22
8: 14(int) Load 227
22
9: 55(bool) IEqual 226 228
Store 21
8(b) 229
2
30: 40(ptr) AccessChain 134(u64v) 219
2
31: 14(int) Load 230
23
2: 203(ptr) AccessChain 166(uv) 202
23
3: 21(int) Load 232
23
4: 14(int) UConvert 233
23
5: 55(bool) UGreaterThan 231 234
Store 21
8(b) 235
23
6: 18(int) Load 139
(i64)
23
7: 31(int) Load 159
(i)
23
8: 18(int) SConvert 237
23
9: 55(bool) SLessThan 236 238
Store 21
8(b) 239
2
40: 40(ptr) AccessChain 134(u64v) 202
2
41: 14(int) Load 240
24
2: 203(ptr) AccessChain 166(uv) 219
24
3: 21(int) Load 242
24
4: 14(int) UConvert 243
24
5: 55(bool) UGreaterThanEqual 241 244
Store 21
8(b) 245
24
6: 18(int) Load 139
(i64)
24
7: 31(int) Load 159
(i)
24
8: 18(int) SConvert 247
24
9: 55(bool) SLessThanEqual 246 248
Store 21
8(b) 249
2
50: 31(int) Load 159
(i)
2
51: 18(int) SConvert 250
25
2: 14(int) Bitcast 251
25
3: 132(ivec3) Load 134
(u64v)
25
4: 132(ivec3) CompositeConstruct 252 252 252
25
5: 132(ivec3) BitwiseOr 253 254
Store 13
4(u64v) 255
25
6: 18(int) Load 139
(i64)
25
7: 31(int) Load 159
(i)
25
8: 18(int) SConvert 257
25
9: 18(int) BitwiseOr 256 258
Store 13
9(i64) 259
2
60: 31(int) Load 159
(i)
2
61: 18(int) SConvert 260
26
2: 18(int) Load 139
(i64)
26
3: 18(int) BitwiseAnd 262 261
Store 13
9(i64) 263
26
4: 132(ivec3) Load 134
(u64v)
26
5: 164(ivec3) Load 166
(uv)
26
6: 132(ivec3) UConvert 265
26
7: 132(ivec3) BitwiseAnd 264 266
Store 13
4(u64v) 267
26
8: 18(int) Load 139
(i64)
26
9: 14(int) Bitcast 268
2
70: 132(ivec3) Load 134
(u64v)
2
71: 132(ivec3) CompositeConstruct 269 269 269
27
2: 132(ivec3) BitwiseXor 270 271
Store 13
4(u64v) 272
27
3: 132(ivec3) Load 134
(u64v)
27
4: 18(int) Load 139
(i64)
27
5: 14(int) Bitcast 274
27
6: 132(ivec3) CompositeConstruct 275 275 275
27
7: 132(ivec3) BitwiseXor 273 276
Store 13
4(u64v) 277
Return
FunctionEnd
12(builtinFuncs(): 2 Function None 3
13: Label
27
6(i64v): 51
(ptr) Variable Function
2
79(i64): 15
(ptr) Variable Function
2
89(u64v): 131
(ptr) Variable Function
29
1(u64): 37
(ptr) Variable Function
36
3(dv): 362
(ptr) Variable Function
38
2(iv): 73
(ptr) Variable Function
38
7(uv): 80
(ptr) Variable Function
39
1(bv): 390
(ptr) Variable Function
27
7: 50(ivec2) Load 276
(i64v)
2
78: 50(ivec2) ExtInst 1(GLSL.std.450) 5(SAbs) 277
Store 27
6(i64v) 278
28
0: 14(int) Load 279
(i64)
28
1: 14(int) ExtInst 1(GLSL.std.450) 7(SSign) 280
Store 2
79(i64) 281
28
2: 50(ivec2) Load 276
(i64v)
28
3: 14(int) Load 279
(i64)
28
4: 50(ivec2) CompositeConstruct 283 283
28
5: 50(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 282 284
Store 27
6(i64v) 285
28
6: 50(ivec2) Load 276
(i64v)
2
88: 50(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 286 287
Store 27
6(i64v) 288
29
0: 130(ivec3) Load 289
(u64v)
29
2: 36(int) Load 291
(u64)
29
3: 130(ivec3) CompositeConstruct 292 292 292
29
4: 130(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 290 293
Store 2
89(u64v) 294
29
5: 130(ivec3) Load 289
(u64v)
29
7: 130(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 295 296
Store 2
89(u64v) 297
298: 50(ivec2) Load 276
(i64v)
299: 14(int) Load 279
(i64)
30
0: 50(ivec2) CompositeConstruct 299 299
30
1: 50(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 298 300
Store 27
6(i64v) 301
30
2: 50(ivec2) Load 276
(i64v)
30
3: 50(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 302 287
Store 27
6(i64v) 303
30
4: 130(ivec3) Load 289
(u64v)
30
5: 36(int) Load 291
(u64)
30
6: 130(ivec3) CompositeConstruct 305 305 305
30
7: 130(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 304 306
Store 2
89(u64v) 307
3
08: 130(ivec3) Load 289
(u64v)
3
09: 130(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 308 296
Store 2
89(u64v) 309
31
0: 50(ivec2) Load 276
(i64v)
31
1: 14(int) Load 279
(i64)
31
2: 14(int) SNegate 311
31
3: 14(int) Load 279
(i64)
31
4: 50(ivec2) CompositeConstruct 312 312
31
5: 50(ivec2) CompositeConstruct 313 313
31
6: 50(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 310 314 315
Store 27
6(i64v) 316
31
7: 50(ivec2) Load 276
(i64v)
3
18: 50(ivec2) Load 276
(i64v)
3
19: 50(ivec2) SNegate 318
32
0: 50(ivec2) Load 276
(i64v)
32
1: 50(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 317 319 320
Store 27
6(i64v) 321
32
2: 130(ivec3) Load 289
(u64v)
32
3: 36(int) Load 291
(u64)
32
4: 36(int) SNegate 323
32
5: 36(int) Load 291
(u64)
32
6: 130(ivec3) CompositeConstruct 324 324 324
32
7: 130(ivec3) CompositeConstruct 325 325 325
3
28: 130(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 322 326 327
Store 2
89(u64v) 328
3
29: 130(ivec3) Load 289
(u64v)
33
0: 130(ivec3) Load 289
(u64v)
33
1: 130(ivec3) SNegate 330
33
2: 130(ivec3) Load 289
(u64v)
33
3: 130(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 329 331 332
Store 2
89(u64v) 333
33
4: 15(ptr) AccessChain 276(i64v) 217
33
5: 14(int) Load 334
33
6: 15(ptr) AccessChain 276(i64v) 200
33
7: 14(int) Load 336
3
39: 14(int) Select 338 337 335
Store 2
79(i64) 339
34
0: 14(int) Load 279
(i64)
34
1: 50(ivec2) CompositeConstruct 340 340
34
2: 14(int) Load 279
(i64)
34
3: 14(int) SNegate 342
34
4: 50(ivec2) CompositeConstruct 343 343
34
7: 50(ivec2) Select 346 344 341
Store 27
6(i64v) 347
3
48: 37(ptr) AccessChain 289(u64v) 217
3
49: 36(int) Load 348
35
0: 37(ptr) AccessChain 289(u64v) 200
35
1: 36(int) Load 350
35
2: 36(int) Select 338 351 349
Store 29
1(u64) 352
35
3: 36(int) Load 291
(u64)
35
4: 130(ivec3) CompositeConstruct 353 353 353
35
5: 36(int) Load 291
(u64)
35
6: 36(int) SNegate 355
35
7: 130(ivec3) CompositeConstruct 356 356 356
36
0: 130(ivec3) Select 359 357 354
Store 2
89(u64v) 360
36
4: 361(fvec3) Load 363
(dv)
36
5: 93(fvec2) VectorShuffle 364 364
0 1
36
6: 50(ivec2) Bitcast 365
Store 27
6(i64v) 366
3
68: 367(ptr) AccessChain 363(dv) 207
3
69: 92(float) Load 368
37
0: 36(int) Bitcast 369
37
1: 37(ptr) AccessChain 289(u64v) 217
Store 37
1 370
37
2: 50(ivec2) Load 276
(i64v)
37
3: 93(fvec2) Bitcast 372
37
4: 361(fvec3) Load 363
(dv)
37
5: 361(fvec3) VectorShuffle 374 373
3 4 2
Store 36
3(dv) 375
37
6: 130(ivec3) Load 289
(u64v)
37
7: 361(fvec3) Bitcast 376
Store 36
3(dv) 377
38
1: 14(int) Bitcast 380
Store 2
79(i64) 381
38
3: 14(int) Load 279
(i64)
38
4: 72(ivec2) Bitcast 383
Store 38
2(iv) 384
38
6: 36(int) Bitcast 385
Store 29
1(u64) 386
3
88: 36(int) Load 291
(u64)
3
89: 79(ivec2) Bitcast 388
Store 38
7(uv) 389
39
2: 130(ivec3) Load 289
(u64v)
39
3: 36(int) Load 291
(u64)
39
4: 130(ivec3) CompositeConstruct 393 393 393
39
5: 358(bvec3) ULessThan 392 394
Store 39
1(bv) 395
39
6: 50(ivec2) Load 276
(i64v)
39
7: 14(int) Load 279
(i64)
398: 50(ivec2) CompositeConstruct 397 397
399: 54(bvec2) SLessThan 396 398
40
0: 358(bvec3) Load 391
(bv)
40
1: 358(bvec3) VectorShuffle 400 399
3 4 2
Store 39
1(bv) 401
40
2: 130(ivec3) Load 289
(u64v)
40
3: 36(int) Load 291
(u64)
40
4: 130(ivec3) CompositeConstruct 403 403 403
40
5: 358(bvec3) ULessThanEqual 402 404
Store 39
1(bv) 405
40
6: 50(ivec2) Load 276
(i64v)
40
7: 14(int) Load 279
(i64)
4
08: 50(ivec2) CompositeConstruct 407 407
4
09: 54(bvec2) SLessThanEqual 406 408
41
0: 358(bvec3) Load 391
(bv)
41
1: 358(bvec3) VectorShuffle 410 409
3 4 2
Store 39
1(bv) 411
41
2: 130(ivec3) Load 289
(u64v)
41
3: 36(int) Load 291
(u64)
41
4: 130(ivec3) CompositeConstruct 413 413 413
41
5: 358(bvec3) UGreaterThan 412 414
Store 39
1(bv) 415
41
6: 50(ivec2) Load 276
(i64v)
41
7: 14(int) Load 279
(i64)
4
18: 50(ivec2) CompositeConstruct 417 417
4
19: 54(bvec2) SGreaterThan 416 418
42
0: 358(bvec3) Load 391
(bv)
42
1: 358(bvec3) VectorShuffle 420 419
3 4 2
Store 39
1(bv) 421
42
2: 130(ivec3) Load 289
(u64v)
42
3: 36(int) Load 291
(u64)
42
4: 130(ivec3) CompositeConstruct 423 423 423
42
5: 358(bvec3) UGreaterThanEqual 422 424
Store 39
1(bv) 425
42
6: 50(ivec2) Load 276
(i64v)
42
7: 14(int) Load 279
(i64)
4
28: 50(ivec2) CompositeConstruct 427 427
4
29: 54(bvec2) SGreaterThanEqual 426 428
43
0: 358(bvec3) Load 391
(bv)
43
1: 358(bvec3) VectorShuffle 430 429
3 4 2
Store 39
1(bv) 431
43
2: 130(ivec3) Load 289
(u64v)
43
3: 36(int) Load 291
(u64)
43
4: 130(ivec3) CompositeConstruct 433 433 433
43
5: 358(bvec3) IEqual 432 434
Store 39
1(bv) 435
43
6: 50(ivec2) Load 276
(i64v)
43
7: 14(int) Load 279
(i64)
4
38: 50(ivec2) CompositeConstruct 437 437
4
39: 54(bvec2) IEqual 436 438
44
0: 358(bvec3) Load 391
(bv)
44
1: 358(bvec3) VectorShuffle 440 439
3 4 2
Store 39
1(bv) 441
44
2: 130(ivec3) Load 289
(u64v)
44
3: 36(int) Load 291
(u64)
44
4: 130(ivec3) CompositeConstruct 443 443 443
44
5: 358(bvec3) INotEqual 442 444
Store 39
1(bv) 445
44
6: 50(ivec2) Load 276
(i64v)
44
7: 14(int) Load 279
(i64)
4
48: 50(ivec2) CompositeConstruct 447 447
4
49: 54(bvec2) INotEqual 446 448
45
0: 358(bvec3) Load 391
(bv)
45
1: 358(bvec3) VectorShuffle 450 449
3 4 2
Store 39
1(bv) 451
27
8(i64v): 53
(ptr) Variable Function
2
81(i64): 19
(ptr) Variable Function
2
91(u64v): 133
(ptr) Variable Function
29
3(u64): 40
(ptr) Variable Function
36
5(dv): 364
(ptr) Variable Function
38
4(iv): 75
(ptr) Variable Function
38
9(uv): 82
(ptr) Variable Function
39
3(bv): 392
(ptr) Variable Function
27
9: 52(ivec2) Load 278
(i64v)
2
80: 52(ivec2) ExtInst 1(GLSL.std.450) 5(SAbs) 279
Store 27
8(i64v) 280
28
2: 18(int) Load 281
(i64)
28
3: 18(int) ExtInst 1(GLSL.std.450) 7(SSign) 282
Store 2
81(i64) 283
28
4: 52(ivec2) Load 278
(i64v)
28
5: 18(int) Load 281
(i64)
28
6: 52(ivec2) CompositeConstruct 285 285
28
7: 52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 284 286
Store 27
8(i64v) 287
28
8: 52(ivec2) Load 278
(i64v)
2
90: 52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 288 289
Store 27
8(i64v) 290
29
2: 132(ivec3) Load 291
(u64v)
29
4: 14(int) Load 293
(u64)
29
5: 132(ivec3) CompositeConstruct 294 294 294
29
6: 132(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 292 295
Store 2
91(u64v) 296
29
7: 132(ivec3) Load 291
(u64v)
29
9: 132(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 297 298
Store 2
91(u64v) 299
300: 52(ivec2) Load 278
(i64v)
301: 18(int) Load 281
(i64)
30
2: 52(ivec2) CompositeConstruct 301 301
30
3: 52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 300 302
Store 27
8(i64v) 303
30
4: 52(ivec2) Load 278
(i64v)
30
5: 52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 304 289
Store 27
8(i64v) 305
30
6: 132(ivec3) Load 291
(u64v)
30
7: 14(int) Load 293
(u64)
30
8: 132(ivec3) CompositeConstruct 307 307 307
30
9: 132(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 306 308
Store 2
91(u64v) 309
3
10: 132(ivec3) Load 291
(u64v)
3
11: 132(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 310 298
Store 2
91(u64v) 311
31
2: 52(ivec2) Load 278
(i64v)
31
3: 18(int) Load 281
(i64)
31
4: 18(int) SNegate 313
31
5: 18(int) Load 281
(i64)
31
6: 52(ivec2) CompositeConstruct 314 314
31
7: 52(ivec2) CompositeConstruct 315 315
31
8: 52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 312 316 317
Store 27
8(i64v) 318
31
9: 52(ivec2) Load 278
(i64v)
3
20: 52(ivec2) Load 278
(i64v)
3
21: 52(ivec2) SNegate 320
32
2: 52(ivec2) Load 278
(i64v)
32
3: 52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 319 321 322
Store 27
8(i64v) 323
32
4: 132(ivec3) Load 291
(u64v)
32
5: 14(int) Load 293
(u64)
32
6: 14(int) SNegate 325
32
7: 14(int) Load 293
(u64)
32
8: 132(ivec3) CompositeConstruct 326 326 326
32
9: 132(ivec3) CompositeConstruct 327 327 327
3
30: 132(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 324 328 329
Store 2
91(u64v) 330
3
31: 132(ivec3) Load 291
(u64v)
33
2: 132(ivec3) Load 291
(u64v)
33
3: 132(ivec3) SNegate 332
33
4: 132(ivec3) Load 291
(u64v)
33
5: 132(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 331 333 334
Store 2
91(u64v) 335
33
6: 19(ptr) AccessChain 278(i64v) 219
33
7: 18(int) Load 336
33
8: 19(ptr) AccessChain 278(i64v) 202
33
9: 18(int) Load 338
3
41: 18(int) Select 340 339 337
Store 2
81(i64) 341
34
2: 18(int) Load 281
(i64)
34
3: 52(ivec2) CompositeConstruct 342 342
34
4: 18(int) Load 281
(i64)
34
5: 18(int) SNegate 344
34
6: 52(ivec2) CompositeConstruct 345 345
34
9: 52(ivec2) Select 348 346 343
Store 27
8(i64v) 349
3
50: 40(ptr) AccessChain 291(u64v) 219
3
51: 14(int) Load 350
35
2: 40(ptr) AccessChain 291(u64v) 202
35
3: 14(int) Load 352
35
4: 14(int) Select 340 353 351
Store 29
3(u64) 354
35
5: 14(int) Load 293
(u64)
35
6: 132(ivec3) CompositeConstruct 355 355 355
35
7: 14(int) Load 293
(u64)
35
8: 14(int) SNegate 357
35
9: 132(ivec3) CompositeConstruct 358 358 358
36
2: 132(ivec3) Select 361 359 356
Store 2
91(u64v) 362
36
6: 363(fvec3) Load 365
(dv)
36
7: 95(fvec2) VectorShuffle 366 366
0 1
36
8: 52(ivec2) Bitcast 367
Store 27
8(i64v) 368
3
70: 369(ptr) AccessChain 365(dv) 209
3
71: 94(float) Load 370
37
2: 14(int) Bitcast 371
37
3: 40(ptr) AccessChain 291(u64v) 219
Store 37
3 372
37
4: 52(ivec2) Load 278
(i64v)
37
5: 95(fvec2) Bitcast 374
37
6: 363(fvec3) Load 365
(dv)
37
7: 363(fvec3) VectorShuffle 376 375
3 4 2
Store 36
5(dv) 377
37
8: 132(ivec3) Load 291
(u64v)
37
9: 363(fvec3) Bitcast 378
Store 36
5(dv) 379
38
3: 18(int) Bitcast 382
Store 2
81(i64) 383
38
5: 18(int) Load 281
(i64)
38
6: 74(ivec2) Bitcast 385
Store 38
4(iv) 386
38
8: 14(int) Bitcast 387
Store 29
3(u64) 388
3
90: 14(int) Load 293
(u64)
3
91: 81(ivec2) Bitcast 390
Store 38
9(uv) 391
39
4: 132(ivec3) Load 291
(u64v)
39
5: 14(int) Load 293
(u64)
39
6: 132(ivec3) CompositeConstruct 395 395 395
39
7: 360(bvec3) ULessThan 394 396
Store 39
3(bv) 397
39
8: 52(ivec2) Load 278
(i64v)
39
9: 18(int) Load 281
(i64)
400: 52(ivec2) CompositeConstruct 399 399
401: 56(bvec2) SLessThan 398 400
40
2: 360(bvec3) Load 393
(bv)
40
3: 360(bvec3) VectorShuffle 402 401
3 4 2
Store 39
3(bv) 403
40
4: 132(ivec3) Load 291
(u64v)
40
5: 14(int) Load 293
(u64)
40
6: 132(ivec3) CompositeConstruct 405 405 405
40
7: 360(bvec3) ULessThanEqual 404 406
Store 39
3(bv) 407
40
8: 52(ivec2) Load 278
(i64v)
40
9: 18(int) Load 281
(i64)
4
10: 52(ivec2) CompositeConstruct 409 409
4
11: 56(bvec2) SLessThanEqual 408 410
41
2: 360(bvec3) Load 393
(bv)
41
3: 360(bvec3) VectorShuffle 412 411
3 4 2
Store 39
3(bv) 413
41
4: 132(ivec3) Load 291
(u64v)
41
5: 14(int) Load 293
(u64)
41
6: 132(ivec3) CompositeConstruct 415 415 415
41
7: 360(bvec3) UGreaterThan 414 416
Store 39
3(bv) 417
41
8: 52(ivec2) Load 278
(i64v)
41
9: 18(int) Load 281
(i64)
4
20: 52(ivec2) CompositeConstruct 419 419
4
21: 56(bvec2) SGreaterThan 418 420
42
2: 360(bvec3) Load 393
(bv)
42
3: 360(bvec3) VectorShuffle 422 421
3 4 2
Store 39
3(bv) 423
42
4: 132(ivec3) Load 291
(u64v)
42
5: 14(int) Load 293
(u64)
42
6: 132(ivec3) CompositeConstruct 425 425 425
42
7: 360(bvec3) UGreaterThanEqual 424 426
Store 39
3(bv) 427
42
8: 52(ivec2) Load 278
(i64v)
42
9: 18(int) Load 281
(i64)
4
30: 52(ivec2) CompositeConstruct 429 429
4
31: 56(bvec2) SGreaterThanEqual 428 430
43
2: 360(bvec3) Load 393
(bv)
43
3: 360(bvec3) VectorShuffle 432 431
3 4 2
Store 39
3(bv) 433
43
4: 132(ivec3) Load 291
(u64v)
43
5: 14(int) Load 293
(u64)
43
6: 132(ivec3) CompositeConstruct 435 435 435
43
7: 360(bvec3) IEqual 434 436
Store 39
3(bv) 437
43
8: 52(ivec2) Load 278
(i64v)
43
9: 18(int) Load 281
(i64)
4
40: 52(ivec2) CompositeConstruct 439 439
4
41: 56(bvec2) IEqual 438 440
44
2: 360(bvec3) Load 393
(bv)
44
3: 360(bvec3) VectorShuffle 442 441
3 4 2
Store 39
3(bv) 443
44
4: 132(ivec3) Load 291
(u64v)
44
5: 14(int) Load 293
(u64)
44
6: 132(ivec3) CompositeConstruct 445 445 445
44
7: 360(bvec3) INotEqual 444 446
Store 39
3(bv) 447
44
8: 52(ivec2) Load 278
(i64v)
44
9: 18(int) Load 281
(i64)
4
50: 52(ivec2) CompositeConstruct 449 449
4
51: 56(bvec2) INotEqual 448 450
45
2: 360(bvec3) Load 393
(bv)
45
3: 360(bvec3) VectorShuffle 452 451
3 4 2
Store 39
3(bv) 453
Return
FunctionEnd
Test/baseResults/spv.uint.frag.out
View file @
4bfb32e1
...
...
@@ -7,12 +7,12 @@ Linked fragment stage:
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 2
07
// Id's are bound by 2
13
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 15 68 77 20
0 202 204
EntryPoint Fragment 4 "main" 15 68 77 20
6 208 210
ExecutionMode 4 OriginUpperLeft
Source ESSL 310
Name 4 "main"
...
...
@@ -33,10 +33,10 @@ Linked fragment stage:
Name 154 "mask2"
Name 156 "mask3"
Name 160 "mask4"
Name 20
0
"f"
Name 20
2
"v"
Name 2
04
"i"
Name 2
06
"b"
Name 20
6
"f"
Name 20
8
"v"
Name 2
10
"i"
Name 2
12
"b"
Decorate 8(count) RelaxedPrecision
Decorate 12(u) RelaxedPrecision
Decorate 15(t) RelaxedPrecision
...
...
@@ -138,11 +138,13 @@ Linked fragment stage:
Decorate 196 RelaxedPrecision
Decorate 197 RelaxedPrecision
Decorate 198 RelaxedPrecision
Decorate 200(f) RelaxedPrecision
Decorate 202(v) RelaxedPrecision
Decorate 202(v) Flat
Decorate 204(i) RelaxedPrecision
Decorate 204(i) Flat
Decorate 202 RelaxedPrecision
Decorate 203 RelaxedPrecision
Decorate 206(f) RelaxedPrecision
Decorate 208(v) RelaxedPrecision
Decorate 208(v) Flat
Decorate 210(i) RelaxedPrecision
Decorate 210(i) Flat
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
...
...
@@ -193,14 +195,16 @@ Linked fragment stage:
155: 10(int) Constant 2576
158: 6(int) Constant 4
161: 10(int) Constant 2737
199: TypePointer Input 74(float)
200(f): 199(ptr) Variable Input
201: TypePointer Input 66(ivec4)
202(v): 201(ptr) Variable Input
203: TypePointer Input 6(int)
204(i): 203(ptr) Variable Input
205: TypePointer Private 22(bool)
206(b): 205(ptr) Variable Private
199: 10(int) Constant 4294967295
200: TypePointer Output 10(int)
205: TypePointer Input 74(float)
206(f): 205(ptr) Variable Input
207: TypePointer Input 66(ivec4)
208(v): 207(ptr) Variable Input
209: TypePointer Input 6(int)
210(i): 209(ptr) Variable Input
211: TypePointer Private 22(bool)
212(b): 211(ptr) Variable Private
4(main): 2 Function None 3
5: Label
8(count): 7(ptr) Variable Function
...
...
@@ -434,5 +438,10 @@ Linked fragment stage:
197: 66(ivec4) Load 68(c)
198: 66(ivec4) IAdd 197 196
Store 68(c) 198
201: 200(ptr) AccessChain 68(c) 103
202: 10(int) Load 201
203: 10(int) IAdd 202 199
204: 200(ptr) AccessChain 68(c) 103
Store 204 203
Return
FunctionEnd
Test/spv.int64.frag
View file @
4bfb32e1
...
...
@@ -258,4 +258,7 @@ const uint64_t i_to_u64 = uint64_t(si);
// uint <-> int64
const
uint
i64_to_u
=
uint
(
si64
);
const
int64_t
u_to_i64
=
int64_t
(
su
);
\ No newline at end of file
const
int64_t
u_to_i64
=
int64_t
(
su
);
#define UINT64_MAX 18446744073709551615ul
uint64_t
u64Max
=
UINT64_MAX
;
Test/spv.uint.frag
View file @
4bfb32e1
...
...
@@ -95,5 +95,8 @@ void main()
if
((
mask1
^
mask4
)
==
0xA10u
)
count
*=
7
;
// 341413380
c
+=
uvec4
(
count
);
c
+=
uvec4
(
count
);
#define UINT_MAX 4294967295u
c
.
x
+=
UINT_MAX
;
}
glslang/Include/revision.h
View file @
4bfb32e1
...
...
@@ -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 "Overload400-PrecQual.147
2
"
#define GLSLANG_DATE "0
5
-Sep-2016"
#define GLSLANG_REVISION "Overload400-PrecQual.147
4
"
#define GLSLANG_DATE "0
9
-Sep-2016"
glslang/MachineIndependent/preprocessor/PpTokens.cpp
View file @
4bfb32e1
...
...
@@ -224,7 +224,6 @@ int TPpContext::ReadToken(TokenStream *pTok, TPpToken *ppToken)
ppToken
->
dval
=
atof
(
ppToken
->
name
);
break
;
case
PpAtomConstInt
:
case
PpAtomConstUint
:
if
(
len
>
0
&&
tokenText
[
0
]
==
'0'
)
{
if
(
len
>
1
&&
(
tokenText
[
1
]
==
'x'
||
tokenText
[
1
]
==
'X'
))
ppToken
->
ival
=
strtol
(
ppToken
->
name
,
0
,
16
);
...
...
@@ -233,8 +232,16 @@ int TPpContext::ReadToken(TokenStream *pTok, TPpToken *ppToken)
}
else
ppToken
->
ival
=
atoi
(
ppToken
->
name
);
break
;
case
PpAtomConstUint
:
if
(
len
>
0
&&
tokenText
[
0
]
==
'0'
)
{
if
(
len
>
1
&&
(
tokenText
[
1
]
==
'x'
||
tokenText
[
1
]
==
'X'
))
ppToken
->
ival
=
(
int
)
strtoul
(
ppToken
->
name
,
0
,
16
);
else
ppToken
->
ival
=
(
int
)
strtoul
(
ppToken
->
name
,
0
,
8
);
}
else
ppToken
->
ival
=
(
int
)
strtoul
(
ppToken
->
name
,
0
,
10
);
break
;
case
PpAtomConstInt64
:
case
PpAtomConstUint64
:
if
(
len
>
0
&&
tokenText
[
0
]
==
'0'
)
{
if
(
len
>
1
&&
(
tokenText
[
1
]
==
'x'
||
tokenText
[
1
]
==
'X'
))
ppToken
->
i64val
=
strtoll
(
ppToken
->
name
,
nullptr
,
16
);
...
...
@@ -243,6 +250,15 @@ int TPpContext::ReadToken(TokenStream *pTok, TPpToken *ppToken)
}
else
ppToken
->
i64val
=
atoll
(
ppToken
->
name
);
break
;
case
PpAtomConstUint64
:
if
(
len
>
0
&&
tokenText
[
0
]
==
'0'
)
{
if
(
len
>
1
&&
(
tokenText
[
1
]
==
'x'
||
tokenText
[
1
]
==
'X'
))
ppToken
->
i64val
=
(
long
long
)
strtoull
(
ppToken
->
name
,
nullptr
,
16
);
else
ppToken
->
i64val
=
(
long
long
)
strtoull
(
ppToken
->
name
,
nullptr
,
8
);
}
else
ppToken
->
i64val
=
(
long
long
)
strtoull
(
ppToken
->
name
,
0
,
10
);
break
;
}
}
...
...
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