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.
		
			
				
	
	
		
			129 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			129 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
hlsl.multiReturn.frag
 | 
						|
Shader version: 500
 | 
						|
gl_FragCoord origin is upper left
 | 
						|
0:? Sequence
 | 
						|
0:12  Function Definition: foo( ( temp structure{ temp float f,  temp 3-component vector of float v,  temp 3X3 matrix of float m})
 | 
						|
0:12    Function Parameters: 
 | 
						|
0:?     Sequence
 | 
						|
0:13      Branch: Return with expression
 | 
						|
0:13        s: direct index for structure (layout( row_major std140) uniform structure{ temp float f,  temp 3-component vector of float v,  temp 3X3 matrix of float m})
 | 
						|
0:13          'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform structure{ temp float f,  temp 3-component vector of float v,  temp 3X3 matrix of float m} s})
 | 
						|
0:13          Constant:
 | 
						|
0:13            0 (const uint)
 | 
						|
0:17  Function Definition: @main( ( temp void)
 | 
						|
0:17    Function Parameters: 
 | 
						|
0:?     Sequence
 | 
						|
0:18      Function Call: foo( ( temp structure{ temp float f,  temp 3-component vector of float v,  temp 3X3 matrix of float m})
 | 
						|
0:17  Function Definition: main( ( temp void)
 | 
						|
0:17    Function Parameters: 
 | 
						|
0:?     Sequence
 | 
						|
0:17      Function Call: @main( ( temp void)
 | 
						|
0:?   Linker Objects
 | 
						|
0:?     'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform structure{ temp float f,  temp 3-component vector of float v,  temp 3X3 matrix of float m} s})
 | 
						|
 | 
						|
 | 
						|
Linked fragment stage:
 | 
						|
 | 
						|
 | 
						|
Shader version: 500
 | 
						|
gl_FragCoord origin is upper left
 | 
						|
0:? Sequence
 | 
						|
0:12  Function Definition: foo( ( temp structure{ temp float f,  temp 3-component vector of float v,  temp 3X3 matrix of float m})
 | 
						|
0:12    Function Parameters: 
 | 
						|
0:?     Sequence
 | 
						|
0:13      Branch: Return with expression
 | 
						|
0:13        s: direct index for structure (layout( row_major std140) uniform structure{ temp float f,  temp 3-component vector of float v,  temp 3X3 matrix of float m})
 | 
						|
0:13          'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform structure{ temp float f,  temp 3-component vector of float v,  temp 3X3 matrix of float m} s})
 | 
						|
0:13          Constant:
 | 
						|
0:13            0 (const uint)
 | 
						|
0:17  Function Definition: @main( ( temp void)
 | 
						|
0:17    Function Parameters: 
 | 
						|
0:?     Sequence
 | 
						|
0:18      Function Call: foo( ( temp structure{ temp float f,  temp 3-component vector of float v,  temp 3X3 matrix of float m})
 | 
						|
0:17  Function Definition: main( ( temp void)
 | 
						|
0:17    Function Parameters: 
 | 
						|
0:?     Sequence
 | 
						|
0:17      Function Call: @main( ( temp void)
 | 
						|
0:?   Linker Objects
 | 
						|
0:?     'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform structure{ temp float f,  temp 3-component vector of float v,  temp 3X3 matrix of float m} s})
 | 
						|
 | 
						|
// Module Version 10000
 | 
						|
// Generated by (magic number): 80006
 | 
						|
// Id's are bound by 42
 | 
						|
 | 
						|
                              Capability Shader
 | 
						|
               1:             ExtInstImport  "GLSL.std.450"
 | 
						|
                              MemoryModel Logical GLSL450
 | 
						|
                              EntryPoint Fragment 4  "main"
 | 
						|
                              ExecutionMode 4 OriginUpperLeft
 | 
						|
                              Source HLSL 500
 | 
						|
                              Name 4  "main"
 | 
						|
                              Name 9  "S"
 | 
						|
                              MemberName 9(S) 0  "f"
 | 
						|
                              MemberName 9(S) 1  "v"
 | 
						|
                              MemberName 9(S) 2  "m"
 | 
						|
                              Name 11  "foo("
 | 
						|
                              Name 13  "@main("
 | 
						|
                              Name 15  "S"
 | 
						|
                              MemberName 15(S) 0  "f"
 | 
						|
                              MemberName 15(S) 1  "v"
 | 
						|
                              MemberName 15(S) 2  "m"
 | 
						|
                              Name 16  "bufName"
 | 
						|
                              MemberName 16(bufName) 0  "s"
 | 
						|
                              Name 18  ""
 | 
						|
                              MemberDecorate 15(S) 0 Offset 0
 | 
						|
                              MemberDecorate 15(S) 1 Offset 4
 | 
						|
                              MemberDecorate 15(S) 2 RowMajor
 | 
						|
                              MemberDecorate 15(S) 2 Offset 16
 | 
						|
                              MemberDecorate 15(S) 2 MatrixStride 16
 | 
						|
                              MemberDecorate 16(bufName) 0 Offset 0
 | 
						|
                              Decorate 16(bufName) Block
 | 
						|
                              Decorate 18 DescriptorSet 0
 | 
						|
               2:             TypeVoid
 | 
						|
               3:             TypeFunction 2
 | 
						|
               6:             TypeFloat 32
 | 
						|
               7:             TypeVector 6(float) 3
 | 
						|
               8:             TypeMatrix 7(fvec3) 3
 | 
						|
            9(S):             TypeStruct 6(float) 7(fvec3) 8
 | 
						|
              10:             TypeFunction 9(S)
 | 
						|
           15(S):             TypeStruct 6(float) 7(fvec3) 8
 | 
						|
     16(bufName):             TypeStruct 15(S)
 | 
						|
              17:             TypePointer Uniform 16(bufName)
 | 
						|
              18:     17(ptr) Variable Uniform
 | 
						|
              19:             TypeInt 32 1
 | 
						|
              20:     19(int) Constant 0
 | 
						|
              21:             TypePointer Uniform 15(S)
 | 
						|
              24:             TypePointer Function 9(S)
 | 
						|
              27:             TypePointer Function 6(float)
 | 
						|
              30:     19(int) Constant 1
 | 
						|
              31:             TypePointer Function 7(fvec3)
 | 
						|
              34:     19(int) Constant 2
 | 
						|
              35:             TypePointer Function 8
 | 
						|
         4(main):           2 Function None 3
 | 
						|
               5:             Label
 | 
						|
              41:           2 FunctionCall 13(@main()
 | 
						|
                              Return
 | 
						|
                              FunctionEnd
 | 
						|
        11(foo():        9(S) Function None 10
 | 
						|
              12:             Label
 | 
						|
              25:     24(ptr) Variable Function
 | 
						|
              22:     21(ptr) AccessChain 18 20
 | 
						|
              23:       15(S) Load 22
 | 
						|
              26:    6(float) CompositeExtract 23 0
 | 
						|
              28:     27(ptr) AccessChain 25 20
 | 
						|
                              Store 28 26
 | 
						|
              29:    7(fvec3) CompositeExtract 23 1
 | 
						|
              32:     31(ptr) AccessChain 25 30
 | 
						|
                              Store 32 29
 | 
						|
              33:           8 CompositeExtract 23 2
 | 
						|
              36:     35(ptr) AccessChain 25 34
 | 
						|
                              Store 36 33
 | 
						|
              37:        9(S) Load 25
 | 
						|
                              ReturnValue 37
 | 
						|
                              FunctionEnd
 | 
						|
      13(@main():           2 Function None 3
 | 
						|
              14:             Label
 | 
						|
              40:        9(S) FunctionCall 11(foo()
 | 
						|
                              Return
 | 
						|
                              FunctionEnd
 |