Now, version 5.* is all connected to making the uint type, which doesn't quite work. Generator versions 4 and 6 do not do this.
		
			
				
	
	
		
			143 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			143 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
hlsl.imagefetch-subvec4.comp
 | 
						|
Shader version: 500
 | 
						|
local_size = (8, 8, 8)
 | 
						|
0:? Sequence
 | 
						|
0:6  Function Definition: @main(vu3; ( temp void)
 | 
						|
0:6    Function Parameters: 
 | 
						|
0:6      'tid' ( in 3-component vector of uint)
 | 
						|
0:?     Sequence
 | 
						|
0:7      Sequence
 | 
						|
0:7        move second child to first child ( temp uint)
 | 
						|
0:7          'storeTemp' ( temp uint)
 | 
						|
0:7          Convert int to uint ( temp uint)
 | 
						|
0:7            textureFetch ( temp int)
 | 
						|
0:7              'IN' (layout( binding=0) uniform itexture3D)
 | 
						|
0:7              'tid' ( in 3-component vector of uint)
 | 
						|
0:7              Constant:
 | 
						|
0:7                0 (const int)
 | 
						|
0:7        imageStore ( temp void)
 | 
						|
0:7          'OUT' (layout( binding=1 r32ui) uniform uimage3D)
 | 
						|
0:7          'tid' ( in 3-component vector of uint)
 | 
						|
0:7          'storeTemp' ( temp uint)
 | 
						|
0:7        'storeTemp' ( temp uint)
 | 
						|
0:6  Function Definition: main( ( temp void)
 | 
						|
0:6    Function Parameters: 
 | 
						|
0:?     Sequence
 | 
						|
0:6      move second child to first child ( temp 3-component vector of uint)
 | 
						|
0:?         'tid' ( temp 3-component vector of uint)
 | 
						|
0:?         'tid' ( in 3-component vector of uint GlobalInvocationID)
 | 
						|
0:6      Function Call: @main(vu3; ( temp void)
 | 
						|
0:?         'tid' ( temp 3-component vector of uint)
 | 
						|
0:?   Linker Objects
 | 
						|
0:?     'IN' (layout( binding=0) uniform itexture3D)
 | 
						|
0:?     'OUT' (layout( binding=1 r32ui) uniform uimage3D)
 | 
						|
0:?     'tid' ( in 3-component vector of uint GlobalInvocationID)
 | 
						|
 | 
						|
 | 
						|
Linked compute stage:
 | 
						|
 | 
						|
 | 
						|
Shader version: 500
 | 
						|
local_size = (8, 8, 8)
 | 
						|
0:? Sequence
 | 
						|
0:6  Function Definition: @main(vu3; ( temp void)
 | 
						|
0:6    Function Parameters: 
 | 
						|
0:6      'tid' ( in 3-component vector of uint)
 | 
						|
0:?     Sequence
 | 
						|
0:7      Sequence
 | 
						|
0:7        move second child to first child ( temp uint)
 | 
						|
0:7          'storeTemp' ( temp uint)
 | 
						|
0:7          Convert int to uint ( temp uint)
 | 
						|
0:7            textureFetch ( temp int)
 | 
						|
0:7              'IN' (layout( binding=0) uniform itexture3D)
 | 
						|
0:7              'tid' ( in 3-component vector of uint)
 | 
						|
0:7              Constant:
 | 
						|
0:7                0 (const int)
 | 
						|
0:7        imageStore ( temp void)
 | 
						|
0:7          'OUT' (layout( binding=1 r32ui) uniform uimage3D)
 | 
						|
0:7          'tid' ( in 3-component vector of uint)
 | 
						|
0:7          'storeTemp' ( temp uint)
 | 
						|
0:7        'storeTemp' ( temp uint)
 | 
						|
0:6  Function Definition: main( ( temp void)
 | 
						|
0:6    Function Parameters: 
 | 
						|
0:?     Sequence
 | 
						|
0:6      move second child to first child ( temp 3-component vector of uint)
 | 
						|
0:?         'tid' ( temp 3-component vector of uint)
 | 
						|
0:?         'tid' ( in 3-component vector of uint GlobalInvocationID)
 | 
						|
0:6      Function Call: @main(vu3; ( temp void)
 | 
						|
0:?         'tid' ( temp 3-component vector of uint)
 | 
						|
0:?   Linker Objects
 | 
						|
0:?     'IN' (layout( binding=0) uniform itexture3D)
 | 
						|
0:?     'OUT' (layout( binding=1 r32ui) uniform uimage3D)
 | 
						|
0:?     'tid' ( in 3-component vector of uint GlobalInvocationID)
 | 
						|
 | 
						|
// Module Version 10000
 | 
						|
// Generated by (magic number): 80006
 | 
						|
// Id's are bound by 39
 | 
						|
 | 
						|
                              Capability Shader
 | 
						|
               1:             ExtInstImport  "GLSL.std.450"
 | 
						|
                              MemoryModel Logical GLSL450
 | 
						|
                              EntryPoint GLCompute 4  "main" 34
 | 
						|
                              ExecutionMode 4 LocalSize 8 8 8
 | 
						|
                              Source HLSL 500
 | 
						|
                              Name 4  "main"
 | 
						|
                              Name 11  "@main(vu3;"
 | 
						|
                              Name 10  "tid"
 | 
						|
                              Name 14  "storeTemp"
 | 
						|
                              Name 18  "IN"
 | 
						|
                              Name 28  "OUT"
 | 
						|
                              Name 32  "tid"
 | 
						|
                              Name 34  "tid"
 | 
						|
                              Name 36  "param"
 | 
						|
                              Decorate 18(IN) DescriptorSet 0
 | 
						|
                              Decorate 18(IN) Binding 0
 | 
						|
                              Decorate 28(OUT) DescriptorSet 0
 | 
						|
                              Decorate 28(OUT) Binding 1
 | 
						|
                              Decorate 34(tid) BuiltIn GlobalInvocationId
 | 
						|
               2:             TypeVoid
 | 
						|
               3:             TypeFunction 2
 | 
						|
               6:             TypeInt 32 0
 | 
						|
               7:             TypeVector 6(int) 3
 | 
						|
               8:             TypePointer Function 7(ivec3)
 | 
						|
               9:             TypeFunction 2 8(ptr)
 | 
						|
              13:             TypePointer Function 6(int)
 | 
						|
              15:             TypeInt 32 1
 | 
						|
              16:             TypeImage 15(int) 3D sampled format:Unknown
 | 
						|
              17:             TypePointer UniformConstant 16
 | 
						|
          18(IN):     17(ptr) Variable UniformConstant
 | 
						|
              21:     15(int) Constant 0
 | 
						|
              22:             TypeVector 15(int) 4
 | 
						|
              26:             TypeImage 6(int) 3D nonsampled format:R32ui
 | 
						|
              27:             TypePointer UniformConstant 26
 | 
						|
         28(OUT):     27(ptr) Variable UniformConstant
 | 
						|
              33:             TypePointer Input 7(ivec3)
 | 
						|
         34(tid):     33(ptr) Variable Input
 | 
						|
         4(main):           2 Function None 3
 | 
						|
               5:             Label
 | 
						|
         32(tid):      8(ptr) Variable Function
 | 
						|
       36(param):      8(ptr) Variable Function
 | 
						|
              35:    7(ivec3) Load 34(tid)
 | 
						|
                              Store 32(tid) 35
 | 
						|
              37:    7(ivec3) Load 32(tid)
 | 
						|
                              Store 36(param) 37
 | 
						|
              38:           2 FunctionCall 11(@main(vu3;) 36(param)
 | 
						|
                              Return
 | 
						|
                              FunctionEnd
 | 
						|
  11(@main(vu3;):           2 Function None 9
 | 
						|
         10(tid):      8(ptr) FunctionParameter
 | 
						|
              12:             Label
 | 
						|
   14(storeTemp):     13(ptr) Variable Function
 | 
						|
              19:          16 Load 18(IN)
 | 
						|
              20:    7(ivec3) Load 10(tid)
 | 
						|
              23:   22(ivec4) ImageFetch 19 20 Lod 21
 | 
						|
              24:     15(int) CompositeExtract 23 0
 | 
						|
              25:      6(int) Bitcast 24
 | 
						|
                              Store 14(storeTemp) 25
 | 
						|
              29:          26 Load 28(OUT)
 | 
						|
              30:    7(ivec3) Load 10(tid)
 | 
						|
              31:      6(int) Load 14(storeTemp)
 | 
						|
                              ImageWrite 29 30 31
 | 
						|
                              Return
 | 
						|
                              FunctionEnd
 |