307 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			307 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
hlsl.struct.split.array.geom
 | 
						|
Shader version: 500
 | 
						|
invocations = -1
 | 
						|
max_vertices = 4
 | 
						|
input primitive = points
 | 
						|
output primitive = triangle_strip
 | 
						|
0:? Sequence
 | 
						|
0:13  Function Definition: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; ( temp void)
 | 
						|
0:13    Function Parameters: 
 | 
						|
0:13      'v' ( in 1-element array of uint)
 | 
						|
0:13      'OutputStream' ( out structure{ temp 4-component vector of float Pos,  temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
 | 
						|
0:?     Sequence
 | 
						|
0:16      Sequence
 | 
						|
0:16        move second child to first child ( temp structure{ temp 4-component vector of float Pos,  temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
 | 
						|
0:16          'Out' ( temp structure{ temp 4-component vector of float Pos,  temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
 | 
						|
0:16          Constant:
 | 
						|
0:16            0.000000
 | 
						|
0:16            0.000000
 | 
						|
0:16            0.000000
 | 
						|
0:16            0.000000
 | 
						|
0:16            0.000000
 | 
						|
0:16            0.000000
 | 
						|
0:16            0.000000
 | 
						|
0:16            0.000000
 | 
						|
0:16            0.000000
 | 
						|
0:16            0 (const uint)
 | 
						|
0:18      Sequence
 | 
						|
0:18        move second child to first child ( temp int)
 | 
						|
0:18          'x' ( temp int)
 | 
						|
0:18          Constant:
 | 
						|
0:18            0 (const int)
 | 
						|
0:18        Loop with condition tested first
 | 
						|
0:18          Loop Condition
 | 
						|
0:18          Compare Less Than ( temp bool)
 | 
						|
0:18            'x' ( temp int)
 | 
						|
0:18            Constant:
 | 
						|
0:18              2 (const int)
 | 
						|
0:18          Loop Body
 | 
						|
0:19          Sequence
 | 
						|
0:19            move second child to first child ( temp int)
 | 
						|
0:19              'y' ( temp int)
 | 
						|
0:19              Constant:
 | 
						|
0:19                0 (const int)
 | 
						|
0:19            Loop with condition tested first
 | 
						|
0:19              Loop Condition
 | 
						|
0:19              Compare Less Than ( temp bool)
 | 
						|
0:19                'y' ( temp int)
 | 
						|
0:19                Constant:
 | 
						|
0:19                  2 (const int)
 | 
						|
0:19              Loop Body
 | 
						|
0:20              move second child to first child ( temp structure{ temp 4-component vector of float Pos,  temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
 | 
						|
0:20                indirect index ( temp structure{ temp 4-component vector of float Pos,  temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
 | 
						|
0:20                  indirect index ( temp 3-element array of structure{ temp 4-component vector of float Pos,  temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
 | 
						|
0:20                    'Verts' ( temp 2-element array of 3-element array of structure{ temp 4-component vector of float Pos,  temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
 | 
						|
0:20                    'x' ( temp int)
 | 
						|
0:20                  'y' ( temp int)
 | 
						|
0:20                'Out' ( temp structure{ temp 4-component vector of float Pos,  temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
 | 
						|
0:19              Loop Terminal Expression
 | 
						|
0:19              Pre-Increment ( temp int)
 | 
						|
0:19                'y' ( temp int)
 | 
						|
0:18          Loop Terminal Expression
 | 
						|
0:18          Pre-Increment ( temp int)
 | 
						|
0:18            'x' ( temp int)
 | 
						|
0:13  Function Definition: main( ( temp void)
 | 
						|
0:13    Function Parameters: 
 | 
						|
0:?     Sequence
 | 
						|
0:13      move second child to first child ( temp 1-element array of uint)
 | 
						|
0:?         'v' ( temp 1-element array of uint)
 | 
						|
0:?         'v' (layout( location=0) in 1-element array of uint)
 | 
						|
0:13      Function Call: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; ( temp void)
 | 
						|
0:?         'v' ( temp 1-element array of uint)
 | 
						|
0:?         'OutputStream' ( temp structure{ temp 4-component vector of float Pos,  temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
 | 
						|
0:?   Linker Objects
 | 
						|
0:?     'v' (layout( location=0) in 1-element array of uint)
 | 
						|
0:?     'OutputStream.Pos' ( out 4-component vector of float Position)
 | 
						|
0:?     'OutputStream.TexCoord' (layout( location=0) out 2-component vector of float)
 | 
						|
0:?     'OutputStream.TerrainPos' (layout( location=1) out 3-component vector of float)
 | 
						|
0:?     'OutputStream.VertexID' (layout( location=2) out uint)
 | 
						|
 | 
						|
 | 
						|
Linked geometry stage:
 | 
						|
 | 
						|
 | 
						|
Shader version: 500
 | 
						|
invocations = 1
 | 
						|
max_vertices = 4
 | 
						|
input primitive = points
 | 
						|
output primitive = triangle_strip
 | 
						|
0:? Sequence
 | 
						|
0:13  Function Definition: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; ( temp void)
 | 
						|
0:13    Function Parameters: 
 | 
						|
0:13      'v' ( in 1-element array of uint)
 | 
						|
0:13      'OutputStream' ( out structure{ temp 4-component vector of float Pos,  temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
 | 
						|
0:?     Sequence
 | 
						|
0:16      Sequence
 | 
						|
0:16        move second child to first child ( temp structure{ temp 4-component vector of float Pos,  temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
 | 
						|
0:16          'Out' ( temp structure{ temp 4-component vector of float Pos,  temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
 | 
						|
0:16          Constant:
 | 
						|
0:16            0.000000
 | 
						|
0:16            0.000000
 | 
						|
0:16            0.000000
 | 
						|
0:16            0.000000
 | 
						|
0:16            0.000000
 | 
						|
0:16            0.000000
 | 
						|
0:16            0.000000
 | 
						|
0:16            0.000000
 | 
						|
0:16            0.000000
 | 
						|
0:16            0 (const uint)
 | 
						|
0:18      Sequence
 | 
						|
0:18        move second child to first child ( temp int)
 | 
						|
0:18          'x' ( temp int)
 | 
						|
0:18          Constant:
 | 
						|
0:18            0 (const int)
 | 
						|
0:18        Loop with condition tested first
 | 
						|
0:18          Loop Condition
 | 
						|
0:18          Compare Less Than ( temp bool)
 | 
						|
0:18            'x' ( temp int)
 | 
						|
0:18            Constant:
 | 
						|
0:18              2 (const int)
 | 
						|
0:18          Loop Body
 | 
						|
0:19          Sequence
 | 
						|
0:19            move second child to first child ( temp int)
 | 
						|
0:19              'y' ( temp int)
 | 
						|
0:19              Constant:
 | 
						|
0:19                0 (const int)
 | 
						|
0:19            Loop with condition tested first
 | 
						|
0:19              Loop Condition
 | 
						|
0:19              Compare Less Than ( temp bool)
 | 
						|
0:19                'y' ( temp int)
 | 
						|
0:19                Constant:
 | 
						|
0:19                  2 (const int)
 | 
						|
0:19              Loop Body
 | 
						|
0:20              move second child to first child ( temp structure{ temp 4-component vector of float Pos,  temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
 | 
						|
0:20                indirect index ( temp structure{ temp 4-component vector of float Pos,  temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
 | 
						|
0:20                  indirect index ( temp 3-element array of structure{ temp 4-component vector of float Pos,  temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
 | 
						|
0:20                    'Verts' ( temp 2-element array of 3-element array of structure{ temp 4-component vector of float Pos,  temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
 | 
						|
0:20                    'x' ( temp int)
 | 
						|
0:20                  'y' ( temp int)
 | 
						|
0:20                'Out' ( temp structure{ temp 4-component vector of float Pos,  temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
 | 
						|
0:19              Loop Terminal Expression
 | 
						|
0:19              Pre-Increment ( temp int)
 | 
						|
0:19                'y' ( temp int)
 | 
						|
0:18          Loop Terminal Expression
 | 
						|
0:18          Pre-Increment ( temp int)
 | 
						|
0:18            'x' ( temp int)
 | 
						|
0:13  Function Definition: main( ( temp void)
 | 
						|
0:13    Function Parameters: 
 | 
						|
0:?     Sequence
 | 
						|
0:13      move second child to first child ( temp 1-element array of uint)
 | 
						|
0:?         'v' ( temp 1-element array of uint)
 | 
						|
0:?         'v' (layout( location=0) in 1-element array of uint)
 | 
						|
0:13      Function Call: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; ( temp void)
 | 
						|
0:?         'v' ( temp 1-element array of uint)
 | 
						|
0:?         'OutputStream' ( temp structure{ temp 4-component vector of float Pos,  temp 2-component vector of float TexCoord,  temp 3-component vector of float TerrainPos,  temp uint VertexID})
 | 
						|
0:?   Linker Objects
 | 
						|
0:?     'v' (layout( location=0) in 1-element array of uint)
 | 
						|
0:?     'OutputStream.Pos' ( out 4-component vector of float Position)
 | 
						|
0:?     'OutputStream.TexCoord' (layout( location=0) out 2-component vector of float)
 | 
						|
0:?     'OutputStream.TerrainPos' (layout( location=1) out 3-component vector of float)
 | 
						|
0:?     'OutputStream.VertexID' (layout( location=2) out uint)
 | 
						|
 | 
						|
// Module Version 10000
 | 
						|
// Generated by (magic number): 8000a
 | 
						|
// Id's are bound by 82
 | 
						|
 | 
						|
                              Capability Geometry
 | 
						|
               1:             ExtInstImport  "GLSL.std.450"
 | 
						|
                              MemoryModel Logical GLSL450
 | 
						|
                              EntryPoint Geometry 4  "main" 66 75 77 79 81
 | 
						|
                              ExecutionMode 4 InputPoints
 | 
						|
                              ExecutionMode 4 Invocations 1
 | 
						|
                              ExecutionMode 4 OutputTriangleStrip
 | 
						|
                              ExecutionMode 4 OutputVertices 4
 | 
						|
                              Source HLSL 500
 | 
						|
                              Name 4  "main"
 | 
						|
                              Name 14  "PSInput"
 | 
						|
                              MemberName 14(PSInput) 0  "Pos"
 | 
						|
                              MemberName 14(PSInput) 1  "TexCoord"
 | 
						|
                              MemberName 14(PSInput) 2  "TerrainPos"
 | 
						|
                              MemberName 14(PSInput) 3  "VertexID"
 | 
						|
                              Name 19  "@main(u1[1];struct-PSInput-vf4-vf2-vf3-u11;"
 | 
						|
                              Name 17  "v"
 | 
						|
                              Name 18  "OutputStream"
 | 
						|
                              Name 21  "Out"
 | 
						|
                              Name 30  "x"
 | 
						|
                              Name 41  "y"
 | 
						|
                              Name 54  "Verts"
 | 
						|
                              Name 64  "v"
 | 
						|
                              Name 66  "v"
 | 
						|
                              Name 68  "OutputStream"
 | 
						|
                              Name 69  "param"
 | 
						|
                              Name 71  "param"
 | 
						|
                              Name 75  "OutputStream.Pos"
 | 
						|
                              Name 77  "OutputStream.TexCoord"
 | 
						|
                              Name 79  "OutputStream.TerrainPos"
 | 
						|
                              Name 81  "OutputStream.VertexID"
 | 
						|
                              Decorate 66(v) Location 0
 | 
						|
                              Decorate 75(OutputStream.Pos) BuiltIn Position
 | 
						|
                              Decorate 77(OutputStream.TexCoord) Location 0
 | 
						|
                              Decorate 79(OutputStream.TerrainPos) Location 1
 | 
						|
                              Decorate 81(OutputStream.VertexID) Location 2
 | 
						|
               2:             TypeVoid
 | 
						|
               3:             TypeFunction 2
 | 
						|
               6:             TypeInt 32 0
 | 
						|
               7:      6(int) Constant 1
 | 
						|
               8:             TypeArray 6(int) 7
 | 
						|
               9:             TypePointer Function 8
 | 
						|
              10:             TypeFloat 32
 | 
						|
              11:             TypeVector 10(float) 4
 | 
						|
              12:             TypeVector 10(float) 2
 | 
						|
              13:             TypeVector 10(float) 3
 | 
						|
     14(PSInput):             TypeStruct 11(fvec4) 12(fvec2) 13(fvec3) 6(int)
 | 
						|
              15:             TypePointer Function 14(PSInput)
 | 
						|
              16:             TypeFunction 2 9(ptr) 15(ptr)
 | 
						|
              22:   10(float) Constant 0
 | 
						|
              23:   11(fvec4) ConstantComposite 22 22 22 22
 | 
						|
              24:   12(fvec2) ConstantComposite 22 22
 | 
						|
              25:   13(fvec3) ConstantComposite 22 22 22
 | 
						|
              26:      6(int) Constant 0
 | 
						|
              27: 14(PSInput) ConstantComposite 23 24 25 26
 | 
						|
              28:             TypeInt 32 1
 | 
						|
              29:             TypePointer Function 28(int)
 | 
						|
              31:     28(int) Constant 0
 | 
						|
              38:     28(int) Constant 2
 | 
						|
              39:             TypeBool
 | 
						|
              49:      6(int) Constant 3
 | 
						|
              50:             TypeArray 14(PSInput) 49
 | 
						|
              51:      6(int) Constant 2
 | 
						|
              52:             TypeArray 50 51
 | 
						|
              53:             TypePointer Function 52
 | 
						|
              60:     28(int) Constant 1
 | 
						|
              65:             TypePointer Input 8
 | 
						|
           66(v):     65(ptr) Variable Input
 | 
						|
              74:             TypePointer Output 11(fvec4)
 | 
						|
75(OutputStream.Pos):     74(ptr) Variable Output
 | 
						|
              76:             TypePointer Output 12(fvec2)
 | 
						|
77(OutputStream.TexCoord):     76(ptr) Variable Output
 | 
						|
              78:             TypePointer Output 13(fvec3)
 | 
						|
79(OutputStream.TerrainPos):     78(ptr) Variable Output
 | 
						|
              80:             TypePointer Output 6(int)
 | 
						|
81(OutputStream.VertexID):     80(ptr) Variable Output
 | 
						|
         4(main):           2 Function None 3
 | 
						|
               5:             Label
 | 
						|
           64(v):      9(ptr) Variable Function
 | 
						|
68(OutputStream):     15(ptr) Variable Function
 | 
						|
       69(param):      9(ptr) Variable Function
 | 
						|
       71(param):     15(ptr) Variable Function
 | 
						|
              67:           8 Load 66(v)
 | 
						|
                              Store 64(v) 67
 | 
						|
              70:           8 Load 64(v)
 | 
						|
                              Store 69(param) 70
 | 
						|
              72:           2 FunctionCall 19(@main(u1[1];struct-PSInput-vf4-vf2-vf3-u11;) 69(param) 71(param)
 | 
						|
              73: 14(PSInput) Load 71(param)
 | 
						|
                              Store 68(OutputStream) 73
 | 
						|
                              Return
 | 
						|
                              FunctionEnd
 | 
						|
19(@main(u1[1];struct-PSInput-vf4-vf2-vf3-u11;):           2 Function None 16
 | 
						|
           17(v):      9(ptr) FunctionParameter
 | 
						|
18(OutputStream):     15(ptr) FunctionParameter
 | 
						|
              20:             Label
 | 
						|
         21(Out):     15(ptr) Variable Function
 | 
						|
           30(x):     29(ptr) Variable Function
 | 
						|
           41(y):     29(ptr) Variable Function
 | 
						|
       54(Verts):     53(ptr) Variable Function
 | 
						|
                              Store 21(Out) 27
 | 
						|
                              Store 30(x) 31
 | 
						|
                              Branch 32
 | 
						|
              32:             Label
 | 
						|
                              LoopMerge 34 35 None
 | 
						|
                              Branch 36
 | 
						|
              36:             Label
 | 
						|
              37:     28(int) Load 30(x)
 | 
						|
              40:    39(bool) SLessThan 37 38
 | 
						|
                              BranchConditional 40 33 34
 | 
						|
              33:               Label
 | 
						|
                                Store 41(y) 31
 | 
						|
                                Branch 42
 | 
						|
              42:               Label
 | 
						|
                                LoopMerge 44 45 None
 | 
						|
                                Branch 46
 | 
						|
              46:               Label
 | 
						|
              47:     28(int)   Load 41(y)
 | 
						|
              48:    39(bool)   SLessThan 47 38
 | 
						|
                                BranchConditional 48 43 44
 | 
						|
              43:                 Label
 | 
						|
              55:     28(int)     Load 30(x)
 | 
						|
              56:     28(int)     Load 41(y)
 | 
						|
              57: 14(PSInput)     Load 21(Out)
 | 
						|
              58:     15(ptr)     AccessChain 54(Verts) 55 56
 | 
						|
                                  Store 58 57
 | 
						|
                                  Branch 45
 | 
						|
              45:                 Label
 | 
						|
              59:     28(int)     Load 41(y)
 | 
						|
              61:     28(int)     IAdd 59 60
 | 
						|
                                  Store 41(y) 61
 | 
						|
                                  Branch 42
 | 
						|
              44:               Label
 | 
						|
                                Branch 35
 | 
						|
              35:               Label
 | 
						|
              62:     28(int)   Load 30(x)
 | 
						|
              63:     28(int)   IAdd 62 60
 | 
						|
                                Store 30(x) 63
 | 
						|
                                Branch 32
 | 
						|
              34:             Label
 | 
						|
                              Return
 | 
						|
                              FunctionEnd
 |