249 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			249 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
hlsl.structbuffer.fn2.comp
 | 
						|
Shader version: 500
 | 
						|
local_size = (256, 1, 1)
 | 
						|
0:? Sequence
 | 
						|
0:5  Function Definition: testLoad(u1;block--u1[0]1; ( temp 2-component vector of uint)
 | 
						|
0:5    Function Parameters: 
 | 
						|
0:5      'loc' ( in uint)
 | 
						|
0:5      'buffer' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
 | 
						|
0:?     Sequence
 | 
						|
0:6      Sequence
 | 
						|
0:6        move second child to first child ( temp 2-component vector of uint)
 | 
						|
0:6          'result' ( temp 2-component vector of uint)
 | 
						|
0:?           Sequence
 | 
						|
0:6            move second child to first child ( temp int)
 | 
						|
0:6              'byteAddrTemp' ( temp int)
 | 
						|
0:6              right-shift ( temp int)
 | 
						|
0:6                'loc' ( in uint)
 | 
						|
0:6                Constant:
 | 
						|
0:6                  2 (const int)
 | 
						|
0:?             Construct vec2 ( temp 2-component vector of uint)
 | 
						|
0:6              indirect index ( temp uint)
 | 
						|
0:6                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
 | 
						|
0:6                  'buffer' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
 | 
						|
0:6                  Constant:
 | 
						|
0:6                    0 (const uint)
 | 
						|
0:6                'byteAddrTemp' ( temp int)
 | 
						|
0:6              indirect index ( temp uint)
 | 
						|
0:6                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
 | 
						|
0:6                  'buffer' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
 | 
						|
0:6                  Constant:
 | 
						|
0:6                    0 (const uint)
 | 
						|
0:6                add ( temp int)
 | 
						|
0:6                  'byteAddrTemp' ( temp int)
 | 
						|
0:6                  Constant:
 | 
						|
0:6                    1 (const int)
 | 
						|
0:7      Branch: Return with expression
 | 
						|
0:7        'result' ( temp 2-component vector of uint)
 | 
						|
0:12  Function Definition: @main(u1; ( temp void)
 | 
						|
0:12    Function Parameters: 
 | 
						|
0:12      'dispatchId' ( in uint)
 | 
						|
0:?     Sequence
 | 
						|
0:13      Sequence
 | 
						|
0:13        move second child to first child ( temp 2-component vector of uint)
 | 
						|
0:13          'result' ( temp 2-component vector of uint)
 | 
						|
0:13          Function Call: testLoad(u1;block--u1[0]1; ( temp 2-component vector of uint)
 | 
						|
0:13            'dispatchId' ( in uint)
 | 
						|
0:13            'g_input' (layout( binding=0 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
 | 
						|
0:14      Sequence
 | 
						|
0:14        imageStore ( temp void)
 | 
						|
0:14          'g_output' (layout( binding=1 rg32ui) uniform uimageBuffer)
 | 
						|
0:14          'dispatchId' ( in uint)
 | 
						|
0:14          'result' ( temp 2-component vector of uint)
 | 
						|
0:14        'result' ( temp 2-component vector of uint)
 | 
						|
0:12  Function Definition: main( ( temp void)
 | 
						|
0:12    Function Parameters: 
 | 
						|
0:?     Sequence
 | 
						|
0:12      move second child to first child ( temp uint)
 | 
						|
0:?         'dispatchId' ( temp uint)
 | 
						|
0:?         Construct uint ( temp uint)
 | 
						|
0:?           'dispatchId' ( in 3-component vector of uint GlobalInvocationID)
 | 
						|
0:12      Function Call: @main(u1; ( temp void)
 | 
						|
0:?         'dispatchId' ( temp uint)
 | 
						|
0:?   Linker Objects
 | 
						|
0:?     'g_input' (layout( binding=0 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
 | 
						|
0:?     'g_output' (layout( binding=1 rg32ui) uniform uimageBuffer)
 | 
						|
0:?     'dispatchId' ( in 3-component vector of uint GlobalInvocationID)
 | 
						|
 | 
						|
 | 
						|
Linked compute stage:
 | 
						|
 | 
						|
 | 
						|
Shader version: 500
 | 
						|
local_size = (256, 1, 1)
 | 
						|
0:? Sequence
 | 
						|
0:5  Function Definition: testLoad(u1;block--u1[0]1; ( temp 2-component vector of uint)
 | 
						|
0:5    Function Parameters: 
 | 
						|
0:5      'loc' ( in uint)
 | 
						|
0:5      'buffer' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
 | 
						|
0:?     Sequence
 | 
						|
0:6      Sequence
 | 
						|
0:6        move second child to first child ( temp 2-component vector of uint)
 | 
						|
0:6          'result' ( temp 2-component vector of uint)
 | 
						|
0:?           Sequence
 | 
						|
0:6            move second child to first child ( temp int)
 | 
						|
0:6              'byteAddrTemp' ( temp int)
 | 
						|
0:6              right-shift ( temp int)
 | 
						|
0:6                'loc' ( in uint)
 | 
						|
0:6                Constant:
 | 
						|
0:6                  2 (const int)
 | 
						|
0:?             Construct vec2 ( temp 2-component vector of uint)
 | 
						|
0:6              indirect index ( temp uint)
 | 
						|
0:6                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
 | 
						|
0:6                  'buffer' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
 | 
						|
0:6                  Constant:
 | 
						|
0:6                    0 (const uint)
 | 
						|
0:6                'byteAddrTemp' ( temp int)
 | 
						|
0:6              indirect index ( temp uint)
 | 
						|
0:6                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
 | 
						|
0:6                  'buffer' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
 | 
						|
0:6                  Constant:
 | 
						|
0:6                    0 (const uint)
 | 
						|
0:6                add ( temp int)
 | 
						|
0:6                  'byteAddrTemp' ( temp int)
 | 
						|
0:6                  Constant:
 | 
						|
0:6                    1 (const int)
 | 
						|
0:7      Branch: Return with expression
 | 
						|
0:7        'result' ( temp 2-component vector of uint)
 | 
						|
0:12  Function Definition: @main(u1; ( temp void)
 | 
						|
0:12    Function Parameters: 
 | 
						|
0:12      'dispatchId' ( in uint)
 | 
						|
0:?     Sequence
 | 
						|
0:13      Sequence
 | 
						|
0:13        move second child to first child ( temp 2-component vector of uint)
 | 
						|
0:13          'result' ( temp 2-component vector of uint)
 | 
						|
0:13          Function Call: testLoad(u1;block--u1[0]1; ( temp 2-component vector of uint)
 | 
						|
0:13            'dispatchId' ( in uint)
 | 
						|
0:13            'g_input' (layout( binding=0 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
 | 
						|
0:14      Sequence
 | 
						|
0:14        imageStore ( temp void)
 | 
						|
0:14          'g_output' (layout( binding=1 rg32ui) uniform uimageBuffer)
 | 
						|
0:14          'dispatchId' ( in uint)
 | 
						|
0:14          'result' ( temp 2-component vector of uint)
 | 
						|
0:14        'result' ( temp 2-component vector of uint)
 | 
						|
0:12  Function Definition: main( ( temp void)
 | 
						|
0:12    Function Parameters: 
 | 
						|
0:?     Sequence
 | 
						|
0:12      move second child to first child ( temp uint)
 | 
						|
0:?         'dispatchId' ( temp uint)
 | 
						|
0:?         Construct uint ( temp uint)
 | 
						|
0:?           'dispatchId' ( in 3-component vector of uint GlobalInvocationID)
 | 
						|
0:12      Function Call: @main(u1; ( temp void)
 | 
						|
0:?         'dispatchId' ( temp uint)
 | 
						|
0:?   Linker Objects
 | 
						|
0:?     'g_input' (layout( binding=0 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
 | 
						|
0:?     'g_output' (layout( binding=1 rg32ui) uniform uimageBuffer)
 | 
						|
0:?     'dispatchId' ( in 3-component vector of uint GlobalInvocationID)
 | 
						|
 | 
						|
// Module Version 10000
 | 
						|
// Generated by (magic number): 8000a
 | 
						|
// Id's are bound by 63
 | 
						|
 | 
						|
                              Capability Shader
 | 
						|
                              Capability ImageBuffer
 | 
						|
                              Capability StorageImageExtendedFormats
 | 
						|
               1:             ExtInstImport  "GLSL.std.450"
 | 
						|
                              MemoryModel Logical GLSL450
 | 
						|
                              EntryPoint GLCompute 4  "main" 57
 | 
						|
                              ExecutionMode 4 LocalSize 256 1 1
 | 
						|
                              Source HLSL 500
 | 
						|
                              Name 4  "main"
 | 
						|
                              Name 9  ""
 | 
						|
                              MemberName 9 0  "@data"
 | 
						|
                              Name 15  "testLoad(u1;block--u1[0]1;"
 | 
						|
                              Name 13  "loc"
 | 
						|
                              Name 14  "buffer"
 | 
						|
                              Name 19  "@main(u1;"
 | 
						|
                              Name 18  "dispatchId"
 | 
						|
                              Name 22  "result"
 | 
						|
                              Name 25  "byteAddrTemp"
 | 
						|
                              Name 43  "result"
 | 
						|
                              Name 44  "g_input"
 | 
						|
                              Name 45  "param"
 | 
						|
                              Name 50  "g_output"
 | 
						|
                              Name 54  "dispatchId"
 | 
						|
                              Name 57  "dispatchId"
 | 
						|
                              Name 60  "param"
 | 
						|
                              Decorate 8 ArrayStride 4
 | 
						|
                              MemberDecorate 9 0 NonWritable
 | 
						|
                              MemberDecorate 9 0 Offset 0
 | 
						|
                              Decorate 9 BufferBlock
 | 
						|
                              Decorate 14(buffer) NonWritable
 | 
						|
                              Decorate 44(g_input) DescriptorSet 0
 | 
						|
                              Decorate 44(g_input) Binding 0
 | 
						|
                              Decorate 50(g_output) DescriptorSet 0
 | 
						|
                              Decorate 50(g_output) Binding 1
 | 
						|
                              Decorate 57(dispatchId) BuiltIn GlobalInvocationId
 | 
						|
               2:             TypeVoid
 | 
						|
               3:             TypeFunction 2
 | 
						|
               6:             TypeInt 32 0
 | 
						|
               7:             TypePointer Function 6(int)
 | 
						|
               8:             TypeRuntimeArray 6(int)
 | 
						|
               9:             TypeStruct 8
 | 
						|
              10:             TypePointer Uniform 9(struct)
 | 
						|
              11:             TypeVector 6(int) 2
 | 
						|
              12:             TypeFunction 11(ivec2) 7(ptr) 10(ptr)
 | 
						|
              17:             TypeFunction 2 7(ptr)
 | 
						|
              21:             TypePointer Function 11(ivec2)
 | 
						|
              23:             TypeInt 32 1
 | 
						|
              24:             TypePointer Function 23(int)
 | 
						|
              27:     23(int) Constant 2
 | 
						|
              29:     23(int) Constant 0
 | 
						|
              31:             TypePointer Uniform 6(int)
 | 
						|
              35:     23(int) Constant 1
 | 
						|
     44(g_input):     10(ptr) Variable Uniform
 | 
						|
              48:             TypeImage 6(int) Buffer nonsampled format:Rg32ui
 | 
						|
              49:             TypePointer UniformConstant 48
 | 
						|
    50(g_output):     49(ptr) Variable UniformConstant
 | 
						|
              55:             TypeVector 6(int) 3
 | 
						|
              56:             TypePointer Input 55(ivec3)
 | 
						|
  57(dispatchId):     56(ptr) Variable Input
 | 
						|
         4(main):           2 Function None 3
 | 
						|
               5:             Label
 | 
						|
  54(dispatchId):      7(ptr) Variable Function
 | 
						|
       60(param):      7(ptr) Variable Function
 | 
						|
              58:   55(ivec3) Load 57(dispatchId)
 | 
						|
              59:      6(int) CompositeExtract 58 0
 | 
						|
                              Store 54(dispatchId) 59
 | 
						|
              61:      6(int) Load 54(dispatchId)
 | 
						|
                              Store 60(param) 61
 | 
						|
              62:           2 FunctionCall 19(@main(u1;) 60(param)
 | 
						|
                              Return
 | 
						|
                              FunctionEnd
 | 
						|
15(testLoad(u1;block--u1[0]1;):   11(ivec2) Function None 12
 | 
						|
         13(loc):      7(ptr) FunctionParameter
 | 
						|
      14(buffer):     10(ptr) FunctionParameter
 | 
						|
              16:             Label
 | 
						|
      22(result):     21(ptr) Variable Function
 | 
						|
25(byteAddrTemp):     24(ptr) Variable Function
 | 
						|
              26:      6(int) Load 13(loc)
 | 
						|
              28:     23(int) ShiftRightLogical 26 27
 | 
						|
                              Store 25(byteAddrTemp) 28
 | 
						|
              30:     23(int) Load 25(byteAddrTemp)
 | 
						|
              32:     31(ptr) AccessChain 14(buffer) 29 30
 | 
						|
              33:      6(int) Load 32
 | 
						|
              34:     23(int) Load 25(byteAddrTemp)
 | 
						|
              36:     23(int) IAdd 34 35
 | 
						|
              37:     31(ptr) AccessChain 14(buffer) 29 36
 | 
						|
              38:      6(int) Load 37
 | 
						|
              39:   11(ivec2) CompositeConstruct 33 38
 | 
						|
                              Store 22(result) 39
 | 
						|
              40:   11(ivec2) Load 22(result)
 | 
						|
                              ReturnValue 40
 | 
						|
                              FunctionEnd
 | 
						|
   19(@main(u1;):           2 Function None 17
 | 
						|
  18(dispatchId):      7(ptr) FunctionParameter
 | 
						|
              20:             Label
 | 
						|
      43(result):     21(ptr) Variable Function
 | 
						|
       45(param):      7(ptr) Variable Function
 | 
						|
              46:      6(int) Load 18(dispatchId)
 | 
						|
                              Store 45(param) 46
 | 
						|
              47:   11(ivec2) FunctionCall 15(testLoad(u1;block--u1[0]1;) 45(param) 44(g_input)
 | 
						|
                              Store 43(result) 47
 | 
						|
              51:          48 Load 50(g_output)
 | 
						|
              52:      6(int) Load 18(dispatchId)
 | 
						|
              53:   11(ivec2) Load 43(result)
 | 
						|
                              ImageWrite 51 52 53
 | 
						|
                              Return
 | 
						|
                              FunctionEnd
 |