| hlsl.gs-hs-mix.tesc |
| Shader version: 500 |
| vertices = 3 |
| 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 Sequence |
| 0:61 move second child to first child ( temp 3-component vector of float) |
| 0:61 PositionWS: direct index for structure ( temp 3-component vector of float) |
| 0:61 direct index ( temp 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:61 Constant: |
| 0:61 0 (const int) |
| 0:61 Constant: |
| 0:61 0 (const int) |
| 0:61 direct index (layout( location=0) in 3-component vector of float) |
| 0:? 'patch.PositionWS' (layout( location=0) in 3-element array of 3-component vector of float) |
| 0:61 Constant: |
| 0:61 0 (const int) |
| 0:61 move second child to first child ( temp 3-component vector of float) |
| 0:61 NormalWS: direct index for structure ( temp 3-component vector of float) |
| 0:61 direct index ( temp 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:61 Constant: |
| 0:61 0 (const int) |
| 0:61 Constant: |
| 0:61 1 (const int) |
| 0:61 direct index (layout( location=1) in 3-component vector of float) |
| 0:? 'patch.NormalWS' (layout( location=1) in 3-element array of 3-component vector of float) |
| 0:61 Constant: |
| 0:61 0 (const int) |
| 0:61 move second child to first child ( temp 3-component vector of float) |
| 0:61 PositionWS: direct index for structure ( temp 3-component vector of float) |
| 0:61 direct index ( temp 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:61 Constant: |
| 0:61 1 (const int) |
| 0:61 Constant: |
| 0:61 0 (const int) |
| 0:61 direct index (layout( location=0) in 3-component vector of float) |
| 0:? 'patch.PositionWS' (layout( location=0) in 3-element array of 3-component vector of float) |
| 0:61 Constant: |
| 0:61 1 (const int) |
| 0:61 move second child to first child ( temp 3-component vector of float) |
| 0:61 NormalWS: direct index for structure ( temp 3-component vector of float) |
| 0:61 direct index ( temp 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:61 Constant: |
| 0:61 1 (const int) |
| 0:61 Constant: |
| 0:61 1 (const int) |
| 0:61 direct index (layout( location=1) in 3-component vector of float) |
| 0:? 'patch.NormalWS' (layout( location=1) in 3-element array of 3-component vector of float) |
| 0:61 Constant: |
| 0:61 1 (const int) |
| 0:61 move second child to first child ( temp 3-component vector of float) |
| 0:61 PositionWS: direct index for structure ( temp 3-component vector of float) |
| 0:61 direct index ( temp 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:61 Constant: |
| 0:61 2 (const int) |
| 0:61 Constant: |
| 0:61 0 (const int) |
| 0:61 direct index (layout( location=0) in 3-component vector of float) |
| 0:? 'patch.PositionWS' (layout( location=0) in 3-element array of 3-component vector of float) |
| 0:61 Constant: |
| 0:61 2 (const int) |
| 0:61 move second child to first child ( temp 3-component vector of float) |
| 0:61 NormalWS: direct index for structure ( temp 3-component vector of float) |
| 0:61 direct index ( temp 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:61 Constant: |
| 0:61 2 (const int) |
| 0:61 Constant: |
| 0:61 1 (const int) |
| 0:61 direct index (layout( location=1) in 3-component vector of float) |
| 0:? 'patch.NormalWS' (layout( location=1) in 3-element array of 3-component vector of float) |
| 0:61 Constant: |
| 0:61 2 (const int) |
| 0:61 move second child to first child ( temp uint) |
| 0:? 'id' ( temp uint) |
| 0:? 'id' ( in uint InvocationID) |
| 0:61 Sequence |
| 0:61 move second child to first child ( temp 3-component vector of float) |
| 0:61 indirect index (layout( location=0) out 3-component vector of float) |
| 0:? '@entryPointOutput.PositionWS' (layout( location=0) out 3-element array of 3-component vector of float) |
| 0:? 'id' ( in uint InvocationID) |
| 0:61 PositionWS: direct index for structure ( temp 3-component vector of float) |
| 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:61 Constant: |
| 0:61 0 (const int) |
| 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-component vector of float) |
| 0:? '@patchConstantOutput.NormalWS[0]' (layout( location=1) patch out 3-component vector of float) |
| 0:? direct index ( temp 3-component vector of float) |
| 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:? Constant: |
| 0:? 0 (const int) |
| 0:? move second child to first child ( temp 3-component vector of float) |
| 0:? '@patchConstantOutput.NormalWS[1]' (layout( location=2) patch out 3-component vector of float) |
| 0:? direct index ( temp 3-component vector of float) |
| 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:? Constant: |
| 0:? 1 (const int) |
| 0:? move second child to first child ( temp 3-component vector of float) |
| 0:? '@patchConstantOutput.NormalWS[2]' (layout( location=3) patch out 3-component vector of float) |
| 0:? direct index ( temp 3-component vector of float) |
| 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:? 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:95 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:96 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:97 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.PositionWS' (layout( location=0) out 3-element array of 3-component vector of float) |
| 0:? 'patch.PositionWS' (layout( location=0) in 3-element array of 3-component vector of float) |
| 0:? 'patch.NormalWS' (layout( location=1) in 3-element array of 3-component vector of float) |
| 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.NormalWS[0]' (layout( location=1) patch out 3-component vector of float) |
| 0:? '@patchConstantOutput.NormalWS[1]' (layout( location=2) patch out 3-component vector of float) |
| 0:? '@patchConstantOutput.NormalWS[2]' (layout( location=3) patch out 3-component vector of float) |
| |
| |
| Linked tessellation control stage: |
| |
| |
| Shader version: 500 |
| vertices = 3 |
| 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 Sequence |
| 0:61 move second child to first child ( temp 3-component vector of float) |
| 0:61 PositionWS: direct index for structure ( temp 3-component vector of float) |
| 0:61 direct index ( temp 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:61 Constant: |
| 0:61 0 (const int) |
| 0:61 Constant: |
| 0:61 0 (const int) |
| 0:61 direct index (layout( location=0) in 3-component vector of float) |
| 0:? 'patch.PositionWS' (layout( location=0) in 3-element array of 3-component vector of float) |
| 0:61 Constant: |
| 0:61 0 (const int) |
| 0:61 move second child to first child ( temp 3-component vector of float) |
| 0:61 NormalWS: direct index for structure ( temp 3-component vector of float) |
| 0:61 direct index ( temp 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:61 Constant: |
| 0:61 0 (const int) |
| 0:61 Constant: |
| 0:61 1 (const int) |
| 0:61 direct index (layout( location=1) in 3-component vector of float) |
| 0:? 'patch.NormalWS' (layout( location=1) in 3-element array of 3-component vector of float) |
| 0:61 Constant: |
| 0:61 0 (const int) |
| 0:61 move second child to first child ( temp 3-component vector of float) |
| 0:61 PositionWS: direct index for structure ( temp 3-component vector of float) |
| 0:61 direct index ( temp 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:61 Constant: |
| 0:61 1 (const int) |
| 0:61 Constant: |
| 0:61 0 (const int) |
| 0:61 direct index (layout( location=0) in 3-component vector of float) |
| 0:? 'patch.PositionWS' (layout( location=0) in 3-element array of 3-component vector of float) |
| 0:61 Constant: |
| 0:61 1 (const int) |
| 0:61 move second child to first child ( temp 3-component vector of float) |
| 0:61 NormalWS: direct index for structure ( temp 3-component vector of float) |
| 0:61 direct index ( temp 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:61 Constant: |
| 0:61 1 (const int) |
| 0:61 Constant: |
| 0:61 1 (const int) |
| 0:61 direct index (layout( location=1) in 3-component vector of float) |
| 0:? 'patch.NormalWS' (layout( location=1) in 3-element array of 3-component vector of float) |
| 0:61 Constant: |
| 0:61 1 (const int) |
| 0:61 move second child to first child ( temp 3-component vector of float) |
| 0:61 PositionWS: direct index for structure ( temp 3-component vector of float) |
| 0:61 direct index ( temp 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:61 Constant: |
| 0:61 2 (const int) |
| 0:61 Constant: |
| 0:61 0 (const int) |
| 0:61 direct index (layout( location=0) in 3-component vector of float) |
| 0:? 'patch.PositionWS' (layout( location=0) in 3-element array of 3-component vector of float) |
| 0:61 Constant: |
| 0:61 2 (const int) |
| 0:61 move second child to first child ( temp 3-component vector of float) |
| 0:61 NormalWS: direct index for structure ( temp 3-component vector of float) |
| 0:61 direct index ( temp 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:61 Constant: |
| 0:61 2 (const int) |
| 0:61 Constant: |
| 0:61 1 (const int) |
| 0:61 direct index (layout( location=1) in 3-component vector of float) |
| 0:? 'patch.NormalWS' (layout( location=1) in 3-element array of 3-component vector of float) |
| 0:61 Constant: |
| 0:61 2 (const int) |
| 0:61 move second child to first child ( temp uint) |
| 0:? 'id' ( temp uint) |
| 0:? 'id' ( in uint InvocationID) |
| 0:61 Sequence |
| 0:61 move second child to first child ( temp 3-component vector of float) |
| 0:61 indirect index (layout( location=0) out 3-component vector of float) |
| 0:? '@entryPointOutput.PositionWS' (layout( location=0) out 3-element array of 3-component vector of float) |
| 0:? 'id' ( in uint InvocationID) |
| 0:61 PositionWS: direct index for structure ( temp 3-component vector of float) |
| 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:61 Constant: |
| 0:61 0 (const int) |
| 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-component vector of float) |
| 0:? '@patchConstantOutput.NormalWS[0]' (layout( location=1) patch out 3-component vector of float) |
| 0:? direct index ( temp 3-component vector of float) |
| 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:? Constant: |
| 0:? 0 (const int) |
| 0:? move second child to first child ( temp 3-component vector of float) |
| 0:? '@patchConstantOutput.NormalWS[1]' (layout( location=2) patch out 3-component vector of float) |
| 0:? direct index ( temp 3-component vector of float) |
| 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:? Constant: |
| 0:? 1 (const int) |
| 0:? move second child to first child ( temp 3-component vector of float) |
| 0:? '@patchConstantOutput.NormalWS[2]' (layout( location=3) patch out 3-component vector of float) |
| 0:? direct index ( temp 3-component vector of float) |
| 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:? 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:95 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:96 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:97 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.PositionWS' (layout( location=0) out 3-element array of 3-component vector of float) |
| 0:? 'patch.PositionWS' (layout( location=0) in 3-element array of 3-component vector of float) |
| 0:? 'patch.NormalWS' (layout( location=1) in 3-element array of 3-component vector of float) |
| 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.NormalWS[0]' (layout( location=1) patch out 3-component vector of float) |
| 0:? '@patchConstantOutput.NormalWS[1]' (layout( location=2) patch out 3-component vector of float) |
| 0:? '@patchConstantOutput.NormalWS[2]' (layout( location=3) patch out 3-component vector of float) |
| |
| // Module Version 10000 |
| // Generated by (magic number): 8000a |
| // Id's are bound by 236 |
| |
| Capability Tessellation |
| 1: ExtInstImport "GLSL.std.450" |
| MemoryModel Logical GLSL450 |
| EntryPoint TessellationControl 4 "HSMain" 97 102 120 123 145 158 162 165 168 |
| 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.PositionWS" |
| Name 102 "patch.NormalWS" |
| Name 118 "id" |
| Name 120 "id" |
| Name 123 "@entryPointOutput.PositionWS" |
| Name 125 "param" |
| Name 127 "param" |
| Name 139 "@patchConstantResult" |
| Name 140 "param" |
| Name 145 "@patchConstantOutput.EdgeTessFactor" |
| Name 158 "@patchConstantOutput.InsideTessFactor" |
| Name 162 "@patchConstantOutput.NormalWS[0]" |
| Name 165 "@patchConstantOutput.NormalWS[1]" |
| Name 168 "@patchConstantOutput.NormalWS[2]" |
| Name 171 "P0" |
| Name 174 "P1" |
| Name 177 "P2" |
| Name 194 "Q0" |
| Name 204 "Q1" |
| Name 213 "Q2" |
| Name 222 "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.PositionWS) Location 0 |
| Decorate 102(patch.NormalWS) Location 1 |
| Decorate 120(id) BuiltIn InvocationId |
| Decorate 123(@entryPointOutput.PositionWS) Location 0 |
| Decorate 145(@patchConstantOutput.EdgeTessFactor) Patch |
| Decorate 145(@patchConstantOutput.EdgeTessFactor) BuiltIn TessLevelOuter |
| Decorate 158(@patchConstantOutput.InsideTessFactor) Patch |
| Decorate 158(@patchConstantOutput.InsideTessFactor) BuiltIn TessLevelInner |
| Decorate 162(@patchConstantOutput.NormalWS[0]) Patch |
| Decorate 162(@patchConstantOutput.NormalWS[0]) Location 1 |
| Decorate 165(@patchConstantOutput.NormalWS[1]) Patch |
| Decorate 165(@patchConstantOutput.NormalWS[1]) Location 2 |
| Decorate 168(@patchConstantOutput.NormalWS[2]) Patch |
| Decorate 168(@patchConstantOutput.NormalWS[2]) Location 3 |
| 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 14 |
| 97(patch.PositionWS): 96(ptr) Variable Input |
| 98: TypePointer Input 7(fvec3) |
| 102(patch.NormalWS): 96(ptr) Variable Input |
| 119: TypePointer Input 9(int) |
| 120(id): 119(ptr) Variable Input |
| 122: TypePointer Output 14 |
| 123(@entryPointOutput.PositionWS): 122(ptr) Variable Output |
| 131: TypePointer Output 7(fvec3) |
| 133: 9(int) Constant 4 |
| 135: TypeBool |
| 143: TypeArray 6(float) 133 |
| 144: TypePointer Output 143 |
| 145(@patchConstantOutput.EdgeTessFactor): 144(ptr) Variable Output |
| 148: TypePointer Output 6(float) |
| 156: TypeArray 6(float) 68 |
| 157: TypePointer Output 156 |
| 158(@patchConstantOutput.InsideTessFactor): 157(ptr) Variable Output |
| 162(@patchConstantOutput.NormalWS[0]): 131(ptr) Variable Output |
| 165(@patchConstantOutput.NormalWS[1]): 131(ptr) Variable Output |
| 168(@patchConstantOutput.NormalWS[2]): 131(ptr) Variable Output |
| 180: 6(float) Constant 981668463 |
| 193: TypePointer Function 30(fvec4) |
| 200: TypePointer Uniform 40 |
| 225: 6(float) Constant 0 |
| 4(HSMain): 2 Function None 3 |
| 5: Label |
| 95(patch): 12(ptr) Variable Function |
| 118(id): 20(ptr) Variable Function |
| 125(param): 12(ptr) Variable Function |
| 127(param): 20(ptr) Variable Function |
| 139(@patchConstantResult): 55(ptr) Variable Function |
| 140(param): 12(ptr) Variable Function |
| 99: 98(ptr) AccessChain 97(patch.PositionWS) 57 |
| 100: 7(fvec3) Load 99 |
| 101: 38(ptr) AccessChain 95(patch) 57 57 |
| Store 101 100 |
| 103: 98(ptr) AccessChain 102(patch.NormalWS) 57 |
| 104: 7(fvec3) Load 103 |
| 105: 38(ptr) AccessChain 95(patch) 57 62 |
| Store 105 104 |
| 106: 98(ptr) AccessChain 97(patch.PositionWS) 62 |
| 107: 7(fvec3) Load 106 |
| 108: 38(ptr) AccessChain 95(patch) 62 57 |
| Store 108 107 |
| 109: 98(ptr) AccessChain 102(patch.NormalWS) 62 |
| 110: 7(fvec3) Load 109 |
| 111: 38(ptr) AccessChain 95(patch) 62 62 |
| Store 111 110 |
| 112: 98(ptr) AccessChain 97(patch.PositionWS) 67 |
| 113: 7(fvec3) Load 112 |
| 114: 38(ptr) AccessChain 95(patch) 67 57 |
| Store 114 113 |
| 115: 98(ptr) AccessChain 102(patch.NormalWS) 67 |
| 116: 7(fvec3) Load 115 |
| 117: 38(ptr) AccessChain 95(patch) 67 62 |
| Store 117 116 |
| 121: 9(int) Load 120(id) |
| Store 118(id) 121 |
| 124: 9(int) Load 120(id) |
| 126: 11 Load 95(patch) |
| Store 125(param) 126 |
| 128: 9(int) Load 118(id) |
| Store 127(param) 128 |
| 129:21(HSOutput) FunctionCall 25(@HSMain(struct-HSInput-vf3-vf31[3];u1;) 125(param) 127(param) |
| 130: 7(fvec3) CompositeExtract 129 0 |
| 132: 131(ptr) AccessChain 123(@entryPointOutput.PositionWS) 124 |
| Store 132 130 |
| ControlBarrier 68 133 58 |
| 134: 9(int) Load 120(id) |
| 136: 135(bool) IEqual 134 57 |
| SelectionMerge 138 None |
| BranchConditional 136 137 138 |
| 137: Label |
| 141: 11 Load 95(patch) |
| Store 140(param) 141 |
| 142:15(HSTrianglePatchConstant) FunctionCall 18(HSPatchConstant(struct-HSInput-vf3-vf31[3];) 140(param) |
| Store 139(@patchConstantResult) 142 |
| 146: 50(ptr) AccessChain 139(@patchConstantResult) 57 57 |
| 147: 6(float) Load 146 |
| 149: 148(ptr) AccessChain 145(@patchConstantOutput.EdgeTessFactor) 57 |
| Store 149 147 |
| 150: 50(ptr) AccessChain 139(@patchConstantResult) 57 62 |
| 151: 6(float) Load 150 |
| 152: 148(ptr) AccessChain 145(@patchConstantOutput.EdgeTessFactor) 62 |
| Store 152 151 |
| 153: 50(ptr) AccessChain 139(@patchConstantResult) 57 67 |
| 154: 6(float) Load 153 |
| 155: 148(ptr) AccessChain 145(@patchConstantOutput.EdgeTessFactor) 67 |
| Store 155 154 |
| 159: 50(ptr) AccessChain 139(@patchConstantResult) 62 |
| 160: 6(float) Load 159 |
| 161: 148(ptr) AccessChain 158(@patchConstantOutput.InsideTessFactor) 57 |
| Store 161 160 |
| 163: 38(ptr) AccessChain 139(@patchConstantResult) 67 57 |
| 164: 7(fvec3) Load 163 |
| Store 162(@patchConstantOutput.NormalWS[0]) 164 |
| 166: 38(ptr) AccessChain 139(@patchConstantResult) 67 62 |
| 167: 7(fvec3) Load 166 |
| Store 165(@patchConstantOutput.NormalWS[1]) 167 |
| 169: 38(ptr) AccessChain 139(@patchConstantResult) 67 67 |
| 170: 7(fvec3) Load 169 |
| Store 168(@patchConstantOutput.NormalWS[2]) 170 |
| Branch 138 |
| 138: 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 |
| 171(P0): 38(ptr) Variable Function |
| 174(P1): 38(ptr) Variable Function |
| 177(P2): 38(ptr) Variable Function |
| 194(Q0): 193(ptr) Variable Function |
| 204(Q1): 193(ptr) Variable Function |
| 213(Q2): 193(ptr) Variable Function |
| 222(vertex): 32(ptr) Variable Function |
| 172: 38(ptr) AccessChain 34(input) 57 57 |
| 173: 7(fvec3) Load 172 |
| Store 171(P0) 173 |
| 175: 38(ptr) AccessChain 34(input) 62 57 |
| 176: 7(fvec3) Load 175 |
| Store 174(P1) 176 |
| 178: 38(ptr) AccessChain 34(input) 67 57 |
| 179: 7(fvec3) Load 178 |
| Store 177(P2) 179 |
| 181: 50(ptr) AccessChain 171(P0) 68 |
| 182: 6(float) Load 181 |
| 183: 6(float) FAdd 182 180 |
| 184: 50(ptr) AccessChain 171(P0) 68 |
| Store 184 183 |
| 185: 50(ptr) AccessChain 174(P1) 68 |
| 186: 6(float) Load 185 |
| 187: 6(float) FAdd 186 180 |
| 188: 50(ptr) AccessChain 174(P1) 68 |
| Store 188 187 |
| 189: 50(ptr) AccessChain 177(P2) 68 |
| 190: 6(float) Load 189 |
| 191: 6(float) FAdd 190 180 |
| 192: 50(ptr) AccessChain 177(P2) 68 |
| Store 192 191 |
| 195: 7(fvec3) Load 171(P0) |
| 196: 6(float) CompositeExtract 195 0 |
| 197: 6(float) CompositeExtract 195 1 |
| 198: 6(float) CompositeExtract 195 2 |
| 199: 30(fvec4) CompositeConstruct 196 197 198 54 |
| 201: 200(ptr) AccessChain 44 62 |
| 202: 40 Load 201 |
| 203: 30(fvec4) VectorTimesMatrix 199 202 |
| Store 194(Q0) 203 |
| 205: 7(fvec3) Load 174(P1) |
| 206: 6(float) CompositeExtract 205 0 |
| 207: 6(float) CompositeExtract 205 1 |
| 208: 6(float) CompositeExtract 205 2 |
| 209: 30(fvec4) CompositeConstruct 206 207 208 54 |
| 210: 200(ptr) AccessChain 44 62 |
| 211: 40 Load 210 |
| 212: 30(fvec4) VectorTimesMatrix 209 211 |
| Store 204(Q1) 212 |
| 214: 7(fvec3) Load 177(P2) |
| 215: 6(float) CompositeExtract 214 0 |
| 216: 6(float) CompositeExtract 214 1 |
| 217: 6(float) CompositeExtract 214 2 |
| 218: 30(fvec4) CompositeConstruct 215 216 217 54 |
| 219: 200(ptr) AccessChain 44 62 |
| 220: 40 Load 219 |
| 221: 30(fvec4) VectorTimesMatrix 218 220 |
| Store 213(Q2) 221 |
| 223: 30(fvec4) Load 194(Q0) |
| 224: 193(ptr) AccessChain 222(vertex) 57 |
| Store 224 223 |
| 226: 30(fvec4) Load 204(Q1) |
| 227: 193(ptr) AccessChain 222(vertex) 57 |
| Store 227 226 |
| 228: 30(fvec4) Load 204(Q1) |
| 229: 193(ptr) AccessChain 222(vertex) 57 |
| Store 229 228 |
| 230: 30(fvec4) Load 213(Q2) |
| 231: 193(ptr) AccessChain 222(vertex) 57 |
| Store 231 230 |
| 232: 30(fvec4) Load 213(Q2) |
| 233: 193(ptr) AccessChain 222(vertex) 57 |
| Store 233 232 |
| 234: 30(fvec4) Load 194(Q0) |
| 235: 193(ptr) AccessChain 222(vertex) 57 |
| Store 235 234 |
| Return |
| FunctionEnd |