373 lines
		
	
	
		
			19 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			373 lines
		
	
	
		
			19 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| hlsl.hull.2.tesc
 | |
| Shader version: 500
 | |
| vertices = 4
 | |
| vertex spacing = equal_spacing
 | |
| 0:? Sequence
 | |
| 0:26  Function Definition: @main(struct-VS_OUT-vf31[4]; ( temp structure{ temp 3-component vector of float cpoint})
 | |
| 0:26    Function Parameters: 
 | |
| 0:26      'ip' ( in 4-element array of structure{ temp 3-component vector of float cpoint})
 | |
| 0:?     Sequence
 | |
| 0:28      move second child to first child ( temp 3-component vector of float)
 | |
| 0:28        cpoint: direct index for structure ( temp 3-component vector of float)
 | |
| 0:28          'output' ( temp structure{ temp 3-component vector of float cpoint})
 | |
| 0:28          Constant:
 | |
| 0:28            0 (const int)
 | |
| 0:28        cpoint: direct index for structure ( temp 3-component vector of float)
 | |
| 0:28          direct index ( temp structure{ temp 3-component vector of float cpoint})
 | |
| 0:28            'ip' ( in 4-element array of structure{ temp 3-component vector of float cpoint})
 | |
| 0:28            Constant:
 | |
| 0:28              0 (const int)
 | |
| 0:28          Constant:
 | |
| 0:28            0 (const int)
 | |
| 0:29      Branch: Return with expression
 | |
| 0:29        'output' ( temp structure{ temp 3-component vector of float cpoint})
 | |
| 0:26  Function Definition: main( ( temp void)
 | |
| 0:26    Function Parameters: 
 | |
| 0:?     Sequence
 | |
| 0:26      move second child to first child ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
 | |
| 0:?         'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
 | |
| 0:?         'ip' (layout( location=0) in 4-element array of structure{ temp 3-component vector of float cpoint})
 | |
| 0:26      move second child to first child ( temp structure{ temp 3-component vector of float cpoint})
 | |
| 0:26        indirect index (layout( location=0) out structure{ temp 3-component vector of float cpoint})
 | |
| 0:?           '@entryPointOutput' (layout( location=0) out 4-element array of structure{ temp 3-component vector of float cpoint})
 | |
| 0:?           'InvocationId' ( in uint InvocationID)
 | |
| 0:26        Function Call: @main(struct-VS_OUT-vf31[4]; ( temp structure{ temp 3-component vector of float cpoint})
 | |
| 0:?           'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
 | |
| 0:?       Barrier ( temp void)
 | |
| 0:?       Test condition and select ( temp void)
 | |
| 0:?         Condition
 | |
| 0:?         Compare Equal ( temp bool)
 | |
| 0:?           'InvocationId' ( in uint InvocationID)
 | |
| 0:?           Constant:
 | |
| 0:?             0 (const int)
 | |
| 0:?         true case
 | |
| 0:?         Sequence
 | |
| 0:?           move second child to first child ( temp structure{ temp 2-element array of float edges})
 | |
| 0:?             '@patchConstantResult' ( temp structure{ temp 2-element array of float edges})
 | |
| 0:?             Function Call: PCF(u1;vf4; ( temp structure{ temp 2-element array of float edges})
 | |
| 0:?               'pid' ( in uint PrimitiveID)
 | |
| 0:?               'pos' ( in 4-component vector of float Position)
 | |
| 0:?           Sequence
 | |
| 0:?             move second child to first child ( temp float)
 | |
| 0:?               direct index ( patch out float TessLevelOuter)
 | |
| 0:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
 | |
| 0:?                 Constant:
 | |
| 0:?                   0 (const int)
 | |
| 0:?               direct index ( temp float)
 | |
| 0:?                 edges: direct index for structure ( temp 2-element array of float)
 | |
| 0:?                   '@patchConstantResult' ( temp structure{ temp 2-element array of float edges})
 | |
| 0:?                   Constant:
 | |
| 0:?                     0 (const int)
 | |
| 0:?                 Constant:
 | |
| 0:?                   0 (const int)
 | |
| 0:?             move second child to first child ( temp float)
 | |
| 0:?               direct index ( patch out float TessLevelOuter)
 | |
| 0:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
 | |
| 0:?                 Constant:
 | |
| 0:?                   1 (const int)
 | |
| 0:?               direct index ( temp float)
 | |
| 0:?                 edges: direct index for structure ( temp 2-element array of float)
 | |
| 0:?                   '@patchConstantResult' ( temp structure{ temp 2-element array of float edges})
 | |
| 0:?                   Constant:
 | |
| 0:?                     0 (const int)
 | |
| 0:?                 Constant:
 | |
| 0:?                   1 (const int)
 | |
| 0:33  Function Definition: PCF(u1;vf4; ( temp structure{ temp 2-element array of float edges})
 | |
| 0:33    Function Parameters: 
 | |
| 0:33      'pid' ( in uint)
 | |
| 0:33      'pos' ( in 4-component vector of float)
 | |
| 0:?     Sequence
 | |
| 0:36      move second child to first child ( temp float)
 | |
| 0:36        direct index ( temp float)
 | |
| 0:36          edges: direct index for structure ( temp 2-element array of float)
 | |
| 0:36            'output' ( temp structure{ temp 2-element array of float edges})
 | |
| 0:36            Constant:
 | |
| 0:36              0 (const int)
 | |
| 0:36          Constant:
 | |
| 0:36            0 (const int)
 | |
| 0:36        Constant:
 | |
| 0:36          2.000000
 | |
| 0:37      move second child to first child ( temp float)
 | |
| 0:37        direct index ( temp float)
 | |
| 0:37          edges: direct index for structure ( temp 2-element array of float)
 | |
| 0:37            'output' ( temp structure{ temp 2-element array of float edges})
 | |
| 0:37            Constant:
 | |
| 0:37              0 (const int)
 | |
| 0:37          Constant:
 | |
| 0:37            1 (const int)
 | |
| 0:37        Constant:
 | |
| 0:37          8.000000
 | |
| 0:38      Branch: Return with expression
 | |
| 0:38        'output' ( temp structure{ temp 2-element array of float edges})
 | |
| 0:?   Linker Objects
 | |
| 0:?     '@entryPointOutput' (layout( location=0) out 4-element array of structure{ temp 3-component vector of float cpoint})
 | |
| 0:?     'ip' (layout( location=0) in 4-element array of structure{ temp 3-component vector of float cpoint})
 | |
| 0:?     'InvocationId' ( in uint InvocationID)
 | |
| 0:?     'pid' ( in uint PrimitiveID)
 | |
| 0:?     'pos' ( in 4-component vector of float Position)
 | |
| 0:?     '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
 | |
| 
 | |
| 
 | |
| Linked tessellation control stage:
 | |
| 
 | |
| 
 | |
| Shader version: 500
 | |
| vertices = 4
 | |
| vertex spacing = equal_spacing
 | |
| 0:? Sequence
 | |
| 0:26  Function Definition: @main(struct-VS_OUT-vf31[4]; ( temp structure{ temp 3-component vector of float cpoint})
 | |
| 0:26    Function Parameters: 
 | |
| 0:26      'ip' ( in 4-element array of structure{ temp 3-component vector of float cpoint})
 | |
| 0:?     Sequence
 | |
| 0:28      move second child to first child ( temp 3-component vector of float)
 | |
| 0:28        cpoint: direct index for structure ( temp 3-component vector of float)
 | |
| 0:28          'output' ( temp structure{ temp 3-component vector of float cpoint})
 | |
| 0:28          Constant:
 | |
| 0:28            0 (const int)
 | |
| 0:28        cpoint: direct index for structure ( temp 3-component vector of float)
 | |
| 0:28          direct index ( temp structure{ temp 3-component vector of float cpoint})
 | |
| 0:28            'ip' ( in 4-element array of structure{ temp 3-component vector of float cpoint})
 | |
| 0:28            Constant:
 | |
| 0:28              0 (const int)
 | |
| 0:28          Constant:
 | |
| 0:28            0 (const int)
 | |
| 0:29      Branch: Return with expression
 | |
| 0:29        'output' ( temp structure{ temp 3-component vector of float cpoint})
 | |
| 0:26  Function Definition: main( ( temp void)
 | |
| 0:26    Function Parameters: 
 | |
| 0:?     Sequence
 | |
| 0:26      move second child to first child ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
 | |
| 0:?         'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
 | |
| 0:?         'ip' (layout( location=0) in 4-element array of structure{ temp 3-component vector of float cpoint})
 | |
| 0:26      move second child to first child ( temp structure{ temp 3-component vector of float cpoint})
 | |
| 0:26        indirect index (layout( location=0) out structure{ temp 3-component vector of float cpoint})
 | |
| 0:?           '@entryPointOutput' (layout( location=0) out 4-element array of structure{ temp 3-component vector of float cpoint})
 | |
| 0:?           'InvocationId' ( in uint InvocationID)
 | |
| 0:26        Function Call: @main(struct-VS_OUT-vf31[4]; ( temp structure{ temp 3-component vector of float cpoint})
 | |
| 0:?           'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
 | |
| 0:?       Barrier ( temp void)
 | |
| 0:?       Test condition and select ( temp void)
 | |
| 0:?         Condition
 | |
| 0:?         Compare Equal ( temp bool)
 | |
| 0:?           'InvocationId' ( in uint InvocationID)
 | |
| 0:?           Constant:
 | |
| 0:?             0 (const int)
 | |
| 0:?         true case
 | |
| 0:?         Sequence
 | |
| 0:?           move second child to first child ( temp structure{ temp 2-element array of float edges})
 | |
| 0:?             '@patchConstantResult' ( temp structure{ temp 2-element array of float edges})
 | |
| 0:?             Function Call: PCF(u1;vf4; ( temp structure{ temp 2-element array of float edges})
 | |
| 0:?               'pid' ( in uint PrimitiveID)
 | |
| 0:?               'pos' ( in 4-component vector of float Position)
 | |
| 0:?           Sequence
 | |
| 0:?             move second child to first child ( temp float)
 | |
| 0:?               direct index ( patch out float TessLevelOuter)
 | |
| 0:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
 | |
| 0:?                 Constant:
 | |
| 0:?                   0 (const int)
 | |
| 0:?               direct index ( temp float)
 | |
| 0:?                 edges: direct index for structure ( temp 2-element array of float)
 | |
| 0:?                   '@patchConstantResult' ( temp structure{ temp 2-element array of float edges})
 | |
| 0:?                   Constant:
 | |
| 0:?                     0 (const int)
 | |
| 0:?                 Constant:
 | |
| 0:?                   0 (const int)
 | |
| 0:?             move second child to first child ( temp float)
 | |
| 0:?               direct index ( patch out float TessLevelOuter)
 | |
| 0:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
 | |
| 0:?                 Constant:
 | |
| 0:?                   1 (const int)
 | |
| 0:?               direct index ( temp float)
 | |
| 0:?                 edges: direct index for structure ( temp 2-element array of float)
 | |
| 0:?                   '@patchConstantResult' ( temp structure{ temp 2-element array of float edges})
 | |
| 0:?                   Constant:
 | |
| 0:?                     0 (const int)
 | |
| 0:?                 Constant:
 | |
| 0:?                   1 (const int)
 | |
| 0:33  Function Definition: PCF(u1;vf4; ( temp structure{ temp 2-element array of float edges})
 | |
| 0:33    Function Parameters: 
 | |
| 0:33      'pid' ( in uint)
 | |
| 0:33      'pos' ( in 4-component vector of float)
 | |
| 0:?     Sequence
 | |
| 0:36      move second child to first child ( temp float)
 | |
| 0:36        direct index ( temp float)
 | |
| 0:36          edges: direct index for structure ( temp 2-element array of float)
 | |
| 0:36            'output' ( temp structure{ temp 2-element array of float edges})
 | |
| 0:36            Constant:
 | |
| 0:36              0 (const int)
 | |
| 0:36          Constant:
 | |
| 0:36            0 (const int)
 | |
| 0:36        Constant:
 | |
| 0:36          2.000000
 | |
| 0:37      move second child to first child ( temp float)
 | |
| 0:37        direct index ( temp float)
 | |
| 0:37          edges: direct index for structure ( temp 2-element array of float)
 | |
| 0:37            'output' ( temp structure{ temp 2-element array of float edges})
 | |
| 0:37            Constant:
 | |
| 0:37              0 (const int)
 | |
| 0:37          Constant:
 | |
| 0:37            1 (const int)
 | |
| 0:37        Constant:
 | |
| 0:37          8.000000
 | |
| 0:38      Branch: Return with expression
 | |
| 0:38        'output' ( temp structure{ temp 2-element array of float edges})
 | |
| 0:?   Linker Objects
 | |
| 0:?     '@entryPointOutput' (layout( location=0) out 4-element array of structure{ temp 3-component vector of float cpoint})
 | |
| 0:?     'ip' (layout( location=0) in 4-element array of structure{ temp 3-component vector of float cpoint})
 | |
| 0:?     'InvocationId' ( in uint InvocationID)
 | |
| 0:?     'pid' ( in uint PrimitiveID)
 | |
| 0:?     'pos' ( in 4-component vector of float Position)
 | |
| 0:?     '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
 | |
| 
 | |
| // Module Version 10000
 | |
| // Generated by (magic number): 80002
 | |
| // Id's are bound by 92
 | |
| 
 | |
|                               Capability Tessellation
 | |
|                1:             ExtInstImport  "GLSL.std.450"
 | |
|                               MemoryModel Logical GLSL450
 | |
|                               EntryPoint TessellationControl 4  "main" 42 46 48 64 66 74
 | |
|                               ExecutionMode 4 OutputVertices 4
 | |
|                               ExecutionMode 4 Isolines
 | |
|                               ExecutionMode 4 SpacingEqual
 | |
|                               Source HLSL 500
 | |
|                               Name 4  "main"
 | |
|                               Name 8  "VS_OUT"
 | |
|                               MemberName 8(VS_OUT) 0  "cpoint"
 | |
|                               Name 13  "HS_OUT"
 | |
|                               MemberName 13(HS_OUT) 0  "cpoint"
 | |
|                               Name 16  "@main(struct-VS_OUT-vf31[4];"
 | |
|                               Name 15  "ip"
 | |
|                               Name 23  "HS_CONSTANT_OUT"
 | |
|                               MemberName 23(HS_CONSTANT_OUT) 0  "edges"
 | |
|                               Name 27  "PCF(u1;vf4;"
 | |
|                               Name 25  "pid"
 | |
|                               Name 26  "pos"
 | |
|                               Name 30  "output"
 | |
|                               Name 40  "ip"
 | |
|                               Name 42  "ip"
 | |
|                               Name 46  "@entryPointOutput"
 | |
|                               Name 48  "InvocationId"
 | |
|                               Name 50  "param"
 | |
|                               Name 63  "@patchConstantResult"
 | |
|                               Name 64  "pid"
 | |
|                               Name 66  "pos"
 | |
|                               Name 67  "param"
 | |
|                               Name 69  "param"
 | |
|                               Name 74  "@patchConstantOutput.edges"
 | |
|                               Name 84  "output"
 | |
|                               Decorate 42(ip) Location 0
 | |
|                               Decorate 46(@entryPointOutput) Location 0
 | |
|                               Decorate 48(InvocationId) BuiltIn InvocationId
 | |
|                               Decorate 64(pid) BuiltIn PrimitiveId
 | |
|                               Decorate 66(pos) BuiltIn Position
 | |
|                               Decorate 74(@patchConstantOutput.edges) Patch
 | |
|                               Decorate 74(@patchConstantOutput.edges) BuiltIn TessLevelOuter
 | |
|                2:             TypeVoid
 | |
|                3:             TypeFunction 2
 | |
|                6:             TypeFloat 32
 | |
|                7:             TypeVector 6(float) 3
 | |
|        8(VS_OUT):             TypeStruct 7(fvec3)
 | |
|                9:             TypeInt 32 0
 | |
|               10:      9(int) Constant 4
 | |
|               11:             TypeArray 8(VS_OUT) 10
 | |
|               12:             TypePointer Function 11
 | |
|       13(HS_OUT):             TypeStruct 7(fvec3)
 | |
|               14:             TypeFunction 13(HS_OUT) 12(ptr)
 | |
|               18:             TypePointer Function 9(int)
 | |
|               19:             TypeVector 6(float) 4
 | |
|               20:             TypePointer Function 19(fvec4)
 | |
|               21:      9(int) Constant 2
 | |
|               22:             TypeArray 6(float) 21
 | |
| 23(HS_CONSTANT_OUT):             TypeStruct 22
 | |
|               24:             TypeFunction 23(HS_CONSTANT_OUT) 18(ptr) 20(ptr)
 | |
|               29:             TypePointer Function 13(HS_OUT)
 | |
|               31:             TypeInt 32 1
 | |
|               32:     31(int) Constant 0
 | |
|               33:             TypePointer Function 7(fvec3)
 | |
|               41:             TypePointer Input 11
 | |
|           42(ip):     41(ptr) Variable Input
 | |
|               44:             TypeArray 13(HS_OUT) 10
 | |
|               45:             TypePointer Output 44
 | |
| 46(@entryPointOutput):     45(ptr) Variable Output
 | |
|               47:             TypePointer Input 9(int)
 | |
| 48(InvocationId):     47(ptr) Variable Input
 | |
|               53:             TypePointer Output 13(HS_OUT)
 | |
|               55:      9(int) Constant 1
 | |
|               56:      9(int) Constant 0
 | |
|               58:             TypeBool
 | |
|               62:             TypePointer Function 23(HS_CONSTANT_OUT)
 | |
|          64(pid):     47(ptr) Variable Input
 | |
|               65:             TypePointer Input 19(fvec4)
 | |
|          66(pos):     65(ptr) Variable Input
 | |
|               72:             TypeArray 6(float) 10
 | |
|               73:             TypePointer Output 72
 | |
| 74(@patchConstantOutput.edges):     73(ptr) Variable Output
 | |
|               75:             TypePointer Function 6(float)
 | |
|               78:             TypePointer Output 6(float)
 | |
|               80:     31(int) Constant 1
 | |
|               85:    6(float) Constant 1073741824
 | |
|               87:    6(float) Constant 1090519040
 | |
|          4(main):           2 Function None 3
 | |
|                5:             Label
 | |
|           40(ip):     12(ptr) Variable Function
 | |
|        50(param):     12(ptr) Variable Function
 | |
| 63(@patchConstantResult):     62(ptr) Variable Function
 | |
|        67(param):     18(ptr) Variable Function
 | |
|        69(param):     20(ptr) Variable Function
 | |
|               43:          11 Load 42(ip)
 | |
|                               Store 40(ip) 43
 | |
|               49:      9(int) Load 48(InvocationId)
 | |
|               51:          11 Load 40(ip)
 | |
|                               Store 50(param) 51
 | |
|               52:  13(HS_OUT) FunctionCall 16(@main(struct-VS_OUT-vf31[4];) 50(param)
 | |
|               54:     53(ptr) AccessChain 46(@entryPointOutput) 49
 | |
|                               Store 54 52
 | |
|                               ControlBarrier 21 55 56
 | |
|               57:      9(int) Load 48(InvocationId)
 | |
|               59:    58(bool) IEqual 57 32
 | |
|                               SelectionMerge 61 None
 | |
|                               BranchConditional 59 60 61
 | |
|               60:               Label
 | |
|               68:      9(int)   Load 64(pid)
 | |
|                                 Store 67(param) 68
 | |
|               70:   19(fvec4)   Load 66(pos)
 | |
|                                 Store 69(param) 70
 | |
|               71:23(HS_CONSTANT_OUT)   FunctionCall 27(PCF(u1;vf4;) 67(param) 69(param)
 | |
|                                 Store 63(@patchConstantResult) 71
 | |
|               76:     75(ptr)   AccessChain 63(@patchConstantResult) 32 32
 | |
|               77:    6(float)   Load 76
 | |
|               79:     78(ptr)   AccessChain 74(@patchConstantOutput.edges) 32
 | |
|                                 Store 79 77
 | |
|               81:     75(ptr)   AccessChain 63(@patchConstantResult) 32 80
 | |
|               82:    6(float)   Load 81
 | |
|               83:     78(ptr)   AccessChain 74(@patchConstantOutput.edges) 80
 | |
|                                 Store 83 82
 | |
|                                 Branch 61
 | |
|               61:             Label
 | |
|                               Return
 | |
|                               FunctionEnd
 | |
| 16(@main(struct-VS_OUT-vf31[4];):  13(HS_OUT) Function None 14
 | |
|           15(ip):     12(ptr) FunctionParameter
 | |
|               17:             Label
 | |
|       30(output):     29(ptr) Variable Function
 | |
|               34:     33(ptr) AccessChain 15(ip) 32 32
 | |
|               35:    7(fvec3) Load 34
 | |
|               36:     33(ptr) AccessChain 30(output) 32
 | |
|                               Store 36 35
 | |
|               37:  13(HS_OUT) Load 30(output)
 | |
|                               ReturnValue 37
 | |
|                               FunctionEnd
 | |
|  27(PCF(u1;vf4;):23(HS_CONSTANT_OUT) Function None 24
 | |
|          25(pid):     18(ptr) FunctionParameter
 | |
|          26(pos):     20(ptr) FunctionParameter
 | |
|               28:             Label
 | |
|       84(output):     62(ptr) Variable Function
 | |
|               86:     75(ptr) AccessChain 84(output) 32 32
 | |
|                               Store 86 85
 | |
|               88:     75(ptr) AccessChain 84(output) 32 80
 | |
|                               Store 88 87
 | |
|               89:23(HS_CONSTANT_OUT) Load 84(output)
 | |
|                               ReturnValue 89
 | |
|                               FunctionEnd
 | 
