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 implicitly-sized 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 implicitly-sized array of 4-component vector of uint) 0:6 'sb' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized 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 implicitly-sized array of 4-component vector of uint @data}) 0:10 'sb@count' ( buffer block{layout( row_major std430) buffer int @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 implicitly-sized array of 4-component vector of uint) 0:11 'sb' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 implicitly-sized array of 4-component vector of uint @data}) 0:21 'sbuf2@count' ( buffer block{layout( row_major std430) buffer int @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 implicitly-sized 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 implicitly-sized array of 4-component vector of uint @data}) 0:? 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data}) 0:? 'sbuf2@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer int @count}) 0:? 'sbuf3' (layout( binding=12 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized 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 implicitly-sized 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 implicitly-sized array of 4-component vector of uint) 0:6 'sb' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized 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 implicitly-sized array of 4-component vector of uint @data}) 0:10 'sb@count' ( buffer block{layout( row_major std430) buffer int @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 implicitly-sized array of 4-component vector of uint) 0:11 'sb' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized 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 implicitly-sized array of 4-component vector of uint @data}) 0:21 'sbuf2@count' ( buffer block{layout( row_major std430) buffer int @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 implicitly-sized 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 implicitly-sized array of 4-component vector of uint @data}) 0:? 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data}) 0:? 'sbuf2@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer int @count}) 0:? 'sbuf3' (layout( binding=12 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized 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) // Module Version 10000 // Generated by (magic number): 80002 // Id's are bound by 83 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 68 71 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 21 "" MemberName 21 0 "@count" Name 29 "set(block--vu4[0]1;u1;vu4;" Name 25 "sb" Name 26 "sb@count" Name 27 "bufferOffset" Name 28 "data" Name 35 "@main(u1;" Name 34 "pos" Name 47 "sbuf2" Name 49 "sbuf2@count" Name 52 "sbuf" Name 54 "param" Name 55 "param" Name 57 "param" Name 58 "param" Name 59 "param" Name 60 "param" Name 66 "pos" Name 68 "pos" Name 71 "@entryPointOutput" Name 72 "param" Name 75 "sbuf2@count" MemberName 75(sbuf2@count) 0 "@count" Name 77 "sbuf2@count" Name 80 "sbuf3" MemberName 80(sbuf3) 0 "@data" Name 82 "sbuf3" Decorate 8 ArrayStride 16 MemberDecorate 9 0 NonWritable MemberDecorate 9 0 Offset 0 Decorate 9 BufferBlock Decorate 13(sb) NonWritable Decorate 17 ArrayStride 16 MemberDecorate 18 0 Offset 0 Decorate 18 BufferBlock Decorate 21 BufferBlock Decorate 47(sbuf2) DescriptorSet 0 Decorate 49(sbuf2@count) DescriptorSet 0 Decorate 52(sbuf) DescriptorSet 0 Decorate 52(sbuf) Binding 10 Decorate 68(pos) Flat Decorate 68(pos) Location 0 Decorate 71(@entryPointOutput) Location 0 MemberDecorate 75(sbuf2@count) 0 Offset 0 Decorate 75(sbuf2@count) BufferBlock Decorate 77(sbuf2@count) DescriptorSet 0 Decorate 79 ArrayStride 16 MemberDecorate 80(sbuf3) 0 NonWritable MemberDecorate 80(sbuf3) 0 Offset 0 Decorate 80(sbuf3) BufferBlock Decorate 82(sbuf3) DescriptorSet 0 Decorate 82(sbuf3) Binding 12 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 7: TypeVector 6(int) 4 8: TypeRuntimeArray 7(ivec4) 9: TypeStruct 8 10: TypePointer Function 9(struct) 11: TypePointer Function 6(int) 12: TypeFunction 7(ivec4) 10(ptr) 11(ptr) 17: TypeRuntimeArray 7(ivec4) 18: TypeStruct 17 19: TypePointer Function 18(struct) 20: TypeInt 32 1 21: TypeStruct 20(int) 22: TypePointer Function 21(struct) 23: TypePointer Function 7(ivec4) 24: TypeFunction 2 19(ptr) 22(ptr) 11(ptr) 23(ptr) 31: TypeFloat 32 32: TypeVector 31(float) 4 33: TypeFunction 32(fvec4) 11(ptr) 37: 20(int) Constant 0 46: TypePointer Uniform 18(struct) 47(sbuf2): 46(ptr) Variable Uniform 48: TypePointer Uniform 21(struct) 49(sbuf2@count): 48(ptr) Variable Uniform 50: 6(int) Constant 2 51: TypePointer Uniform 9(struct) 52(sbuf): 51(ptr) Variable Uniform 53: 6(int) Constant 3 62: 31(float) Constant 0 63: 32(fvec4) ConstantComposite 62 62 62 62 67: TypePointer Input 6(int) 68(pos): 67(ptr) Variable Input 70: TypePointer Output 32(fvec4) 71(@entryPointOutput): 70(ptr) Variable Output 75(sbuf2@count): TypeStruct 20(int) 76: TypePointer Uniform 75(sbuf2@count) 77(sbuf2@count): 76(ptr) Variable Uniform 78: TypeVector 6(int) 3 79: TypeRuntimeArray 78(ivec3) 80(sbuf3): TypeStruct 79 81: TypePointer Uniform 80(sbuf3) 82(sbuf3): 81(ptr) Variable Uniform 4(main): 2 Function None 3 5: Label 66(pos): 11(ptr) Variable Function 72(param): 11(ptr) Variable Function 69: 6(int) Load 68(pos) Store 66(pos) 69 73: 6(int) Load 66(pos) Store 72(param) 73 74: 32(fvec4) FunctionCall 35(@main(u1;) 72(param) Store 71(@entryPointOutput) 74 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) 39: 23(ptr) AccessChain 13(sb) 37 38 40: 7(ivec4) Load 39 ReturnValue 40 FunctionEnd 29(set(block--vu4[0]1;u1;vu4;): 2 Function None 24 25(sb): 19(ptr) FunctionParameter 26(sb@count): 22(ptr) FunctionParameter 27(bufferOffset): 11(ptr) FunctionParameter 28(data): 23(ptr) FunctionParameter 30: Label 43: 6(int) Load 27(bufferOffset) 44: 7(ivec4) Load 28(data) 45: 23(ptr) AccessChain 25(sb) 37 43 Store 45 44 Return FunctionEnd 35(@main(u1;): 32(fvec4) Function None 33 34(pos): 11(ptr) FunctionParameter 36: Label 54(param): 10(ptr) Variable Function 55(param): 11(ptr) Variable Function 57(param): 19(ptr) Variable Function 58(param): 22(ptr) Variable Function 59(param): 11(ptr) Variable Function 60(param): 23(ptr) Variable Function Store 55(param) 53 56: 7(ivec4) FunctionCall 15(get(block--vu4[0]1;u1;) 54(param) 55(param) Store 59(param) 50 Store 60(param) 56 61: 2 FunctionCall 29(set(block--vu4[0]1;u1;vu4;) 57(param) 58(param) 59(param) 60(param) ReturnValue 63 FunctionEnd