374 lines
		
	
	
		
			19 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			374 lines
		
	
	
		
			19 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
hlsl.hull.1.tesc
 | 
						|
Shader version: 500
 | 
						|
vertices = 4
 | 
						|
vertex spacing = equal_spacing
 | 
						|
0:? Sequence
 | 
						|
0:26  Function Definition: @main(struct-VS_OUT-vf31[4];u1; ( 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:26      'm_cpid' ( in uint)
 | 
						|
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 uint)
 | 
						|
0:?         'm_cpid' ( temp uint)
 | 
						|
0:?         'm_cpid' ( in uint InvocationID)
 | 
						|
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:?           'm_cpid' ( in uint InvocationID)
 | 
						|
0:26        Function Call: @main(struct-VS_OUT-vf31[4];u1; ( 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:?           'm_cpid' ( temp uint)
 | 
						|
0:?       Barrier ( temp void)
 | 
						|
0:?       Test condition and select ( temp void)
 | 
						|
0:?         Condition
 | 
						|
0:?         Compare Equal ( temp bool)
 | 
						|
0:?           'm_cpid' ( 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; ( temp structure{ temp 2-element array of float edges})
 | 
						|
0:?               'pid' ( in uint PrimitiveID)
 | 
						|
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; ( temp structure{ temp 2-element array of float edges})
 | 
						|
0:33    Function Parameters: 
 | 
						|
0:33      'pid' ( in uint)
 | 
						|
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:?     'm_cpid' ( in uint InvocationID)
 | 
						|
0:?     'pid' ( in uint PrimitiveID)
 | 
						|
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];u1; ( 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:26      'm_cpid' ( in uint)
 | 
						|
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 uint)
 | 
						|
0:?         'm_cpid' ( temp uint)
 | 
						|
0:?         'm_cpid' ( in uint InvocationID)
 | 
						|
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:?           'm_cpid' ( in uint InvocationID)
 | 
						|
0:26        Function Call: @main(struct-VS_OUT-vf31[4];u1; ( 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:?           'm_cpid' ( temp uint)
 | 
						|
0:?       Barrier ( temp void)
 | 
						|
0:?       Test condition and select ( temp void)
 | 
						|
0:?         Condition
 | 
						|
0:?         Compare Equal ( temp bool)
 | 
						|
0:?           'm_cpid' ( 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; ( temp structure{ temp 2-element array of float edges})
 | 
						|
0:?               'pid' ( in uint PrimitiveID)
 | 
						|
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; ( temp structure{ temp 2-element array of float edges})
 | 
						|
0:33    Function Parameters: 
 | 
						|
0:33      'pid' ( in uint)
 | 
						|
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:?     'm_cpid' ( in uint InvocationID)
 | 
						|
0:?     'pid' ( in uint PrimitiveID)
 | 
						|
0:?     '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
 | 
						|
 | 
						|
// Module Version 10000
 | 
						|
// Generated by (magic number): 80007
 | 
						|
// Id's are bound by 89
 | 
						|
 | 
						|
                              Capability Tessellation
 | 
						|
               1:             ExtInstImport  "GLSL.std.450"
 | 
						|
                              MemoryModel Logical GLSL450
 | 
						|
                              EntryPoint TessellationControl 4  "main" 40 44 48 65 71
 | 
						|
                              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 14  "HS_OUT"
 | 
						|
                              MemberName 14(HS_OUT) 0  "cpoint"
 | 
						|
                              Name 18  "@main(struct-VS_OUT-vf31[4];u1;"
 | 
						|
                              Name 16  "ip"
 | 
						|
                              Name 17  "m_cpid"
 | 
						|
                              Name 22  "HS_CONSTANT_OUT"
 | 
						|
                              MemberName 22(HS_CONSTANT_OUT) 0  "edges"
 | 
						|
                              Name 25  "PCF(u1;"
 | 
						|
                              Name 24  "pid"
 | 
						|
                              Name 28  "output"
 | 
						|
                              Name 38  "ip"
 | 
						|
                              Name 40  "ip"
 | 
						|
                              Name 42  "m_cpid"
 | 
						|
                              Name 44  "m_cpid"
 | 
						|
                              Name 48  "@entryPointOutput"
 | 
						|
                              Name 50  "param"
 | 
						|
                              Name 52  "param"
 | 
						|
                              Name 64  "@patchConstantResult"
 | 
						|
                              Name 65  "pid"
 | 
						|
                              Name 66  "param"
 | 
						|
                              Name 71  "@patchConstantOutput.edges"
 | 
						|
                              Name 81  "output"
 | 
						|
                              Decorate 40(ip) Location 0
 | 
						|
                              Decorate 44(m_cpid) BuiltIn InvocationId
 | 
						|
                              Decorate 48(@entryPointOutput) Location 0
 | 
						|
                              Decorate 65(pid) BuiltIn PrimitiveId
 | 
						|
                              Decorate 71(@patchConstantOutput.edges) Patch
 | 
						|
                              Decorate 71(@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:             TypePointer Function 9(int)
 | 
						|
      14(HS_OUT):             TypeStruct 7(fvec3)
 | 
						|
              15:             TypeFunction 14(HS_OUT) 12(ptr) 13(ptr)
 | 
						|
              20:      9(int) Constant 2
 | 
						|
              21:             TypeArray 6(float) 20
 | 
						|
22(HS_CONSTANT_OUT):             TypeStruct 21
 | 
						|
              23:             TypeFunction 22(HS_CONSTANT_OUT) 13(ptr)
 | 
						|
              27:             TypePointer Function 14(HS_OUT)
 | 
						|
              29:             TypeInt 32 1
 | 
						|
              30:     29(int) Constant 0
 | 
						|
              31:             TypePointer Function 7(fvec3)
 | 
						|
              39:             TypePointer Input 11
 | 
						|
          40(ip):     39(ptr) Variable Input
 | 
						|
              43:             TypePointer Input 9(int)
 | 
						|
      44(m_cpid):     43(ptr) Variable Input
 | 
						|
              46:             TypeArray 14(HS_OUT) 10
 | 
						|
              47:             TypePointer Output 46
 | 
						|
48(@entryPointOutput):     47(ptr) Variable Output
 | 
						|
              55:             TypePointer Output 14(HS_OUT)
 | 
						|
              57:      9(int) Constant 0
 | 
						|
              59:             TypeBool
 | 
						|
              63:             TypePointer Function 22(HS_CONSTANT_OUT)
 | 
						|
         65(pid):     43(ptr) Variable Input
 | 
						|
              69:             TypeArray 6(float) 10
 | 
						|
              70:             TypePointer Output 69
 | 
						|
71(@patchConstantOutput.edges):     70(ptr) Variable Output
 | 
						|
              72:             TypePointer Function 6(float)
 | 
						|
              75:             TypePointer Output 6(float)
 | 
						|
              77:     29(int) Constant 1
 | 
						|
              82:    6(float) Constant 1073741824
 | 
						|
              84:    6(float) Constant 1090519040
 | 
						|
         4(main):           2 Function None 3
 | 
						|
               5:             Label
 | 
						|
          38(ip):     12(ptr) Variable Function
 | 
						|
      42(m_cpid):     13(ptr) Variable Function
 | 
						|
       50(param):     12(ptr) Variable Function
 | 
						|
       52(param):     13(ptr) Variable Function
 | 
						|
64(@patchConstantResult):     63(ptr) Variable Function
 | 
						|
       66(param):     13(ptr) Variable Function
 | 
						|
              41:          11 Load 40(ip)
 | 
						|
                              Store 38(ip) 41
 | 
						|
              45:      9(int) Load 44(m_cpid)
 | 
						|
                              Store 42(m_cpid) 45
 | 
						|
              49:      9(int) Load 44(m_cpid)
 | 
						|
              51:          11 Load 38(ip)
 | 
						|
                              Store 50(param) 51
 | 
						|
              53:      9(int) Load 42(m_cpid)
 | 
						|
                              Store 52(param) 53
 | 
						|
              54:  14(HS_OUT) FunctionCall 18(@main(struct-VS_OUT-vf31[4];u1;) 50(param) 52(param)
 | 
						|
              56:     55(ptr) AccessChain 48(@entryPointOutput) 49
 | 
						|
                              Store 56 54
 | 
						|
                              ControlBarrier 20 10 57
 | 
						|
              58:      9(int) Load 44(m_cpid)
 | 
						|
              60:    59(bool) IEqual 58 30
 | 
						|
                              SelectionMerge 62 None
 | 
						|
                              BranchConditional 60 61 62
 | 
						|
              61:               Label
 | 
						|
              67:      9(int)   Load 65(pid)
 | 
						|
                                Store 66(param) 67
 | 
						|
              68:22(HS_CONSTANT_OUT)   FunctionCall 25(PCF(u1;) 66(param)
 | 
						|
                                Store 64(@patchConstantResult) 68
 | 
						|
              73:     72(ptr)   AccessChain 64(@patchConstantResult) 30 30
 | 
						|
              74:    6(float)   Load 73
 | 
						|
              76:     75(ptr)   AccessChain 71(@patchConstantOutput.edges) 30
 | 
						|
                                Store 76 74
 | 
						|
              78:     72(ptr)   AccessChain 64(@patchConstantResult) 30 77
 | 
						|
              79:    6(float)   Load 78
 | 
						|
              80:     75(ptr)   AccessChain 71(@patchConstantOutput.edges) 77
 | 
						|
                                Store 80 79
 | 
						|
                                Branch 62
 | 
						|
              62:             Label
 | 
						|
                              Return
 | 
						|
                              FunctionEnd
 | 
						|
18(@main(struct-VS_OUT-vf31[4];u1;):  14(HS_OUT) Function None 15
 | 
						|
          16(ip):     12(ptr) FunctionParameter
 | 
						|
      17(m_cpid):     13(ptr) FunctionParameter
 | 
						|
              19:             Label
 | 
						|
      28(output):     27(ptr) Variable Function
 | 
						|
              32:     31(ptr) AccessChain 16(ip) 30 30
 | 
						|
              33:    7(fvec3) Load 32
 | 
						|
              34:     31(ptr) AccessChain 28(output) 30
 | 
						|
                              Store 34 33
 | 
						|
              35:  14(HS_OUT) Load 28(output)
 | 
						|
                              ReturnValue 35
 | 
						|
                              FunctionEnd
 | 
						|
     25(PCF(u1;):22(HS_CONSTANT_OUT) Function None 23
 | 
						|
         24(pid):     13(ptr) FunctionParameter
 | 
						|
              26:             Label
 | 
						|
      81(output):     63(ptr) Variable Function
 | 
						|
              83:     72(ptr) AccessChain 81(output) 30 30
 | 
						|
                              Store 83 82
 | 
						|
              85:     72(ptr) AccessChain 81(output) 30 77
 | 
						|
                              Store 85 84
 | 
						|
              86:22(HS_CONSTANT_OUT) Load 81(output)
 | 
						|
                              ReturnValue 86
 | 
						|
                              FunctionEnd
 |