This adds or changes binding/location decorations in 100s of shaders. It also allows more output (spv.register.autoassign.rangetest.frag) due to allowing ioMap() to fail.
		
			
				
	
	
		
			316 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			316 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
hlsl.load.buffer.float.dx10.frag
 | 
						|
Shader version: 500
 | 
						|
gl_FragCoord origin is upper left
 | 
						|
using depth_any
 | 
						|
0:? Sequence
 | 
						|
0:24  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
 | 
						|
0:24    Function Parameters: 
 | 
						|
0:?     Sequence
 | 
						|
0:28      Sequence
 | 
						|
0:28        move second child to first child ( temp float)
 | 
						|
0:28          'r00' ( temp float)
 | 
						|
0:28          Construct float ( temp float)
 | 
						|
0:?             textureFetch ( temp 4-component vector of float)
 | 
						|
0:28              'g_tTexbfs' (layout( r32f) uniform textureBuffer)
 | 
						|
0:28              c1: direct index for structure ( uniform int)
 | 
						|
0:28                'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 | 
						|
0:28                Constant:
 | 
						|
0:28                  0 (const uint)
 | 
						|
0:29      Sequence
 | 
						|
0:29        move second child to first child ( temp int)
 | 
						|
0:29          'r01' ( temp int)
 | 
						|
0:29          Construct int ( temp int)
 | 
						|
0:?             textureFetch ( temp 4-component vector of int)
 | 
						|
0:29              'g_tTexbis' (layout( r32i) uniform itextureBuffer)
 | 
						|
0:29              c1: direct index for structure ( uniform int)
 | 
						|
0:29                'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 | 
						|
0:29                Constant:
 | 
						|
0:29                  0 (const uint)
 | 
						|
0:30      Sequence
 | 
						|
0:30        move second child to first child ( temp uint)
 | 
						|
0:30          'r02' ( temp uint)
 | 
						|
0:30          Construct uint ( temp uint)
 | 
						|
0:?             textureFetch ( temp 4-component vector of uint)
 | 
						|
0:30              'g_tTexbus' (layout( r32ui) uniform utextureBuffer)
 | 
						|
0:30              c1: direct index for structure ( uniform int)
 | 
						|
0:30                'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 | 
						|
0:30                Constant:
 | 
						|
0:30                  0 (const uint)
 | 
						|
0:34      move second child to first child ( temp 4-component vector of float)
 | 
						|
0:34        Color: direct index for structure ( temp 4-component vector of float)
 | 
						|
0:34          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
 | 
						|
0:34          Constant:
 | 
						|
0:34            0 (const int)
 | 
						|
0:34        Constant:
 | 
						|
0:34          1.000000
 | 
						|
0:34          1.000000
 | 
						|
0:34          1.000000
 | 
						|
0:34          1.000000
 | 
						|
0:35      move second child to first child ( temp float)
 | 
						|
0:35        Depth: direct index for structure ( temp float)
 | 
						|
0:35          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
 | 
						|
0:35          Constant:
 | 
						|
0:35            1 (const int)
 | 
						|
0:35        Constant:
 | 
						|
0:35          1.000000
 | 
						|
0:37      Branch: Return with expression
 | 
						|
0:37        'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
 | 
						|
0:24  Function Definition: main( ( temp void)
 | 
						|
0:24    Function Parameters: 
 | 
						|
0:?     Sequence
 | 
						|
0:24      Sequence
 | 
						|
0:24        move second child to first child ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
 | 
						|
0:24          'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
 | 
						|
0:24          Function Call: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
 | 
						|
0:24        move second child to first child ( temp 4-component vector of float)
 | 
						|
0:?           '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 | 
						|
0:24          Color: direct index for structure ( temp 4-component vector of float)
 | 
						|
0:24            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
 | 
						|
0:24            Constant:
 | 
						|
0:24              0 (const int)
 | 
						|
0:24        move second child to first child ( temp float)
 | 
						|
0:?           '@entryPointOutput.Depth' ( out float FragDepth)
 | 
						|
0:24          Depth: direct index for structure ( temp float)
 | 
						|
0:24            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
 | 
						|
0:24            Constant:
 | 
						|
0:24              1 (const int)
 | 
						|
0:?   Linker Objects
 | 
						|
0:?     'g_tTexbfs_test' (layout( binding=0 r32f) uniform textureBuffer)
 | 
						|
0:?     'g_tTexbfs' (layout( r32f) uniform textureBuffer)
 | 
						|
0:?     'g_tTexbis' (layout( r32i) uniform itextureBuffer)
 | 
						|
0:?     'g_tTexbus' (layout( r32ui) uniform utextureBuffer)
 | 
						|
0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 | 
						|
0:?     '@entryPointOutput.Depth' ( out float FragDepth)
 | 
						|
0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 | 
						|
 | 
						|
 | 
						|
Linked fragment stage:
 | 
						|
 | 
						|
 | 
						|
Shader version: 500
 | 
						|
gl_FragCoord origin is upper left
 | 
						|
using depth_any
 | 
						|
0:? Sequence
 | 
						|
0:24  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
 | 
						|
0:24    Function Parameters: 
 | 
						|
0:?     Sequence
 | 
						|
0:28      Sequence
 | 
						|
0:28        move second child to first child ( temp float)
 | 
						|
0:28          'r00' ( temp float)
 | 
						|
0:28          Construct float ( temp float)
 | 
						|
0:?             textureFetch ( temp 4-component vector of float)
 | 
						|
0:28              'g_tTexbfs' (layout( r32f) uniform textureBuffer)
 | 
						|
0:28              c1: direct index for structure ( uniform int)
 | 
						|
0:28                'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 | 
						|
0:28                Constant:
 | 
						|
0:28                  0 (const uint)
 | 
						|
0:29      Sequence
 | 
						|
0:29        move second child to first child ( temp int)
 | 
						|
0:29          'r01' ( temp int)
 | 
						|
0:29          Construct int ( temp int)
 | 
						|
0:?             textureFetch ( temp 4-component vector of int)
 | 
						|
0:29              'g_tTexbis' (layout( r32i) uniform itextureBuffer)
 | 
						|
0:29              c1: direct index for structure ( uniform int)
 | 
						|
0:29                'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 | 
						|
0:29                Constant:
 | 
						|
0:29                  0 (const uint)
 | 
						|
0:30      Sequence
 | 
						|
0:30        move second child to first child ( temp uint)
 | 
						|
0:30          'r02' ( temp uint)
 | 
						|
0:30          Construct uint ( temp uint)
 | 
						|
0:?             textureFetch ( temp 4-component vector of uint)
 | 
						|
0:30              'g_tTexbus' (layout( r32ui) uniform utextureBuffer)
 | 
						|
0:30              c1: direct index for structure ( uniform int)
 | 
						|
0:30                'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 | 
						|
0:30                Constant:
 | 
						|
0:30                  0 (const uint)
 | 
						|
0:34      move second child to first child ( temp 4-component vector of float)
 | 
						|
0:34        Color: direct index for structure ( temp 4-component vector of float)
 | 
						|
0:34          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
 | 
						|
0:34          Constant:
 | 
						|
0:34            0 (const int)
 | 
						|
0:34        Constant:
 | 
						|
0:34          1.000000
 | 
						|
0:34          1.000000
 | 
						|
0:34          1.000000
 | 
						|
0:34          1.000000
 | 
						|
0:35      move second child to first child ( temp float)
 | 
						|
0:35        Depth: direct index for structure ( temp float)
 | 
						|
0:35          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
 | 
						|
0:35          Constant:
 | 
						|
0:35            1 (const int)
 | 
						|
0:35        Constant:
 | 
						|
0:35          1.000000
 | 
						|
0:37      Branch: Return with expression
 | 
						|
0:37        'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
 | 
						|
0:24  Function Definition: main( ( temp void)
 | 
						|
0:24    Function Parameters: 
 | 
						|
0:?     Sequence
 | 
						|
0:24      Sequence
 | 
						|
0:24        move second child to first child ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
 | 
						|
0:24          'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
 | 
						|
0:24          Function Call: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
 | 
						|
0:24        move second child to first child ( temp 4-component vector of float)
 | 
						|
0:?           '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 | 
						|
0:24          Color: direct index for structure ( temp 4-component vector of float)
 | 
						|
0:24            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
 | 
						|
0:24            Constant:
 | 
						|
0:24              0 (const int)
 | 
						|
0:24        move second child to first child ( temp float)
 | 
						|
0:?           '@entryPointOutput.Depth' ( out float FragDepth)
 | 
						|
0:24          Depth: direct index for structure ( temp float)
 | 
						|
0:24            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
 | 
						|
0:24            Constant:
 | 
						|
0:24              1 (const int)
 | 
						|
0:?   Linker Objects
 | 
						|
0:?     'g_tTexbfs_test' (layout( binding=0 r32f) uniform textureBuffer)
 | 
						|
0:?     'g_tTexbfs' (layout( r32f) uniform textureBuffer)
 | 
						|
0:?     'g_tTexbis' (layout( r32i) uniform itextureBuffer)
 | 
						|
0:?     'g_tTexbus' (layout( r32ui) uniform utextureBuffer)
 | 
						|
0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 | 
						|
0:?     '@entryPointOutput.Depth' ( out float FragDepth)
 | 
						|
0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 | 
						|
 | 
						|
// Module Version 10000
 | 
						|
// Generated by (magic number): 8000a
 | 
						|
// Id's are bound by 75
 | 
						|
 | 
						|
                              Capability Shader
 | 
						|
                              Capability SampledBuffer
 | 
						|
               1:             ExtInstImport  "GLSL.std.450"
 | 
						|
                              MemoryModel Logical GLSL450
 | 
						|
                              EntryPoint Fragment 4  "main" 67 71
 | 
						|
                              ExecutionMode 4 OriginUpperLeft
 | 
						|
                              ExecutionMode 4 DepthReplacing
 | 
						|
                              Source HLSL 500
 | 
						|
                              Name 4  "main"
 | 
						|
                              Name 8  "PS_OUTPUT"
 | 
						|
                              MemberName 8(PS_OUTPUT) 0  "Color"
 | 
						|
                              MemberName 8(PS_OUTPUT) 1  "Depth"
 | 
						|
                              Name 10  "@main("
 | 
						|
                              Name 13  "r00"
 | 
						|
                              Name 16  "g_tTexbfs"
 | 
						|
                              Name 22  "$Global"
 | 
						|
                              MemberName 22($Global) 0  "c1"
 | 
						|
                              MemberName 22($Global) 1  "c2"
 | 
						|
                              MemberName 22($Global) 2  "c3"
 | 
						|
                              MemberName 22($Global) 3  "c4"
 | 
						|
                              MemberName 22($Global) 4  "o1"
 | 
						|
                              MemberName 22($Global) 5  "o2"
 | 
						|
                              MemberName 22($Global) 6  "o3"
 | 
						|
                              MemberName 22($Global) 7  "o4"
 | 
						|
                              Name 24  ""
 | 
						|
                              Name 32  "r01"
 | 
						|
                              Name 35  "g_tTexbis"
 | 
						|
                              Name 43  "r02"
 | 
						|
                              Name 46  "g_tTexbus"
 | 
						|
                              Name 54  "psout"
 | 
						|
                              Name 64  "flattenTemp"
 | 
						|
                              Name 67  "@entryPointOutput.Color"
 | 
						|
                              Name 71  "@entryPointOutput.Depth"
 | 
						|
                              Name 74  "g_tTexbfs_test"
 | 
						|
                              Decorate 16(g_tTexbfs) DescriptorSet 0
 | 
						|
                              Decorate 16(g_tTexbfs) Binding 1
 | 
						|
                              MemberDecorate 22($Global) 0 Offset 0
 | 
						|
                              MemberDecorate 22($Global) 1 Offset 8
 | 
						|
                              MemberDecorate 22($Global) 2 Offset 16
 | 
						|
                              MemberDecorate 22($Global) 3 Offset 32
 | 
						|
                              MemberDecorate 22($Global) 4 Offset 48
 | 
						|
                              MemberDecorate 22($Global) 5 Offset 56
 | 
						|
                              MemberDecorate 22($Global) 6 Offset 64
 | 
						|
                              MemberDecorate 22($Global) 7 Offset 80
 | 
						|
                              Decorate 22($Global) Block
 | 
						|
                              Decorate 24 DescriptorSet 0
 | 
						|
                              Decorate 24 Binding 4
 | 
						|
                              Decorate 35(g_tTexbis) DescriptorSet 0
 | 
						|
                              Decorate 35(g_tTexbis) Binding 2
 | 
						|
                              Decorate 46(g_tTexbus) DescriptorSet 0
 | 
						|
                              Decorate 46(g_tTexbus) Binding 3
 | 
						|
                              Decorate 67(@entryPointOutput.Color) Location 0
 | 
						|
                              Decorate 71(@entryPointOutput.Depth) BuiltIn FragDepth
 | 
						|
                              Decorate 74(g_tTexbfs_test) DescriptorSet 0
 | 
						|
                              Decorate 74(g_tTexbfs_test) Binding 0
 | 
						|
               2:             TypeVoid
 | 
						|
               3:             TypeFunction 2
 | 
						|
               6:             TypeFloat 32
 | 
						|
               7:             TypeVector 6(float) 4
 | 
						|
    8(PS_OUTPUT):             TypeStruct 7(fvec4) 6(float)
 | 
						|
               9:             TypeFunction 8(PS_OUTPUT)
 | 
						|
              12:             TypePointer Function 6(float)
 | 
						|
              14:             TypeImage 6(float) Buffer sampled format:R32f
 | 
						|
              15:             TypePointer UniformConstant 14
 | 
						|
   16(g_tTexbfs):     15(ptr) Variable UniformConstant
 | 
						|
              18:             TypeInt 32 1
 | 
						|
              19:             TypeVector 18(int) 2
 | 
						|
              20:             TypeVector 18(int) 3
 | 
						|
              21:             TypeVector 18(int) 4
 | 
						|
     22($Global):             TypeStruct 18(int) 19(ivec2) 20(ivec3) 21(ivec4) 18(int) 19(ivec2) 20(ivec3) 21(ivec4)
 | 
						|
              23:             TypePointer Uniform 22($Global)
 | 
						|
              24:     23(ptr) Variable Uniform
 | 
						|
              25:     18(int) Constant 0
 | 
						|
              26:             TypePointer Uniform 18(int)
 | 
						|
              31:             TypePointer Function 18(int)
 | 
						|
              33:             TypeImage 18(int) Buffer sampled format:R32i
 | 
						|
              34:             TypePointer UniformConstant 33
 | 
						|
   35(g_tTexbis):     34(ptr) Variable UniformConstant
 | 
						|
              41:             TypeInt 32 0
 | 
						|
              42:             TypePointer Function 41(int)
 | 
						|
              44:             TypeImage 41(int) Buffer sampled format:R32ui
 | 
						|
              45:             TypePointer UniformConstant 44
 | 
						|
   46(g_tTexbus):     45(ptr) Variable UniformConstant
 | 
						|
              50:             TypeVector 41(int) 4
 | 
						|
              53:             TypePointer Function 8(PS_OUTPUT)
 | 
						|
              55:    6(float) Constant 1065353216
 | 
						|
              56:    7(fvec4) ConstantComposite 55 55 55 55
 | 
						|
              57:             TypePointer Function 7(fvec4)
 | 
						|
              59:     18(int) Constant 1
 | 
						|
              66:             TypePointer Output 7(fvec4)
 | 
						|
67(@entryPointOutput.Color):     66(ptr) Variable Output
 | 
						|
              70:             TypePointer Output 6(float)
 | 
						|
71(@entryPointOutput.Depth):     70(ptr) Variable Output
 | 
						|
74(g_tTexbfs_test):     15(ptr) Variable UniformConstant
 | 
						|
         4(main):           2 Function None 3
 | 
						|
               5:             Label
 | 
						|
 64(flattenTemp):     53(ptr) Variable Function
 | 
						|
              65:8(PS_OUTPUT) FunctionCall 10(@main()
 | 
						|
                              Store 64(flattenTemp) 65
 | 
						|
              68:     57(ptr) AccessChain 64(flattenTemp) 25
 | 
						|
              69:    7(fvec4) Load 68
 | 
						|
                              Store 67(@entryPointOutput.Color) 69
 | 
						|
              72:     12(ptr) AccessChain 64(flattenTemp) 59
 | 
						|
              73:    6(float) Load 72
 | 
						|
                              Store 71(@entryPointOutput.Depth) 73
 | 
						|
                              Return
 | 
						|
                              FunctionEnd
 | 
						|
      10(@main():8(PS_OUTPUT) Function None 9
 | 
						|
              11:             Label
 | 
						|
         13(r00):     12(ptr) Variable Function
 | 
						|
         32(r01):     31(ptr) Variable Function
 | 
						|
         43(r02):     42(ptr) Variable Function
 | 
						|
       54(psout):     53(ptr) Variable Function
 | 
						|
              17:          14 Load 16(g_tTexbfs)
 | 
						|
              27:     26(ptr) AccessChain 24 25
 | 
						|
              28:     18(int) Load 27
 | 
						|
              29:    7(fvec4) ImageFetch 17 28
 | 
						|
              30:    6(float) CompositeExtract 29 0
 | 
						|
                              Store 13(r00) 30
 | 
						|
              36:          33 Load 35(g_tTexbis)
 | 
						|
              37:     26(ptr) AccessChain 24 25
 | 
						|
              38:     18(int) Load 37
 | 
						|
              39:   21(ivec4) ImageFetch 36 38
 | 
						|
              40:     18(int) CompositeExtract 39 0
 | 
						|
                              Store 32(r01) 40
 | 
						|
              47:          44 Load 46(g_tTexbus)
 | 
						|
              48:     26(ptr) AccessChain 24 25
 | 
						|
              49:     18(int) Load 48
 | 
						|
              51:   50(ivec4) ImageFetch 47 49
 | 
						|
              52:     41(int) CompositeExtract 51 0
 | 
						|
                              Store 43(r02) 52
 | 
						|
              58:     57(ptr) AccessChain 54(psout) 25
 | 
						|
                              Store 58 56
 | 
						|
              60:     12(ptr) AccessChain 54(psout) 59
 | 
						|
                              Store 60 55
 | 
						|
              61:8(PS_OUTPUT) Load 54(psout)
 | 
						|
                              ReturnValue 61
 | 
						|
                              FunctionEnd
 |