glslang/Test/baseResults/hlsl.gs-hs-mix.tesc.out
Steven Perron 33c7e30860
Don't emit duplicate decorations. (#3635)
It is invalid if the same decoration is applied to the same id multiple
times. This adds a check before adding a decoration that the decoration
is not already in the list. If it is, then the duplicate is not added.

Fixes #3627
2024-06-28 19:16:59 -04:00

1379 lines
85 KiB
Plaintext

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"
Decorate 42(UniformBlock0) Block
MemberDecorate 42(UniformBlock0) 0 RowMajor
MemberDecorate 42(UniformBlock0) 0 MatrixStride 16
MemberDecorate 42(UniformBlock0) 0 Offset 0
MemberDecorate 42(UniformBlock0) 1 RowMajor
MemberDecorate 42(UniformBlock0) 1 MatrixStride 16
MemberDecorate 42(UniformBlock0) 1 Offset 64
MemberDecorate 42(UniformBlock0) 2 RowMajor
MemberDecorate 42(UniformBlock0) 2 MatrixStride 16
MemberDecorate 42(UniformBlock0) 2 Offset 128
MemberDecorate 42(UniformBlock0) 3 RowMajor
MemberDecorate 42(UniformBlock0) 3 MatrixStride 16
MemberDecorate 42(UniformBlock0) 3 Offset 192
MemberDecorate 42(UniformBlock0) 4 Offset 240
MemberDecorate 42(UniformBlock0) 5 Offset 256
MemberDecorate 42(UniformBlock0) 6 Offset 272
Decorate 44 Binding 0
Decorate 44 DescriptorSet 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) BuiltIn TessLevelOuter
Decorate 145(@patchConstantOutput.EdgeTessFactor) Patch
Decorate 158(@patchConstantOutput.InsideTessFactor) BuiltIn TessLevelInner
Decorate 158(@patchConstantOutput.InsideTessFactor) Patch
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