| 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 |