310 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			310 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
hlsl.struct.split.trivial.geom
 | 
						|
Shader version: 500
 | 
						|
invocations = -1
 | 
						|
max_vertices = 3
 | 
						|
input primitive = triangles
 | 
						|
output primitive = triangle_strip
 | 
						|
0:? Sequence
 | 
						|
0:14  Function Definition: @main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41; ( temp void)
 | 
						|
0:14    Function Parameters: 
 | 
						|
0:14      'i' ( in 3-element array of structure{ temp 4-component vector of float pos})
 | 
						|
0:14      'ts' ( out structure{ temp 4-component vector of float pos})
 | 
						|
0:?     Sequence
 | 
						|
0:17      Sequence
 | 
						|
0:17        move second child to first child ( temp int)
 | 
						|
0:17          'x' ( temp int)
 | 
						|
0:17          Constant:
 | 
						|
0:17            0 (const int)
 | 
						|
0:17        Loop with condition tested first
 | 
						|
0:17          Loop Condition
 | 
						|
0:17          Compare Less Than ( temp bool)
 | 
						|
0:17            'x' ( temp int)
 | 
						|
0:17            Constant:
 | 
						|
0:17              3 (const int)
 | 
						|
0:17          Loop Body
 | 
						|
0:?           Sequence
 | 
						|
0:18            move second child to first child ( temp 4-component vector of float)
 | 
						|
0:18              pos: direct index for structure ( temp 4-component vector of float)
 | 
						|
0:18                'o' ( temp structure{ temp 4-component vector of float pos})
 | 
						|
0:18                Constant:
 | 
						|
0:18                  0 (const int)
 | 
						|
0:18              pos: direct index for structure ( temp 4-component vector of float)
 | 
						|
0:18                indirect index ( temp structure{ temp 4-component vector of float pos})
 | 
						|
0:18                  'i' ( in 3-element array of structure{ temp 4-component vector of float pos})
 | 
						|
0:18                  'x' ( temp int)
 | 
						|
0:18                Constant:
 | 
						|
0:18                  0 (const int)
 | 
						|
0:19            Sequence
 | 
						|
0:19              Sequence
 | 
						|
0:19                move second child to first child ( temp 4-component vector of float)
 | 
						|
0:?                   'ts.pos' ( out 4-component vector of float Position)
 | 
						|
0:19                  pos: direct index for structure ( temp 4-component vector of float)
 | 
						|
0:19                    'o' ( temp structure{ temp 4-component vector of float pos})
 | 
						|
0:19                    Constant:
 | 
						|
0:19                      0 (const int)
 | 
						|
0:19              EmitVertex ( temp void)
 | 
						|
0:17          Loop Terminal Expression
 | 
						|
0:17          Pre-Increment ( temp int)
 | 
						|
0:17            'x' ( temp int)
 | 
						|
0:14  Function Definition: main( ( temp void)
 | 
						|
0:14    Function Parameters: 
 | 
						|
0:?     Sequence
 | 
						|
0:14      Sequence
 | 
						|
0:14        move second child to first child ( temp 4-component vector of float)
 | 
						|
0:14          pos: direct index for structure ( temp 4-component vector of float)
 | 
						|
0:14            direct index ( temp structure{ temp 4-component vector of float pos})
 | 
						|
0:?               'i' ( temp 3-element array of structure{ temp 4-component vector of float pos})
 | 
						|
0:14              Constant:
 | 
						|
0:14                0 (const int)
 | 
						|
0:14            Constant:
 | 
						|
0:14              0 (const int)
 | 
						|
0:14          direct index ( in 4-component vector of float Position)
 | 
						|
0:?             'i.pos' ( in 3-element array of 4-component vector of float Position)
 | 
						|
0:14            Constant:
 | 
						|
0:14              0 (const int)
 | 
						|
0:14        move second child to first child ( temp 4-component vector of float)
 | 
						|
0:14          pos: direct index for structure ( temp 4-component vector of float)
 | 
						|
0:14            direct index ( temp structure{ temp 4-component vector of float pos})
 | 
						|
0:?               'i' ( temp 3-element array of structure{ temp 4-component vector of float pos})
 | 
						|
0:14              Constant:
 | 
						|
0:14                1 (const int)
 | 
						|
0:14            Constant:
 | 
						|
0:14              0 (const int)
 | 
						|
0:14          direct index ( in 4-component vector of float Position)
 | 
						|
0:?             'i.pos' ( in 3-element array of 4-component vector of float Position)
 | 
						|
0:14            Constant:
 | 
						|
0:14              1 (const int)
 | 
						|
0:14        move second child to first child ( temp 4-component vector of float)
 | 
						|
0:14          pos: direct index for structure ( temp 4-component vector of float)
 | 
						|
0:14            direct index ( temp structure{ temp 4-component vector of float pos})
 | 
						|
0:?               'i' ( temp 3-element array of structure{ temp 4-component vector of float pos})
 | 
						|
0:14              Constant:
 | 
						|
0:14                2 (const int)
 | 
						|
0:14            Constant:
 | 
						|
0:14              0 (const int)
 | 
						|
0:14          direct index ( in 4-component vector of float Position)
 | 
						|
0:?             'i.pos' ( in 3-element array of 4-component vector of float Position)
 | 
						|
0:14            Constant:
 | 
						|
0:14              2 (const int)
 | 
						|
0:14      Function Call: @main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41; ( temp void)
 | 
						|
0:?         'i' ( temp 3-element array of structure{ temp 4-component vector of float pos})
 | 
						|
0:?         'ts' ( temp structure{ temp 4-component vector of float pos})
 | 
						|
0:?   Linker Objects
 | 
						|
0:?     'i.pos' ( in 3-element array of 4-component vector of float Position)
 | 
						|
0:?     'ts.pos' ( out 4-component vector of float Position)
 | 
						|
 | 
						|
 | 
						|
Linked geometry stage:
 | 
						|
 | 
						|
 | 
						|
Shader version: 500
 | 
						|
invocations = 1
 | 
						|
max_vertices = 3
 | 
						|
input primitive = triangles
 | 
						|
output primitive = triangle_strip
 | 
						|
0:? Sequence
 | 
						|
0:14  Function Definition: @main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41; ( temp void)
 | 
						|
0:14    Function Parameters: 
 | 
						|
0:14      'i' ( in 3-element array of structure{ temp 4-component vector of float pos})
 | 
						|
0:14      'ts' ( out structure{ temp 4-component vector of float pos})
 | 
						|
0:?     Sequence
 | 
						|
0:17      Sequence
 | 
						|
0:17        move second child to first child ( temp int)
 | 
						|
0:17          'x' ( temp int)
 | 
						|
0:17          Constant:
 | 
						|
0:17            0 (const int)
 | 
						|
0:17        Loop with condition tested first
 | 
						|
0:17          Loop Condition
 | 
						|
0:17          Compare Less Than ( temp bool)
 | 
						|
0:17            'x' ( temp int)
 | 
						|
0:17            Constant:
 | 
						|
0:17              3 (const int)
 | 
						|
0:17          Loop Body
 | 
						|
0:?           Sequence
 | 
						|
0:18            move second child to first child ( temp 4-component vector of float)
 | 
						|
0:18              pos: direct index for structure ( temp 4-component vector of float)
 | 
						|
0:18                'o' ( temp structure{ temp 4-component vector of float pos})
 | 
						|
0:18                Constant:
 | 
						|
0:18                  0 (const int)
 | 
						|
0:18              pos: direct index for structure ( temp 4-component vector of float)
 | 
						|
0:18                indirect index ( temp structure{ temp 4-component vector of float pos})
 | 
						|
0:18                  'i' ( in 3-element array of structure{ temp 4-component vector of float pos})
 | 
						|
0:18                  'x' ( temp int)
 | 
						|
0:18                Constant:
 | 
						|
0:18                  0 (const int)
 | 
						|
0:19            Sequence
 | 
						|
0:19              Sequence
 | 
						|
0:19                move second child to first child ( temp 4-component vector of float)
 | 
						|
0:?                   'ts.pos' ( out 4-component vector of float Position)
 | 
						|
0:19                  pos: direct index for structure ( temp 4-component vector of float)
 | 
						|
0:19                    'o' ( temp structure{ temp 4-component vector of float pos})
 | 
						|
0:19                    Constant:
 | 
						|
0:19                      0 (const int)
 | 
						|
0:19              EmitVertex ( temp void)
 | 
						|
0:17          Loop Terminal Expression
 | 
						|
0:17          Pre-Increment ( temp int)
 | 
						|
0:17            'x' ( temp int)
 | 
						|
0:14  Function Definition: main( ( temp void)
 | 
						|
0:14    Function Parameters: 
 | 
						|
0:?     Sequence
 | 
						|
0:14      Sequence
 | 
						|
0:14        move second child to first child ( temp 4-component vector of float)
 | 
						|
0:14          pos: direct index for structure ( temp 4-component vector of float)
 | 
						|
0:14            direct index ( temp structure{ temp 4-component vector of float pos})
 | 
						|
0:?               'i' ( temp 3-element array of structure{ temp 4-component vector of float pos})
 | 
						|
0:14              Constant:
 | 
						|
0:14                0 (const int)
 | 
						|
0:14            Constant:
 | 
						|
0:14              0 (const int)
 | 
						|
0:14          direct index ( in 4-component vector of float Position)
 | 
						|
0:?             'i.pos' ( in 3-element array of 4-component vector of float Position)
 | 
						|
0:14            Constant:
 | 
						|
0:14              0 (const int)
 | 
						|
0:14        move second child to first child ( temp 4-component vector of float)
 | 
						|
0:14          pos: direct index for structure ( temp 4-component vector of float)
 | 
						|
0:14            direct index ( temp structure{ temp 4-component vector of float pos})
 | 
						|
0:?               'i' ( temp 3-element array of structure{ temp 4-component vector of float pos})
 | 
						|
0:14              Constant:
 | 
						|
0:14                1 (const int)
 | 
						|
0:14            Constant:
 | 
						|
0:14              0 (const int)
 | 
						|
0:14          direct index ( in 4-component vector of float Position)
 | 
						|
0:?             'i.pos' ( in 3-element array of 4-component vector of float Position)
 | 
						|
0:14            Constant:
 | 
						|
0:14              1 (const int)
 | 
						|
0:14        move second child to first child ( temp 4-component vector of float)
 | 
						|
0:14          pos: direct index for structure ( temp 4-component vector of float)
 | 
						|
0:14            direct index ( temp structure{ temp 4-component vector of float pos})
 | 
						|
0:?               'i' ( temp 3-element array of structure{ temp 4-component vector of float pos})
 | 
						|
0:14              Constant:
 | 
						|
0:14                2 (const int)
 | 
						|
0:14            Constant:
 | 
						|
0:14              0 (const int)
 | 
						|
0:14          direct index ( in 4-component vector of float Position)
 | 
						|
0:?             'i.pos' ( in 3-element array of 4-component vector of float Position)
 | 
						|
0:14            Constant:
 | 
						|
0:14              2 (const int)
 | 
						|
0:14      Function Call: @main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41; ( temp void)
 | 
						|
0:?         'i' ( temp 3-element array of structure{ temp 4-component vector of float pos})
 | 
						|
0:?         'ts' ( temp structure{ temp 4-component vector of float pos})
 | 
						|
0:?   Linker Objects
 | 
						|
0:?     'i.pos' ( in 3-element array of 4-component vector of float Position)
 | 
						|
0:?     'ts.pos' ( out 4-component vector of float Position)
 | 
						|
 | 
						|
// Module Version 10000
 | 
						|
// Generated by (magic number): 80008
 | 
						|
// Id's are bound by 67
 | 
						|
 | 
						|
                              Capability Geometry
 | 
						|
               1:             ExtInstImport  "GLSL.std.450"
 | 
						|
                              MemoryModel Logical GLSL450
 | 
						|
                              EntryPoint Geometry 4  "main" 40 49
 | 
						|
                              ExecutionMode 4 Triangles
 | 
						|
                              ExecutionMode 4 Invocations 1
 | 
						|
                              ExecutionMode 4 OutputTriangleStrip
 | 
						|
                              ExecutionMode 4 OutputVertices 3
 | 
						|
                              Source HLSL 500
 | 
						|
                              Name 4  "main"
 | 
						|
                              Name 8  "PS_IN"
 | 
						|
                              MemberName 8(PS_IN) 0  "pos"
 | 
						|
                              Name 13  "GS_OUT"
 | 
						|
                              MemberName 13(GS_OUT) 0  "pos"
 | 
						|
                              Name 18  "@main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41;"
 | 
						|
                              Name 16  "i"
 | 
						|
                              Name 17  "ts"
 | 
						|
                              Name 22  "x"
 | 
						|
                              Name 33  "o"
 | 
						|
                              Name 40  "ts.pos"
 | 
						|
                              Name 46  "i"
 | 
						|
                              Name 49  "i.pos"
 | 
						|
                              Name 61  "ts"
 | 
						|
                              Name 62  "param"
 | 
						|
                              Name 64  "param"
 | 
						|
                              Decorate 40(ts.pos) BuiltIn Position
 | 
						|
                              Decorate 49(i.pos) BuiltIn Position
 | 
						|
               2:             TypeVoid
 | 
						|
               3:             TypeFunction 2
 | 
						|
               6:             TypeFloat 32
 | 
						|
               7:             TypeVector 6(float) 4
 | 
						|
        8(PS_IN):             TypeStruct 7(fvec4)
 | 
						|
               9:             TypeInt 32 0
 | 
						|
              10:      9(int) Constant 3
 | 
						|
              11:             TypeArray 8(PS_IN) 10
 | 
						|
              12:             TypePointer Function 11
 | 
						|
      13(GS_OUT):             TypeStruct 7(fvec4)
 | 
						|
              14:             TypePointer Function 13(GS_OUT)
 | 
						|
              15:             TypeFunction 2 12(ptr) 14(ptr)
 | 
						|
              20:             TypeInt 32 1
 | 
						|
              21:             TypePointer Function 20(int)
 | 
						|
              23:     20(int) Constant 0
 | 
						|
              30:     20(int) Constant 3
 | 
						|
              31:             TypeBool
 | 
						|
              35:             TypePointer Function 7(fvec4)
 | 
						|
              39:             TypePointer Output 7(fvec4)
 | 
						|
      40(ts.pos):     39(ptr) Variable Output
 | 
						|
              44:     20(int) Constant 1
 | 
						|
              47:             TypeArray 7(fvec4) 10
 | 
						|
              48:             TypePointer Input 47
 | 
						|
       49(i.pos):     48(ptr) Variable Input
 | 
						|
              50:             TypePointer Input 7(fvec4)
 | 
						|
              57:     20(int) Constant 2
 | 
						|
         4(main):           2 Function None 3
 | 
						|
               5:             Label
 | 
						|
           46(i):     12(ptr) Variable Function
 | 
						|
          61(ts):     14(ptr) Variable Function
 | 
						|
       62(param):     12(ptr) Variable Function
 | 
						|
       64(param):     14(ptr) Variable Function
 | 
						|
              51:     50(ptr) AccessChain 49(i.pos) 23
 | 
						|
              52:    7(fvec4) Load 51
 | 
						|
              53:     35(ptr) AccessChain 46(i) 23 23
 | 
						|
                              Store 53 52
 | 
						|
              54:     50(ptr) AccessChain 49(i.pos) 44
 | 
						|
              55:    7(fvec4) Load 54
 | 
						|
              56:     35(ptr) AccessChain 46(i) 44 23
 | 
						|
                              Store 56 55
 | 
						|
              58:     50(ptr) AccessChain 49(i.pos) 57
 | 
						|
              59:    7(fvec4) Load 58
 | 
						|
              60:     35(ptr) AccessChain 46(i) 57 23
 | 
						|
                              Store 60 59
 | 
						|
              63:          11 Load 46(i)
 | 
						|
                              Store 62(param) 63
 | 
						|
              65:           2 FunctionCall 18(@main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41;) 62(param) 64(param)
 | 
						|
              66:  13(GS_OUT) Load 64(param)
 | 
						|
                              Store 61(ts) 66
 | 
						|
                              Return
 | 
						|
                              FunctionEnd
 | 
						|
18(@main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41;):           2 Function None 15
 | 
						|
           16(i):     12(ptr) FunctionParameter
 | 
						|
          17(ts):     14(ptr) FunctionParameter
 | 
						|
              19:             Label
 | 
						|
           22(x):     21(ptr) Variable Function
 | 
						|
           33(o):     14(ptr) Variable Function
 | 
						|
                              Store 22(x) 23
 | 
						|
                              Branch 24
 | 
						|
              24:             Label
 | 
						|
                              LoopMerge 26 27 None
 | 
						|
                              Branch 28
 | 
						|
              28:             Label
 | 
						|
              29:     20(int) Load 22(x)
 | 
						|
              32:    31(bool) SLessThan 29 30
 | 
						|
                              BranchConditional 32 25 26
 | 
						|
              25:               Label
 | 
						|
              34:     20(int)   Load 22(x)
 | 
						|
              36:     35(ptr)   AccessChain 16(i) 34 23
 | 
						|
              37:    7(fvec4)   Load 36
 | 
						|
              38:     35(ptr)   AccessChain 33(o) 23
 | 
						|
                                Store 38 37
 | 
						|
              41:     35(ptr)   AccessChain 33(o) 23
 | 
						|
              42:    7(fvec4)   Load 41
 | 
						|
                                Store 40(ts.pos) 42
 | 
						|
                                EmitVertex
 | 
						|
                                Branch 27
 | 
						|
              27:               Label
 | 
						|
              43:     20(int)   Load 22(x)
 | 
						|
              45:     20(int)   IAdd 43 44
 | 
						|
                                Store 22(x) 45
 | 
						|
                                Branch 24
 | 
						|
              26:             Label
 | 
						|
                              Return
 | 
						|
                              FunctionEnd
 |