blob: 92153c53ab2468cc3e871b8dbe403c505a13d266 [file] [log] [blame]
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): 80002
// 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 119 "@patchConstantResult"
Name 120 "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)
115: TypeBool
123: 9(int) Constant 4
124: TypeArray 6(float) 123
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
119(@patchConstantResult): 55(ptr) Variable Function
120(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 63 58
114: 9(int) Load 101(id)
116: 115(bool) IEqual 114 57
SelectionMerge 118 None
BranchConditional 116 117 118
117: Label
121: 11 Load 95(patch)
Store 120(param) 121
122:15(HSTrianglePatchConstant) FunctionCall 18(HSPatchConstant(struct-HSInput-vf3-vf31[3];) 120(param)
Store 119(@patchConstantResult) 122
127: 50(ptr) AccessChain 119(@patchConstantResult) 57 57
128: 6(float) Load 127
130: 129(ptr) AccessChain 126(@patchConstantOutput.EdgeTessFactor) 57
Store 130 128
131: 50(ptr) AccessChain 119(@patchConstantResult) 57 62
132: 6(float) Load 131
133: 129(ptr) AccessChain 126(@patchConstantOutput.EdgeTessFactor) 62
Store 133 132
134: 50(ptr) AccessChain 119(@patchConstantResult) 57 67
135: 6(float) Load 134
136: 129(ptr) AccessChain 126(@patchConstantOutput.EdgeTessFactor) 67
Store 136 135
140: 50(ptr) AccessChain 119(@patchConstantResult) 62
141: 6(float) Load 140
142: 129(ptr) AccessChain 139(@patchConstantOutput.InsideTessFactor) 57
Store 142 141
147: 146(ptr) AccessChain 119(@patchConstantResult) 67
148: 14 Load 147
150: 149(ptr) AccessChain 145(@patchConstantOutput) 57
Store 150 148
Branch 118
118: 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