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): 80005
 | |
| // 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
 | 
