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.
822 lines
41 KiB
Plaintext
822 lines
41 KiB
Plaintext
spv.float32.frag
|
|
// Module Version 10300
|
|
// Generated by (magic number): 8000a
|
|
// Id's are bound by 541
|
|
|
|
Capability Shader
|
|
Capability Float16
|
|
Capability Float64
|
|
Capability Int64
|
|
Capability Int16
|
|
Capability Int8
|
|
Capability DerivativeControl
|
|
Capability InterpolationFunction
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 471
|
|
ExecutionMode 4 OriginUpperLeft
|
|
Source GLSL 450
|
|
SourceExtension "GL_EXT_shader_explicit_arithmetic_types"
|
|
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_float16"
|
|
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_float32"
|
|
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_float64"
|
|
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int16"
|
|
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int32"
|
|
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int64"
|
|
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int8"
|
|
Name 4 "main"
|
|
Name 6 "literal("
|
|
Name 8 "operators("
|
|
Name 10 "typeCast("
|
|
Name 12 "builtinAngleTrigFuncs("
|
|
Name 14 "builtinExpFuncs("
|
|
Name 16 "builtinCommonFuncs("
|
|
Name 18 "builtinGeometryFuncs("
|
|
Name 20 "builtinMatrixFuncs("
|
|
Name 22 "builtinVecRelFuncs("
|
|
Name 24 "builtinFragProcFuncs("
|
|
Name 29 "f32v"
|
|
Name 40 "f32v"
|
|
Name 62 "f32m"
|
|
Name 85 "f32"
|
|
Name 109 "b"
|
|
Name 152 "f64v"
|
|
Name 155 "f32v"
|
|
Name 160 "bv"
|
|
Name 175 "f16v"
|
|
Name 183 "i8v"
|
|
Name 189 "i16v"
|
|
Name 195 "i32v"
|
|
Name 201 "i64v"
|
|
Name 207 "u8v"
|
|
Name 213 "u16v"
|
|
Name 218 "u32v"
|
|
Name 224 "u64v"
|
|
Name 229 "f32v2"
|
|
Name 230 "f32v1"
|
|
Name 262 "f32v2"
|
|
Name 263 "f32v1"
|
|
Name 279 "f32v2"
|
|
Name 280 "f32v1"
|
|
Name 301 "f32"
|
|
Name 305 "f32v3"
|
|
Name 345 "bv"
|
|
Name 366 "b"
|
|
Name 376 "iv"
|
|
Name 377 "ResType"
|
|
Name 384 "f32"
|
|
Name 385 "f32v1"
|
|
Name 389 "f32v2"
|
|
Name 395 "f32v3"
|
|
Name 414 "f32m3"
|
|
Name 415 "f32m1"
|
|
Name 417 "f32m2"
|
|
Name 426 "f32v1"
|
|
Name 428 "f32v2"
|
|
Name 433 "f32m4"
|
|
Name 436 "f32"
|
|
Name 439 "f32m5"
|
|
Name 444 "f32m6"
|
|
Name 445 "f32m7"
|
|
Name 448 "bv"
|
|
Name 449 "f32v1"
|
|
Name 451 "f32v2"
|
|
Name 469 "f32v"
|
|
Name 471 "if32v"
|
|
Name 528 "S"
|
|
MemberName 528(S) 0 "x"
|
|
MemberName 528(S) 1 "y"
|
|
MemberName 528(S) 2 "z"
|
|
Name 530 "B1"
|
|
MemberName 530(B1) 0 "a"
|
|
MemberName 530(B1) 1 "b"
|
|
MemberName 530(B1) 2 "c"
|
|
MemberName 530(B1) 3 "d"
|
|
MemberName 530(B1) 4 "e"
|
|
MemberName 530(B1) 5 "f"
|
|
MemberName 530(B1) 6 "g"
|
|
MemberName 530(B1) 7 "h"
|
|
Name 532 ""
|
|
Name 533 "sf16"
|
|
Name 534 "sf"
|
|
Name 535 "sd"
|
|
Name 536 "f16_to_f"
|
|
Name 538 "f16_to_d"
|
|
Name 539 "f_to_f16"
|
|
Name 540 "d_to_f16"
|
|
Decorate 471(if32v) Location 0
|
|
Decorate 526 ArrayStride 16
|
|
Decorate 527 ArrayStride 32
|
|
MemberDecorate 528(S) 0 Offset 0
|
|
MemberDecorate 528(S) 1 Offset 8
|
|
MemberDecorate 528(S) 2 Offset 16
|
|
Decorate 529 ArrayStride 32
|
|
MemberDecorate 530(B1) 0 Offset 0
|
|
MemberDecorate 530(B1) 1 Offset 8
|
|
MemberDecorate 530(B1) 2 Offset 16
|
|
MemberDecorate 530(B1) 3 Offset 32
|
|
MemberDecorate 530(B1) 4 ColMajor
|
|
MemberDecorate 530(B1) 4 Offset 64
|
|
MemberDecorate 530(B1) 4 MatrixStride 16
|
|
MemberDecorate 530(B1) 5 ColMajor
|
|
MemberDecorate 530(B1) 5 Offset 96
|
|
MemberDecorate 530(B1) 5 MatrixStride 16
|
|
MemberDecorate 530(B1) 6 Offset 160
|
|
MemberDecorate 530(B1) 7 Offset 192
|
|
Decorate 530(B1) Block
|
|
Decorate 532 DescriptorSet 0
|
|
Decorate 532 Binding 0
|
|
Decorate 533(sf16) SpecId 100
|
|
Decorate 534(sf) SpecId 101
|
|
Decorate 535(sd) SpecId 102
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
26: TypeFloat 32
|
|
27: TypeVector 26(float) 2
|
|
28: TypePointer Function 27(fvec2)
|
|
30: 26(float) Constant 897988541
|
|
31: TypeInt 32 0
|
|
32: 31(int) Constant 0
|
|
33: TypePointer Function 26(float)
|
|
35: 26(float) Constant 3196059648
|
|
36: 26(float) Constant 1022739087
|
|
37: 27(fvec2) ConstantComposite 35 36
|
|
54: 26(float) Constant 1065353216
|
|
60: TypeMatrix 27(fvec2) 2
|
|
61: TypePointer Function 60
|
|
88: 31(int) Constant 1
|
|
107: TypeBool
|
|
108: TypePointer Function 107(bool)
|
|
149: TypeFloat 64
|
|
150: TypeVector 149(float64_t) 3
|
|
151: TypePointer Function 150(f64vec3)
|
|
153: TypeVector 26(float) 3
|
|
154: TypePointer Function 153(fvec3)
|
|
158: TypeVector 107(bool) 3
|
|
159: TypePointer Function 158(bvec3)
|
|
162: 26(float) Constant 0
|
|
163: 153(fvec3) ConstantComposite 162 162 162
|
|
164: 153(fvec3) ConstantComposite 54 54 54
|
|
172: TypeFloat 16
|
|
173: TypeVector 172(float16_t) 3
|
|
174: TypePointer Function 173(f16vec3)
|
|
180: TypeInt 8 1
|
|
181: TypeVector 180(int8_t) 3
|
|
182: TypePointer Function 181(i8vec3)
|
|
186: TypeInt 16 1
|
|
187: TypeVector 186(int16_t) 3
|
|
188: TypePointer Function 187(i16vec3)
|
|
192: TypeInt 32 1
|
|
193: TypeVector 192(int) 3
|
|
194: TypePointer Function 193(ivec3)
|
|
198: TypeInt 64 1
|
|
199: TypeVector 198(int64_t) 3
|
|
200: TypePointer Function 199(i64vec3)
|
|
204: TypeInt 8 0
|
|
205: TypeVector 204(int8_t) 3
|
|
206: TypePointer Function 205(i8vec3)
|
|
210: TypeInt 16 0
|
|
211: TypeVector 210(int16_t) 3
|
|
212: TypePointer Function 211(i16vec3)
|
|
216: TypeVector 31(int) 3
|
|
217: TypePointer Function 216(ivec3)
|
|
221: TypeInt 64 0
|
|
222: TypeVector 221(int64_t) 3
|
|
223: TypePointer Function 222(i64vec3)
|
|
227: TypeVector 26(float) 4
|
|
228: TypePointer Function 227(fvec4)
|
|
377(ResType): TypeStruct 153(fvec3) 193(ivec3)
|
|
412: TypeMatrix 153(fvec3) 2
|
|
413: TypePointer Function 412
|
|
431: TypeMatrix 27(fvec2) 3
|
|
432: TypePointer Function 431
|
|
437: TypeMatrix 153(fvec3) 3
|
|
438: TypePointer Function 437
|
|
442: TypeMatrix 227(fvec4) 4
|
|
443: TypePointer Function 442
|
|
470: TypePointer Input 153(fvec3)
|
|
471(if32v): 470(ptr) Variable Input
|
|
472: TypePointer Input 26(float)
|
|
515: 192(int) Constant 1
|
|
522: 26(float) Constant 1056964608
|
|
523: 27(fvec2) ConstantComposite 522 522
|
|
525: 31(int) Constant 2
|
|
526: TypeArray 26(float) 525
|
|
527: TypeArray 412 525
|
|
528(S): TypeStruct 26(float) 27(fvec2) 153(fvec3)
|
|
529: TypeArray 528(S) 525
|
|
530(B1): TypeStruct 26(float) 27(fvec2) 153(fvec3) 526 412 527 528(S) 529
|
|
531: TypePointer Uniform 530(B1)
|
|
532: 531(ptr) Variable Uniform
|
|
533(sf16):172(float16_t) SpecConstant 12288
|
|
534(sf): 26(float) SpecConstant 1048576000
|
|
535(sd):149(float64_t) SpecConstant 0 1071644672
|
|
536(f16_to_f): 26(float) SpecConstantOp 115 533(sf16)
|
|
537: 26(float) SpecConstantOp 115 533(sf16)
|
|
538(f16_to_d):149(float64_t) SpecConstantOp 115 537
|
|
539(f_to_f16):172(float16_t) SpecConstantOp 115 534(sf)
|
|
540(d_to_f16):172(float16_t) SpecConstantOp 115 535(sd)
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
Return
|
|
FunctionEnd
|
|
6(literal(): 2 Function None 3
|
|
7: Label
|
|
29(f32v): 28(ptr) Variable Function
|
|
34: 33(ptr) AccessChain 29(f32v) 32
|
|
Store 34 30
|
|
38: 27(fvec2) Load 29(f32v)
|
|
39: 27(fvec2) FAdd 38 37
|
|
Store 29(f32v) 39
|
|
Return
|
|
FunctionEnd
|
|
8(operators(): 2 Function None 3
|
|
9: Label
|
|
40(f32v): 28(ptr) Variable Function
|
|
62(f32m): 61(ptr) Variable Function
|
|
85(f32): 33(ptr) Variable Function
|
|
109(b): 108(ptr) Variable Function
|
|
41: 27(fvec2) Load 40(f32v)
|
|
42: 27(fvec2) Load 40(f32v)
|
|
43: 27(fvec2) FAdd 42 41
|
|
Store 40(f32v) 43
|
|
44: 27(fvec2) Load 40(f32v)
|
|
45: 27(fvec2) Load 40(f32v)
|
|
46: 27(fvec2) FSub 45 44
|
|
Store 40(f32v) 46
|
|
47: 27(fvec2) Load 40(f32v)
|
|
48: 27(fvec2) Load 40(f32v)
|
|
49: 27(fvec2) FMul 48 47
|
|
Store 40(f32v) 49
|
|
50: 27(fvec2) Load 40(f32v)
|
|
51: 27(fvec2) Load 40(f32v)
|
|
52: 27(fvec2) FDiv 51 50
|
|
Store 40(f32v) 52
|
|
53: 27(fvec2) Load 40(f32v)
|
|
55: 27(fvec2) CompositeConstruct 54 54
|
|
56: 27(fvec2) FAdd 53 55
|
|
Store 40(f32v) 56
|
|
57: 27(fvec2) Load 40(f32v)
|
|
58: 27(fvec2) CompositeConstruct 54 54
|
|
59: 27(fvec2) FSub 57 58
|
|
Store 40(f32v) 59
|
|
63: 60 Load 62(f32m)
|
|
64: 27(fvec2) CompositeConstruct 54 54
|
|
65: 27(fvec2) CompositeExtract 63 0
|
|
66: 27(fvec2) FAdd 65 64
|
|
67: 27(fvec2) CompositeExtract 63 1
|
|
68: 27(fvec2) FAdd 67 64
|
|
69: 60 CompositeConstruct 66 68
|
|
Store 62(f32m) 69
|
|
70: 60 Load 62(f32m)
|
|
71: 27(fvec2) CompositeConstruct 54 54
|
|
72: 27(fvec2) CompositeExtract 70 0
|
|
73: 27(fvec2) FSub 72 71
|
|
74: 27(fvec2) CompositeExtract 70 1
|
|
75: 27(fvec2) FSub 74 71
|
|
76: 60 CompositeConstruct 73 75
|
|
Store 62(f32m) 76
|
|
77: 27(fvec2) Load 40(f32v)
|
|
78: 27(fvec2) FNegate 77
|
|
Store 40(f32v) 78
|
|
79: 60 Load 62(f32m)
|
|
80: 27(fvec2) CompositeExtract 79 0
|
|
81: 27(fvec2) FNegate 80
|
|
82: 27(fvec2) CompositeExtract 79 1
|
|
83: 27(fvec2) FNegate 82
|
|
84: 60 CompositeConstruct 81 83
|
|
Store 62(f32m) 84
|
|
86: 33(ptr) AccessChain 40(f32v) 32
|
|
87: 26(float) Load 86
|
|
89: 33(ptr) AccessChain 40(f32v) 88
|
|
90: 26(float) Load 89
|
|
91: 26(float) FAdd 87 90
|
|
Store 85(f32) 91
|
|
92: 33(ptr) AccessChain 40(f32v) 32
|
|
93: 26(float) Load 92
|
|
94: 33(ptr) AccessChain 40(f32v) 88
|
|
95: 26(float) Load 94
|
|
96: 26(float) FSub 93 95
|
|
Store 85(f32) 96
|
|
97: 33(ptr) AccessChain 40(f32v) 32
|
|
98: 26(float) Load 97
|
|
99: 33(ptr) AccessChain 40(f32v) 88
|
|
100: 26(float) Load 99
|
|
101: 26(float) FMul 98 100
|
|
Store 85(f32) 101
|
|
102: 33(ptr) AccessChain 40(f32v) 32
|
|
103: 26(float) Load 102
|
|
104: 33(ptr) AccessChain 40(f32v) 88
|
|
105: 26(float) Load 104
|
|
106: 26(float) FDiv 103 105
|
|
Store 85(f32) 106
|
|
110: 33(ptr) AccessChain 40(f32v) 32
|
|
111: 26(float) Load 110
|
|
112: 26(float) Load 85(f32)
|
|
113: 107(bool) FUnordNotEqual 111 112
|
|
Store 109(b) 113
|
|
114: 33(ptr) AccessChain 40(f32v) 88
|
|
115: 26(float) Load 114
|
|
116: 26(float) Load 85(f32)
|
|
117: 107(bool) FOrdEqual 115 116
|
|
Store 109(b) 117
|
|
118: 33(ptr) AccessChain 40(f32v) 32
|
|
119: 26(float) Load 118
|
|
120: 26(float) Load 85(f32)
|
|
121: 107(bool) FOrdGreaterThan 119 120
|
|
Store 109(b) 121
|
|
122: 33(ptr) AccessChain 40(f32v) 88
|
|
123: 26(float) Load 122
|
|
124: 26(float) Load 85(f32)
|
|
125: 107(bool) FOrdLessThan 123 124
|
|
Store 109(b) 125
|
|
126: 33(ptr) AccessChain 40(f32v) 32
|
|
127: 26(float) Load 126
|
|
128: 26(float) Load 85(f32)
|
|
129: 107(bool) FOrdGreaterThanEqual 127 128
|
|
Store 109(b) 129
|
|
130: 33(ptr) AccessChain 40(f32v) 88
|
|
131: 26(float) Load 130
|
|
132: 26(float) Load 85(f32)
|
|
133: 107(bool) FOrdLessThanEqual 131 132
|
|
Store 109(b) 133
|
|
134: 27(fvec2) Load 40(f32v)
|
|
135: 26(float) Load 85(f32)
|
|
136: 27(fvec2) VectorTimesScalar 134 135
|
|
Store 40(f32v) 136
|
|
137: 60 Load 62(f32m)
|
|
138: 26(float) Load 85(f32)
|
|
139: 60 MatrixTimesScalar 137 138
|
|
Store 62(f32m) 139
|
|
140: 60 Load 62(f32m)
|
|
141: 27(fvec2) Load 40(f32v)
|
|
142: 27(fvec2) MatrixTimesVector 140 141
|
|
Store 40(f32v) 142
|
|
143: 27(fvec2) Load 40(f32v)
|
|
144: 60 Load 62(f32m)
|
|
145: 27(fvec2) VectorTimesMatrix 143 144
|
|
Store 40(f32v) 145
|
|
146: 60 Load 62(f32m)
|
|
147: 60 Load 62(f32m)
|
|
148: 60 MatrixTimesMatrix 146 147
|
|
Store 62(f32m) 148
|
|
Return
|
|
FunctionEnd
|
|
10(typeCast(): 2 Function None 3
|
|
11: Label
|
|
152(f64v): 151(ptr) Variable Function
|
|
155(f32v): 154(ptr) Variable Function
|
|
160(bv): 159(ptr) Variable Function
|
|
175(f16v): 174(ptr) Variable Function
|
|
183(i8v): 182(ptr) Variable Function
|
|
189(i16v): 188(ptr) Variable Function
|
|
195(i32v): 194(ptr) Variable Function
|
|
201(i64v): 200(ptr) Variable Function
|
|
207(u8v): 206(ptr) Variable Function
|
|
213(u16v): 212(ptr) Variable Function
|
|
218(u32v): 217(ptr) Variable Function
|
|
224(u64v): 223(ptr) Variable Function
|
|
156: 153(fvec3) Load 155(f32v)
|
|
157:150(f64vec3) FConvert 156
|
|
Store 152(f64v) 157
|
|
161: 158(bvec3) Load 160(bv)
|
|
165: 153(fvec3) Select 161 164 163
|
|
Store 155(f32v) 165
|
|
166: 153(fvec3) Load 155(f32v)
|
|
167: 158(bvec3) FUnordNotEqual 166 163
|
|
Store 160(bv) 167
|
|
168:150(f64vec3) Load 152(f64v)
|
|
169: 153(fvec3) FConvert 168
|
|
Store 155(f32v) 169
|
|
170: 153(fvec3) Load 155(f32v)
|
|
171:150(f64vec3) FConvert 170
|
|
Store 152(f64v) 171
|
|
176:173(f16vec3) Load 175(f16v)
|
|
177: 153(fvec3) FConvert 176
|
|
Store 155(f32v) 177
|
|
178: 153(fvec3) Load 155(f32v)
|
|
179:173(f16vec3) FConvert 178
|
|
Store 175(f16v) 179
|
|
184: 153(fvec3) Load 155(f32v)
|
|
185: 181(i8vec3) ConvertFToS 184
|
|
Store 183(i8v) 185
|
|
190: 153(fvec3) Load 155(f32v)
|
|
191:187(i16vec3) ConvertFToS 190
|
|
Store 189(i16v) 191
|
|
196: 153(fvec3) Load 155(f32v)
|
|
197: 193(ivec3) ConvertFToS 196
|
|
Store 195(i32v) 197
|
|
202: 153(fvec3) Load 155(f32v)
|
|
203:199(i64vec3) ConvertFToS 202
|
|
Store 201(i64v) 203
|
|
208: 153(fvec3) Load 155(f32v)
|
|
209: 205(i8vec3) ConvertFToU 208
|
|
Store 207(u8v) 209
|
|
214: 153(fvec3) Load 155(f32v)
|
|
215:211(i16vec3) ConvertFToU 214
|
|
Store 213(u16v) 215
|
|
219: 153(fvec3) Load 155(f32v)
|
|
220: 216(ivec3) ConvertFToU 219
|
|
Store 218(u32v) 220
|
|
225: 153(fvec3) Load 155(f32v)
|
|
226:222(i64vec3) ConvertFToU 225
|
|
Store 224(u64v) 226
|
|
Return
|
|
FunctionEnd
|
|
12(builtinAngleTrigFuncs(): 2 Function None 3
|
|
13: Label
|
|
229(f32v2): 228(ptr) Variable Function
|
|
230(f32v1): 228(ptr) Variable Function
|
|
231: 227(fvec4) Load 230(f32v1)
|
|
232: 227(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 231
|
|
Store 229(f32v2) 232
|
|
233: 227(fvec4) Load 230(f32v1)
|
|
234: 227(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 233
|
|
Store 229(f32v2) 234
|
|
235: 227(fvec4) Load 230(f32v1)
|
|
236: 227(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 235
|
|
Store 229(f32v2) 236
|
|
237: 227(fvec4) Load 230(f32v1)
|
|
238: 227(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 237
|
|
Store 229(f32v2) 238
|
|
239: 227(fvec4) Load 230(f32v1)
|
|
240: 227(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 239
|
|
Store 229(f32v2) 240
|
|
241: 227(fvec4) Load 230(f32v1)
|
|
242: 227(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 241
|
|
Store 229(f32v2) 242
|
|
243: 227(fvec4) Load 230(f32v1)
|
|
244: 227(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 243
|
|
Store 229(f32v2) 244
|
|
245: 227(fvec4) Load 230(f32v1)
|
|
246: 227(fvec4) Load 229(f32v2)
|
|
247: 227(fvec4) ExtInst 1(GLSL.std.450) 25(Atan2) 245 246
|
|
Store 229(f32v2) 247
|
|
248: 227(fvec4) Load 230(f32v1)
|
|
249: 227(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 248
|
|
Store 229(f32v2) 249
|
|
250: 227(fvec4) Load 230(f32v1)
|
|
251: 227(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 250
|
|
Store 229(f32v2) 251
|
|
252: 227(fvec4) Load 230(f32v1)
|
|
253: 227(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 252
|
|
Store 229(f32v2) 253
|
|
254: 227(fvec4) Load 230(f32v1)
|
|
255: 227(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 254
|
|
Store 229(f32v2) 255
|
|
256: 227(fvec4) Load 230(f32v1)
|
|
257: 227(fvec4) ExtInst 1(GLSL.std.450) 22(Asinh) 256
|
|
Store 229(f32v2) 257
|
|
258: 227(fvec4) Load 230(f32v1)
|
|
259: 227(fvec4) ExtInst 1(GLSL.std.450) 23(Acosh) 258
|
|
Store 229(f32v2) 259
|
|
260: 227(fvec4) Load 230(f32v1)
|
|
261: 227(fvec4) ExtInst 1(GLSL.std.450) 24(Atanh) 260
|
|
Store 229(f32v2) 261
|
|
Return
|
|
FunctionEnd
|
|
14(builtinExpFuncs(): 2 Function None 3
|
|
15: Label
|
|
262(f32v2): 28(ptr) Variable Function
|
|
263(f32v1): 28(ptr) Variable Function
|
|
264: 27(fvec2) Load 263(f32v1)
|
|
265: 27(fvec2) Load 262(f32v2)
|
|
266: 27(fvec2) ExtInst 1(GLSL.std.450) 26(Pow) 264 265
|
|
Store 262(f32v2) 266
|
|
267: 27(fvec2) Load 263(f32v1)
|
|
268: 27(fvec2) ExtInst 1(GLSL.std.450) 27(Exp) 267
|
|
Store 262(f32v2) 268
|
|
269: 27(fvec2) Load 263(f32v1)
|
|
270: 27(fvec2) ExtInst 1(GLSL.std.450) 28(Log) 269
|
|
Store 262(f32v2) 270
|
|
271: 27(fvec2) Load 263(f32v1)
|
|
272: 27(fvec2) ExtInst 1(GLSL.std.450) 29(Exp2) 271
|
|
Store 262(f32v2) 272
|
|
273: 27(fvec2) Load 263(f32v1)
|
|
274: 27(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 273
|
|
Store 262(f32v2) 274
|
|
275: 27(fvec2) Load 263(f32v1)
|
|
276: 27(fvec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 275
|
|
Store 262(f32v2) 276
|
|
277: 27(fvec2) Load 263(f32v1)
|
|
278: 27(fvec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 277
|
|
Store 262(f32v2) 278
|
|
Return
|
|
FunctionEnd
|
|
16(builtinCommonFuncs(): 2 Function None 3
|
|
17: Label
|
|
279(f32v2): 154(ptr) Variable Function
|
|
280(f32v1): 154(ptr) Variable Function
|
|
301(f32): 33(ptr) Variable Function
|
|
305(f32v3): 154(ptr) Variable Function
|
|
345(bv): 159(ptr) Variable Function
|
|
366(b): 108(ptr) Variable Function
|
|
376(iv): 194(ptr) Variable Function
|
|
281: 153(fvec3) Load 280(f32v1)
|
|
282: 153(fvec3) ExtInst 1(GLSL.std.450) 4(FAbs) 281
|
|
Store 279(f32v2) 282
|
|
283: 153(fvec3) Load 280(f32v1)
|
|
284: 153(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 283
|
|
Store 279(f32v2) 284
|
|
285: 153(fvec3) Load 280(f32v1)
|
|
286: 153(fvec3) ExtInst 1(GLSL.std.450) 8(Floor) 285
|
|
Store 279(f32v2) 286
|
|
287: 153(fvec3) Load 280(f32v1)
|
|
288: 153(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 287
|
|
Store 279(f32v2) 288
|
|
289: 153(fvec3) Load 280(f32v1)
|
|
290: 153(fvec3) ExtInst 1(GLSL.std.450) 1(Round) 289
|
|
Store 279(f32v2) 290
|
|
291: 153(fvec3) Load 280(f32v1)
|
|
292: 153(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 291
|
|
Store 279(f32v2) 292
|
|
293: 153(fvec3) Load 280(f32v1)
|
|
294: 153(fvec3) ExtInst 1(GLSL.std.450) 9(Ceil) 293
|
|
Store 279(f32v2) 294
|
|
295: 153(fvec3) Load 280(f32v1)
|
|
296: 153(fvec3) ExtInst 1(GLSL.std.450) 10(Fract) 295
|
|
Store 279(f32v2) 296
|
|
297: 153(fvec3) Load 280(f32v1)
|
|
298: 153(fvec3) Load 279(f32v2)
|
|
299: 153(fvec3) FMod 297 298
|
|
Store 279(f32v2) 299
|
|
300: 153(fvec3) Load 280(f32v1)
|
|
302: 26(float) Load 301(f32)
|
|
303: 153(fvec3) CompositeConstruct 302 302 302
|
|
304: 153(fvec3) FMod 300 303
|
|
Store 279(f32v2) 304
|
|
306: 153(fvec3) Load 280(f32v1)
|
|
307: 153(fvec3) ExtInst 1(GLSL.std.450) 35(Modf) 306 279(f32v2)
|
|
Store 305(f32v3) 307
|
|
308: 153(fvec3) Load 280(f32v1)
|
|
309: 153(fvec3) Load 279(f32v2)
|
|
310: 153(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 308 309
|
|
Store 305(f32v3) 310
|
|
311: 153(fvec3) Load 280(f32v1)
|
|
312: 26(float) Load 301(f32)
|
|
313: 153(fvec3) CompositeConstruct 312 312 312
|
|
314: 153(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 311 313
|
|
Store 305(f32v3) 314
|
|
315: 153(fvec3) Load 280(f32v1)
|
|
316: 153(fvec3) Load 279(f32v2)
|
|
317: 153(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 315 316
|
|
Store 305(f32v3) 317
|
|
318: 153(fvec3) Load 280(f32v1)
|
|
319: 26(float) Load 301(f32)
|
|
320: 153(fvec3) CompositeConstruct 319 319 319
|
|
321: 153(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 318 320
|
|
Store 305(f32v3) 321
|
|
322: 153(fvec3) Load 280(f32v1)
|
|
323: 26(float) Load 301(f32)
|
|
324: 33(ptr) AccessChain 279(f32v2) 32
|
|
325: 26(float) Load 324
|
|
326: 153(fvec3) CompositeConstruct 323 323 323
|
|
327: 153(fvec3) CompositeConstruct 325 325 325
|
|
328: 153(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 322 326 327
|
|
Store 305(f32v3) 328
|
|
329: 153(fvec3) Load 280(f32v1)
|
|
330: 153(fvec3) Load 279(f32v2)
|
|
331: 26(float) Load 301(f32)
|
|
332: 153(fvec3) CompositeConstruct 331 331 331
|
|
333: 153(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 329 330 332
|
|
Store 305(f32v3) 333
|
|
334: 153(fvec3) Load 280(f32v1)
|
|
335: 153(fvec3) Load 279(f32v2)
|
|
336: 26(float) Load 301(f32)
|
|
337: 153(fvec3) CompositeConstruct 336 336 336
|
|
338: 153(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 334 335 337
|
|
Store 305(f32v3) 338
|
|
339: 153(fvec3) Load 280(f32v1)
|
|
340: 153(fvec3) Load 279(f32v2)
|
|
341: 153(fvec3) Load 305(f32v3)
|
|
342: 153(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 339 340 341
|
|
Store 305(f32v3) 342
|
|
343: 153(fvec3) Load 280(f32v1)
|
|
344: 153(fvec3) Load 279(f32v2)
|
|
346: 158(bvec3) Load 345(bv)
|
|
347: 153(fvec3) Select 346 344 343
|
|
Store 305(f32v3) 347
|
|
348: 153(fvec3) Load 280(f32v1)
|
|
349: 153(fvec3) Load 279(f32v2)
|
|
350: 153(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 348 349
|
|
Store 305(f32v3) 350
|
|
351: 26(float) Load 301(f32)
|
|
352: 153(fvec3) Load 305(f32v3)
|
|
353: 153(fvec3) CompositeConstruct 351 351 351
|
|
354: 153(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 353 352
|
|
Store 305(f32v3) 354
|
|
355: 153(fvec3) Load 280(f32v1)
|
|
356: 153(fvec3) Load 279(f32v2)
|
|
357: 153(fvec3) Load 305(f32v3)
|
|
358: 153(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 355 356 357
|
|
Store 305(f32v3) 358
|
|
359: 26(float) Load 301(f32)
|
|
360: 33(ptr) AccessChain 280(f32v1) 32
|
|
361: 26(float) Load 360
|
|
362: 153(fvec3) Load 279(f32v2)
|
|
363: 153(fvec3) CompositeConstruct 359 359 359
|
|
364: 153(fvec3) CompositeConstruct 361 361 361
|
|
365: 153(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 363 364 362
|
|
Store 305(f32v3) 365
|
|
367: 26(float) Load 301(f32)
|
|
368: 107(bool) IsNan 367
|
|
Store 366(b) 368
|
|
369: 153(fvec3) Load 280(f32v1)
|
|
370: 158(bvec3) IsInf 369
|
|
Store 345(bv) 370
|
|
371: 153(fvec3) Load 280(f32v1)
|
|
372: 153(fvec3) Load 279(f32v2)
|
|
373: 153(fvec3) Load 305(f32v3)
|
|
374: 153(fvec3) ExtInst 1(GLSL.std.450) 50(Fma) 371 372 373
|
|
Store 305(f32v3) 374
|
|
375: 153(fvec3) Load 280(f32v1)
|
|
378:377(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 375
|
|
379: 193(ivec3) CompositeExtract 378 1
|
|
Store 376(iv) 379
|
|
380: 153(fvec3) CompositeExtract 378 0
|
|
Store 279(f32v2) 380
|
|
381: 153(fvec3) Load 280(f32v1)
|
|
382: 193(ivec3) Load 376(iv)
|
|
383: 153(fvec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 381 382
|
|
Store 279(f32v2) 383
|
|
Return
|
|
FunctionEnd
|
|
18(builtinGeometryFuncs(): 2 Function None 3
|
|
19: Label
|
|
384(f32): 33(ptr) Variable Function
|
|
385(f32v1): 154(ptr) Variable Function
|
|
389(f32v2): 154(ptr) Variable Function
|
|
395(f32v3): 154(ptr) Variable Function
|
|
386: 153(fvec3) Load 385(f32v1)
|
|
387: 26(float) ExtInst 1(GLSL.std.450) 66(Length) 386
|
|
Store 384(f32) 387
|
|
388: 153(fvec3) Load 385(f32v1)
|
|
390: 153(fvec3) Load 389(f32v2)
|
|
391: 26(float) ExtInst 1(GLSL.std.450) 67(Distance) 388 390
|
|
Store 384(f32) 391
|
|
392: 153(fvec3) Load 385(f32v1)
|
|
393: 153(fvec3) Load 389(f32v2)
|
|
394: 26(float) Dot 392 393
|
|
Store 384(f32) 394
|
|
396: 153(fvec3) Load 385(f32v1)
|
|
397: 153(fvec3) Load 389(f32v2)
|
|
398: 153(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 396 397
|
|
Store 395(f32v3) 398
|
|
399: 153(fvec3) Load 385(f32v1)
|
|
400: 153(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 399
|
|
Store 389(f32v2) 400
|
|
401: 153(fvec3) Load 385(f32v1)
|
|
402: 153(fvec3) Load 389(f32v2)
|
|
403: 153(fvec3) Load 395(f32v3)
|
|
404: 153(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 401 402 403
|
|
Store 395(f32v3) 404
|
|
405: 153(fvec3) Load 385(f32v1)
|
|
406: 153(fvec3) Load 389(f32v2)
|
|
407: 153(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 405 406
|
|
Store 395(f32v3) 407
|
|
408: 153(fvec3) Load 385(f32v1)
|
|
409: 153(fvec3) Load 389(f32v2)
|
|
410: 26(float) Load 384(f32)
|
|
411: 153(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 408 409 410
|
|
Store 395(f32v3) 411
|
|
Return
|
|
FunctionEnd
|
|
20(builtinMatrixFuncs(): 2 Function None 3
|
|
21: Label
|
|
414(f32m3): 413(ptr) Variable Function
|
|
415(f32m1): 413(ptr) Variable Function
|
|
417(f32m2): 413(ptr) Variable Function
|
|
426(f32v1): 154(ptr) Variable Function
|
|
428(f32v2): 28(ptr) Variable Function
|
|
433(f32m4): 432(ptr) Variable Function
|
|
436(f32): 33(ptr) Variable Function
|
|
439(f32m5): 438(ptr) Variable Function
|
|
444(f32m6): 443(ptr) Variable Function
|
|
445(f32m7): 443(ptr) Variable Function
|
|
416: 412 Load 415(f32m1)
|
|
418: 412 Load 417(f32m2)
|
|
419: 153(fvec3) CompositeExtract 416 0
|
|
420: 153(fvec3) CompositeExtract 418 0
|
|
421: 153(fvec3) FMul 419 420
|
|
422: 153(fvec3) CompositeExtract 416 1
|
|
423: 153(fvec3) CompositeExtract 418 1
|
|
424: 153(fvec3) FMul 422 423
|
|
425: 412 CompositeConstruct 421 424
|
|
Store 414(f32m3) 425
|
|
427: 153(fvec3) Load 426(f32v1)
|
|
429: 27(fvec2) Load 428(f32v2)
|
|
430: 412 OuterProduct 427 429
|
|
Store 415(f32m1) 430
|
|
434: 412 Load 415(f32m1)
|
|
435: 431 Transpose 434
|
|
Store 433(f32m4) 435
|
|
440: 437 Load 439(f32m5)
|
|
441: 26(float) ExtInst 1(GLSL.std.450) 33(Determinant) 440
|
|
Store 436(f32) 441
|
|
446: 442 Load 445(f32m7)
|
|
447: 442 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 446
|
|
Store 444(f32m6) 447
|
|
Return
|
|
FunctionEnd
|
|
22(builtinVecRelFuncs(): 2 Function None 3
|
|
23: Label
|
|
448(bv): 159(ptr) Variable Function
|
|
449(f32v1): 154(ptr) Variable Function
|
|
451(f32v2): 154(ptr) Variable Function
|
|
450: 153(fvec3) Load 449(f32v1)
|
|
452: 153(fvec3) Load 451(f32v2)
|
|
453: 158(bvec3) FOrdLessThan 450 452
|
|
Store 448(bv) 453
|
|
454: 153(fvec3) Load 449(f32v1)
|
|
455: 153(fvec3) Load 451(f32v2)
|
|
456: 158(bvec3) FOrdLessThanEqual 454 455
|
|
Store 448(bv) 456
|
|
457: 153(fvec3) Load 449(f32v1)
|
|
458: 153(fvec3) Load 451(f32v2)
|
|
459: 158(bvec3) FOrdGreaterThan 457 458
|
|
Store 448(bv) 459
|
|
460: 153(fvec3) Load 449(f32v1)
|
|
461: 153(fvec3) Load 451(f32v2)
|
|
462: 158(bvec3) FOrdGreaterThanEqual 460 461
|
|
Store 448(bv) 462
|
|
463: 153(fvec3) Load 449(f32v1)
|
|
464: 153(fvec3) Load 451(f32v2)
|
|
465: 158(bvec3) FOrdEqual 463 464
|
|
Store 448(bv) 465
|
|
466: 153(fvec3) Load 449(f32v1)
|
|
467: 153(fvec3) Load 451(f32v2)
|
|
468: 158(bvec3) FUnordNotEqual 466 467
|
|
Store 448(bv) 468
|
|
Return
|
|
FunctionEnd
|
|
24(builtinFragProcFuncs(): 2 Function None 3
|
|
25: Label
|
|
469(f32v): 154(ptr) Variable Function
|
|
473: 472(ptr) AccessChain 471(if32v) 32
|
|
474: 26(float) Load 473
|
|
475: 26(float) DPdx 474
|
|
476: 33(ptr) AccessChain 469(f32v) 32
|
|
Store 476 475
|
|
477: 472(ptr) AccessChain 471(if32v) 88
|
|
478: 26(float) Load 477
|
|
479: 26(float) DPdy 478
|
|
480: 33(ptr) AccessChain 469(f32v) 88
|
|
Store 480 479
|
|
481: 153(fvec3) Load 471(if32v)
|
|
482: 27(fvec2) VectorShuffle 481 481 0 1
|
|
483: 27(fvec2) DPdxFine 482
|
|
484: 33(ptr) AccessChain 469(f32v) 32
|
|
485: 26(float) CompositeExtract 483 0
|
|
Store 484 485
|
|
486: 33(ptr) AccessChain 469(f32v) 88
|
|
487: 26(float) CompositeExtract 483 1
|
|
Store 486 487
|
|
488: 153(fvec3) Load 471(if32v)
|
|
489: 27(fvec2) VectorShuffle 488 488 0 1
|
|
490: 27(fvec2) DPdyFine 489
|
|
491: 33(ptr) AccessChain 469(f32v) 32
|
|
492: 26(float) CompositeExtract 490 0
|
|
Store 491 492
|
|
493: 33(ptr) AccessChain 469(f32v) 88
|
|
494: 26(float) CompositeExtract 490 1
|
|
Store 493 494
|
|
495: 153(fvec3) Load 471(if32v)
|
|
496: 153(fvec3) DPdxCoarse 495
|
|
Store 469(f32v) 496
|
|
497: 153(fvec3) Load 471(if32v)
|
|
498: 153(fvec3) DPdxCoarse 497
|
|
Store 469(f32v) 498
|
|
499: 472(ptr) AccessChain 471(if32v) 32
|
|
500: 26(float) Load 499
|
|
501: 26(float) Fwidth 500
|
|
502: 33(ptr) AccessChain 469(f32v) 32
|
|
Store 502 501
|
|
503: 153(fvec3) Load 471(if32v)
|
|
504: 27(fvec2) VectorShuffle 503 503 0 1
|
|
505: 27(fvec2) FwidthFine 504
|
|
506: 33(ptr) AccessChain 469(f32v) 32
|
|
507: 26(float) CompositeExtract 505 0
|
|
Store 506 507
|
|
508: 33(ptr) AccessChain 469(f32v) 88
|
|
509: 26(float) CompositeExtract 505 1
|
|
Store 508 509
|
|
510: 153(fvec3) Load 471(if32v)
|
|
511: 153(fvec3) FwidthCoarse 510
|
|
Store 469(f32v) 511
|
|
512: 472(ptr) AccessChain 471(if32v) 32
|
|
513: 26(float) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 512
|
|
514: 33(ptr) AccessChain 469(f32v) 32
|
|
Store 514 513
|
|
516: 153(fvec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 471(if32v) 515
|
|
517: 27(fvec2) VectorShuffle 516 516 0 1
|
|
518: 33(ptr) AccessChain 469(f32v) 32
|
|
519: 26(float) CompositeExtract 517 0
|
|
Store 518 519
|
|
520: 33(ptr) AccessChain 469(f32v) 88
|
|
521: 26(float) CompositeExtract 517 1
|
|
Store 520 521
|
|
524: 153(fvec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 471(if32v) 523
|
|
Store 469(f32v) 524
|
|
Return
|
|
FunctionEnd
|