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.
		
			
				
	
	
		
			155 lines
		
	
	
		
			8.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			155 lines
		
	
	
		
			8.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
hlsl.texturebuffer.frag
 | 
						|
Shader version: 500
 | 
						|
gl_FragCoord origin is upper left
 | 
						|
0:? Sequence
 | 
						|
0:15  Function Definition: @main(vf4; ( temp 4-component vector of float)
 | 
						|
0:15    Function Parameters: 
 | 
						|
0:15      'pos' ( in 4-component vector of float)
 | 
						|
0:?     Sequence
 | 
						|
0:16      Branch: Return with expression
 | 
						|
0:16        add ( temp 4-component vector of float)
 | 
						|
0:16          f: direct index for structure (layout( row_major std430) buffer 4-component vector of float)
 | 
						|
0:16            'TextureBuffer_var' (layout( binding=0 row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float f, layout( row_major std430) buffer 4-component vector of int i})
 | 
						|
0:16            Constant:
 | 
						|
0:16              0 (const int)
 | 
						|
0:16          f2: direct index for structure (layout( row_major std430) buffer 4-component vector of float)
 | 
						|
0:16            'anon@0' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float f2, layout( row_major std430) buffer 4-component vector of int i2})
 | 
						|
0:16            Constant:
 | 
						|
0:16              0 (const uint)
 | 
						|
0:15  Function Definition: main( ( temp void)
 | 
						|
0:15    Function Parameters: 
 | 
						|
0:?     Sequence
 | 
						|
0:15      move second child to first child ( temp 4-component vector of float)
 | 
						|
0:?         'pos' ( temp 4-component vector of float)
 | 
						|
0:?         'pos' ( in 4-component vector of float FragCoord)
 | 
						|
0:15      move second child to first child ( temp 4-component vector of float)
 | 
						|
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 | 
						|
0:15        Function Call: @main(vf4; ( temp 4-component vector of float)
 | 
						|
0:?           'pos' ( temp 4-component vector of float)
 | 
						|
0:?   Linker Objects
 | 
						|
0:?     'TextureBuffer_var' (layout( binding=0 row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float f, layout( row_major std430) buffer 4-component vector of int i})
 | 
						|
0:?     'anon@0' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float f2, layout( row_major std430) buffer 4-component vector of int i2})
 | 
						|
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 | 
						|
0:?     'pos' ( in 4-component vector of float FragCoord)
 | 
						|
 | 
						|
 | 
						|
Linked fragment stage:
 | 
						|
 | 
						|
 | 
						|
Shader version: 500
 | 
						|
gl_FragCoord origin is upper left
 | 
						|
0:? Sequence
 | 
						|
0:15  Function Definition: @main(vf4; ( temp 4-component vector of float)
 | 
						|
0:15    Function Parameters: 
 | 
						|
0:15      'pos' ( in 4-component vector of float)
 | 
						|
0:?     Sequence
 | 
						|
0:16      Branch: Return with expression
 | 
						|
0:16        add ( temp 4-component vector of float)
 | 
						|
0:16          f: direct index for structure (layout( row_major std430) buffer 4-component vector of float)
 | 
						|
0:16            'TextureBuffer_var' (layout( binding=0 row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float f, layout( row_major std430) buffer 4-component vector of int i})
 | 
						|
0:16            Constant:
 | 
						|
0:16              0 (const int)
 | 
						|
0:16          f2: direct index for structure (layout( row_major std430) buffer 4-component vector of float)
 | 
						|
0:16            'anon@0' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float f2, layout( row_major std430) buffer 4-component vector of int i2})
 | 
						|
0:16            Constant:
 | 
						|
0:16              0 (const uint)
 | 
						|
0:15  Function Definition: main( ( temp void)
 | 
						|
0:15    Function Parameters: 
 | 
						|
0:?     Sequence
 | 
						|
0:15      move second child to first child ( temp 4-component vector of float)
 | 
						|
0:?         'pos' ( temp 4-component vector of float)
 | 
						|
0:?         'pos' ( in 4-component vector of float FragCoord)
 | 
						|
0:15      move second child to first child ( temp 4-component vector of float)
 | 
						|
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 | 
						|
0:15        Function Call: @main(vf4; ( temp 4-component vector of float)
 | 
						|
0:?           'pos' ( temp 4-component vector of float)
 | 
						|
0:?   Linker Objects
 | 
						|
0:?     'TextureBuffer_var' (layout( binding=0 row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float f, layout( row_major std430) buffer 4-component vector of int i})
 | 
						|
0:?     'anon@0' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float f2, layout( row_major std430) buffer 4-component vector of int i2})
 | 
						|
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 | 
						|
0:?     'pos' ( in 4-component vector of float FragCoord)
 | 
						|
 | 
						|
// Module Version 10000
 | 
						|
// Generated by (magic number): 8000a
 | 
						|
// Id's are bound by 39
 | 
						|
 | 
						|
                              Capability Shader
 | 
						|
               1:             ExtInstImport  "GLSL.std.450"
 | 
						|
                              MemoryModel Logical GLSL450
 | 
						|
                              EntryPoint Fragment 4  "main" 32 35
 | 
						|
                              ExecutionMode 4 OriginUpperLeft
 | 
						|
                              Source HLSL 500
 | 
						|
                              Name 4  "main"
 | 
						|
                              Name 11  "@main(vf4;"
 | 
						|
                              Name 10  "pos"
 | 
						|
                              Name 15  "TextureBuffer_var"
 | 
						|
                              MemberName 15(TextureBuffer_var) 0  "f"
 | 
						|
                              MemberName 15(TextureBuffer_var) 1  "i"
 | 
						|
                              Name 17  "TextureBuffer_var"
 | 
						|
                              Name 22  "tbuf2"
 | 
						|
                              MemberName 22(tbuf2) 0  "f2"
 | 
						|
                              MemberName 22(tbuf2) 1  "i2"
 | 
						|
                              Name 24  ""
 | 
						|
                              Name 30  "pos"
 | 
						|
                              Name 32  "pos"
 | 
						|
                              Name 35  "@entryPointOutput"
 | 
						|
                              Name 36  "param"
 | 
						|
                              MemberDecorate 15(TextureBuffer_var) 0 NonWritable
 | 
						|
                              MemberDecorate 15(TextureBuffer_var) 0 Offset 0
 | 
						|
                              MemberDecorate 15(TextureBuffer_var) 1 NonWritable
 | 
						|
                              MemberDecorate 15(TextureBuffer_var) 1 Offset 16
 | 
						|
                              Decorate 15(TextureBuffer_var) BufferBlock
 | 
						|
                              Decorate 17(TextureBuffer_var) DescriptorSet 0
 | 
						|
                              Decorate 17(TextureBuffer_var) Binding 0
 | 
						|
                              MemberDecorate 22(tbuf2) 0 NonWritable
 | 
						|
                              MemberDecorate 22(tbuf2) 0 Offset 0
 | 
						|
                              MemberDecorate 22(tbuf2) 1 NonWritable
 | 
						|
                              MemberDecorate 22(tbuf2) 1 Offset 16
 | 
						|
                              Decorate 22(tbuf2) BufferBlock
 | 
						|
                              Decorate 24 DescriptorSet 0
 | 
						|
                              Decorate 24 Binding 1
 | 
						|
                              Decorate 32(pos) BuiltIn FragCoord
 | 
						|
                              Decorate 35(@entryPointOutput) Location 0
 | 
						|
               2:             TypeVoid
 | 
						|
               3:             TypeFunction 2
 | 
						|
               6:             TypeFloat 32
 | 
						|
               7:             TypeVector 6(float) 4
 | 
						|
               8:             TypePointer Function 7(fvec4)
 | 
						|
               9:             TypeFunction 7(fvec4) 8(ptr)
 | 
						|
              13:             TypeInt 32 1
 | 
						|
              14:             TypeVector 13(int) 4
 | 
						|
15(TextureBuffer_var):             TypeStruct 7(fvec4) 14(ivec4)
 | 
						|
              16:             TypePointer Uniform 15(TextureBuffer_var)
 | 
						|
17(TextureBuffer_var):     16(ptr) Variable Uniform
 | 
						|
              18:     13(int) Constant 0
 | 
						|
              19:             TypePointer Uniform 7(fvec4)
 | 
						|
       22(tbuf2):             TypeStruct 7(fvec4) 14(ivec4)
 | 
						|
              23:             TypePointer Uniform 22(tbuf2)
 | 
						|
              24:     23(ptr) Variable Uniform
 | 
						|
              31:             TypePointer Input 7(fvec4)
 | 
						|
         32(pos):     31(ptr) Variable Input
 | 
						|
              34:             TypePointer Output 7(fvec4)
 | 
						|
35(@entryPointOutput):     34(ptr) Variable Output
 | 
						|
         4(main):           2 Function None 3
 | 
						|
               5:             Label
 | 
						|
         30(pos):      8(ptr) Variable Function
 | 
						|
       36(param):      8(ptr) Variable Function
 | 
						|
              33:    7(fvec4) Load 32(pos)
 | 
						|
                              Store 30(pos) 33
 | 
						|
              37:    7(fvec4) Load 30(pos)
 | 
						|
                              Store 36(param) 37
 | 
						|
              38:    7(fvec4) FunctionCall 11(@main(vf4;) 36(param)
 | 
						|
                              Store 35(@entryPointOutput) 38
 | 
						|
                              Return
 | 
						|
                              FunctionEnd
 | 
						|
  11(@main(vf4;):    7(fvec4) Function None 9
 | 
						|
         10(pos):      8(ptr) FunctionParameter
 | 
						|
              12:             Label
 | 
						|
              20:     19(ptr) AccessChain 17(TextureBuffer_var) 18
 | 
						|
              21:    7(fvec4) Load 20
 | 
						|
              25:     19(ptr) AccessChain 24 18
 | 
						|
              26:    7(fvec4) Load 25
 | 
						|
              27:    7(fvec4) FAdd 21 26
 | 
						|
                              ReturnValue 27
 | 
						|
                              FunctionEnd
 |