blob: 965f4c8d7cac4f9da30154934bf9fc72d63dda2c [file] [log] [blame]
spv.1.4.sparseTexture.frag
// Module Version 10400
// Generated by (magic number): 8000a
// Id's are bound by 213
Capability Shader
Capability StorageImageMultisample
Capability SparseResidency
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 29 33 42 46 59 63 84 96 119 133 149 152 159 162 177 181 189 206 208 212
ExecutionMode 4 OriginUpperLeft
Source GLSL 450
SourceExtension "GL_ARB_sparse_texture2"
Name 4 "main"
Name 8 "resident"
Name 13 "texel"
Name 18 "itexel"
Name 23 "utexel"
Name 29 "s2D"
Name 33 "c2"
Name 35 "ResType"
Name 42 "tempReturn"
Name 46 "is2D"
Name 49 "tempArg"
Name 50 "ResType"
Name 59 "tempReturn"
Name 63 "us2D"
Name 66 "tempArg"
Name 67 "ResType"
Name 84 "tempReturn"
Name 87 "tempArg"
Name 96 "tempReturn"
Name 99 "tempArg"
Name 119 "tempReturn"
Name 123 "tempArg"
Name 133 "tempReturn"
Name 137 "tempArg"
Name 149 "i2D"
Name 152 "ic2"
Name 159 "tempReturn"
Name 162 "ii2DMS"
Name 166 "tempArg"
Name 177 "ui3D"
Name 181 "ic3"
Name 189 "outColor"
Name 206 "c3"
Name 208 "c4"
Name 212 "offsets"
Decorate 29(s2D) DescriptorSet 0
Decorate 29(s2D) Binding 0
Decorate 33(c2) Location 0
Decorate 46(is2D) DescriptorSet 0
Decorate 46(is2D) Binding 1
Decorate 63(us2D) DescriptorSet 0
Decorate 63(us2D) Binding 2
Decorate 149(i2D) DescriptorSet 0
Decorate 149(i2D) Binding 3
Decorate 152(ic2) Flat
Decorate 152(ic2) Location 3
Decorate 162(ii2DMS) DescriptorSet 0
Decorate 162(ii2DMS) Binding 4
Decorate 177(ui3D) DescriptorSet 0
Decorate 177(ui3D) Binding 5
Decorate 181(ic3) Flat
Decorate 181(ic3) Location 4
Decorate 189(outColor) Location 0
Decorate 206(c3) Location 1
Decorate 208(c4) Location 2
Decorate 212(offsets) Flat
Decorate 212(offsets) Location 5
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
7: TypePointer Function 6(int)
9: 6(int) Constant 0
10: TypeFloat 32
11: TypeVector 10(float) 4
12: TypePointer Function 11(fvec4)
14: 10(float) Constant 0
15: 11(fvec4) ConstantComposite 14 14 14 14
16: TypeVector 6(int) 4
17: TypePointer Function 16(ivec4)
19: 16(ivec4) ConstantComposite 9 9 9 9
20: TypeInt 32 0
21: TypeVector 20(int) 4
22: TypePointer Function 21(ivec4)
24: 20(int) Constant 0
25: 21(ivec4) ConstantComposite 24 24 24 24
26: TypeImage 10(float) 2D sampled format:Unknown
27: TypeSampledImage 26
28: TypePointer UniformConstant 27
29(s2D): 28(ptr) Variable UniformConstant
31: TypeVector 10(float) 2
32: TypePointer Input 31(fvec2)
33(c2): 32(ptr) Variable Input
35(ResType): TypeStruct 6(int) 11(fvec4)
41: TypePointer Private 6(int)
42(tempReturn): 41(ptr) Variable Private
43: TypeImage 6(int) 2D sampled format:Unknown
44: TypeSampledImage 43
45: TypePointer UniformConstant 44
46(is2D): 45(ptr) Variable UniformConstant
50(ResType): TypeStruct 6(int) 16(ivec4)
59(tempReturn): 41(ptr) Variable Private
60: TypeImage 20(int) 2D sampled format:Unknown
61: TypeSampledImage 60
62: TypePointer UniformConstant 61
63(us2D): 62(ptr) Variable UniformConstant
67(ResType): TypeStruct 6(int) 21(ivec4)
78: 10(float) Constant 1073741824
84(tempReturn): 41(ptr) Variable Private
96(tempReturn): 41(ptr) Variable Private
110: TypeVector 6(int) 2
112: 6(int) Constant 2
119(tempReturn): 41(ptr) Variable Private
133(tempReturn): 41(ptr) Variable Private
147: TypeImage 10(float) 2D nonsampled format:Rgba32f
148: TypePointer UniformConstant 147
149(i2D): 148(ptr) Variable UniformConstant
151: TypePointer Input 110(ivec2)
152(ic2): 151(ptr) Variable Input
159(tempReturn): 41(ptr) Variable Private
160: TypeImage 6(int) 2D multi-sampled nonsampled format:Rgba32i
161: TypePointer UniformConstant 160
162(ii2DMS): 161(ptr) Variable UniformConstant
165: 6(int) Constant 3
175: TypeImage 20(int) 3D nonsampled format:Rgba32ui
176: TypePointer UniformConstant 175
177(ui3D): 176(ptr) Variable UniformConstant
179: TypeVector 6(int) 3
180: TypePointer Input 179(ivec3)
181(ic3): 180(ptr) Variable Input
188: TypePointer Output 11(fvec4)
189(outColor): 188(ptr) Variable Output
191: TypeBool
204: TypeVector 10(float) 3
205: TypePointer Input 204(fvec3)
206(c3): 205(ptr) Variable Input
207: TypePointer Input 11(fvec4)
208(c4): 207(ptr) Variable Input
209: 20(int) Constant 4
210: TypeArray 110(ivec2) 209
211: TypePointer Input 210
212(offsets): 211(ptr) Variable Input
4(main): 2 Function None 3
5: Label
8(resident): 7(ptr) Variable Function
13(texel): 12(ptr) Variable Function
18(itexel): 17(ptr) Variable Function
23(utexel): 22(ptr) Variable Function
49(tempArg): 17(ptr) Variable Function
66(tempArg): 22(ptr) Variable Function
87(tempArg): 17(ptr) Variable Function
99(tempArg): 22(ptr) Variable Function
123(tempArg): 17(ptr) Variable Function
137(tempArg): 22(ptr) Variable Function
166(tempArg): 17(ptr) Variable Function
193: 12(ptr) Variable Function
Store 8(resident) 9
Store 13(texel) 15
Store 18(itexel) 19
Store 23(utexel) 25
30: 27 Load 29(s2D)
34: 31(fvec2) Load 33(c2)
36: 35(ResType) ImageSparseSampleImplicitLod 30 34
37: 11(fvec4) CompositeExtract 36 1
Store 13(texel) 37
38: 6(int) CompositeExtract 36 0
39: 6(int) Load 8(resident)
40: 6(int) BitwiseOr 39 38
Store 8(resident) 40
47: 44 Load 46(is2D)
48: 31(fvec2) Load 33(c2)
51: 50(ResType) ImageSparseSampleImplicitLod 47 48 SignExtend
52: 16(ivec4) CompositeExtract 51 1
Store 49(tempArg) 52
53: 6(int) CompositeExtract 51 0
Store 42(tempReturn) 53
54: 16(ivec4) Load 49(tempArg)
55: 11(fvec4) ConvertSToF 54
Store 13(texel) 55
56: 6(int) Load 42(tempReturn)
57: 6(int) Load 8(resident)
58: 6(int) BitwiseOr 57 56
Store 8(resident) 58
64: 61 Load 63(us2D)
65: 31(fvec2) Load 33(c2)
68: 67(ResType) ImageSparseSampleImplicitLod 64 65 ZeroExtend
69: 21(ivec4) CompositeExtract 68 1
Store 66(tempArg) 69
70: 6(int) CompositeExtract 68 0
Store 59(tempReturn) 70
71: 21(ivec4) Load 66(tempArg)
72: 11(fvec4) ConvertUToF 71
Store 13(texel) 72
73: 6(int) Load 59(tempReturn)
74: 6(int) Load 8(resident)
75: 6(int) BitwiseOr 74 73
Store 8(resident) 75
76: 27 Load 29(s2D)
77: 31(fvec2) Load 33(c2)
79: 35(ResType) ImageSparseSampleExplicitLod 76 77 Lod 78
80: 11(fvec4) CompositeExtract 79 1
Store 13(texel) 80
81: 6(int) CompositeExtract 79 0
82: 6(int) Load 8(resident)
83: 6(int) BitwiseOr 82 81
Store 8(resident) 83
85: 44 Load 46(is2D)
86: 31(fvec2) Load 33(c2)
88: 50(ResType) ImageSparseSampleExplicitLod 85 86 Lod SignExtend 78
89: 16(ivec4) CompositeExtract 88 1
Store 87(tempArg) 89
90: 6(int) CompositeExtract 88 0
Store 84(tempReturn) 90
91: 16(ivec4) Load 87(tempArg)
92: 11(fvec4) ConvertSToF 91
Store 13(texel) 92
93: 6(int) Load 84(tempReturn)
94: 6(int) Load 8(resident)
95: 6(int) BitwiseOr 94 93
Store 8(resident) 95
97: 61 Load 63(us2D)
98: 31(fvec2) Load 33(c2)
100: 67(ResType) ImageSparseSampleExplicitLod 97 98 Lod ZeroExtend 78
101: 21(ivec4) CompositeExtract 100 1
Store 99(tempArg) 101
102: 6(int) CompositeExtract 100 0
Store 96(tempReturn) 102
103: 21(ivec4) Load 99(tempArg)
104: 11(fvec4) ConvertUToF 103
Store 13(texel) 104
105: 6(int) Load 96(tempReturn)
106: 6(int) Load 8(resident)
107: 6(int) BitwiseOr 106 105
Store 8(resident) 107
108: 27 Load 29(s2D)
109: 31(fvec2) Load 33(c2)
111: 110(ivec2) ConvertFToS 109
113: 26 Image 108
114: 35(ResType) ImageSparseFetch 113 111 Lod 112
115: 11(fvec4) CompositeExtract 114 1
Store 13(texel) 115
116: 6(int) CompositeExtract 114 0
117: 6(int) Load 8(resident)
118: 6(int) BitwiseOr 117 116
Store 8(resident) 118
120: 44 Load 46(is2D)
121: 31(fvec2) Load 33(c2)
122: 110(ivec2) ConvertFToS 121
124: 43 Image 120
125: 50(ResType) ImageSparseFetch 124 122 Lod SignExtend 112
126: 16(ivec4) CompositeExtract 125 1
Store 123(tempArg) 126
127: 6(int) CompositeExtract 125 0
Store 119(tempReturn) 127
128: 16(ivec4) Load 123(tempArg)
129: 11(fvec4) ConvertSToF 128
Store 13(texel) 129
130: 6(int) Load 119(tempReturn)
131: 6(int) Load 8(resident)
132: 6(int) BitwiseOr 131 130
Store 8(resident) 132
134: 61 Load 63(us2D)
135: 31(fvec2) Load 33(c2)
136: 110(ivec2) ConvertFToS 135
138: 60 Image 134
139: 67(ResType) ImageSparseFetch 138 136 Lod ZeroExtend 112
140: 21(ivec4) CompositeExtract 139 1
Store 137(tempArg) 140
141: 6(int) CompositeExtract 139 0
Store 133(tempReturn) 141
142: 21(ivec4) Load 137(tempArg)
143: 11(fvec4) ConvertUToF 142
Store 13(texel) 143
144: 6(int) Load 133(tempReturn)
145: 6(int) Load 8(resident)
146: 6(int) BitwiseOr 145 144
Store 8(resident) 146
150: 147 Load 149(i2D)
153: 110(ivec2) Load 152(ic2)
154: 35(ResType) ImageSparseRead 150 153
155: 11(fvec4) CompositeExtract 154 1
Store 13(texel) 155
156: 6(int) CompositeExtract 154 0
157: 6(int) Load 8(resident)
158: 6(int) BitwiseOr 157 156
Store 8(resident) 158
163: 160 Load 162(ii2DMS)
164: 110(ivec2) Load 152(ic2)
167: 50(ResType) ImageSparseRead 163 164 Sample SignExtend 165
168: 16(ivec4) CompositeExtract 167 1
Store 166(tempArg) 168
169: 6(int) CompositeExtract 167 0
Store 159(tempReturn) 169
170: 16(ivec4) Load 166(tempArg)
171: 11(fvec4) ConvertSToF 170
Store 13(texel) 171
172: 6(int) Load 159(tempReturn)
173: 6(int) Load 8(resident)
174: 6(int) BitwiseOr 173 172
Store 8(resident) 174
178: 175 Load 177(ui3D)
182: 179(ivec3) Load 181(ic3)
183: 67(ResType) ImageSparseRead 178 182 ZeroExtend
184: 21(ivec4) CompositeExtract 183 1
Store 23(utexel) 184
185: 6(int) CompositeExtract 183 0
186: 6(int) Load 8(resident)
187: 6(int) BitwiseOr 186 185
Store 8(resident) 187
190: 6(int) Load 8(resident)
192: 191(bool) ImageSparseTexelsResident 190
SelectionMerge 195 None
BranchConditional 192 194 197
194: Label
196: 11(fvec4) Load 13(texel)
Store 193 196
Branch 195
197: Label
198: 16(ivec4) Load 18(itexel)
199: 11(fvec4) ConvertSToF 198
200: 21(ivec4) Load 23(utexel)
201: 11(fvec4) ConvertUToF 200
202: 11(fvec4) FAdd 199 201
Store 193 202
Branch 195
195: Label
203: 11(fvec4) Load 193
Store 189(outColor) 203
Return
FunctionEnd