hlsl.gs-hs-mix.tesc Shader version: 500 vertices = 3 input primitive = triangles vertex spacing = fractional_odd_spacing triangle order = ccw 0:? Sequence 0:31 Function Definition: HSPatchConstant(struct-HSInput-vf3-vf31[3]; ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 0:31 Function Parameters: 0:31 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:? Sequence 0:32 Sequence 0:32 move second child to first child ( temp 3-component vector of float) 0:32 'roundedEdgeTessFactor' ( temp 3-component vector of float) 0:32 tess_factor: direct index for structure (layout( row_major std140) uniform 3-component vector of float) 0:32 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor}) 0:32 Constant: 0:32 6 (const uint) 0:33 Sequence 0:33 move second child to first child ( temp float) 0:33 'roundedInsideTessFactor' ( temp float) 0:33 Constant: 0:33 3.000000 0:34 Sequence 0:34 move second child to first child ( temp float) 0:34 'insideTessFactor' ( temp float) 0:34 Constant: 0:34 1.000000 0:39 move second child to first child ( temp float) 0:39 direct index ( temp float) 0:39 EdgeTessFactor: direct index for structure ( temp 3-element array of float) 0:39 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 0:39 Constant: 0:39 0 (const int) 0:39 Constant: 0:39 0 (const int) 0:39 direct index ( temp float) 0:39 'roundedEdgeTessFactor' ( temp 3-component vector of float) 0:39 Constant: 0:39 0 (const int) 0:40 move second child to first child ( temp float) 0:40 direct index ( temp float) 0:40 EdgeTessFactor: direct index for structure ( temp 3-element array of float) 0:40 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 0:40 Constant: 0:40 0 (const int) 0:40 Constant: 0:40 1 (const int) 0:40 direct index ( temp float) 0:40 'roundedEdgeTessFactor' ( temp 3-component vector of float) 0:40 Constant: 0:40 1 (const int) 0:41 move second child to first child ( temp float) 0:41 direct index ( temp float) 0:41 EdgeTessFactor: direct index for structure ( temp 3-element array of float) 0:41 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 0:41 Constant: 0:41 0 (const int) 0:41 Constant: 0:41 2 (const int) 0:41 direct index ( temp float) 0:41 'roundedEdgeTessFactor' ( temp 3-component vector of float) 0:41 Constant: 0:41 2 (const int) 0:42 move second child to first child ( temp float) 0:42 InsideTessFactor: direct index for structure ( temp float) 0:42 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 0:42 Constant: 0:42 1 (const int) 0:42 'roundedInsideTessFactor' ( temp float) 0:45 move second child to first child ( temp 3-component vector of float) 0:45 direct index ( temp 3-component vector of float) 0:45 NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float) 0:45 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 0:45 Constant: 0:45 2 (const int) 0:45 Constant: 0:45 0 (const int) 0:45 NormalWS: direct index for structure ( temp 3-component vector of float) 0:45 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:45 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:45 Constant: 0:45 0 (const int) 0:45 Constant: 0:45 1 (const int) 0:46 move second child to first child ( temp 3-component vector of float) 0:46 direct index ( temp 3-component vector of float) 0:46 NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float) 0:46 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 0:46 Constant: 0:46 2 (const int) 0:46 Constant: 0:46 1 (const int) 0:46 NormalWS: direct index for structure ( temp 3-component vector of float) 0:46 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:46 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:46 Constant: 0:46 1 (const int) 0:46 Constant: 0:46 1 (const int) 0:47 move second child to first child ( temp 3-component vector of float) 0:47 direct index ( temp 3-component vector of float) 0:47 NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float) 0:47 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 0:47 Constant: 0:47 2 (const int) 0:47 Constant: 0:47 2 (const int) 0:47 NormalWS: direct index for structure ( temp 3-component vector of float) 0:47 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:47 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:47 Constant: 0:47 2 (const int) 0:47 Constant: 0:47 1 (const int) 0:49 Branch: Return with expression 0:49 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 0:61 Function Definition: @HSMain(struct-HSInput-vf3-vf31[3];u1; ( temp structure{ temp 3-component vector of float PositionWS}) 0:61 Function Parameters: 0:61 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:61 'id' ( in uint) 0:? Sequence 0:63 move second child to first child ( temp 3-component vector of float) 0:63 PositionWS: direct index for structure ( temp 3-component vector of float) 0:63 'output' ( temp structure{ temp 3-component vector of float PositionWS}) 0:63 Constant: 0:63 0 (const int) 0:63 PositionWS: direct index for structure ( temp 3-component vector of float) 0:63 indirect index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:63 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:63 'id' ( in uint) 0:63 Constant: 0:63 0 (const int) 0:64 Branch: Return with expression 0:64 'output' ( temp structure{ temp 3-component vector of float PositionWS}) 0:61 Function Definition: HSMain( ( temp void) 0:61 Function Parameters: 0:? Sequence 0:61 move second child to first child ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:? 'patch' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:61 move second child to first child ( temp uint) 0:? 'id' ( temp uint) 0:? 'id' ( in uint InvocationID) 0:61 move second child to first child ( temp structure{ temp 3-component vector of float PositionWS}) 0:61 indirect index (layout( location=0) out structure{ temp 3-component vector of float PositionWS}) 0:? '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float PositionWS}) 0:? 'id' ( in uint InvocationID) 0:61 Function Call: @HSMain(struct-HSInput-vf3-vf31[3];u1; ( temp structure{ temp 3-component vector of float PositionWS}) 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:? 'id' ( temp uint) 0:? Barrier ( temp void) 0:? Test condition and select ( temp void) 0:? Condition 0:? Compare Equal ( temp bool) 0:? 'id' ( in uint InvocationID) 0:? Constant: 0:? 0 (const int) 0:? true case 0:? Sequence 0:? move second child to first child ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 0:? Function Call: HSPatchConstant(struct-HSInput-vf3-vf31[3]; ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:? Sequence 0:? move second child to first child ( temp float) 0:? direct index ( patch out float TessLevelOuter) 0:? '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter) 0:? Constant: 0:? 0 (const int) 0:? direct index ( temp float) 0:? EdgeTessFactor: direct index for structure ( temp 3-element array of float) 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 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.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter) 0:? Constant: 0:? 1 (const int) 0:? direct index ( temp float) 0:? EdgeTessFactor: direct index for structure ( temp 3-element array of float) 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 0:? Constant: 0:? 0 (const int) 0:? Constant: 0:? 1 (const int) 0:? move second child to first child ( temp float) 0:? direct index ( patch out float TessLevelOuter) 0:? '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter) 0:? Constant: 0:? 2 (const int) 0:? direct index ( temp float) 0:? EdgeTessFactor: direct index for structure ( temp 3-element array of float) 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 0:? Constant: 0:? 0 (const int) 0:? Constant: 0:? 2 (const int) 0:? move second child to first child ( temp float) 0:? direct index ( patch out float TessLevelInner) 0:? '@patchConstantOutput.InsideTessFactor' ( patch out 2-element array of float TessLevelInner) 0:? Constant: 0:? 0 (const int) 0:? InsideTessFactor: direct index for structure ( temp float) 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 0:? Constant: 0:? 1 (const int) 0:? move second child to first child ( temp 3-element array of 3-component vector of float) 0:? NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float) 0:? '@patchConstantOutput' (layout( location=1) patch out structure{ temp 3-element array of 3-component vector of float NormalWS}) 0:? Constant: 0:? 0 (const int) 0:? NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float) 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 0:? Constant: 0:? 2 (const int) 0:84 Function Definition: GSMain(struct-GSVertexInput-vf3-vf31[3];struct-GSVertexOutput-vf41; ( temp void) 0:84 Function Parameters: 0:84 'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:84 'output' ( out structure{ temp 4-component vector of float PositionCS}) 0:? Sequence 0:86 Sequence 0:86 move second child to first child ( temp 3-component vector of float) 0:86 'P0' ( temp 3-component vector of float) 0:86 vector swizzle ( temp 3-component vector of float) 0:86 PositionWS: direct index for structure ( temp 3-component vector of float) 0:86 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:86 'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:86 Constant: 0:86 0 (const int) 0:86 Constant: 0:86 0 (const int) 0:86 Sequence 0:86 Constant: 0:86 0 (const int) 0:86 Constant: 0:86 1 (const int) 0:86 Constant: 0:86 2 (const int) 0:87 Sequence 0:87 move second child to first child ( temp 3-component vector of float) 0:87 'P1' ( temp 3-component vector of float) 0:87 vector swizzle ( temp 3-component vector of float) 0:87 PositionWS: direct index for structure ( temp 3-component vector of float) 0:87 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:87 'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:87 Constant: 0:87 1 (const int) 0:87 Constant: 0:87 0 (const int) 0:87 Sequence 0:87 Constant: 0:87 0 (const int) 0:87 Constant: 0:87 1 (const int) 0:87 Constant: 0:87 2 (const int) 0:88 Sequence 0:88 move second child to first child ( temp 3-component vector of float) 0:88 'P2' ( temp 3-component vector of float) 0:88 vector swizzle ( temp 3-component vector of float) 0:88 PositionWS: direct index for structure ( temp 3-component vector of float) 0:88 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:88 'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:88 Constant: 0:88 2 (const int) 0:88 Constant: 0:88 0 (const int) 0:88 Sequence 0:88 Constant: 0:88 0 (const int) 0:88 Constant: 0:88 1 (const int) 0:88 Constant: 0:88 2 (const int) 0:92 add second child into first child ( temp float) 0:92 direct index ( temp float) 0:92 'P0' ( temp 3-component vector of float) 0:92 Constant: 0:92 2 (const int) 0:92 Constant: 0:92 0.001000 0:93 add second child into first child ( temp float) 0:93 direct index ( temp float) 0:93 'P1' ( temp 3-component vector of float) 0:93 Constant: 0:93 2 (const int) 0:93 Constant: 0:93 0.001000 0:94 add second child into first child ( temp float) 0:94 direct index ( temp float) 0:94 'P2' ( temp 3-component vector of float) 0:94 Constant: 0:94 2 (const int) 0:94 Constant: 0:94 0.001000 0:95 Sequence 0:95 move second child to first child ( temp 4-component vector of float) 0:95 'Q0' ( temp 4-component vector of float) 0:95 vector-times-matrix ( temp 4-component vector of float) 0:? Construct vec4 ( temp 4-component vector of float) 0:95 'P0' ( temp 3-component vector of float) 0:95 Constant: 0:95 1.000000 0:95 proj_matrix: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float) 0:95 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor}) 0:95 Constant: 0:95 1 (const uint) 0:96 Sequence 0:96 move second child to first child ( temp 4-component vector of float) 0:96 'Q1' ( temp 4-component vector of float) 0:96 vector-times-matrix ( temp 4-component vector of float) 0:? Construct vec4 ( temp 4-component vector of float) 0:96 'P1' ( temp 3-component vector of float) 0:96 Constant: 0:96 1.000000 0:96 proj_matrix: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float) 0:96 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor}) 0:96 Constant: 0:96 1 (const uint) 0:97 Sequence 0:97 move second child to first child ( temp 4-component vector of float) 0:97 'Q2' ( temp 4-component vector of float) 0:97 vector-times-matrix ( temp 4-component vector of float) 0:? Construct vec4 ( temp 4-component vector of float) 0:97 'P2' ( temp 3-component vector of float) 0:97 Constant: 0:97 1.000000 0:97 proj_matrix: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float) 0:97 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor}) 0:97 Constant: 0:97 1 (const uint) 0:100 move second child to first child ( temp 4-component vector of float) 0:100 PositionCS: direct index for structure ( temp 4-component vector of float) 0:100 'vertex' ( temp structure{ temp 4-component vector of float PositionCS}) 0:100 Constant: 0:100 0 (const int) 0:100 'Q0' ( temp 4-component vector of float) 0:101 Constant: 0:101 0.000000 0:102 move second child to first child ( temp 4-component vector of float) 0:102 PositionCS: direct index for structure ( temp 4-component vector of float) 0:102 'vertex' ( temp structure{ temp 4-component vector of float PositionCS}) 0:102 Constant: 0:102 0 (const int) 0:102 'Q1' ( temp 4-component vector of float) 0:103 Constant: 0:103 0.000000 0:104 Constant: 0:104 0.000000 0:107 move second child to first child ( temp 4-component vector of float) 0:107 PositionCS: direct index for structure ( temp 4-component vector of float) 0:107 'vertex' ( temp structure{ temp 4-component vector of float PositionCS}) 0:107 Constant: 0:107 0 (const int) 0:107 'Q1' ( temp 4-component vector of float) 0:108 Constant: 0:108 0.000000 0:109 move second child to first child ( temp 4-component vector of float) 0:109 PositionCS: direct index for structure ( temp 4-component vector of float) 0:109 'vertex' ( temp structure{ temp 4-component vector of float PositionCS}) 0:109 Constant: 0:109 0 (const int) 0:109 'Q2' ( temp 4-component vector of float) 0:110 Constant: 0:110 0.000000 0:111 Constant: 0:111 0.000000 0:114 move second child to first child ( temp 4-component vector of float) 0:114 PositionCS: direct index for structure ( temp 4-component vector of float) 0:114 'vertex' ( temp structure{ temp 4-component vector of float PositionCS}) 0:114 Constant: 0:114 0 (const int) 0:114 'Q2' ( temp 4-component vector of float) 0:115 Constant: 0:115 0.000000 0:116 move second child to first child ( temp 4-component vector of float) 0:116 PositionCS: direct index for structure ( temp 4-component vector of float) 0:116 'vertex' ( temp structure{ temp 4-component vector of float PositionCS}) 0:116 Constant: 0:116 0 (const int) 0:116 'Q0' ( temp 4-component vector of float) 0:117 Constant: 0:117 0.000000 0:118 Constant: 0:118 0.000000 0:? Linker Objects 0:? 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor}) 0:? '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float PositionWS}) 0:? 'patch' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:? 'id' ( in uint InvocationID) 0:? '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter) 0:? '@patchConstantOutput.InsideTessFactor' ( patch out 2-element array of float TessLevelInner) 0:? '@patchConstantOutput' (layout( location=1) patch out structure{ temp 3-element array of 3-component vector of float NormalWS}) Linked tessellation control stage: Shader version: 500 vertices = 3 input primitive = triangles vertex spacing = fractional_odd_spacing triangle order = ccw 0:? Sequence 0:31 Function Definition: HSPatchConstant(struct-HSInput-vf3-vf31[3]; ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 0:31 Function Parameters: 0:31 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:? Sequence 0:32 Sequence 0:32 move second child to first child ( temp 3-component vector of float) 0:32 'roundedEdgeTessFactor' ( temp 3-component vector of float) 0:32 tess_factor: direct index for structure (layout( row_major std140) uniform 3-component vector of float) 0:32 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor}) 0:32 Constant: 0:32 6 (const uint) 0:33 Sequence 0:33 move second child to first child ( temp float) 0:33 'roundedInsideTessFactor' ( temp float) 0:33 Constant: 0:33 3.000000 0:34 Sequence 0:34 move second child to first child ( temp float) 0:34 'insideTessFactor' ( temp float) 0:34 Constant: 0:34 1.000000 0:39 move second child to first child ( temp float) 0:39 direct index ( temp float) 0:39 EdgeTessFactor: direct index for structure ( temp 3-element array of float) 0:39 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 0:39 Constant: 0:39 0 (const int) 0:39 Constant: 0:39 0 (const int) 0:39 direct index ( temp float) 0:39 'roundedEdgeTessFactor' ( temp 3-component vector of float) 0:39 Constant: 0:39 0 (const int) 0:40 move second child to first child ( temp float) 0:40 direct index ( temp float) 0:40 EdgeTessFactor: direct index for structure ( temp 3-element array of float) 0:40 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 0:40 Constant: 0:40 0 (const int) 0:40 Constant: 0:40 1 (const int) 0:40 direct index ( temp float) 0:40 'roundedEdgeTessFactor' ( temp 3-component vector of float) 0:40 Constant: 0:40 1 (const int) 0:41 move second child to first child ( temp float) 0:41 direct index ( temp float) 0:41 EdgeTessFactor: direct index for structure ( temp 3-element array of float) 0:41 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 0:41 Constant: 0:41 0 (const int) 0:41 Constant: 0:41 2 (const int) 0:41 direct index ( temp float) 0:41 'roundedEdgeTessFactor' ( temp 3-component vector of float) 0:41 Constant: 0:41 2 (const int) 0:42 move second child to first child ( temp float) 0:42 InsideTessFactor: direct index for structure ( temp float) 0:42 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 0:42 Constant: 0:42 1 (const int) 0:42 'roundedInsideTessFactor' ( temp float) 0:45 move second child to first child ( temp 3-component vector of float) 0:45 direct index ( temp 3-component vector of float) 0:45 NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float) 0:45 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 0:45 Constant: 0:45 2 (const int) 0:45 Constant: 0:45 0 (const int) 0:45 NormalWS: direct index for structure ( temp 3-component vector of float) 0:45 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:45 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:45 Constant: 0:45 0 (const int) 0:45 Constant: 0:45 1 (const int) 0:46 move second child to first child ( temp 3-component vector of float) 0:46 direct index ( temp 3-component vector of float) 0:46 NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float) 0:46 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 0:46 Constant: 0:46 2 (const int) 0:46 Constant: 0:46 1 (const int) 0:46 NormalWS: direct index for structure ( temp 3-component vector of float) 0:46 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:46 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:46 Constant: 0:46 1 (const int) 0:46 Constant: 0:46 1 (const int) 0:47 move second child to first child ( temp 3-component vector of float) 0:47 direct index ( temp 3-component vector of float) 0:47 NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float) 0:47 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 0:47 Constant: 0:47 2 (const int) 0:47 Constant: 0:47 2 (const int) 0:47 NormalWS: direct index for structure ( temp 3-component vector of float) 0:47 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:47 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:47 Constant: 0:47 2 (const int) 0:47 Constant: 0:47 1 (const int) 0:49 Branch: Return with expression 0:49 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 0:61 Function Definition: @HSMain(struct-HSInput-vf3-vf31[3];u1; ( temp structure{ temp 3-component vector of float PositionWS}) 0:61 Function Parameters: 0:61 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:61 'id' ( in uint) 0:? Sequence 0:63 move second child to first child ( temp 3-component vector of float) 0:63 PositionWS: direct index for structure ( temp 3-component vector of float) 0:63 'output' ( temp structure{ temp 3-component vector of float PositionWS}) 0:63 Constant: 0:63 0 (const int) 0:63 PositionWS: direct index for structure ( temp 3-component vector of float) 0:63 indirect index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:63 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:63 'id' ( in uint) 0:63 Constant: 0:63 0 (const int) 0:64 Branch: Return with expression 0:64 'output' ( temp structure{ temp 3-component vector of float PositionWS}) 0:61 Function Definition: HSMain( ( temp void) 0:61 Function Parameters: 0:? Sequence 0:61 move second child to first child ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:? 'patch' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:61 move second child to first child ( temp uint) 0:? 'id' ( temp uint) 0:? 'id' ( in uint InvocationID) 0:61 move second child to first child ( temp structure{ temp 3-component vector of float PositionWS}) 0:61 indirect index (layout( location=0) out structure{ temp 3-component vector of float PositionWS}) 0:? '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float PositionWS}) 0:? 'id' ( in uint InvocationID) 0:61 Function Call: @HSMain(struct-HSInput-vf3-vf31[3];u1; ( temp structure{ temp 3-component vector of float PositionWS}) 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:? 'id' ( temp uint) 0:? Barrier ( temp void) 0:? Test condition and select ( temp void) 0:? Condition 0:? Compare Equal ( temp bool) 0:? 'id' ( in uint InvocationID) 0:? Constant: 0:? 0 (const int) 0:? true case 0:? Sequence 0:? move second child to first child ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 0:? Function Call: HSPatchConstant(struct-HSInput-vf3-vf31[3]; ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:? Sequence 0:? move second child to first child ( temp float) 0:? direct index ( patch out float TessLevelOuter) 0:? '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter) 0:? Constant: 0:? 0 (const int) 0:? direct index ( temp float) 0:? EdgeTessFactor: direct index for structure ( temp 3-element array of float) 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 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.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter) 0:? Constant: 0:? 1 (const int) 0:? direct index ( temp float) 0:? EdgeTessFactor: direct index for structure ( temp 3-element array of float) 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 0:? Constant: 0:? 0 (const int) 0:? Constant: 0:? 1 (const int) 0:? move second child to first child ( temp float) 0:? direct index ( patch out float TessLevelOuter) 0:? '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter) 0:? Constant: 0:? 2 (const int) 0:? direct index ( temp float) 0:? EdgeTessFactor: direct index for structure ( temp 3-element array of float) 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 0:? Constant: 0:? 0 (const int) 0:? Constant: 0:? 2 (const int) 0:? move second child to first child ( temp float) 0:? direct index ( patch out float TessLevelInner) 0:? '@patchConstantOutput.InsideTessFactor' ( patch out 2-element array of float TessLevelInner) 0:? Constant: 0:? 0 (const int) 0:? InsideTessFactor: direct index for structure ( temp float) 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 0:? Constant: 0:? 1 (const int) 0:? move second child to first child ( temp 3-element array of 3-component vector of float) 0:? NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float) 0:? '@patchConstantOutput' (layout( location=1) patch out structure{ temp 3-element array of 3-component vector of float NormalWS}) 0:? Constant: 0:? 0 (const int) 0:? NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float) 0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS}) 0:? Constant: 0:? 2 (const int) 0:84 Function Definition: GSMain(struct-GSVertexInput-vf3-vf31[3];struct-GSVertexOutput-vf41; ( temp void) 0:84 Function Parameters: 0:84 'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:84 'output' ( out structure{ temp 4-component vector of float PositionCS}) 0:? Sequence 0:86 Sequence 0:86 move second child to first child ( temp 3-component vector of float) 0:86 'P0' ( temp 3-component vector of float) 0:86 vector swizzle ( temp 3-component vector of float) 0:86 PositionWS: direct index for structure ( temp 3-component vector of float) 0:86 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:86 'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:86 Constant: 0:86 0 (const int) 0:86 Constant: 0:86 0 (const int) 0:86 Sequence 0:86 Constant: 0:86 0 (const int) 0:86 Constant: 0:86 1 (const int) 0:86 Constant: 0:86 2 (const int) 0:87 Sequence 0:87 move second child to first child ( temp 3-component vector of float) 0:87 'P1' ( temp 3-component vector of float) 0:87 vector swizzle ( temp 3-component vector of float) 0:87 PositionWS: direct index for structure ( temp 3-component vector of float) 0:87 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:87 'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:87 Constant: 0:87 1 (const int) 0:87 Constant: 0:87 0 (const int) 0:87 Sequence 0:87 Constant: 0:87 0 (const int) 0:87 Constant: 0:87 1 (const int) 0:87 Constant: 0:87 2 (const int) 0:88 Sequence 0:88 move second child to first child ( temp 3-component vector of float) 0:88 'P2' ( temp 3-component vector of float) 0:88 vector swizzle ( temp 3-component vector of float) 0:88 PositionWS: direct index for structure ( temp 3-component vector of float) 0:88 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:88 'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:88 Constant: 0:88 2 (const int) 0:88 Constant: 0:88 0 (const int) 0:88 Sequence 0:88 Constant: 0:88 0 (const int) 0:88 Constant: 0:88 1 (const int) 0:88 Constant: 0:88 2 (const int) 0:92 add second child into first child ( temp float) 0:92 direct index ( temp float) 0:92 'P0' ( temp 3-component vector of float) 0:92 Constant: 0:92 2 (const int) 0:92 Constant: 0:92 0.001000 0:93 add second child into first child ( temp float) 0:93 direct index ( temp float) 0:93 'P1' ( temp 3-component vector of float) 0:93 Constant: 0:93 2 (const int) 0:93 Constant: 0:93 0.001000 0:94 add second child into first child ( temp float) 0:94 direct index ( temp float) 0:94 'P2' ( temp 3-component vector of float) 0:94 Constant: 0:94 2 (const int) 0:94 Constant: 0:94 0.001000 0:95 Sequence 0:95 move second child to first child ( temp 4-component vector of float) 0:95 'Q0' ( temp 4-component vector of float) 0:95 vector-times-matrix ( temp 4-component vector of float) 0:? Construct vec4 ( temp 4-component vector of float) 0:95 'P0' ( temp 3-component vector of float) 0:95 Constant: 0:95 1.000000 0:95 proj_matrix: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float) 0:95 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor}) 0:95 Constant: 0:95 1 (const uint) 0:96 Sequence 0:96 move second child to first child ( temp 4-component vector of float) 0:96 'Q1' ( temp 4-component vector of float) 0:96 vector-times-matrix ( temp 4-component vector of float) 0:? Construct vec4 ( temp 4-component vector of float) 0:96 'P1' ( temp 3-component vector of float) 0:96 Constant: 0:96 1.000000 0:96 proj_matrix: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float) 0:96 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor}) 0:96 Constant: 0:96 1 (const uint) 0:97 Sequence 0:97 move second child to first child ( temp 4-component vector of float) 0:97 'Q2' ( temp 4-component vector of float) 0:97 vector-times-matrix ( temp 4-component vector of float) 0:? Construct vec4 ( temp 4-component vector of float) 0:97 'P2' ( temp 3-component vector of float) 0:97 Constant: 0:97 1.000000 0:97 proj_matrix: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float) 0:97 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor}) 0:97 Constant: 0:97 1 (const uint) 0:100 move second child to first child ( temp 4-component vector of float) 0:100 PositionCS: direct index for structure ( temp 4-component vector of float) 0:100 'vertex' ( temp structure{ temp 4-component vector of float PositionCS}) 0:100 Constant: 0:100 0 (const int) 0:100 'Q0' ( temp 4-component vector of float) 0:101 Constant: 0:101 0.000000 0:102 move second child to first child ( temp 4-component vector of float) 0:102 PositionCS: direct index for structure ( temp 4-component vector of float) 0:102 'vertex' ( temp structure{ temp 4-component vector of float PositionCS}) 0:102 Constant: 0:102 0 (const int) 0:102 'Q1' ( temp 4-component vector of float) 0:103 Constant: 0:103 0.000000 0:104 Constant: 0:104 0.000000 0:107 move second child to first child ( temp 4-component vector of float) 0:107 PositionCS: direct index for structure ( temp 4-component vector of float) 0:107 'vertex' ( temp structure{ temp 4-component vector of float PositionCS}) 0:107 Constant: 0:107 0 (const int) 0:107 'Q1' ( temp 4-component vector of float) 0:108 Constant: 0:108 0.000000 0:109 move second child to first child ( temp 4-component vector of float) 0:109 PositionCS: direct index for structure ( temp 4-component vector of float) 0:109 'vertex' ( temp structure{ temp 4-component vector of float PositionCS}) 0:109 Constant: 0:109 0 (const int) 0:109 'Q2' ( temp 4-component vector of float) 0:110 Constant: 0:110 0.000000 0:111 Constant: 0:111 0.000000 0:114 move second child to first child ( temp 4-component vector of float) 0:114 PositionCS: direct index for structure ( temp 4-component vector of float) 0:114 'vertex' ( temp structure{ temp 4-component vector of float PositionCS}) 0:114 Constant: 0:114 0 (const int) 0:114 'Q2' ( temp 4-component vector of float) 0:115 Constant: 0:115 0.000000 0:116 move second child to first child ( temp 4-component vector of float) 0:116 PositionCS: direct index for structure ( temp 4-component vector of float) 0:116 'vertex' ( temp structure{ temp 4-component vector of float PositionCS}) 0:116 Constant: 0:116 0 (const int) 0:116 'Q0' ( temp 4-component vector of float) 0:117 Constant: 0:117 0.000000 0:118 Constant: 0:118 0.000000 0:? Linker Objects 0:? 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor}) 0:? '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float PositionWS}) 0:? 'patch' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS}) 0:? 'id' ( in uint InvocationID) 0:? '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter) 0:? '@patchConstantOutput.InsideTessFactor' ( patch out 2-element array of float TessLevelInner) 0:? '@patchConstantOutput' (layout( location=1) patch out structure{ temp 3-element array of 3-component vector of float NormalWS}) // Module Version 10000 // Generated by (magic number): 80007 // Id's are bound by 216 Capability Tessellation 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint TessellationControl 4 "HSMain" 97 101 105 126 139 145 ExecutionMode 4 OutputVertices 3 ExecutionMode 4 Triangles ExecutionMode 4 SpacingFractionalOdd ExecutionMode 4 VertexOrderCcw Source HLSL 500 Name 4 "HSMain" Name 8 "HSInput" MemberName 8(HSInput) 0 "PositionWS" MemberName 8(HSInput) 1 "NormalWS" Name 15 "HSTrianglePatchConstant" MemberName 15(HSTrianglePatchConstant) 0 "EdgeTessFactor" MemberName 15(HSTrianglePatchConstant) 1 "InsideTessFactor" MemberName 15(HSTrianglePatchConstant) 2 "NormalWS" Name 18 "HSPatchConstant(struct-HSInput-vf3-vf31[3];" Name 17 "patch" Name 21 "HSOutput" MemberName 21(HSOutput) 0 "PositionWS" Name 25 "@HSMain(struct-HSInput-vf3-vf31[3];u1;" Name 23 "patch" Name 24 "id" Name 27 "GSVertexInput" MemberName 27(GSVertexInput) 0 "PositionWS" MemberName 27(GSVertexInput) 1 "NormalWS" Name 31 "GSVertexOutput" MemberName 31(GSVertexOutput) 0 "PositionCS" Name 36 "GSMain(struct-GSVertexInput-vf3-vf31[3];struct-GSVertexOutput-vf41;" Name 34 "input" Name 35 "output" Name 39 "roundedEdgeTessFactor" Name 42 "UniformBlock0" MemberName 42(UniformBlock0) 0 "model_view_matrix" MemberName 42(UniformBlock0) 1 "proj_matrix" MemberName 42(UniformBlock0) 2 "model_view_proj_matrix" MemberName 42(UniformBlock0) 3 "normal_matrix" MemberName 42(UniformBlock0) 4 "color" MemberName 42(UniformBlock0) 5 "view_dir" MemberName 42(UniformBlock0) 6 "tess_factor" Name 44 "" Name 51 "roundedInsideTessFactor" Name 53 "insideTessFactor" Name 56 "result" Name 87 "output" Name 95 "patch" Name 97 "patch" Name 99 "id" Name 101 "id" Name 105 "@entryPointOutput" Name 107 "param" Name 109 "param" Name 120 "@patchConstantResult" Name 121 "param" Name 126 "@patchConstantOutput.EdgeTessFactor" Name 139 "@patchConstantOutput.InsideTessFactor" Name 143 "HSTrianglePatchConstant" MemberName 143(HSTrianglePatchConstant) 0 "NormalWS" Name 145 "@patchConstantOutput" Name 151 "P0" Name 154 "P1" Name 157 "P2" Name 174 "Q0" Name 184 "Q1" Name 193 "Q2" Name 202 "vertex" MemberDecorate 42(UniformBlock0) 0 RowMajor MemberDecorate 42(UniformBlock0) 0 Offset 0 MemberDecorate 42(UniformBlock0) 0 MatrixStride 16 MemberDecorate 42(UniformBlock0) 1 RowMajor MemberDecorate 42(UniformBlock0) 1 Offset 64 MemberDecorate 42(UniformBlock0) 1 MatrixStride 16 MemberDecorate 42(UniformBlock0) 2 RowMajor MemberDecorate 42(UniformBlock0) 2 Offset 128 MemberDecorate 42(UniformBlock0) 2 MatrixStride 16 MemberDecorate 42(UniformBlock0) 3 RowMajor MemberDecorate 42(UniformBlock0) 3 Offset 192 MemberDecorate 42(UniformBlock0) 3 MatrixStride 16 MemberDecorate 42(UniformBlock0) 4 Offset 240 MemberDecorate 42(UniformBlock0) 5 Offset 256 MemberDecorate 42(UniformBlock0) 6 Offset 272 Decorate 42(UniformBlock0) Block Decorate 44 DescriptorSet 0 Decorate 44 Binding 0 Decorate 97(patch) Location 0 Decorate 101(id) BuiltIn InvocationId Decorate 105(@entryPointOutput) Location 0 Decorate 126(@patchConstantOutput.EdgeTessFactor) Patch Decorate 126(@patchConstantOutput.EdgeTessFactor) BuiltIn TessLevelOuter Decorate 139(@patchConstantOutput.InsideTessFactor) Patch Decorate 139(@patchConstantOutput.InsideTessFactor) BuiltIn TessLevelInner MemberDecorate 143(HSTrianglePatchConstant) 0 Patch Decorate 145(@patchConstantOutput) Patch Decorate 145(@patchConstantOutput) Location 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 3 8(HSInput): TypeStruct 7(fvec3) 7(fvec3) 9: TypeInt 32 0 10: 9(int) Constant 3 11: TypeArray 8(HSInput) 10 12: TypePointer Function 11 13: TypeArray 6(float) 10 14: TypeArray 7(fvec3) 10 15(HSTrianglePatchConstant): TypeStruct 13 6(float) 14 16: TypeFunction 15(HSTrianglePatchConstant) 12(ptr) 20: TypePointer Function 9(int) 21(HSOutput): TypeStruct 7(fvec3) 22: TypeFunction 21(HSOutput) 12(ptr) 20(ptr) 27(GSVertexInput): TypeStruct 7(fvec3) 7(fvec3) 28: TypeArray 27(GSVertexInput) 10 29: TypePointer Function 28 30: TypeVector 6(float) 4 31(GSVertexOutput): TypeStruct 30(fvec4) 32: TypePointer Function 31(GSVertexOutput) 33: TypeFunction 2 29(ptr) 32(ptr) 38: TypePointer Function 7(fvec3) 40: TypeMatrix 30(fvec4) 4 41: TypeMatrix 7(fvec3) 3 42(UniformBlock0): TypeStruct 40 40 40 41 7(fvec3) 7(fvec3) 7(fvec3) 43: TypePointer Uniform 42(UniformBlock0) 44: 43(ptr) Variable Uniform 45: TypeInt 32 1 46: 45(int) Constant 6 47: TypePointer Uniform 7(fvec3) 50: TypePointer Function 6(float) 52: 6(float) Constant 1077936128 54: 6(float) Constant 1065353216 55: TypePointer Function 15(HSTrianglePatchConstant) 57: 45(int) Constant 0 58: 9(int) Constant 0 62: 45(int) Constant 1 63: 9(int) Constant 1 67: 45(int) Constant 2 68: 9(int) Constant 2 86: TypePointer Function 21(HSOutput) 96: TypePointer Input 11 97(patch): 96(ptr) Variable Input 100: TypePointer Input 9(int) 101(id): 100(ptr) Variable Input 103: TypeArray 21(HSOutput) 10 104: TypePointer Output 103 105(@entryPointOutput): 104(ptr) Variable Output 112: TypePointer Output 21(HSOutput) 114: 9(int) Constant 4 116: TypeBool 124: TypeArray 6(float) 114 125: TypePointer Output 124 126(@patchConstantOutput.EdgeTessFactor): 125(ptr) Variable Output 129: TypePointer Output 6(float) 137: TypeArray 6(float) 68 138: TypePointer Output 137 139(@patchConstantOutput.InsideTessFactor): 138(ptr) Variable Output 143(HSTrianglePatchConstant): TypeStruct 14 144: TypePointer Output 143(HSTrianglePatchConstant) 145(@patchConstantOutput): 144(ptr) Variable Output 146: TypePointer Function 14 149: TypePointer Output 14 160: 6(float) Constant 981668463 173: TypePointer Function 30(fvec4) 180: TypePointer Uniform 40 205: 6(float) Constant 0 4(HSMain): 2 Function None 3 5: Label 95(patch): 12(ptr) Variable Function 99(id): 20(ptr) Variable Function 107(param): 12(ptr) Variable Function 109(param): 20(ptr) Variable Function 120(@patchConstantResult): 55(ptr) Variable Function 121(param): 12(ptr) Variable Function 98: 11 Load 97(patch) Store 95(patch) 98 102: 9(int) Load 101(id) Store 99(id) 102 106: 9(int) Load 101(id) 108: 11 Load 95(patch) Store 107(param) 108 110: 9(int) Load 99(id) Store 109(param) 110 111:21(HSOutput) FunctionCall 25(@HSMain(struct-HSInput-vf3-vf31[3];u1;) 107(param) 109(param) 113: 112(ptr) AccessChain 105(@entryPointOutput) 106 Store 113 111 ControlBarrier 68 114 58 115: 9(int) Load 101(id) 117: 116(bool) IEqual 115 57 SelectionMerge 119 None BranchConditional 117 118 119 118: Label 122: 11 Load 95(patch) Store 121(param) 122 123:15(HSTrianglePatchConstant) FunctionCall 18(HSPatchConstant(struct-HSInput-vf3-vf31[3];) 121(param) Store 120(@patchConstantResult) 123 127: 50(ptr) AccessChain 120(@patchConstantResult) 57 57 128: 6(float) Load 127 130: 129(ptr) AccessChain 126(@patchConstantOutput.EdgeTessFactor) 57 Store 130 128 131: 50(ptr) AccessChain 120(@patchConstantResult) 57 62 132: 6(float) Load 131 133: 129(ptr) AccessChain 126(@patchConstantOutput.EdgeTessFactor) 62 Store 133 132 134: 50(ptr) AccessChain 120(@patchConstantResult) 57 67 135: 6(float) Load 134 136: 129(ptr) AccessChain 126(@patchConstantOutput.EdgeTessFactor) 67 Store 136 135 140: 50(ptr) AccessChain 120(@patchConstantResult) 62 141: 6(float) Load 140 142: 129(ptr) AccessChain 139(@patchConstantOutput.InsideTessFactor) 57 Store 142 141 147: 146(ptr) AccessChain 120(@patchConstantResult) 67 148: 14 Load 147 150: 149(ptr) AccessChain 145(@patchConstantOutput) 57 Store 150 148 Branch 119 119: Label Return FunctionEnd 18(HSPatchConstant(struct-HSInput-vf3-vf31[3];):15(HSTrianglePatchConstant) Function None 16 17(patch): 12(ptr) FunctionParameter 19: Label 39(roundedEdgeTessFactor): 38(ptr) Variable Function 51(roundedInsideTessFactor): 50(ptr) Variable Function 53(insideTessFactor): 50(ptr) Variable Function 56(result): 55(ptr) Variable Function 48: 47(ptr) AccessChain 44 46 49: 7(fvec3) Load 48 Store 39(roundedEdgeTessFactor) 49 Store 51(roundedInsideTessFactor) 52 Store 53(insideTessFactor) 54 59: 50(ptr) AccessChain 39(roundedEdgeTessFactor) 58 60: 6(float) Load 59 61: 50(ptr) AccessChain 56(result) 57 57 Store 61 60 64: 50(ptr) AccessChain 39(roundedEdgeTessFactor) 63 65: 6(float) Load 64 66: 50(ptr) AccessChain 56(result) 57 62 Store 66 65 69: 50(ptr) AccessChain 39(roundedEdgeTessFactor) 68 70: 6(float) Load 69 71: 50(ptr) AccessChain 56(result) 57 67 Store 71 70 72: 6(float) Load 51(roundedInsideTessFactor) 73: 50(ptr) AccessChain 56(result) 62 Store 73 72 74: 38(ptr) AccessChain 17(patch) 57 62 75: 7(fvec3) Load 74 76: 38(ptr) AccessChain 56(result) 67 57 Store 76 75 77: 38(ptr) AccessChain 17(patch) 62 62 78: 7(fvec3) Load 77 79: 38(ptr) AccessChain 56(result) 67 62 Store 79 78 80: 38(ptr) AccessChain 17(patch) 67 62 81: 7(fvec3) Load 80 82: 38(ptr) AccessChain 56(result) 67 67 Store 82 81 83:15(HSTrianglePatchConstant) Load 56(result) ReturnValue 83 FunctionEnd 25(@HSMain(struct-HSInput-vf3-vf31[3];u1;):21(HSOutput) Function None 22 23(patch): 12(ptr) FunctionParameter 24(id): 20(ptr) FunctionParameter 26: Label 87(output): 86(ptr) Variable Function 88: 9(int) Load 24(id) 89: 38(ptr) AccessChain 23(patch) 88 57 90: 7(fvec3) Load 89 91: 38(ptr) AccessChain 87(output) 57 Store 91 90 92:21(HSOutput) Load 87(output) ReturnValue 92 FunctionEnd 36(GSMain(struct-GSVertexInput-vf3-vf31[3];struct-GSVertexOutput-vf41;): 2 Function None 33 34(input): 29(ptr) FunctionParameter 35(output): 32(ptr) FunctionParameter 37: Label 151(P0): 38(ptr) Variable Function 154(P1): 38(ptr) Variable Function 157(P2): 38(ptr) Variable Function 174(Q0): 173(ptr) Variable Function 184(Q1): 173(ptr) Variable Function 193(Q2): 173(ptr) Variable Function 202(vertex): 32(ptr) Variable Function 152: 38(ptr) AccessChain 34(input) 57 57 153: 7(fvec3) Load 152 Store 151(P0) 153 155: 38(ptr) AccessChain 34(input) 62 57 156: 7(fvec3) Load 155 Store 154(P1) 156 158: 38(ptr) AccessChain 34(input) 67 57 159: 7(fvec3) Load 158 Store 157(P2) 159 161: 50(ptr) AccessChain 151(P0) 68 162: 6(float) Load 161 163: 6(float) FAdd 162 160 164: 50(ptr) AccessChain 151(P0) 68 Store 164 163 165: 50(ptr) AccessChain 154(P1) 68 166: 6(float) Load 165 167: 6(float) FAdd 166 160 168: 50(ptr) AccessChain 154(P1) 68 Store 168 167 169: 50(ptr) AccessChain 157(P2) 68 170: 6(float) Load 169 171: 6(float) FAdd 170 160 172: 50(ptr) AccessChain 157(P2) 68 Store 172 171 175: 7(fvec3) Load 151(P0) 176: 6(float) CompositeExtract 175 0 177: 6(float) CompositeExtract 175 1 178: 6(float) CompositeExtract 175 2 179: 30(fvec4) CompositeConstruct 176 177 178 54 181: 180(ptr) AccessChain 44 62 182: 40 Load 181 183: 30(fvec4) VectorTimesMatrix 179 182 Store 174(Q0) 183 185: 7(fvec3) Load 154(P1) 186: 6(float) CompositeExtract 185 0 187: 6(float) CompositeExtract 185 1 188: 6(float) CompositeExtract 185 2 189: 30(fvec4) CompositeConstruct 186 187 188 54 190: 180(ptr) AccessChain 44 62 191: 40 Load 190 192: 30(fvec4) VectorTimesMatrix 189 191 Store 184(Q1) 192 194: 7(fvec3) Load 157(P2) 195: 6(float) CompositeExtract 194 0 196: 6(float) CompositeExtract 194 1 197: 6(float) CompositeExtract 194 2 198: 30(fvec4) CompositeConstruct 195 196 197 54 199: 180(ptr) AccessChain 44 62 200: 40 Load 199 201: 30(fvec4) VectorTimesMatrix 198 200 Store 193(Q2) 201 203: 30(fvec4) Load 174(Q0) 204: 173(ptr) AccessChain 202(vertex) 57 Store 204 203 206: 30(fvec4) Load 184(Q1) 207: 173(ptr) AccessChain 202(vertex) 57 Store 207 206 208: 30(fvec4) Load 184(Q1) 209: 173(ptr) AccessChain 202(vertex) 57 Store 209 208 210: 30(fvec4) Load 193(Q2) 211: 173(ptr) AccessChain 202(vertex) 57 Store 211 210 212: 30(fvec4) Load 193(Q2) 213: 173(ptr) AccessChain 202(vertex) 57 Store 213 212 214: 30(fvec4) Load 174(Q0) 215: 173(ptr) AccessChain 202(vertex) 57 Store 215 214 Return FunctionEnd