287 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			287 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| hlsl.structbuffer.append.fn.frag
 | |
| Shader version: 500
 | |
| gl_FragCoord origin is upper left
 | |
| 0:? Sequence
 | |
| 0:8  Function Definition: Fn2(block--vf4[0]1;block--vf4[0]1; ( temp 4-component vector of float)
 | |
| 0:8    Function Parameters: 
 | |
| 0:8      'arg_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
 | |
| 0:8      'arg_a@count' ( buffer block{layout( row_major std430) buffer int @count})
 | |
| 0:8      'arg_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
 | |
| 0:8      'arg_c@count' ( buffer block{layout( row_major std430) buffer int @count})
 | |
| 0:?     Sequence
 | |
| 0:9      move second child to first child ( temp 4-component vector of float)
 | |
| 0:9        indirect index ( buffer 4-component vector of float)
 | |
| 0:9          @data: direct index for structure ( buffer implicitly-sized array of 4-component vector of float)
 | |
| 0:9            'arg_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
 | |
| 0:9            Constant:
 | |
| 0:9              0 (const uint)
 | |
| 0:9          AtomicAdd ( temp uint)
 | |
| 0:9            @count: direct index for structure ( temp int)
 | |
| 0:9              'arg_a@count' ( buffer block{layout( row_major std430) buffer int @count})
 | |
| 0:9              Constant:
 | |
| 0:9                0 (const int)
 | |
| 0:9            Constant:
 | |
| 0:9              1 (const int)
 | |
| 0:?         Constant:
 | |
| 0:?           1.000000
 | |
| 0:?           2.000000
 | |
| 0:?           3.000000
 | |
| 0:?           4.000000
 | |
| 0:10      Branch: Return with expression
 | |
| 0:10        indirect index ( buffer 4-component vector of float)
 | |
| 0:10          @data: direct index for structure ( buffer implicitly-sized array of 4-component vector of float)
 | |
| 0:10            'arg_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
 | |
| 0:10            Constant:
 | |
| 0:10              0 (const uint)
 | |
| 0:10          add ( temp uint)
 | |
| 0:10            AtomicAdd ( temp uint)
 | |
| 0:10              @count: direct index for structure ( temp int)
 | |
| 0:10                'arg_c@count' ( buffer block{layout( row_major std430) buffer int @count})
 | |
| 0:10                Constant:
 | |
| 0:10                  0 (const int)
 | |
| 0:10              Constant:
 | |
| 0:10                -1 (const int)
 | |
| 0:10            Constant:
 | |
| 0:10              -1 (const int)
 | |
| 0:19  Function Definition: @main(u1; ( temp 4-component vector of float)
 | |
| 0:19    Function Parameters: 
 | |
| 0:19      'pos' ( in uint)
 | |
| 0:?     Sequence
 | |
| 0:22      Branch: Return with expression
 | |
| 0:22        Function Call: Fn2(block--vf4[0]1;block--vf4[0]1; ( temp 4-component vector of float)
 | |
| 0:22          'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
 | |
| 0:22          'sbuf_a@count' ( buffer block{layout( row_major std430) buffer int @count})
 | |
| 0:22          'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
 | |
| 0:22          'sbuf_c@count' ( buffer block{layout( row_major std430) buffer int @count})
 | |
| 0:19  Function Definition: main( ( temp void)
 | |
| 0:19    Function Parameters: 
 | |
| 0:?     Sequence
 | |
| 0:19      move second child to first child ( temp uint)
 | |
| 0:?         'pos' ( temp uint)
 | |
| 0:?         'pos' (layout( location=0) flat in uint)
 | |
| 0:19      move second child to first child ( temp 4-component vector of float)
 | |
| 0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 | |
| 0:19        Function Call: @main(u1; ( temp 4-component vector of float)
 | |
| 0:?           'pos' ( temp uint)
 | |
| 0:?   Linker Objects
 | |
| 0:?     'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
 | |
| 0:?     'sbuf_a@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer int @count})
 | |
| 0:?     'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
 | |
| 0:?     'sbuf_c@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer int @count})
 | |
| 0:?     'sbuf_unused' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @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:8  Function Definition: Fn2(block--vf4[0]1;block--vf4[0]1; ( temp 4-component vector of float)
 | |
| 0:8    Function Parameters: 
 | |
| 0:8      'arg_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
 | |
| 0:8      'arg_a@count' ( buffer block{layout( row_major std430) buffer int @count})
 | |
| 0:8      'arg_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
 | |
| 0:8      'arg_c@count' ( buffer block{layout( row_major std430) buffer int @count})
 | |
| 0:?     Sequence
 | |
| 0:9      move second child to first child ( temp 4-component vector of float)
 | |
| 0:9        indirect index ( buffer 4-component vector of float)
 | |
| 0:9          @data: direct index for structure ( buffer implicitly-sized array of 4-component vector of float)
 | |
| 0:9            'arg_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
 | |
| 0:9            Constant:
 | |
| 0:9              0 (const uint)
 | |
| 0:9          AtomicAdd ( temp uint)
 | |
| 0:9            @count: direct index for structure ( temp int)
 | |
| 0:9              'arg_a@count' ( buffer block{layout( row_major std430) buffer int @count})
 | |
| 0:9              Constant:
 | |
| 0:9                0 (const int)
 | |
| 0:9            Constant:
 | |
| 0:9              1 (const int)
 | |
| 0:?         Constant:
 | |
| 0:?           1.000000
 | |
| 0:?           2.000000
 | |
| 0:?           3.000000
 | |
| 0:?           4.000000
 | |
| 0:10      Branch: Return with expression
 | |
| 0:10        indirect index ( buffer 4-component vector of float)
 | |
| 0:10          @data: direct index for structure ( buffer implicitly-sized array of 4-component vector of float)
 | |
| 0:10            'arg_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
 | |
| 0:10            Constant:
 | |
| 0:10              0 (const uint)
 | |
| 0:10          add ( temp uint)
 | |
| 0:10            AtomicAdd ( temp uint)
 | |
| 0:10              @count: direct index for structure ( temp int)
 | |
| 0:10                'arg_c@count' ( buffer block{layout( row_major std430) buffer int @count})
 | |
| 0:10                Constant:
 | |
| 0:10                  0 (const int)
 | |
| 0:10              Constant:
 | |
| 0:10                -1 (const int)
 | |
| 0:10            Constant:
 | |
| 0:10              -1 (const int)
 | |
| 0:19  Function Definition: @main(u1; ( temp 4-component vector of float)
 | |
| 0:19    Function Parameters: 
 | |
| 0:19      'pos' ( in uint)
 | |
| 0:?     Sequence
 | |
| 0:22      Branch: Return with expression
 | |
| 0:22        Function Call: Fn2(block--vf4[0]1;block--vf4[0]1; ( temp 4-component vector of float)
 | |
| 0:22          'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
 | |
| 0:22          'sbuf_a@count' ( buffer block{layout( row_major std430) buffer int @count})
 | |
| 0:22          'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
 | |
| 0:22          'sbuf_c@count' ( buffer block{layout( row_major std430) buffer int @count})
 | |
| 0:19  Function Definition: main( ( temp void)
 | |
| 0:19    Function Parameters: 
 | |
| 0:?     Sequence
 | |
| 0:19      move second child to first child ( temp uint)
 | |
| 0:?         'pos' ( temp uint)
 | |
| 0:?         'pos' (layout( location=0) flat in uint)
 | |
| 0:19      move second child to first child ( temp 4-component vector of float)
 | |
| 0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 | |
| 0:19        Function Call: @main(u1; ( temp 4-component vector of float)
 | |
| 0:?           'pos' ( temp uint)
 | |
| 0:?   Linker Objects
 | |
| 0:?     'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
 | |
| 0:?     'sbuf_a@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer int @count})
 | |
| 0:?     'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
 | |
| 0:?     'sbuf_c@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer int @count})
 | |
| 0:?     'sbuf_unused' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @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 76
 | |
| 
 | |
|                               Capability Shader
 | |
|                1:             ExtInstImport  "GLSL.std.450"
 | |
|                               MemoryModel Logical GLSL450
 | |
|                               EntryPoint Fragment 4  "main" 64 67
 | |
|                               ExecutionMode 4 OriginUpperLeft
 | |
|                               Source HLSL 500
 | |
|                               Name 4  "main"
 | |
|                               Name 9  ""
 | |
|                               MemberName 9 0  "@data"
 | |
|                               Name 12  ""
 | |
|                               MemberName 12 0  "@count"
 | |
|                               Name 19  "Fn2(block--vf4[0]1;block--vf4[0]1;"
 | |
|                               Name 15  "arg_a"
 | |
|                               Name 16  "arg_a@count"
 | |
|                               Name 17  "arg_c"
 | |
|                               Name 18  "arg_c@count"
 | |
|                               Name 25  "@main(u1;"
 | |
|                               Name 24  "pos"
 | |
|                               Name 50  "sbuf_a"
 | |
|                               Name 52  "sbuf_a@count"
 | |
|                               Name 53  "sbuf_c"
 | |
|                               Name 54  "sbuf_c@count"
 | |
|                               Name 55  "param"
 | |
|                               Name 56  "param"
 | |
|                               Name 57  "param"
 | |
|                               Name 58  "param"
 | |
|                               Name 62  "pos"
 | |
|                               Name 64  "pos"
 | |
|                               Name 67  "@entryPointOutput"
 | |
|                               Name 68  "param"
 | |
|                               Name 71  "sbuf_a@count"
 | |
|                               MemberName 71(sbuf_a@count) 0  "@count"
 | |
|                               Name 73  "sbuf_a@count"
 | |
|                               Name 74  "sbuf_c@count"
 | |
|                               Name 75  "sbuf_unused"
 | |
|                               Decorate 8 ArrayStride 16
 | |
|                               MemberDecorate 9 0 Offset 0
 | |
|                               Decorate 9 BufferBlock
 | |
|                               Decorate 12 BufferBlock
 | |
|                               Decorate 50(sbuf_a) DescriptorSet 0
 | |
|                               Decorate 52(sbuf_a@count) DescriptorSet 0
 | |
|                               Decorate 53(sbuf_c) DescriptorSet 0
 | |
|                               Decorate 54(sbuf_c@count) DescriptorSet 0
 | |
|                               Decorate 64(pos) Flat
 | |
|                               Decorate 64(pos) Location 0
 | |
|                               Decorate 67(@entryPointOutput) Location 0
 | |
|                               MemberDecorate 71(sbuf_a@count) 0 Offset 0
 | |
|                               Decorate 71(sbuf_a@count) BufferBlock
 | |
|                               Decorate 73(sbuf_a@count) DescriptorSet 0
 | |
|                               Decorate 74(sbuf_c@count) DescriptorSet 0
 | |
|                               Decorate 75(sbuf_unused) DescriptorSet 0
 | |
|                2:             TypeVoid
 | |
|                3:             TypeFunction 2
 | |
|                6:             TypeFloat 32
 | |
|                7:             TypeVector 6(float) 4
 | |
|                8:             TypeRuntimeArray 7(fvec4)
 | |
|                9:             TypeStruct 8
 | |
|               10:             TypePointer Function 9(struct)
 | |
|               11:             TypeInt 32 1
 | |
|               12:             TypeStruct 11(int)
 | |
|               13:             TypePointer Function 12(struct)
 | |
|               14:             TypeFunction 7(fvec4) 10(ptr) 13(ptr) 10(ptr) 13(ptr)
 | |
|               21:             TypeInt 32 0
 | |
|               22:             TypePointer Function 21(int)
 | |
|               23:             TypeFunction 7(fvec4) 22(ptr)
 | |
|               27:     11(int) Constant 0
 | |
|               28:             TypePointer Function 11(int)
 | |
|               30:     11(int) Constant 1
 | |
|               31:     21(int) Constant 1
 | |
|               32:     21(int) Constant 0
 | |
|               34:    6(float) Constant 1065353216
 | |
|               35:    6(float) Constant 1073741824
 | |
|               36:    6(float) Constant 1077936128
 | |
|               37:    6(float) Constant 1082130432
 | |
|               38:    7(fvec4) ConstantComposite 34 35 36 37
 | |
|               39:             TypePointer Function 7(fvec4)
 | |
|               42:     11(int) Constant 4294967295
 | |
|               49:             TypePointer Uniform 9(struct)
 | |
|       50(sbuf_a):     49(ptr) Variable Uniform
 | |
|               51:             TypePointer Uniform 12(struct)
 | |
| 52(sbuf_a@count):     51(ptr) Variable Uniform
 | |
|       53(sbuf_c):     49(ptr) Variable Uniform
 | |
| 54(sbuf_c@count):     51(ptr) Variable Uniform
 | |
|               63:             TypePointer Input 21(int)
 | |
|          64(pos):     63(ptr) Variable Input
 | |
|               66:             TypePointer Output 7(fvec4)
 | |
| 67(@entryPointOutput):     66(ptr) Variable Output
 | |
| 71(sbuf_a@count):             TypeStruct 11(int)
 | |
|               72:             TypePointer Uniform 71(sbuf_a@count)
 | |
| 73(sbuf_a@count):     72(ptr) Variable Uniform
 | |
| 74(sbuf_c@count):     72(ptr) Variable Uniform
 | |
|  75(sbuf_unused):     49(ptr) Variable Uniform
 | |
|          4(main):           2 Function None 3
 | |
|                5:             Label
 | |
|          62(pos):     22(ptr) Variable Function
 | |
|        68(param):     22(ptr) Variable Function
 | |
|               65:     21(int) Load 64(pos)
 | |
|                               Store 62(pos) 65
 | |
|               69:     21(int) Load 62(pos)
 | |
|                               Store 68(param) 69
 | |
|               70:    7(fvec4) FunctionCall 25(@main(u1;) 68(param)
 | |
|                               Store 67(@entryPointOutput) 70
 | |
|                               Return
 | |
|                               FunctionEnd
 | |
| 19(Fn2(block--vf4[0]1;block--vf4[0]1;):    7(fvec4) Function None 14
 | |
|        15(arg_a):     10(ptr) FunctionParameter
 | |
|  16(arg_a@count):     13(ptr) FunctionParameter
 | |
|        17(arg_c):     10(ptr) FunctionParameter
 | |
|  18(arg_c@count):     13(ptr) FunctionParameter
 | |
|               20:             Label
 | |
|               29:     28(ptr) AccessChain 16(arg_a@count) 27
 | |
|               33:     21(int) AtomicIAdd 29 31 32 30
 | |
|               40:     39(ptr) AccessChain 15(arg_a) 27 33
 | |
|                               Store 40 38
 | |
|               41:     28(ptr) AccessChain 18(arg_c@count) 27
 | |
|               43:     21(int) AtomicIAdd 41 31 32 42
 | |
|               44:     21(int) IAdd 43 42
 | |
|               45:     39(ptr) AccessChain 17(arg_c) 27 44
 | |
|               46:    7(fvec4) Load 45
 | |
|                               ReturnValue 46
 | |
|                               FunctionEnd
 | |
|    25(@main(u1;):    7(fvec4) Function None 23
 | |
|          24(pos):     22(ptr) FunctionParameter
 | |
|               26:             Label
 | |
|        55(param):     10(ptr) Variable Function
 | |
|        56(param):     13(ptr) Variable Function
 | |
|        57(param):     10(ptr) Variable Function
 | |
|        58(param):     13(ptr) Variable Function
 | |
|               59:    7(fvec4) FunctionCall 19(Fn2(block--vf4[0]1;block--vf4[0]1;) 55(param) 56(param) 57(param) 58(param)
 | |
|                               ReturnValue 59
 | |
|                               FunctionEnd
 | 
