Full vector and fully specified vector swizzle stores are not affected by this change, only partial swizzles ie swizzles with fewer components than the vector being stored to. Previously the vector being stored to loaded and any components not specified in the swizzle were used to create a full store to the vector. While this change generates more SPIR-V instructions, it is necessary for correctness. Fixes #2518.
824 lines
40 KiB
Plaintext
824 lines
40 KiB
Plaintext
spv.int16.amd.frag
|
|
// Module Version 10000
|
|
// Generated by (magic number): 8000a
|
|
// Id's are bound by 576
|
|
|
|
Capability Shader
|
|
Capability Float16
|
|
Capability Float64
|
|
Capability Int64
|
|
Capability Int16
|
|
Capability StorageUniform16
|
|
Capability StorageInputOutput16
|
|
Extension "SPV_AMD_gpu_shader_int16"
|
|
Extension "SPV_KHR_16bit_storage"
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 535 537
|
|
ExecutionMode 4 OriginUpperLeft
|
|
Source GLSL 450
|
|
SourceExtension "GL_AMD_gpu_shader_half_float"
|
|
SourceExtension "GL_AMD_gpu_shader_int16"
|
|
SourceExtension "GL_ARB_gpu_shader_int64"
|
|
Name 4 "main"
|
|
Name 6 "literal("
|
|
Name 8 "operators("
|
|
Name 10 "typeCast("
|
|
Name 12 "builtinFuncs("
|
|
Name 16 "u16"
|
|
Name 25 "Uniforms"
|
|
MemberName 25(Uniforms) 0 "i"
|
|
Name 27 ""
|
|
Name 34 "indexable"
|
|
Name 45 "indexable"
|
|
Name 51 "u16v"
|
|
Name 57 "i16"
|
|
Name 70 "u16"
|
|
Name 127 "b"
|
|
Name 148 "u"
|
|
Name 159 "i"
|
|
Name 189 "i16v"
|
|
Name 192 "bv"
|
|
Name 200 "u16v"
|
|
Name 213 "iv"
|
|
Name 226 "uv"
|
|
Name 240 "fv"
|
|
Name 252 "dv"
|
|
Name 264 "f16v"
|
|
Name 276 "i64v"
|
|
Name 290 "u64v"
|
|
Name 305 "i16v"
|
|
Name 311 "i16"
|
|
Name 319 "u16v"
|
|
Name 321 "u16"
|
|
Name 393 "f16v"
|
|
Name 396 "exp"
|
|
Name 397 "ResType"
|
|
Name 420 "packi"
|
|
Name 425 "packu"
|
|
Name 436 "packi64"
|
|
Name 445 "packu64"
|
|
Name 454 "bv"
|
|
Name 531 "Block"
|
|
MemberName 531(Block) 0 "i16v"
|
|
MemberName 531(Block) 1 "u16"
|
|
Name 533 "block"
|
|
Name 535 "iu16v"
|
|
Name 537 "ii16"
|
|
Name 538 "si64"
|
|
Name 539 "su64"
|
|
Name 540 "si"
|
|
Name 541 "su"
|
|
Name 542 "sb"
|
|
Name 543 "si16"
|
|
Name 544 "su16"
|
|
Name 545 "i16_to_b"
|
|
Name 546 "u16_to_b"
|
|
Name 547 "b_to_i16"
|
|
Name 548 "b_to_u16"
|
|
Name 549 "i16_to_i"
|
|
Name 551 "u16_to_i"
|
|
Name 552 "i_to_i16"
|
|
Name 554 "i_to_u16"
|
|
Name 556 "i16_to_u"
|
|
Name 557 "u16_to_u"
|
|
Name 559 "u_to_i16"
|
|
Name 560 "u_to_u16"
|
|
Name 561 "i16_to_i64"
|
|
Name 564 "u16_to_i64"
|
|
Name 565 "i64_to_i16"
|
|
Name 567 "i64_to_u16"
|
|
Name 569 "i16_to_u64"
|
|
Name 570 "u16_to_u64"
|
|
Name 572 "u64_to_i16"
|
|
Name 573 "u64_to_u16"
|
|
Name 574 "i16_to_u16"
|
|
Name 575 "u16_to_i16"
|
|
MemberDecorate 25(Uniforms) 0 Offset 0
|
|
Decorate 25(Uniforms) Block
|
|
Decorate 27 DescriptorSet 0
|
|
Decorate 27 Binding 0
|
|
MemberDecorate 531(Block) 0 Offset 0
|
|
MemberDecorate 531(Block) 1 Offset 6
|
|
Decorate 531(Block) Block
|
|
Decorate 533(block) DescriptorSet 0
|
|
Decorate 533(block) Binding 1
|
|
Decorate 535(iu16v) Flat
|
|
Decorate 535(iu16v) Location 0
|
|
Decorate 537(ii16) Flat
|
|
Decorate 537(ii16) Location 1
|
|
Decorate 538(si64) SpecId 100
|
|
Decorate 539(su64) SpecId 101
|
|
Decorate 540(si) SpecId 102
|
|
Decorate 541(su) SpecId 103
|
|
Decorate 542(sb) SpecId 104
|
|
Decorate 543(si16) SpecId 105
|
|
Decorate 544(su16) SpecId 106
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
14: TypeInt 16 0
|
|
15: TypePointer Function 14(int16_t)
|
|
17: TypeInt 16 1
|
|
18: TypeInt 32 0
|
|
19: 18(int) Constant 3
|
|
20: TypeArray 17(int16_t) 19
|
|
21: 17(int16_t) Constant 273
|
|
22: 17(int16_t) Constant 4294967294
|
|
23: 17(int16_t) Constant 256
|
|
24: 20 ConstantComposite 21 22 23
|
|
25(Uniforms): TypeStruct 18(int)
|
|
26: TypePointer Uniform 25(Uniforms)
|
|
27: 26(ptr) Variable Uniform
|
|
28: TypeInt 32 1
|
|
29: 28(int) Constant 0
|
|
30: TypePointer Uniform 18(int)
|
|
33: TypePointer Function 20
|
|
35: TypePointer Function 17(int16_t)
|
|
39: TypeArray 14(int16_t) 19
|
|
40: 14(int16_t) Constant 65535
|
|
41: 39 ConstantComposite 40 40 40
|
|
44: TypePointer Function 39
|
|
49: TypeVector 14(int16_t) 3
|
|
50: TypePointer Function 49(i16vec3)
|
|
53: 17(int16_t) Constant 1
|
|
54: TypeVector 17(int16_t) 3
|
|
111: 18(int) Constant 1
|
|
117: 18(int) Constant 2
|
|
125: TypeBool
|
|
126: TypePointer Function 125(bool)
|
|
128: 18(int) Constant 0
|
|
147: TypePointer Function 18(int)
|
|
158: TypePointer Function 28(int)
|
|
187: TypeVector 17(int16_t) 2
|
|
188: TypePointer Function 187(i16vec2)
|
|
190: TypeVector 125(bool) 2
|
|
191: TypePointer Function 190(bvec2)
|
|
194: 17(int16_t) Constant 0
|
|
195:187(i16vec2) ConstantComposite 194 194
|
|
196:187(i16vec2) ConstantComposite 53 53
|
|
198: TypeVector 14(int16_t) 2
|
|
199: TypePointer Function 198(i16vec2)
|
|
202: 14(int16_t) Constant 0
|
|
203: 14(int16_t) Constant 1
|
|
204:198(i16vec2) ConstantComposite 202 202
|
|
205:198(i16vec2) ConstantComposite 203 203
|
|
211: TypeVector 28(int) 2
|
|
212: TypePointer Function 211(ivec2)
|
|
222: TypeVector 18(int) 2
|
|
225: TypePointer Function 222(ivec2)
|
|
237: TypeFloat 32
|
|
238: TypeVector 237(float) 2
|
|
239: TypePointer Function 238(fvec2)
|
|
249: TypeFloat 64
|
|
250: TypeVector 249(float64_t) 2
|
|
251: TypePointer Function 250(f64vec2)
|
|
261: TypeFloat 16
|
|
262: TypeVector 261(float16_t) 2
|
|
263: TypePointer Function 262(f16vec2)
|
|
273: TypeInt 64 1
|
|
274: TypeVector 273(int64_t) 2
|
|
275: TypePointer Function 274(i64vec2)
|
|
285: TypeInt 64 0
|
|
286: TypeVector 285(int64_t) 2
|
|
289: TypePointer Function 286(i64vec2)
|
|
316: 17(int16_t) Constant 4294967295
|
|
317:187(i16vec2) ConstantComposite 316 316
|
|
326: 49(i16vec3) ConstantComposite 202 202 202
|
|
368: 125(bool) ConstantTrue
|
|
375: 125(bool) ConstantFalse
|
|
376: 190(bvec2) ConstantComposite 375 375
|
|
388: TypeVector 125(bool) 3
|
|
389: 388(bvec3) ConstantComposite 375 375 375
|
|
391: TypeVector 261(float16_t) 3
|
|
392: TypePointer Function 391(f16vec3)
|
|
395: TypePointer Function 54(i16vec3)
|
|
397(ResType): TypeStruct 391(f16vec3) 54(i16vec3)
|
|
407: TypePointer Function 261(float16_t)
|
|
435: TypePointer Function 273(int64_t)
|
|
438: TypeVector 17(int16_t) 4
|
|
444: TypePointer Function 285(int64_t)
|
|
447: TypeVector 14(int16_t) 4
|
|
453: TypePointer Function 388(bvec3)
|
|
531(Block): TypeStruct 54(i16vec3) 14(int16_t)
|
|
532: TypePointer Uniform 531(Block)
|
|
533(block): 532(ptr) Variable Uniform
|
|
534: TypePointer Input 49(i16vec3)
|
|
535(iu16v): 534(ptr) Variable Input
|
|
536: TypePointer Input 17(int16_t)
|
|
537(ii16): 536(ptr) Variable Input
|
|
538(si64):273(int64_t) SpecConstant 4294967286 4294967295
|
|
539(su64):285(int64_t) SpecConstant 20 0
|
|
540(si): 28(int) SpecConstant 4294967291
|
|
541(su): 18(int) SpecConstant 4
|
|
542(sb): 125(bool) SpecConstantTrue
|
|
543(si16): 17(int16_t) SpecConstant 4294967291
|
|
544(su16): 14(int16_t) SpecConstant 4
|
|
545(i16_to_b): 125(bool) SpecConstantOp 171 543(si16) 202
|
|
546(u16_to_b): 125(bool) SpecConstantOp 171 544(su16) 202
|
|
547(b_to_i16): 17(int16_t) SpecConstantOp 169 542(sb) 53 194
|
|
548(b_to_u16): 14(int16_t) SpecConstantOp 169 542(sb) 203 202
|
|
549(i16_to_i): 28(int) SpecConstantOp 114 543(si16)
|
|
550: 18(int) SpecConstantOp 113 544(su16)
|
|
551(u16_to_i): 28(int) SpecConstantOp 128 550 128
|
|
552(i_to_i16): 17(int16_t) SpecConstantOp 114 540(si)
|
|
553: 17(int16_t) SpecConstantOp 114 540(si)
|
|
554(i_to_u16): 14(int16_t) SpecConstantOp 128 553 202
|
|
555: 28(int) SpecConstantOp 114 543(si16)
|
|
556(i16_to_u): 18(int) SpecConstantOp 128 555 128
|
|
557(u16_to_u): 18(int) SpecConstantOp 113 544(su16)
|
|
558: 14(int16_t) SpecConstantOp 113 541(su)
|
|
559(u_to_i16): 17(int16_t) SpecConstantOp 128 558 202
|
|
560(u_to_u16): 14(int16_t) SpecConstantOp 113 541(su)
|
|
561(i16_to_i64):273(int64_t) SpecConstantOp 114 543(si16)
|
|
562:285(int64_t) SpecConstantOp 113 544(su16)
|
|
563:285(int64_t) Constant 0 0
|
|
564(u16_to_i64):273(int64_t) SpecConstantOp 128 562 563
|
|
565(i64_to_i16): 17(int16_t) SpecConstantOp 114 538(si64)
|
|
566: 17(int16_t) SpecConstantOp 114 538(si64)
|
|
567(i64_to_u16): 14(int16_t) SpecConstantOp 128 566 202
|
|
568:273(int64_t) SpecConstantOp 114 543(si16)
|
|
569(i16_to_u64):285(int64_t) SpecConstantOp 128 568 563
|
|
570(u16_to_u64):285(int64_t) SpecConstantOp 113 544(su16)
|
|
571: 14(int16_t) SpecConstantOp 113 539(su64)
|
|
572(u64_to_i16): 17(int16_t) SpecConstantOp 128 571 202
|
|
573(u64_to_u16): 14(int16_t) SpecConstantOp 113 539(su64)
|
|
574(i16_to_u16): 14(int16_t) SpecConstantOp 128 543(si16) 202
|
|
575(u16_to_i16): 17(int16_t) SpecConstantOp 128 544(su16) 202
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
527: 2 FunctionCall 6(literal()
|
|
528: 2 FunctionCall 8(operators()
|
|
529: 2 FunctionCall 10(typeCast()
|
|
530: 2 FunctionCall 12(builtinFuncs()
|
|
Return
|
|
FunctionEnd
|
|
6(literal(): 2 Function None 3
|
|
7: Label
|
|
16(u16): 15(ptr) Variable Function
|
|
34(indexable): 33(ptr) Variable Function
|
|
45(indexable): 44(ptr) Variable Function
|
|
31: 30(ptr) AccessChain 27 29
|
|
32: 18(int) Load 31
|
|
Store 34(indexable) 24
|
|
36: 35(ptr) AccessChain 34(indexable) 32
|
|
37: 17(int16_t) Load 36
|
|
38: 14(int16_t) Bitcast 37
|
|
42: 30(ptr) AccessChain 27 29
|
|
43: 18(int) Load 42
|
|
Store 45(indexable) 41
|
|
46: 15(ptr) AccessChain 45(indexable) 43
|
|
47: 14(int16_t) Load 46
|
|
48: 14(int16_t) IAdd 38 47
|
|
Store 16(u16) 48
|
|
Return
|
|
FunctionEnd
|
|
8(operators(): 2 Function None 3
|
|
9: Label
|
|
51(u16v): 50(ptr) Variable Function
|
|
57(i16): 35(ptr) Variable Function
|
|
70(u16): 15(ptr) Variable Function
|
|
127(b): 126(ptr) Variable Function
|
|
148(u): 147(ptr) Variable Function
|
|
159(i): 158(ptr) Variable Function
|
|
52: 49(i16vec3) Load 51(u16v)
|
|
55: 54(i16vec3) CompositeConstruct 53 53 53
|
|
56: 49(i16vec3) IAdd 52 55
|
|
Store 51(u16v) 56
|
|
58: 17(int16_t) Load 57(i16)
|
|
59: 17(int16_t) ISub 58 53
|
|
Store 57(i16) 59
|
|
60: 17(int16_t) Load 57(i16)
|
|
61: 17(int16_t) IAdd 60 53
|
|
Store 57(i16) 61
|
|
62: 49(i16vec3) Load 51(u16v)
|
|
63: 54(i16vec3) CompositeConstruct 53 53 53
|
|
64: 49(i16vec3) ISub 62 63
|
|
Store 51(u16v) 64
|
|
65: 49(i16vec3) Load 51(u16v)
|
|
66: 49(i16vec3) Not 65
|
|
Store 51(u16v) 66
|
|
67: 17(int16_t) Load 57(i16)
|
|
Store 57(i16) 67
|
|
68: 49(i16vec3) Load 51(u16v)
|
|
69: 49(i16vec3) SNegate 68
|
|
Store 51(u16v) 69
|
|
71: 17(int16_t) Load 57(i16)
|
|
72: 14(int16_t) Bitcast 71
|
|
73: 14(int16_t) Load 70(u16)
|
|
74: 14(int16_t) IAdd 73 72
|
|
Store 70(u16) 74
|
|
75: 49(i16vec3) Load 51(u16v)
|
|
76: 49(i16vec3) Load 51(u16v)
|
|
77: 49(i16vec3) ISub 76 75
|
|
Store 51(u16v) 77
|
|
78: 17(int16_t) Load 57(i16)
|
|
79: 17(int16_t) Load 57(i16)
|
|
80: 17(int16_t) IMul 79 78
|
|
Store 57(i16) 80
|
|
81: 49(i16vec3) Load 51(u16v)
|
|
82: 49(i16vec3) Load 51(u16v)
|
|
83: 49(i16vec3) UDiv 82 81
|
|
Store 51(u16v) 83
|
|
84: 17(int16_t) Load 57(i16)
|
|
85: 14(int16_t) Bitcast 84
|
|
86: 49(i16vec3) Load 51(u16v)
|
|
87: 49(i16vec3) CompositeConstruct 85 85 85
|
|
88: 49(i16vec3) UMod 86 87
|
|
Store 51(u16v) 88
|
|
89: 49(i16vec3) Load 51(u16v)
|
|
90: 49(i16vec3) Load 51(u16v)
|
|
91: 49(i16vec3) IAdd 89 90
|
|
Store 51(u16v) 91
|
|
92: 17(int16_t) Load 57(i16)
|
|
93: 14(int16_t) Bitcast 92
|
|
94: 14(int16_t) Load 70(u16)
|
|
95: 14(int16_t) ISub 93 94
|
|
Store 70(u16) 95
|
|
96: 49(i16vec3) Load 51(u16v)
|
|
97: 17(int16_t) Load 57(i16)
|
|
98: 14(int16_t) Bitcast 97
|
|
99: 49(i16vec3) CompositeConstruct 98 98 98
|
|
100: 49(i16vec3) IMul 96 99
|
|
Store 51(u16v) 100
|
|
101: 17(int16_t) Load 57(i16)
|
|
102: 17(int16_t) Load 57(i16)
|
|
103: 17(int16_t) IMul 101 102
|
|
Store 57(i16) 103
|
|
104: 17(int16_t) Load 57(i16)
|
|
105: 17(int16_t) Load 57(i16)
|
|
106: 17(int16_t) SMod 104 105
|
|
Store 57(i16) 106
|
|
107: 17(int16_t) Load 57(i16)
|
|
108: 49(i16vec3) Load 51(u16v)
|
|
109: 54(i16vec3) CompositeConstruct 107 107 107
|
|
110: 49(i16vec3) ShiftLeftLogical 108 109
|
|
Store 51(u16v) 110
|
|
112: 15(ptr) AccessChain 51(u16v) 111
|
|
113: 14(int16_t) Load 112
|
|
114: 17(int16_t) Load 57(i16)
|
|
115: 17(int16_t) ShiftRightArithmetic 114 113
|
|
Store 57(i16) 115
|
|
116: 17(int16_t) Load 57(i16)
|
|
118: 15(ptr) AccessChain 51(u16v) 117
|
|
119: 14(int16_t) Load 118
|
|
120: 17(int16_t) ShiftLeftLogical 116 119
|
|
Store 57(i16) 120
|
|
121: 49(i16vec3) Load 51(u16v)
|
|
122: 17(int16_t) Load 57(i16)
|
|
123: 54(i16vec3) CompositeConstruct 122 122 122
|
|
124: 49(i16vec3) ShiftLeftLogical 121 123
|
|
Store 51(u16v) 124
|
|
129: 15(ptr) AccessChain 51(u16v) 128
|
|
130: 14(int16_t) Load 129
|
|
131: 17(int16_t) Load 57(i16)
|
|
132: 14(int16_t) Bitcast 131
|
|
133: 125(bool) INotEqual 130 132
|
|
Store 127(b) 133
|
|
134: 17(int16_t) Load 57(i16)
|
|
135: 14(int16_t) Bitcast 134
|
|
136: 15(ptr) AccessChain 51(u16v) 128
|
|
137: 14(int16_t) Load 136
|
|
138: 125(bool) IEqual 135 137
|
|
Store 127(b) 138
|
|
139: 15(ptr) AccessChain 51(u16v) 128
|
|
140: 14(int16_t) Load 139
|
|
141: 15(ptr) AccessChain 51(u16v) 111
|
|
142: 14(int16_t) Load 141
|
|
143: 125(bool) UGreaterThan 140 142
|
|
Store 127(b) 143
|
|
144: 17(int16_t) Load 57(i16)
|
|
145: 28(int) SConvert 144
|
|
146: 18(int) Bitcast 145
|
|
149: 18(int) Load 148(u)
|
|
150: 125(bool) ULessThan 146 149
|
|
Store 127(b) 150
|
|
151: 15(ptr) AccessChain 51(u16v) 111
|
|
152: 14(int16_t) Load 151
|
|
153: 15(ptr) AccessChain 51(u16v) 128
|
|
154: 14(int16_t) Load 153
|
|
155: 125(bool) UGreaterThanEqual 152 154
|
|
Store 127(b) 155
|
|
156: 17(int16_t) Load 57(i16)
|
|
157: 28(int) SConvert 156
|
|
160: 28(int) Load 159(i)
|
|
161: 125(bool) SLessThanEqual 157 160
|
|
Store 127(b) 161
|
|
162: 17(int16_t) Load 57(i16)
|
|
163: 14(int16_t) Bitcast 162
|
|
164: 49(i16vec3) Load 51(u16v)
|
|
165: 49(i16vec3) CompositeConstruct 163 163 163
|
|
166: 49(i16vec3) BitwiseOr 164 165
|
|
Store 51(u16v) 166
|
|
167: 17(int16_t) Load 57(i16)
|
|
168: 14(int16_t) Bitcast 167
|
|
169: 14(int16_t) Load 70(u16)
|
|
170: 14(int16_t) BitwiseOr 168 169
|
|
Store 70(u16) 170
|
|
171: 17(int16_t) Load 57(i16)
|
|
172: 17(int16_t) Load 57(i16)
|
|
173: 17(int16_t) BitwiseAnd 172 171
|
|
Store 57(i16) 173
|
|
174: 49(i16vec3) Load 51(u16v)
|
|
175: 49(i16vec3) Load 51(u16v)
|
|
176: 49(i16vec3) BitwiseAnd 174 175
|
|
Store 51(u16v) 176
|
|
177: 17(int16_t) Load 57(i16)
|
|
178: 14(int16_t) Bitcast 177
|
|
179: 49(i16vec3) Load 51(u16v)
|
|
180: 49(i16vec3) CompositeConstruct 178 178 178
|
|
181: 49(i16vec3) BitwiseXor 179 180
|
|
Store 51(u16v) 181
|
|
182: 49(i16vec3) Load 51(u16v)
|
|
183: 17(int16_t) Load 57(i16)
|
|
184: 14(int16_t) Bitcast 183
|
|
185: 49(i16vec3) CompositeConstruct 184 184 184
|
|
186: 49(i16vec3) BitwiseXor 182 185
|
|
Store 51(u16v) 186
|
|
Return
|
|
FunctionEnd
|
|
10(typeCast(): 2 Function None 3
|
|
11: Label
|
|
189(i16v): 188(ptr) Variable Function
|
|
192(bv): 191(ptr) Variable Function
|
|
200(u16v): 199(ptr) Variable Function
|
|
213(iv): 212(ptr) Variable Function
|
|
226(uv): 225(ptr) Variable Function
|
|
240(fv): 239(ptr) Variable Function
|
|
252(dv): 251(ptr) Variable Function
|
|
264(f16v): 263(ptr) Variable Function
|
|
276(i64v): 275(ptr) Variable Function
|
|
290(u64v): 289(ptr) Variable Function
|
|
193: 190(bvec2) Load 192(bv)
|
|
197:187(i16vec2) Select 193 196 195
|
|
Store 189(i16v) 197
|
|
201: 190(bvec2) Load 192(bv)
|
|
206:198(i16vec2) Select 201 205 204
|
|
Store 200(u16v) 206
|
|
207:187(i16vec2) Load 189(i16v)
|
|
208: 190(bvec2) INotEqual 207 204
|
|
Store 192(bv) 208
|
|
209:198(i16vec2) Load 200(u16v)
|
|
210: 190(bvec2) INotEqual 209 204
|
|
Store 192(bv) 210
|
|
214: 211(ivec2) Load 213(iv)
|
|
215:187(i16vec2) SConvert 214
|
|
Store 189(i16v) 215
|
|
216: 211(ivec2) Load 213(iv)
|
|
217:187(i16vec2) SConvert 216
|
|
218:198(i16vec2) Bitcast 217
|
|
Store 200(u16v) 218
|
|
219:187(i16vec2) Load 189(i16v)
|
|
220: 211(ivec2) SConvert 219
|
|
Store 213(iv) 220
|
|
221:198(i16vec2) Load 200(u16v)
|
|
223: 222(ivec2) UConvert 221
|
|
224: 211(ivec2) Bitcast 223
|
|
Store 213(iv) 224
|
|
227: 222(ivec2) Load 226(uv)
|
|
228:198(i16vec2) UConvert 227
|
|
229:187(i16vec2) Bitcast 228
|
|
Store 189(i16v) 229
|
|
230: 222(ivec2) Load 226(uv)
|
|
231:198(i16vec2) UConvert 230
|
|
Store 200(u16v) 231
|
|
232:187(i16vec2) Load 189(i16v)
|
|
233: 211(ivec2) SConvert 232
|
|
234: 222(ivec2) Bitcast 233
|
|
Store 226(uv) 234
|
|
235:198(i16vec2) Load 200(u16v)
|
|
236: 222(ivec2) UConvert 235
|
|
Store 226(uv) 236
|
|
241: 238(fvec2) Load 240(fv)
|
|
242:187(i16vec2) ConvertFToS 241
|
|
Store 189(i16v) 242
|
|
243: 238(fvec2) Load 240(fv)
|
|
244:198(i16vec2) ConvertFToU 243
|
|
Store 200(u16v) 244
|
|
245:187(i16vec2) Load 189(i16v)
|
|
246: 238(fvec2) ConvertSToF 245
|
|
Store 240(fv) 246
|
|
247:198(i16vec2) Load 200(u16v)
|
|
248: 238(fvec2) ConvertUToF 247
|
|
Store 240(fv) 248
|
|
253:250(f64vec2) Load 252(dv)
|
|
254:187(i16vec2) ConvertFToS 253
|
|
Store 189(i16v) 254
|
|
255:250(f64vec2) Load 252(dv)
|
|
256:198(i16vec2) ConvertFToU 255
|
|
Store 200(u16v) 256
|
|
257:187(i16vec2) Load 189(i16v)
|
|
258:250(f64vec2) ConvertSToF 257
|
|
Store 252(dv) 258
|
|
259:198(i16vec2) Load 200(u16v)
|
|
260:250(f64vec2) ConvertUToF 259
|
|
Store 252(dv) 260
|
|
265:262(f16vec2) Load 264(f16v)
|
|
266:187(i16vec2) ConvertFToS 265
|
|
Store 189(i16v) 266
|
|
267:262(f16vec2) Load 264(f16v)
|
|
268:198(i16vec2) ConvertFToU 267
|
|
Store 200(u16v) 268
|
|
269:187(i16vec2) Load 189(i16v)
|
|
270:262(f16vec2) ConvertSToF 269
|
|
Store 264(f16v) 270
|
|
271:198(i16vec2) Load 200(u16v)
|
|
272:262(f16vec2) ConvertUToF 271
|
|
Store 264(f16v) 272
|
|
277:274(i64vec2) Load 276(i64v)
|
|
278:187(i16vec2) SConvert 277
|
|
Store 189(i16v) 278
|
|
279:274(i64vec2) Load 276(i64v)
|
|
280:187(i16vec2) SConvert 279
|
|
281:198(i16vec2) Bitcast 280
|
|
Store 200(u16v) 281
|
|
282:187(i16vec2) Load 189(i16v)
|
|
283:274(i64vec2) SConvert 282
|
|
Store 276(i64v) 283
|
|
284:198(i16vec2) Load 200(u16v)
|
|
287:286(i64vec2) UConvert 284
|
|
288:274(i64vec2) Bitcast 287
|
|
Store 276(i64v) 288
|
|
291:286(i64vec2) Load 290(u64v)
|
|
292:198(i16vec2) UConvert 291
|
|
293:187(i16vec2) Bitcast 292
|
|
Store 189(i16v) 293
|
|
294:286(i64vec2) Load 290(u64v)
|
|
295:198(i16vec2) UConvert 294
|
|
Store 200(u16v) 295
|
|
296:187(i16vec2) Load 189(i16v)
|
|
297:274(i64vec2) SConvert 296
|
|
298:286(i64vec2) Bitcast 297
|
|
Store 290(u64v) 298
|
|
299:198(i16vec2) Load 200(u16v)
|
|
300:286(i64vec2) UConvert 299
|
|
Store 290(u64v) 300
|
|
301:198(i16vec2) Load 200(u16v)
|
|
302:187(i16vec2) Bitcast 301
|
|
Store 189(i16v) 302
|
|
303:187(i16vec2) Load 189(i16v)
|
|
304:198(i16vec2) Bitcast 303
|
|
Store 200(u16v) 304
|
|
Return
|
|
FunctionEnd
|
|
12(builtinFuncs(): 2 Function None 3
|
|
13: Label
|
|
305(i16v): 188(ptr) Variable Function
|
|
311(i16): 35(ptr) Variable Function
|
|
319(u16v): 50(ptr) Variable Function
|
|
321(u16): 15(ptr) Variable Function
|
|
393(f16v): 392(ptr) Variable Function
|
|
396(exp): 395(ptr) Variable Function
|
|
420(packi): 158(ptr) Variable Function
|
|
425(packu): 147(ptr) Variable Function
|
|
436(packi64): 435(ptr) Variable Function
|
|
445(packu64): 444(ptr) Variable Function
|
|
454(bv): 453(ptr) Variable Function
|
|
306:187(i16vec2) Load 305(i16v)
|
|
307:187(i16vec2) ExtInst 1(GLSL.std.450) 5(SAbs) 306
|
|
Store 305(i16v) 307
|
|
308:187(i16vec2) Load 305(i16v)
|
|
309:187(i16vec2) ExtInst 1(GLSL.std.450) 7(SSign) 308
|
|
Store 305(i16v) 309
|
|
310:187(i16vec2) Load 305(i16v)
|
|
312: 17(int16_t) Load 311(i16)
|
|
313:187(i16vec2) CompositeConstruct 312 312
|
|
314:187(i16vec2) ExtInst 1(GLSL.std.450) 39(SMin) 310 313
|
|
Store 305(i16v) 314
|
|
315:187(i16vec2) Load 305(i16v)
|
|
318:187(i16vec2) ExtInst 1(GLSL.std.450) 39(SMin) 315 317
|
|
Store 305(i16v) 318
|
|
320: 49(i16vec3) Load 319(u16v)
|
|
322: 14(int16_t) Load 321(u16)
|
|
323: 49(i16vec3) CompositeConstruct 322 322 322
|
|
324: 49(i16vec3) ExtInst 1(GLSL.std.450) 38(UMin) 320 323
|
|
Store 319(u16v) 324
|
|
325: 49(i16vec3) Load 319(u16v)
|
|
327: 49(i16vec3) ExtInst 1(GLSL.std.450) 38(UMin) 325 326
|
|
Store 319(u16v) 327
|
|
328:187(i16vec2) Load 305(i16v)
|
|
329: 17(int16_t) Load 311(i16)
|
|
330:187(i16vec2) CompositeConstruct 329 329
|
|
331:187(i16vec2) ExtInst 1(GLSL.std.450) 42(SMax) 328 330
|
|
Store 305(i16v) 331
|
|
332:187(i16vec2) Load 305(i16v)
|
|
333:187(i16vec2) ExtInst 1(GLSL.std.450) 42(SMax) 332 317
|
|
Store 305(i16v) 333
|
|
334: 49(i16vec3) Load 319(u16v)
|
|
335: 14(int16_t) Load 321(u16)
|
|
336: 49(i16vec3) CompositeConstruct 335 335 335
|
|
337: 49(i16vec3) ExtInst 1(GLSL.std.450) 41(UMax) 334 336
|
|
Store 319(u16v) 337
|
|
338: 49(i16vec3) Load 319(u16v)
|
|
339: 49(i16vec3) ExtInst 1(GLSL.std.450) 41(UMax) 338 326
|
|
Store 319(u16v) 339
|
|
340:187(i16vec2) Load 305(i16v)
|
|
341: 17(int16_t) Load 311(i16)
|
|
342: 17(int16_t) SNegate 341
|
|
343: 17(int16_t) Load 311(i16)
|
|
344:187(i16vec2) CompositeConstruct 342 342
|
|
345:187(i16vec2) CompositeConstruct 343 343
|
|
346:187(i16vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 340 344 345
|
|
Store 305(i16v) 346
|
|
347:187(i16vec2) Load 305(i16v)
|
|
348:187(i16vec2) Load 305(i16v)
|
|
349:187(i16vec2) SNegate 348
|
|
350:187(i16vec2) Load 305(i16v)
|
|
351:187(i16vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 347 349 350
|
|
Store 305(i16v) 351
|
|
352: 49(i16vec3) Load 319(u16v)
|
|
353: 14(int16_t) Load 321(u16)
|
|
354: 14(int16_t) SNegate 353
|
|
355: 14(int16_t) Load 321(u16)
|
|
356: 49(i16vec3) CompositeConstruct 354 354 354
|
|
357: 49(i16vec3) CompositeConstruct 355 355 355
|
|
358: 49(i16vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 352 356 357
|
|
Store 319(u16v) 358
|
|
359: 49(i16vec3) Load 319(u16v)
|
|
360: 49(i16vec3) Load 319(u16v)
|
|
361: 49(i16vec3) SNegate 360
|
|
362: 49(i16vec3) Load 319(u16v)
|
|
363: 49(i16vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 359 361 362
|
|
Store 319(u16v) 363
|
|
364: 35(ptr) AccessChain 305(i16v) 128
|
|
365: 17(int16_t) Load 364
|
|
366: 35(ptr) AccessChain 305(i16v) 111
|
|
367: 17(int16_t) Load 366
|
|
369: 17(int16_t) Select 368 367 365
|
|
Store 311(i16) 369
|
|
370: 17(int16_t) Load 311(i16)
|
|
371:187(i16vec2) CompositeConstruct 370 370
|
|
372: 17(int16_t) Load 311(i16)
|
|
373: 17(int16_t) SNegate 372
|
|
374:187(i16vec2) CompositeConstruct 373 373
|
|
377:187(i16vec2) Select 376 374 371
|
|
Store 305(i16v) 377
|
|
378: 15(ptr) AccessChain 319(u16v) 128
|
|
379: 14(int16_t) Load 378
|
|
380: 15(ptr) AccessChain 319(u16v) 111
|
|
381: 14(int16_t) Load 380
|
|
382: 14(int16_t) Select 368 381 379
|
|
Store 321(u16) 382
|
|
383: 14(int16_t) Load 321(u16)
|
|
384: 49(i16vec3) CompositeConstruct 383 383 383
|
|
385: 14(int16_t) Load 321(u16)
|
|
386: 14(int16_t) SNegate 385
|
|
387: 49(i16vec3) CompositeConstruct 386 386 386
|
|
390: 49(i16vec3) Select 389 387 384
|
|
Store 319(u16v) 390
|
|
394:391(f16vec3) Load 393(f16v)
|
|
398:397(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 394
|
|
399: 54(i16vec3) CompositeExtract 398 1
|
|
Store 396(exp) 399
|
|
400:391(f16vec3) CompositeExtract 398 0
|
|
Store 393(f16v) 400
|
|
401:391(f16vec3) Load 393(f16v)
|
|
402: 54(i16vec3) Load 396(exp)
|
|
403:391(f16vec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 401 402
|
|
Store 393(f16v) 403
|
|
404:391(f16vec3) Load 393(f16v)
|
|
405:262(f16vec2) VectorShuffle 404 404 0 1
|
|
406:187(i16vec2) Bitcast 405
|
|
Store 305(i16v) 406
|
|
408: 407(ptr) AccessChain 393(f16v) 117
|
|
409:261(float16_t) Load 408
|
|
410: 14(int16_t) Bitcast 409
|
|
411: 15(ptr) AccessChain 319(u16v) 128
|
|
Store 411 410
|
|
412:187(i16vec2) Load 305(i16v)
|
|
413:262(f16vec2) Bitcast 412
|
|
414: 407(ptr) AccessChain 393(f16v) 128
|
|
415:261(float16_t) CompositeExtract 413 0
|
|
Store 414 415
|
|
416: 407(ptr) AccessChain 393(f16v) 111
|
|
417:261(float16_t) CompositeExtract 413 1
|
|
Store 416 417
|
|
418: 49(i16vec3) Load 319(u16v)
|
|
419:391(f16vec3) Bitcast 418
|
|
Store 393(f16v) 419
|
|
421:187(i16vec2) Load 305(i16v)
|
|
422: 28(int) Bitcast 421
|
|
Store 420(packi) 422
|
|
423: 28(int) Load 420(packi)
|
|
424:187(i16vec2) Bitcast 423
|
|
Store 305(i16v) 424
|
|
426: 49(i16vec3) Load 319(u16v)
|
|
427:198(i16vec2) VectorShuffle 426 426 0 1
|
|
428: 18(int) Bitcast 427
|
|
Store 425(packu) 428
|
|
429: 18(int) Load 425(packu)
|
|
430:198(i16vec2) Bitcast 429
|
|
431: 15(ptr) AccessChain 319(u16v) 128
|
|
432: 14(int16_t) CompositeExtract 430 0
|
|
Store 431 432
|
|
433: 15(ptr) AccessChain 319(u16v) 111
|
|
434: 14(int16_t) CompositeExtract 430 1
|
|
Store 433 434
|
|
437: 17(int16_t) Load 311(i16)
|
|
439:438(i16vec4) CompositeConstruct 437 437 437 437
|
|
440:273(int64_t) Bitcast 439
|
|
Store 436(packi64) 440
|
|
441:273(int64_t) Load 436(packi64)
|
|
442:438(i16vec4) Bitcast 441
|
|
443:187(i16vec2) VectorShuffle 442 442 0 1
|
|
Store 305(i16v) 443
|
|
446: 14(int16_t) Load 321(u16)
|
|
448:447(i16vec4) CompositeConstruct 446 446 446 446
|
|
449:285(int64_t) Bitcast 448
|
|
Store 445(packu64) 449
|
|
450:285(int64_t) Load 445(packu64)
|
|
451:447(i16vec4) Bitcast 450
|
|
452: 49(i16vec3) VectorShuffle 451 451 0 1 2
|
|
Store 319(u16v) 452
|
|
455: 49(i16vec3) Load 319(u16v)
|
|
456: 14(int16_t) Load 321(u16)
|
|
457: 49(i16vec3) CompositeConstruct 456 456 456
|
|
458: 388(bvec3) ULessThan 455 457
|
|
Store 454(bv) 458
|
|
459:187(i16vec2) Load 305(i16v)
|
|
460: 17(int16_t) Load 311(i16)
|
|
461:187(i16vec2) CompositeConstruct 460 460
|
|
462: 190(bvec2) SLessThan 459 461
|
|
463: 126(ptr) AccessChain 454(bv) 128
|
|
464: 125(bool) CompositeExtract 462 0
|
|
Store 463 464
|
|
465: 126(ptr) AccessChain 454(bv) 111
|
|
466: 125(bool) CompositeExtract 462 1
|
|
Store 465 466
|
|
467: 49(i16vec3) Load 319(u16v)
|
|
468: 14(int16_t) Load 321(u16)
|
|
469: 49(i16vec3) CompositeConstruct 468 468 468
|
|
470: 388(bvec3) ULessThanEqual 467 469
|
|
Store 454(bv) 470
|
|
471:187(i16vec2) Load 305(i16v)
|
|
472: 17(int16_t) Load 311(i16)
|
|
473:187(i16vec2) CompositeConstruct 472 472
|
|
474: 190(bvec2) SLessThanEqual 471 473
|
|
475: 126(ptr) AccessChain 454(bv) 128
|
|
476: 125(bool) CompositeExtract 474 0
|
|
Store 475 476
|
|
477: 126(ptr) AccessChain 454(bv) 111
|
|
478: 125(bool) CompositeExtract 474 1
|
|
Store 477 478
|
|
479: 49(i16vec3) Load 319(u16v)
|
|
480: 14(int16_t) Load 321(u16)
|
|
481: 49(i16vec3) CompositeConstruct 480 480 480
|
|
482: 388(bvec3) UGreaterThan 479 481
|
|
Store 454(bv) 482
|
|
483:187(i16vec2) Load 305(i16v)
|
|
484: 17(int16_t) Load 311(i16)
|
|
485:187(i16vec2) CompositeConstruct 484 484
|
|
486: 190(bvec2) SGreaterThan 483 485
|
|
487: 126(ptr) AccessChain 454(bv) 128
|
|
488: 125(bool) CompositeExtract 486 0
|
|
Store 487 488
|
|
489: 126(ptr) AccessChain 454(bv) 111
|
|
490: 125(bool) CompositeExtract 486 1
|
|
Store 489 490
|
|
491: 49(i16vec3) Load 319(u16v)
|
|
492: 14(int16_t) Load 321(u16)
|
|
493: 49(i16vec3) CompositeConstruct 492 492 492
|
|
494: 388(bvec3) UGreaterThanEqual 491 493
|
|
Store 454(bv) 494
|
|
495:187(i16vec2) Load 305(i16v)
|
|
496: 17(int16_t) Load 311(i16)
|
|
497:187(i16vec2) CompositeConstruct 496 496
|
|
498: 190(bvec2) SGreaterThanEqual 495 497
|
|
499: 126(ptr) AccessChain 454(bv) 128
|
|
500: 125(bool) CompositeExtract 498 0
|
|
Store 499 500
|
|
501: 126(ptr) AccessChain 454(bv) 111
|
|
502: 125(bool) CompositeExtract 498 1
|
|
Store 501 502
|
|
503: 49(i16vec3) Load 319(u16v)
|
|
504: 14(int16_t) Load 321(u16)
|
|
505: 49(i16vec3) CompositeConstruct 504 504 504
|
|
506: 388(bvec3) IEqual 503 505
|
|
Store 454(bv) 506
|
|
507:187(i16vec2) Load 305(i16v)
|
|
508: 17(int16_t) Load 311(i16)
|
|
509:187(i16vec2) CompositeConstruct 508 508
|
|
510: 190(bvec2) IEqual 507 509
|
|
511: 126(ptr) AccessChain 454(bv) 128
|
|
512: 125(bool) CompositeExtract 510 0
|
|
Store 511 512
|
|
513: 126(ptr) AccessChain 454(bv) 111
|
|
514: 125(bool) CompositeExtract 510 1
|
|
Store 513 514
|
|
515: 49(i16vec3) Load 319(u16v)
|
|
516: 14(int16_t) Load 321(u16)
|
|
517: 49(i16vec3) CompositeConstruct 516 516 516
|
|
518: 388(bvec3) INotEqual 515 517
|
|
Store 454(bv) 518
|
|
519:187(i16vec2) Load 305(i16v)
|
|
520: 17(int16_t) Load 311(i16)
|
|
521:187(i16vec2) CompositeConstruct 520 520
|
|
522: 190(bvec2) INotEqual 519 521
|
|
523: 126(ptr) AccessChain 454(bv) 128
|
|
524: 125(bool) CompositeExtract 522 0
|
|
Store 523 524
|
|
525: 126(ptr) AccessChain 454(bv) 111
|
|
526: 125(bool) CompositeExtract 522 1
|
|
Store 525 526
|
|
Return
|
|
FunctionEnd
|