1hlsl.structbuffer.fn.frag 2Shader version: 500 3gl_FragCoord origin is upper left 40:? Sequence 50:5 Function Definition: get(block--vu4[0]1;u1; ( temp 4-component vector of uint) 60:5 Function Parameters: 70:5 'sb' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data}) 80:5 'bufferOffset' ( in uint) 90:? Sequence 100:6 Branch: Return with expression 110:6 indirect index (layout( row_major std430) buffer 4-component vector of uint) 120:6 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint) 130:6 'sb' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data}) 140:6 Constant: 150:6 0 (const uint) 160:6 'bufferOffset' ( in uint) 170:10 Function Definition: set(block--vu4[0]1;u1;vu4; ( temp void) 180:10 Function Parameters: 190:10 'sb' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data}) 200:10 'sb@count' ( buffer block{layout( row_major std430) buffer uint @count}) 210:10 'bufferOffset' ( in uint) 220:10 'data' ( in 4-component vector of uint) 230:? Sequence 240:11 move second child to first child ( temp 4-component vector of uint) 250:11 indirect index ( buffer 4-component vector of uint) 260:11 @data: direct index for structure ( buffer unsized 1-element array of 4-component vector of uint) 270:11 'sb' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data}) 280:11 Constant: 290:11 0 (const uint) 300:11 'bufferOffset' ( in uint) 310:11 'data' ( in 4-component vector of uint) 320:20 Function Definition: @main(u1; ( temp 4-component vector of float) 330:20 Function Parameters: 340:20 'pos' ( in uint) 350:? Sequence 360:21 Function Call: set(block--vu4[0]1;u1;vu4; ( temp void) 370:21 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data}) 380:21 'sbuf2@count' ( buffer block{layout( row_major std430) buffer uint @count}) 390:21 Constant: 400:21 2 (const uint) 410:21 Function Call: get(block--vu4[0]1;u1; ( temp 4-component vector of uint) 420:21 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data}) 430:21 Constant: 440:21 3 (const uint) 450:23 Branch: Return with expression 460:23 Constant: 470:23 0.000000 480:23 0.000000 490:23 0.000000 500:23 0.000000 510:20 Function Definition: main( ( temp void) 520:20 Function Parameters: 530:? Sequence 540:20 move second child to first child ( temp uint) 550:? 'pos' ( temp uint) 560:? 'pos' (layout( location=0) flat in uint) 570:20 move second child to first child ( temp 4-component vector of float) 580:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 590:20 Function Call: @main(u1; ( temp 4-component vector of float) 600:? 'pos' ( temp uint) 610:? Linker Objects 620:? 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data}) 630:? 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data}) 640:? 'sbuf2@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count}) 650:? 'sbuf3' (layout( binding=12 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of 3-component vector of uint @data}) 660:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 670:? 'pos' (layout( location=0) flat in uint) 68 69 70Linked fragment stage: 71 72 73Shader version: 500 74gl_FragCoord origin is upper left 750:? Sequence 760:5 Function Definition: get(block--vu4[0]1;u1; ( temp 4-component vector of uint) 770:5 Function Parameters: 780:5 'sb' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data}) 790:5 'bufferOffset' ( in uint) 800:? Sequence 810:6 Branch: Return with expression 820:6 indirect index (layout( row_major std430) buffer 4-component vector of uint) 830:6 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint) 840:6 'sb' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data}) 850:6 Constant: 860:6 0 (const uint) 870:6 'bufferOffset' ( in uint) 880:10 Function Definition: set(block--vu4[0]1;u1;vu4; ( temp void) 890:10 Function Parameters: 900:10 'sb' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data}) 910:10 'sb@count' ( buffer block{layout( row_major std430) buffer uint @count}) 920:10 'bufferOffset' ( in uint) 930:10 'data' ( in 4-component vector of uint) 940:? Sequence 950:11 move second child to first child ( temp 4-component vector of uint) 960:11 indirect index ( buffer 4-component vector of uint) 970:11 @data: direct index for structure ( buffer unsized 1-element array of 4-component vector of uint) 980:11 'sb' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data}) 990:11 Constant: 1000:11 0 (const uint) 1010:11 'bufferOffset' ( in uint) 1020:11 'data' ( in 4-component vector of uint) 1030:20 Function Definition: @main(u1; ( temp 4-component vector of float) 1040:20 Function Parameters: 1050:20 'pos' ( in uint) 1060:? Sequence 1070:21 Function Call: set(block--vu4[0]1;u1;vu4; ( temp void) 1080:21 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data}) 1090:21 'sbuf2@count' ( buffer block{layout( row_major std430) buffer uint @count}) 1100:21 Constant: 1110:21 2 (const uint) 1120:21 Function Call: get(block--vu4[0]1;u1; ( temp 4-component vector of uint) 1130:21 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data}) 1140:21 Constant: 1150:21 3 (const uint) 1160:23 Branch: Return with expression 1170:23 Constant: 1180:23 0.000000 1190:23 0.000000 1200:23 0.000000 1210:23 0.000000 1220:20 Function Definition: main( ( temp void) 1230:20 Function Parameters: 1240:? Sequence 1250:20 move second child to first child ( temp uint) 1260:? 'pos' ( temp uint) 1270:? 'pos' (layout( location=0) flat in uint) 1280:20 move second child to first child ( temp 4-component vector of float) 1290:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 1300:20 Function Call: @main(u1; ( temp 4-component vector of float) 1310:? 'pos' ( temp uint) 1320:? Linker Objects 1330:? 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data}) 1340:? 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data}) 1350:? 'sbuf2@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count}) 1360:? 'sbuf3' (layout( binding=12 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of 3-component vector of uint @data}) 1370:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 1380:? 'pos' (layout( location=0) flat in uint) 139 140Validation failed 141// Module Version 10000 142// Generated by (magic number): 8000b 143// Id's are bound by 78 144 145 Capability Shader 146 1: ExtInstImport "GLSL.std.450" 147 MemoryModel Logical GLSL450 148 EntryPoint Fragment 4 "main" 63 66 149 ExecutionMode 4 OriginUpperLeft 150 Source HLSL 500 151 Name 4 "main" 152 Name 9 "" 153 MemberName 9 0 "@data" 154 Name 15 "get(block--vu4[0]1;u1;" 155 Name 13 "sb" 156 Name 14 "bufferOffset" 157 Name 18 "" 158 MemberName 18 0 "@data" 159 Name 20 "" 160 MemberName 20 0 "@count" 161 Name 28 "set(block--vu4[0]1;u1;vu4;" 162 Name 24 "sb" 163 Name 25 "sb@count" 164 Name 26 "bufferOffset" 165 Name 27 "data" 166 Name 34 "@main(u1;" 167 Name 33 "pos" 168 Name 47 "sbuf2" 169 Name 48 "sbuf2@count" 170 Name 50 "sbuf" 171 Name 52 "param" 172 Name 54 "param" 173 Name 55 "param" 174 Name 61 "pos" 175 Name 63 "pos" 176 Name 66 "@entryPointOutput" 177 Name 67 "param" 178 Name 70 "sbuf2@count" 179 MemberName 70(sbuf2@count) 0 "@count" 180 Name 72 "sbuf2@count" 181 Name 75 "sbuf3" 182 MemberName 75(sbuf3) 0 "@data" 183 Name 77 "sbuf3" 184 Decorate 8 ArrayStride 16 185 MemberDecorate 9 0 NonWritable 186 MemberDecorate 9 0 Offset 0 187 Decorate 9 BufferBlock 188 Decorate 13(sb) NonWritable 189 Decorate 17 ArrayStride 16 190 MemberDecorate 18 0 Offset 0 191 Decorate 18 BufferBlock 192 Decorate 20 BufferBlock 193 Decorate 47(sbuf2) DescriptorSet 0 194 Decorate 47(sbuf2) Binding 0 195 Decorate 48(sbuf2@count) DescriptorSet 0 196 Decorate 48(sbuf2@count) Binding 0 197 Decorate 50(sbuf) DescriptorSet 0 198 Decorate 50(sbuf) Binding 10 199 Decorate 63(pos) Flat 200 Decorate 63(pos) Location 0 201 Decorate 66(@entryPointOutput) Location 0 202 MemberDecorate 70(sbuf2@count) 0 Offset 0 203 Decorate 70(sbuf2@count) BufferBlock 204 Decorate 72(sbuf2@count) DescriptorSet 0 205 Decorate 72(sbuf2@count) Binding 0 206 Decorate 74 ArrayStride 16 207 MemberDecorate 75(sbuf3) 0 NonWritable 208 MemberDecorate 75(sbuf3) 0 Offset 0 209 Decorate 75(sbuf3) BufferBlock 210 Decorate 77(sbuf3) DescriptorSet 0 211 Decorate 77(sbuf3) Binding 12 212 2: TypeVoid 213 3: TypeFunction 2 214 6: TypeInt 32 0 215 7: TypeVector 6(int) 4 216 8: TypeRuntimeArray 7(ivec4) 217 9: TypeStruct 8 218 10: TypePointer Uniform 9(struct) 219 11: TypePointer Function 6(int) 220 12: TypeFunction 7(ivec4) 10(ptr) 11(ptr) 221 17: TypeRuntimeArray 7(ivec4) 222 18: TypeStruct 17 223 19: TypePointer Uniform 18(struct) 224 20: TypeStruct 6(int) 225 21: TypePointer Uniform 20(struct) 226 22: TypePointer Function 7(ivec4) 227 23: TypeFunction 2 19(ptr) 21(ptr) 11(ptr) 22(ptr) 228 30: TypeFloat 32 229 31: TypeVector 30(float) 4 230 32: TypeFunction 31(fvec4) 11(ptr) 231 36: TypeInt 32 1 232 37: 36(int) Constant 0 233 39: TypePointer Uniform 7(ivec4) 234 47(sbuf2): 19(ptr) Variable Uniform 235 48(sbuf2@count): 21(ptr) Variable Uniform 236 49: 6(int) Constant 2 237 50(sbuf): 10(ptr) Variable Uniform 238 51: 6(int) Constant 3 239 57: 30(float) Constant 0 240 58: 31(fvec4) ConstantComposite 57 57 57 57 241 62: TypePointer Input 6(int) 242 63(pos): 62(ptr) Variable Input 243 65: TypePointer Output 31(fvec4) 24466(@entryPointOutput): 65(ptr) Variable Output 245 70(sbuf2@count): TypeStruct 6(int) 246 71: TypePointer Uniform 70(sbuf2@count) 247 72(sbuf2@count): 71(ptr) Variable Uniform 248 73: TypeVector 6(int) 3 249 74: TypeRuntimeArray 73(ivec3) 250 75(sbuf3): TypeStruct 74 251 76: TypePointer Uniform 75(sbuf3) 252 77(sbuf3): 76(ptr) Variable Uniform 253 4(main): 2 Function None 3 254 5: Label 255 61(pos): 11(ptr) Variable Function 256 67(param): 11(ptr) Variable Function 257 64: 6(int) Load 63(pos) 258 Store 61(pos) 64 259 68: 6(int) Load 61(pos) 260 Store 67(param) 68 261 69: 31(fvec4) FunctionCall 34(@main(u1;) 67(param) 262 Store 66(@entryPointOutput) 69 263 Return 264 FunctionEnd 26515(get(block--vu4[0]1;u1;): 7(ivec4) Function None 12 266 13(sb): 10(ptr) FunctionParameter 26714(bufferOffset): 11(ptr) FunctionParameter 268 16: Label 269 38: 6(int) Load 14(bufferOffset) 270 40: 39(ptr) AccessChain 13(sb) 37 38 271 41: 7(ivec4) Load 40 272 ReturnValue 41 273 FunctionEnd 27428(set(block--vu4[0]1;u1;vu4;): 2 Function None 23 275 24(sb): 19(ptr) FunctionParameter 276 25(sb@count): 21(ptr) FunctionParameter 27726(bufferOffset): 11(ptr) FunctionParameter 278 27(data): 22(ptr) FunctionParameter 279 29: Label 280 44: 6(int) Load 26(bufferOffset) 281 45: 7(ivec4) Load 27(data) 282 46: 39(ptr) AccessChain 24(sb) 37 44 283 Store 46 45 284 Return 285 FunctionEnd 286 34(@main(u1;): 31(fvec4) Function None 32 287 33(pos): 11(ptr) FunctionParameter 288 35: Label 289 52(param): 11(ptr) Variable Function 290 54(param): 11(ptr) Variable Function 291 55(param): 22(ptr) Variable Function 292 Store 52(param) 51 293 53: 7(ivec4) FunctionCall 15(get(block--vu4[0]1;u1;) 50(sbuf) 52(param) 294 Store 54(param) 49 295 Store 55(param) 53 296 56: 2 FunctionCall 28(set(block--vu4[0]1;u1;vu4;) 47(sbuf2) 48(sbuf2@count) 54(param) 55(param) 297 ReturnValue 58 298 FunctionEnd 299