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): 8000b // 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