hlsl.structbuffer.fn.frag Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:5 Function Definition: get(block--vu4[0]1;u1; ( temp 4-component vector of uint) 0:5 Function Parameters: 0: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}) 0:5 'bufferOffset' ( in uint) 0:? Sequence 0:6 Branch: Return with expression 0:6 indirect index (layout( row_major std430) buffer 4-component vector of uint) 0:6 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint) 0: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}) 0:6 Constant: 0:6 0 (const uint) 0:6 'bufferOffset' ( in uint) 0:10 Function Definition: set(block--vu4[0]1;u1;vu4; ( temp void) 0:10 Function Parameters: 0:10 'sb' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data}) 0:10 'sb@count' ( buffer block{layout( row_major std430) buffer uint @count}) 0:10 'bufferOffset' ( in uint) 0:10 'data' ( in 4-component vector of uint) 0:? Sequence 0:11 move second child to first child ( temp 4-component vector of uint) 0:11 indirect index ( buffer 4-component vector of uint) 0:11 @data: direct index for structure ( buffer unsized 1-element array of 4-component vector of uint) 0:11 'sb' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data}) 0:11 Constant: 0:11 0 (const uint) 0:11 'bufferOffset' ( in uint) 0:11 'data' ( in 4-component vector of uint) 0:20 Function Definition: @main(u1; ( temp 4-component vector of float) 0:20 Function Parameters: 0:20 'pos' ( in uint) 0:? Sequence 0:21 Function Call: set(block--vu4[0]1;u1;vu4; ( temp void) 0:21 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data}) 0:21 'sbuf2@count' ( buffer block{layout( row_major std430) buffer uint @count}) 0:21 Constant: 0:21 2 (const uint) 0:21 Function Call: get(block--vu4[0]1;u1; ( temp 4-component vector of uint) 0: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}) 0:21 Constant: 0:21 3 (const uint) 0:23 Branch: Return with expression 0:23 Constant: 0:23 0.000000 0:23 0.000000 0:23 0.000000 0:23 0.000000 0:20 Function Definition: main( ( temp void) 0:20 Function Parameters: 0:? Sequence 0:20 move second child to first child ( temp uint) 0:? 'pos' ( temp uint) 0:? 'pos' (layout( location=0) flat in uint) 0:20 move second child to first child ( temp 4-component vector of float) 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 0:20 Function Call: @main(u1; ( temp 4-component vector of float) 0:? 'pos' ( temp uint) 0:? Linker Objects 0:? '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}) 0:? 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data}) 0:? 'sbuf2@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count}) 0:? '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}) 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 0:? 'pos' (layout( location=0) flat in uint) Linked fragment stage: Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:5 Function Definition: get(block--vu4[0]1;u1; ( temp 4-component vector of uint) 0:5 Function Parameters: 0: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}) 0:5 'bufferOffset' ( in uint) 0:? Sequence 0:6 Branch: Return with expression 0:6 indirect index (layout( row_major std430) buffer 4-component vector of uint) 0:6 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint) 0: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}) 0:6 Constant: 0:6 0 (const uint) 0:6 'bufferOffset' ( in uint) 0:10 Function Definition: set(block--vu4[0]1;u1;vu4; ( temp void) 0:10 Function Parameters: 0:10 'sb' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data}) 0:10 'sb@count' ( buffer block{layout( row_major std430) buffer uint @count}) 0:10 'bufferOffset' ( in uint) 0:10 'data' ( in 4-component vector of uint) 0:? Sequence 0:11 move second child to first child ( temp 4-component vector of uint) 0:11 indirect index ( buffer 4-component vector of uint) 0:11 @data: direct index for structure ( buffer unsized 1-element array of 4-component vector of uint) 0:11 'sb' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data}) 0:11 Constant: 0:11 0 (const uint) 0:11 'bufferOffset' ( in uint) 0:11 'data' ( in 4-component vector of uint) 0:20 Function Definition: @main(u1; ( temp 4-component vector of float) 0:20 Function Parameters: 0:20 'pos' ( in uint) 0:? Sequence 0:21 Function Call: set(block--vu4[0]1;u1;vu4; ( temp void) 0:21 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data}) 0:21 'sbuf2@count' ( buffer block{layout( row_major std430) buffer uint @count}) 0:21 Constant: 0:21 2 (const uint) 0:21 Function Call: get(block--vu4[0]1;u1; ( temp 4-component vector of uint) 0: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}) 0:21 Constant: 0:21 3 (const uint) 0:23 Branch: Return with expression 0:23 Constant: 0:23 0.000000 0:23 0.000000 0:23 0.000000 0:23 0.000000 0:20 Function Definition: main( ( temp void) 0:20 Function Parameters: 0:? Sequence 0:20 move second child to first child ( temp uint) 0:? 'pos' ( temp uint) 0:? 'pos' (layout( location=0) flat in uint) 0:20 move second child to first child ( temp 4-component vector of float) 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 0:20 Function Call: @main(u1; ( temp 4-component vector of float) 0:? 'pos' ( temp uint) 0:? Linker Objects 0:? '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}) 0:? 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data}) 0:? 'sbuf2@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count}) 0:? '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}) 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 0:? 'pos' (layout( location=0) flat in uint) Validation failed // Module Version 10000 // Generated by (magic number): 8000b // Id's are bound by 78 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 63 66 ExecutionMode 4 OriginUpperLeft Source HLSL 500 Name 4 "main" Name 9 "" MemberName 9 0 "@data" Name 15 "get(block--vu4[0]1;u1;" Name 13 "sb" Name 14 "bufferOffset" Name 18 "" MemberName 18 0 "@data" Name 20 "" MemberName 20 0 "@count" Name 28 "set(block--vu4[0]1;u1;vu4;" Name 24 "sb" Name 25 "sb@count" Name 26 "bufferOffset" Name 27 "data" Name 34 "@main(u1;" Name 33 "pos" Name 47 "sbuf2" Name 48 "sbuf2@count" Name 50 "sbuf" Name 52 "param" Name 54 "param" Name 55 "param" Name 61 "pos" Name 63 "pos" Name 66 "@entryPointOutput" Name 67 "param" Name 70 "sbuf2@count" MemberName 70(sbuf2@count) 0 "@count" Name 72 "sbuf2@count" Name 75 "sbuf3" MemberName 75(sbuf3) 0 "@data" Name 77 "sbuf3" Decorate 8 ArrayStride 16 Decorate 9 BufferBlock MemberDecorate 9 0 NonWritable MemberDecorate 9 0 Offset 0 Decorate 13(sb) NonWritable Decorate 17 ArrayStride 16 Decorate 18 BufferBlock MemberDecorate 18 0 Offset 0 Decorate 20 BufferBlock Decorate 47(sbuf2) Binding 0 Decorate 47(sbuf2) DescriptorSet 0 Decorate 48(sbuf2@count) Binding 0 Decorate 48(sbuf2@count) DescriptorSet 0 Decorate 50(sbuf) NonWritable Decorate 50(sbuf) Binding 10 Decorate 50(sbuf) DescriptorSet 0 Decorate 63(pos) Flat Decorate 63(pos) Location 0 Decorate 66(@entryPointOutput) Location 0 Decorate 70(sbuf2@count) BufferBlock MemberDecorate 70(sbuf2@count) 0 Offset 0 Decorate 72(sbuf2@count) Binding 0 Decorate 72(sbuf2@count) DescriptorSet 0 Decorate 74 ArrayStride 16 Decorate 75(sbuf3) BufferBlock MemberDecorate 75(sbuf3) 0 NonWritable MemberDecorate 75(sbuf3) 0 Offset 0 Decorate 77(sbuf3) NonWritable Decorate 77(sbuf3) Binding 12 Decorate 77(sbuf3) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 7: TypeVector 6(int) 4 8: TypeRuntimeArray 7(ivec4) 9: TypeStruct 8 10: TypePointer Uniform 9(struct) 11: TypePointer Function 6(int) 12: TypeFunction 7(ivec4) 10(ptr) 11(ptr) 17: TypeRuntimeArray 7(ivec4) 18: TypeStruct 17 19: TypePointer Uniform 18(struct) 20: TypeStruct 6(int) 21: TypePointer Uniform 20(struct) 22: TypePointer Function 7(ivec4) 23: TypeFunction 2 19(ptr) 21(ptr) 11(ptr) 22(ptr) 30: TypeFloat 32 31: TypeVector 30(float) 4 32: TypeFunction 31(fvec4) 11(ptr) 36: TypeInt 32 1 37: 36(int) Constant 0 39: TypePointer Uniform 7(ivec4) 47(sbuf2): 19(ptr) Variable Uniform 48(sbuf2@count): 21(ptr) Variable Uniform 49: 6(int) Constant 2 50(sbuf): 10(ptr) Variable Uniform 51: 6(int) Constant 3 57: 30(float) Constant 0 58: 31(fvec4) ConstantComposite 57 57 57 57 62: TypePointer Input 6(int) 63(pos): 62(ptr) Variable Input 65: TypePointer Output 31(fvec4) 66(@entryPointOutput): 65(ptr) Variable Output 70(sbuf2@count): TypeStruct 6(int) 71: TypePointer Uniform 70(sbuf2@count) 72(sbuf2@count): 71(ptr) Variable Uniform 73: TypeVector 6(int) 3 74: TypeRuntimeArray 73(ivec3) 75(sbuf3): TypeStruct 74 76: TypePointer Uniform 75(sbuf3) 77(sbuf3): 76(ptr) Variable Uniform 4(main): 2 Function None 3 5: Label 61(pos): 11(ptr) Variable Function 67(param): 11(ptr) Variable Function 64: 6(int) Load 63(pos) Store 61(pos) 64 68: 6(int) Load 61(pos) Store 67(param) 68 69: 31(fvec4) FunctionCall 34(@main(u1;) 67(param) Store 66(@entryPointOutput) 69 Return FunctionEnd 15(get(block--vu4[0]1;u1;): 7(ivec4) Function None 12 13(sb): 10(ptr) FunctionParameter 14(bufferOffset): 11(ptr) FunctionParameter 16: Label 38: 6(int) Load 14(bufferOffset) 40: 39(ptr) AccessChain 13(sb) 37 38 41: 7(ivec4) Load 40 ReturnValue 41 FunctionEnd 28(set(block--vu4[0]1;u1;vu4;): 2 Function None 23 24(sb): 19(ptr) FunctionParameter 25(sb@count): 21(ptr) FunctionParameter 26(bufferOffset): 11(ptr) FunctionParameter 27(data): 22(ptr) FunctionParameter 29: Label 44: 6(int) Load 26(bufferOffset) 45: 7(ivec4) Load 27(data) 46: 39(ptr) AccessChain 24(sb) 37 44 Store 46 45 Return FunctionEnd 34(@main(u1;): 31(fvec4) Function None 32 33(pos): 11(ptr) FunctionParameter 35: Label 52(param): 11(ptr) Variable Function 54(param): 11(ptr) Variable Function 55(param): 22(ptr) Variable Function Store 52(param) 51 53: 7(ivec4) FunctionCall 15(get(block--vu4[0]1;u1;) 50(sbuf) 52(param) Store 54(param) 49 Store 55(param) 53 56: 2 FunctionCall 28(set(block--vu4[0]1;u1;vu4;) 47(sbuf2) 48(sbuf2@count) 54(param) 55(param) ReturnValue 58 FunctionEnd