hlsl.hull.3.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 Sequence 0:26 move second child to first child ( temp 3-component vector of float) 0:26 cpoint: direct index for structure ( temp 3-component vector of float) 0:26 direct index ( 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:26 Constant: 0:26 0 (const int) 0:26 Constant: 0:26 0 (const int) 0:26 direct index (layout( location=0) in 3-component vector of float) 0:? 'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float) 0:26 Constant: 0:26 0 (const int) 0:26 move second child to first child ( temp 3-component vector of float) 0:26 cpoint: direct index for structure ( temp 3-component vector of float) 0:26 direct index ( 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:26 Constant: 0:26 1 (const int) 0:26 Constant: 0:26 0 (const int) 0:26 direct index (layout( location=0) in 3-component vector of float) 0:? 'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float) 0:26 Constant: 0:26 1 (const int) 0:26 move second child to first child ( temp 3-component vector of float) 0:26 cpoint: direct index for structure ( temp 3-component vector of float) 0:26 direct index ( 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:26 Constant: 0:26 2 (const int) 0:26 Constant: 0:26 0 (const int) 0:26 direct index (layout( location=0) in 3-component vector of float) 0:? 'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float) 0:26 Constant: 0:26 2 (const int) 0:26 move second child to first child ( temp 3-component vector of float) 0:26 cpoint: direct index for structure ( temp 3-component vector of float) 0:26 direct index ( 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:26 Constant: 0:26 3 (const int) 0:26 Constant: 0:26 0 (const int) 0:26 direct index (layout( location=0) in 3-component vector of float) 0:? 'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float) 0:26 Constant: 0:26 3 (const int) 0:26 Sequence 0:26 move second child to first child ( temp 3-component vector of float) 0:26 indirect index (layout( location=0) out 3-component vector of float) 0:? '@entryPointOutput.cpoint' (layout( location=0) out 4-element array of 3-component vector of float) 0:? 'InvocationId' ( in uint InvocationID) 0:26 cpoint: direct index for structure ( temp 3-component vector of float) 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:26 Constant: 0:26 0 (const int) 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.cpoint' (layout( location=0) out 4-element array of 3-component vector of float) 0:? 'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float) 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 Sequence 0:26 move second child to first child ( temp 3-component vector of float) 0:26 cpoint: direct index for structure ( temp 3-component vector of float) 0:26 direct index ( 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:26 Constant: 0:26 0 (const int) 0:26 Constant: 0:26 0 (const int) 0:26 direct index (layout( location=0) in 3-component vector of float) 0:? 'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float) 0:26 Constant: 0:26 0 (const int) 0:26 move second child to first child ( temp 3-component vector of float) 0:26 cpoint: direct index for structure ( temp 3-component vector of float) 0:26 direct index ( 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:26 Constant: 0:26 1 (const int) 0:26 Constant: 0:26 0 (const int) 0:26 direct index (layout( location=0) in 3-component vector of float) 0:? 'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float) 0:26 Constant: 0:26 1 (const int) 0:26 move second child to first child ( temp 3-component vector of float) 0:26 cpoint: direct index for structure ( temp 3-component vector of float) 0:26 direct index ( 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:26 Constant: 0:26 2 (const int) 0:26 Constant: 0:26 0 (const int) 0:26 direct index (layout( location=0) in 3-component vector of float) 0:? 'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float) 0:26 Constant: 0:26 2 (const int) 0:26 move second child to first child ( temp 3-component vector of float) 0:26 cpoint: direct index for structure ( temp 3-component vector of float) 0:26 direct index ( 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:26 Constant: 0:26 3 (const int) 0:26 Constant: 0:26 0 (const int) 0:26 direct index (layout( location=0) in 3-component vector of float) 0:? 'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float) 0:26 Constant: 0:26 3 (const int) 0:26 Sequence 0:26 move second child to first child ( temp 3-component vector of float) 0:26 indirect index (layout( location=0) out 3-component vector of float) 0:? '@entryPointOutput.cpoint' (layout( location=0) out 4-element array of 3-component vector of float) 0:? 'InvocationId' ( in uint InvocationID) 0:26 cpoint: direct index for structure ( temp 3-component vector of float) 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:26 Constant: 0:26 0 (const int) 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.cpoint' (layout( location=0) out 4-element array of 3-component vector of float) 0:? 'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float) 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): 8000b // Id's are bound by 106 Capability Tessellation 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint TessellationControl 4 "main" 43 61 63 79 81 89 ExecutionMode 4 OutputVertices 4 ExecutionMode 4 Triangles ExecutionMode 4 SpacingEqual ExecutionMode 4 PointMode 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 43 "ip.cpoint" Name 61 "@entryPointOutput.cpoint" Name 63 "InvocationId" Name 65 "param" Name 78 "@patchConstantResult" Name 79 "pid" Name 81 "pos" Name 82 "param" Name 84 "param" Name 89 "@patchConstantOutput.edges" Name 98 "output" Decorate 43(ip.cpoint) Location 0 Decorate 61(@entryPointOutput.cpoint) Location 0 Decorate 63(InvocationId) BuiltIn InvocationId Decorate 79(pid) BuiltIn PrimitiveId Decorate 81(pos) BuiltIn Position Decorate 89(@patchConstantOutput.edges) Patch Decorate 89(@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: TypeArray 7(fvec3) 10 42: TypePointer Input 41 43(ip.cpoint): 42(ptr) Variable Input 44: TypePointer Input 7(fvec3) 48: 31(int) Constant 1 52: 31(int) Constant 2 56: 31(int) Constant 3 60: TypePointer Output 41 61(@entryPointOutput.cpoint): 60(ptr) Variable Output 62: TypePointer Input 9(int) 63(InvocationId): 62(ptr) Variable Input 69: TypePointer Output 7(fvec3) 71: 9(int) Constant 0 73: TypeBool 77: TypePointer Function 23(HS_CONSTANT_OUT) 79(pid): 62(ptr) Variable Input 80: TypePointer Input 19(fvec4) 81(pos): 80(ptr) Variable Input 87: TypeArray 6(float) 10 88: TypePointer Output 87 89(@patchConstantOutput.edges): 88(ptr) Variable Output 90: TypePointer Function 6(float) 93: TypePointer Output 6(float) 99: 6(float) Constant 1073741824 101: 6(float) Constant 1090519040 4(main): 2 Function None 3 5: Label 40(ip): 12(ptr) Variable Function 65(param): 12(ptr) Variable Function 78(@patchConstantResult): 77(ptr) Variable Function 82(param): 18(ptr) Variable Function 84(param): 20(ptr) Variable Function 45: 44(ptr) AccessChain 43(ip.cpoint) 32 46: 7(fvec3) Load 45 47: 33(ptr) AccessChain 40(ip) 32 32 Store 47 46 49: 44(ptr) AccessChain 43(ip.cpoint) 48 50: 7(fvec3) Load 49 51: 33(ptr) AccessChain 40(ip) 48 32 Store 51 50 53: 44(ptr) AccessChain 43(ip.cpoint) 52 54: 7(fvec3) Load 53 55: 33(ptr) AccessChain 40(ip) 52 32 Store 55 54 57: 44(ptr) AccessChain 43(ip.cpoint) 56 58: 7(fvec3) Load 57 59: 33(ptr) AccessChain 40(ip) 56 32 Store 59 58 64: 9(int) Load 63(InvocationId) 66: 11 Load 40(ip) Store 65(param) 66 67: 13(HS_OUT) FunctionCall 16(@main(struct-VS_OUT-vf31[4];) 65(param) 68: 7(fvec3) CompositeExtract 67 0 70: 69(ptr) AccessChain 61(@entryPointOutput.cpoint) 64 Store 70 68 ControlBarrier 21 10 71 72: 9(int) Load 63(InvocationId) 74: 73(bool) IEqual 72 32 SelectionMerge 76 None BranchConditional 74 75 76 75: Label 83: 9(int) Load 79(pid) Store 82(param) 83 85: 19(fvec4) Load 81(pos) Store 84(param) 85 86:23(HS_CONSTANT_OUT) FunctionCall 27(PCF(u1;vf4;) 82(param) 84(param) Store 78(@patchConstantResult) 86 91: 90(ptr) AccessChain 78(@patchConstantResult) 32 32 92: 6(float) Load 91 94: 93(ptr) AccessChain 89(@patchConstantOutput.edges) 32 Store 94 92 95: 90(ptr) AccessChain 78(@patchConstantResult) 32 48 96: 6(float) Load 95 97: 93(ptr) AccessChain 89(@patchConstantOutput.edges) 48 Store 97 96 Branch 76 76: 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 98(output): 77(ptr) Variable Function 100: 90(ptr) AccessChain 98(output) 32 32 Store 100 99 102: 90(ptr) AccessChain 98(output) 32 48 Store 102 101 103:23(HS_CONSTANT_OUT) Load 98(output) ReturnValue 103 FunctionEnd