SPV 1.4: Emit SignExtend and ZeroExtend for integer image reads/writes.
This commit is contained in:
327
Test/baseResults/spv.1.4.sparseTexture.frag.out
Executable file
327
Test/baseResults/spv.1.4.sparseTexture.frag.out
Executable file
@@ -0,0 +1,327 @@
|
||||
spv.1.4.sparseTexture.frag
|
||||
Validation failed
|
||||
// Module Version 10400
|
||||
// Generated by (magic number): 80007
|
||||
// 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 46(is2D) DescriptorSet 0
|
||||
Decorate 46(is2D) Binding 0
|
||||
Decorate 63(us2D) DescriptorSet 0
|
||||
Decorate 63(us2D) Binding 0
|
||||
Decorate 149(i2D) DescriptorSet 0
|
||||
Decorate 149(i2D) Binding 0
|
||||
Decorate 152(ic2) Flat
|
||||
Decorate 162(ii2DMS) DescriptorSet 0
|
||||
Decorate 162(ii2DMS) Binding 0
|
||||
Decorate 177(ui3D) DescriptorSet 0
|
||||
Decorate 177(ui3D) Binding 0
|
||||
Decorate 181(ic3) Flat
|
||||
Decorate 212(offsets) Flat
|
||||
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
|
||||
Reference in New Issue
Block a user