mirror of
https://github.com/RPCS3/glslang.git
synced 2024-12-19 17:26:39 +00:00
1159 lines
71 KiB
Plaintext
1159 lines
71 KiB
Plaintext
hlsl.gs-hs-mix.tesc
|
|
Shader version: 500
|
|
vertices = 3
|
|
input primitive = triangles
|
|
vertex spacing = fractional_odd_spacing
|
|
triangle order = ccw
|
|
0:? Sequence
|
|
0:31 Function Definition: HSPatchConstant(struct-HSInput-vf3-vf31[3]; ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
|
|
0:31 Function Parameters:
|
|
0:31 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:? Sequence
|
|
0:32 Sequence
|
|
0:32 move second child to first child ( temp 3-component vector of float)
|
|
0:32 'roundedEdgeTessFactor' ( temp 3-component vector of float)
|
|
0:32 tess_factor: direct index for structure (layout( row_major std140) uniform 3-component vector of float)
|
|
0:32 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
|
|
0:32 Constant:
|
|
0:32 6 (const uint)
|
|
0:33 Sequence
|
|
0:33 move second child to first child ( temp float)
|
|
0:33 'roundedInsideTessFactor' ( temp float)
|
|
0:33 Constant:
|
|
0:33 3.000000
|
|
0:34 Sequence
|
|
0:34 move second child to first child ( temp float)
|
|
0:34 'insideTessFactor' ( temp float)
|
|
0:34 Constant:
|
|
0:34 1.000000
|
|
0:39 move second child to first child ( temp float)
|
|
0:39 direct index ( temp float)
|
|
0:39 EdgeTessFactor: direct index for structure ( temp 3-element array of float)
|
|
0:39 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
|
|
0:39 Constant:
|
|
0:39 0 (const int)
|
|
0:39 Constant:
|
|
0:39 0 (const int)
|
|
0:39 direct index ( temp float)
|
|
0:39 'roundedEdgeTessFactor' ( temp 3-component vector of float)
|
|
0:39 Constant:
|
|
0:39 0 (const int)
|
|
0:40 move second child to first child ( temp float)
|
|
0:40 direct index ( temp float)
|
|
0:40 EdgeTessFactor: direct index for structure ( temp 3-element array of float)
|
|
0:40 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
|
|
0:40 Constant:
|
|
0:40 0 (const int)
|
|
0:40 Constant:
|
|
0:40 1 (const int)
|
|
0:40 direct index ( temp float)
|
|
0:40 'roundedEdgeTessFactor' ( temp 3-component vector of float)
|
|
0:40 Constant:
|
|
0:40 1 (const int)
|
|
0:41 move second child to first child ( temp float)
|
|
0:41 direct index ( temp float)
|
|
0:41 EdgeTessFactor: direct index for structure ( temp 3-element array of float)
|
|
0:41 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
|
|
0:41 Constant:
|
|
0:41 0 (const int)
|
|
0:41 Constant:
|
|
0:41 2 (const int)
|
|
0:41 direct index ( temp float)
|
|
0:41 'roundedEdgeTessFactor' ( temp 3-component vector of float)
|
|
0:41 Constant:
|
|
0:41 2 (const int)
|
|
0:42 move second child to first child ( temp float)
|
|
0:42 InsideTessFactor: direct index for structure ( temp float)
|
|
0:42 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
|
|
0:42 Constant:
|
|
0:42 1 (const int)
|
|
0:42 'roundedInsideTessFactor' ( temp float)
|
|
0:45 move second child to first child ( temp 3-component vector of float)
|
|
0:45 direct index ( temp 3-component vector of float)
|
|
0:45 NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
|
|
0:45 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
|
|
0:45 Constant:
|
|
0:45 2 (const int)
|
|
0:45 Constant:
|
|
0:45 0 (const int)
|
|
0:45 NormalWS: direct index for structure ( temp 3-component vector of float)
|
|
0:45 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:45 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:45 Constant:
|
|
0:45 0 (const int)
|
|
0:45 Constant:
|
|
0:45 1 (const int)
|
|
0:46 move second child to first child ( temp 3-component vector of float)
|
|
0:46 direct index ( temp 3-component vector of float)
|
|
0:46 NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
|
|
0:46 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
|
|
0:46 Constant:
|
|
0:46 2 (const int)
|
|
0:46 Constant:
|
|
0:46 1 (const int)
|
|
0:46 NormalWS: direct index for structure ( temp 3-component vector of float)
|
|
0:46 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:46 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:46 Constant:
|
|
0:46 1 (const int)
|
|
0:46 Constant:
|
|
0:46 1 (const int)
|
|
0:47 move second child to first child ( temp 3-component vector of float)
|
|
0:47 direct index ( temp 3-component vector of float)
|
|
0:47 NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
|
|
0:47 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
|
|
0:47 Constant:
|
|
0:47 2 (const int)
|
|
0:47 Constant:
|
|
0:47 2 (const int)
|
|
0:47 NormalWS: direct index for structure ( temp 3-component vector of float)
|
|
0:47 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:47 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:47 Constant:
|
|
0:47 2 (const int)
|
|
0:47 Constant:
|
|
0:47 1 (const int)
|
|
0:49 Branch: Return with expression
|
|
0:49 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
|
|
0:61 Function Definition: @HSMain(struct-HSInput-vf3-vf31[3];u1; ( temp structure{ temp 3-component vector of float PositionWS})
|
|
0:61 Function Parameters:
|
|
0:61 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:61 'id' ( in uint)
|
|
0:? Sequence
|
|
0:63 move second child to first child ( temp 3-component vector of float)
|
|
0:63 PositionWS: direct index for structure ( temp 3-component vector of float)
|
|
0:63 'output' ( temp structure{ temp 3-component vector of float PositionWS})
|
|
0:63 Constant:
|
|
0:63 0 (const int)
|
|
0:63 PositionWS: direct index for structure ( temp 3-component vector of float)
|
|
0:63 indirect index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:63 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:63 'id' ( in uint)
|
|
0:63 Constant:
|
|
0:63 0 (const int)
|
|
0:64 Branch: Return with expression
|
|
0:64 'output' ( temp structure{ temp 3-component vector of float PositionWS})
|
|
0:61 Function Definition: HSMain( ( temp void)
|
|
0:61 Function Parameters:
|
|
0:? Sequence
|
|
0:61 move second child to first child ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:? 'patch' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:61 move second child to first child ( temp uint)
|
|
0:? 'id' ( temp uint)
|
|
0:? 'id' ( in uint InvocationID)
|
|
0:61 move second child to first child ( temp structure{ temp 3-component vector of float PositionWS})
|
|
0:61 indirect index (layout( location=0) out structure{ temp 3-component vector of float PositionWS})
|
|
0:? '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float PositionWS})
|
|
0:? 'id' ( in uint InvocationID)
|
|
0:61 Function Call: @HSMain(struct-HSInput-vf3-vf31[3];u1; ( temp structure{ temp 3-component vector of float PositionWS})
|
|
0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:? 'id' ( temp uint)
|
|
0:? Barrier ( temp void)
|
|
0:? Test condition and select ( temp void)
|
|
0:? Condition
|
|
0:? Compare Equal ( temp bool)
|
|
0:? 'id' ( in uint InvocationID)
|
|
0:? Constant:
|
|
0:? 0 (const int)
|
|
0:? true case
|
|
0:? Sequence
|
|
0:? move second child to first child ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
|
|
0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
|
|
0:? Function Call: HSPatchConstant(struct-HSInput-vf3-vf31[3]; ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
|
|
0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:? Sequence
|
|
0:? move second child to first child ( temp float)
|
|
0:? direct index ( patch out float TessLevelOuter)
|
|
0:? '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter)
|
|
0:? Constant:
|
|
0:? 0 (const int)
|
|
0:? direct index ( temp float)
|
|
0:? EdgeTessFactor: direct index for structure ( temp 3-element array of float)
|
|
0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
|
|
0:? Constant:
|
|
0:? 0 (const int)
|
|
0:? Constant:
|
|
0:? 0 (const int)
|
|
0:? move second child to first child ( temp float)
|
|
0:? direct index ( patch out float TessLevelOuter)
|
|
0:? '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter)
|
|
0:? Constant:
|
|
0:? 1 (const int)
|
|
0:? direct index ( temp float)
|
|
0:? EdgeTessFactor: direct index for structure ( temp 3-element array of float)
|
|
0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
|
|
0:? Constant:
|
|
0:? 0 (const int)
|
|
0:? Constant:
|
|
0:? 1 (const int)
|
|
0:? move second child to first child ( temp float)
|
|
0:? direct index ( patch out float TessLevelOuter)
|
|
0:? '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter)
|
|
0:? Constant:
|
|
0:? 2 (const int)
|
|
0:? direct index ( temp float)
|
|
0:? EdgeTessFactor: direct index for structure ( temp 3-element array of float)
|
|
0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
|
|
0:? Constant:
|
|
0:? 0 (const int)
|
|
0:? Constant:
|
|
0:? 2 (const int)
|
|
0:? move second child to first child ( temp float)
|
|
0:? direct index ( patch out float TessLevelInner)
|
|
0:? '@patchConstantOutput.InsideTessFactor' ( patch out 2-element array of float TessLevelInner)
|
|
0:? Constant:
|
|
0:? 0 (const int)
|
|
0:? InsideTessFactor: direct index for structure ( temp float)
|
|
0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
|
|
0:? Constant:
|
|
0:? 1 (const int)
|
|
0:? move second child to first child ( temp 3-element array of 3-component vector of float)
|
|
0:? NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
|
|
0:? '@patchConstantOutput' (layout( location=1) patch out structure{ temp 3-element array of 3-component vector of float NormalWS})
|
|
0:? Constant:
|
|
0:? 0 (const int)
|
|
0:? NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
|
|
0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
|
|
0:? Constant:
|
|
0:? 2 (const int)
|
|
0:84 Function Definition: GSMain(struct-GSVertexInput-vf3-vf31[3];struct-GSVertexOutput-vf41; ( temp void)
|
|
0:84 Function Parameters:
|
|
0:84 'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:84 'output' ( out structure{ temp 4-component vector of float PositionCS})
|
|
0:? Sequence
|
|
0:86 Sequence
|
|
0:86 move second child to first child ( temp 3-component vector of float)
|
|
0:86 'P0' ( temp 3-component vector of float)
|
|
0:86 vector swizzle ( temp 3-component vector of float)
|
|
0:86 PositionWS: direct index for structure ( temp 3-component vector of float)
|
|
0:86 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:86 'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:86 Constant:
|
|
0:86 0 (const int)
|
|
0:86 Constant:
|
|
0:86 0 (const int)
|
|
0:86 Sequence
|
|
0:86 Constant:
|
|
0:86 0 (const int)
|
|
0:86 Constant:
|
|
0:86 1 (const int)
|
|
0:86 Constant:
|
|
0:86 2 (const int)
|
|
0:87 Sequence
|
|
0:87 move second child to first child ( temp 3-component vector of float)
|
|
0:87 'P1' ( temp 3-component vector of float)
|
|
0:87 vector swizzle ( temp 3-component vector of float)
|
|
0:87 PositionWS: direct index for structure ( temp 3-component vector of float)
|
|
0:87 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:87 'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:87 Constant:
|
|
0:87 1 (const int)
|
|
0:87 Constant:
|
|
0:87 0 (const int)
|
|
0:87 Sequence
|
|
0:87 Constant:
|
|
0:87 0 (const int)
|
|
0:87 Constant:
|
|
0:87 1 (const int)
|
|
0:87 Constant:
|
|
0:87 2 (const int)
|
|
0:88 Sequence
|
|
0:88 move second child to first child ( temp 3-component vector of float)
|
|
0:88 'P2' ( temp 3-component vector of float)
|
|
0:88 vector swizzle ( temp 3-component vector of float)
|
|
0:88 PositionWS: direct index for structure ( temp 3-component vector of float)
|
|
0:88 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:88 'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:88 Constant:
|
|
0:88 2 (const int)
|
|
0:88 Constant:
|
|
0:88 0 (const int)
|
|
0:88 Sequence
|
|
0:88 Constant:
|
|
0:88 0 (const int)
|
|
0:88 Constant:
|
|
0:88 1 (const int)
|
|
0:88 Constant:
|
|
0:88 2 (const int)
|
|
0:92 add second child into first child ( temp float)
|
|
0:92 direct index ( temp float)
|
|
0:92 'P0' ( temp 3-component vector of float)
|
|
0:92 Constant:
|
|
0:92 2 (const int)
|
|
0:92 Constant:
|
|
0:92 0.001000
|
|
0:93 add second child into first child ( temp float)
|
|
0:93 direct index ( temp float)
|
|
0:93 'P1' ( temp 3-component vector of float)
|
|
0:93 Constant:
|
|
0:93 2 (const int)
|
|
0:93 Constant:
|
|
0:93 0.001000
|
|
0:94 add second child into first child ( temp float)
|
|
0:94 direct index ( temp float)
|
|
0:94 'P2' ( temp 3-component vector of float)
|
|
0:94 Constant:
|
|
0:94 2 (const int)
|
|
0:94 Constant:
|
|
0:94 0.001000
|
|
0:95 Sequence
|
|
0:95 move second child to first child ( temp 4-component vector of float)
|
|
0:95 'Q0' ( temp 4-component vector of float)
|
|
0:95 vector-times-matrix ( temp 4-component vector of float)
|
|
0:? Construct vec4 ( temp 4-component vector of float)
|
|
0:95 'P0' ( temp 3-component vector of float)
|
|
0:95 Constant:
|
|
0:95 1.000000
|
|
0:95 proj_matrix: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
|
|
0:95 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
|
|
0:95 Constant:
|
|
0:95 1 (const uint)
|
|
0:96 Sequence
|
|
0:96 move second child to first child ( temp 4-component vector of float)
|
|
0:96 'Q1' ( temp 4-component vector of float)
|
|
0:96 vector-times-matrix ( temp 4-component vector of float)
|
|
0:? Construct vec4 ( temp 4-component vector of float)
|
|
0:96 'P1' ( temp 3-component vector of float)
|
|
0:96 Constant:
|
|
0:96 1.000000
|
|
0:96 proj_matrix: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
|
|
0:96 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
|
|
0:96 Constant:
|
|
0:96 1 (const uint)
|
|
0:97 Sequence
|
|
0:97 move second child to first child ( temp 4-component vector of float)
|
|
0:97 'Q2' ( temp 4-component vector of float)
|
|
0:97 vector-times-matrix ( temp 4-component vector of float)
|
|
0:? Construct vec4 ( temp 4-component vector of float)
|
|
0:97 'P2' ( temp 3-component vector of float)
|
|
0:97 Constant:
|
|
0:97 1.000000
|
|
0:97 proj_matrix: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
|
|
0:97 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
|
|
0:97 Constant:
|
|
0:97 1 (const uint)
|
|
0:100 move second child to first child ( temp 4-component vector of float)
|
|
0:100 PositionCS: direct index for structure ( temp 4-component vector of float)
|
|
0:100 'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
|
|
0:100 Constant:
|
|
0:100 0 (const int)
|
|
0:100 'Q0' ( temp 4-component vector of float)
|
|
0:101 Constant:
|
|
0:101 0.000000
|
|
0:102 move second child to first child ( temp 4-component vector of float)
|
|
0:102 PositionCS: direct index for structure ( temp 4-component vector of float)
|
|
0:102 'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
|
|
0:102 Constant:
|
|
0:102 0 (const int)
|
|
0:102 'Q1' ( temp 4-component vector of float)
|
|
0:103 Constant:
|
|
0:103 0.000000
|
|
0:104 Constant:
|
|
0:104 0.000000
|
|
0:107 move second child to first child ( temp 4-component vector of float)
|
|
0:107 PositionCS: direct index for structure ( temp 4-component vector of float)
|
|
0:107 'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
|
|
0:107 Constant:
|
|
0:107 0 (const int)
|
|
0:107 'Q1' ( temp 4-component vector of float)
|
|
0:108 Constant:
|
|
0:108 0.000000
|
|
0:109 move second child to first child ( temp 4-component vector of float)
|
|
0:109 PositionCS: direct index for structure ( temp 4-component vector of float)
|
|
0:109 'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
|
|
0:109 Constant:
|
|
0:109 0 (const int)
|
|
0:109 'Q2' ( temp 4-component vector of float)
|
|
0:110 Constant:
|
|
0:110 0.000000
|
|
0:111 Constant:
|
|
0:111 0.000000
|
|
0:114 move second child to first child ( temp 4-component vector of float)
|
|
0:114 PositionCS: direct index for structure ( temp 4-component vector of float)
|
|
0:114 'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
|
|
0:114 Constant:
|
|
0:114 0 (const int)
|
|
0:114 'Q2' ( temp 4-component vector of float)
|
|
0:115 Constant:
|
|
0:115 0.000000
|
|
0:116 move second child to first child ( temp 4-component vector of float)
|
|
0:116 PositionCS: direct index for structure ( temp 4-component vector of float)
|
|
0:116 'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
|
|
0:116 Constant:
|
|
0:116 0 (const int)
|
|
0:116 'Q0' ( temp 4-component vector of float)
|
|
0:117 Constant:
|
|
0:117 0.000000
|
|
0:118 Constant:
|
|
0:118 0.000000
|
|
0:? Linker Objects
|
|
0:? 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
|
|
0:? '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float PositionWS})
|
|
0:? 'patch' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:? 'id' ( in uint InvocationID)
|
|
0:? '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter)
|
|
0:? '@patchConstantOutput.InsideTessFactor' ( patch out 2-element array of float TessLevelInner)
|
|
0:? '@patchConstantOutput' (layout( location=1) patch out structure{ temp 3-element array of 3-component vector of float NormalWS})
|
|
|
|
|
|
Linked tessellation control stage:
|
|
|
|
|
|
Shader version: 500
|
|
vertices = 3
|
|
input primitive = triangles
|
|
vertex spacing = fractional_odd_spacing
|
|
triangle order = ccw
|
|
0:? Sequence
|
|
0:31 Function Definition: HSPatchConstant(struct-HSInput-vf3-vf31[3]; ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
|
|
0:31 Function Parameters:
|
|
0:31 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:? Sequence
|
|
0:32 Sequence
|
|
0:32 move second child to first child ( temp 3-component vector of float)
|
|
0:32 'roundedEdgeTessFactor' ( temp 3-component vector of float)
|
|
0:32 tess_factor: direct index for structure (layout( row_major std140) uniform 3-component vector of float)
|
|
0:32 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
|
|
0:32 Constant:
|
|
0:32 6 (const uint)
|
|
0:33 Sequence
|
|
0:33 move second child to first child ( temp float)
|
|
0:33 'roundedInsideTessFactor' ( temp float)
|
|
0:33 Constant:
|
|
0:33 3.000000
|
|
0:34 Sequence
|
|
0:34 move second child to first child ( temp float)
|
|
0:34 'insideTessFactor' ( temp float)
|
|
0:34 Constant:
|
|
0:34 1.000000
|
|
0:39 move second child to first child ( temp float)
|
|
0:39 direct index ( temp float)
|
|
0:39 EdgeTessFactor: direct index for structure ( temp 3-element array of float)
|
|
0:39 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
|
|
0:39 Constant:
|
|
0:39 0 (const int)
|
|
0:39 Constant:
|
|
0:39 0 (const int)
|
|
0:39 direct index ( temp float)
|
|
0:39 'roundedEdgeTessFactor' ( temp 3-component vector of float)
|
|
0:39 Constant:
|
|
0:39 0 (const int)
|
|
0:40 move second child to first child ( temp float)
|
|
0:40 direct index ( temp float)
|
|
0:40 EdgeTessFactor: direct index for structure ( temp 3-element array of float)
|
|
0:40 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
|
|
0:40 Constant:
|
|
0:40 0 (const int)
|
|
0:40 Constant:
|
|
0:40 1 (const int)
|
|
0:40 direct index ( temp float)
|
|
0:40 'roundedEdgeTessFactor' ( temp 3-component vector of float)
|
|
0:40 Constant:
|
|
0:40 1 (const int)
|
|
0:41 move second child to first child ( temp float)
|
|
0:41 direct index ( temp float)
|
|
0:41 EdgeTessFactor: direct index for structure ( temp 3-element array of float)
|
|
0:41 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
|
|
0:41 Constant:
|
|
0:41 0 (const int)
|
|
0:41 Constant:
|
|
0:41 2 (const int)
|
|
0:41 direct index ( temp float)
|
|
0:41 'roundedEdgeTessFactor' ( temp 3-component vector of float)
|
|
0:41 Constant:
|
|
0:41 2 (const int)
|
|
0:42 move second child to first child ( temp float)
|
|
0:42 InsideTessFactor: direct index for structure ( temp float)
|
|
0:42 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
|
|
0:42 Constant:
|
|
0:42 1 (const int)
|
|
0:42 'roundedInsideTessFactor' ( temp float)
|
|
0:45 move second child to first child ( temp 3-component vector of float)
|
|
0:45 direct index ( temp 3-component vector of float)
|
|
0:45 NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
|
|
0:45 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
|
|
0:45 Constant:
|
|
0:45 2 (const int)
|
|
0:45 Constant:
|
|
0:45 0 (const int)
|
|
0:45 NormalWS: direct index for structure ( temp 3-component vector of float)
|
|
0:45 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:45 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:45 Constant:
|
|
0:45 0 (const int)
|
|
0:45 Constant:
|
|
0:45 1 (const int)
|
|
0:46 move second child to first child ( temp 3-component vector of float)
|
|
0:46 direct index ( temp 3-component vector of float)
|
|
0:46 NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
|
|
0:46 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
|
|
0:46 Constant:
|
|
0:46 2 (const int)
|
|
0:46 Constant:
|
|
0:46 1 (const int)
|
|
0:46 NormalWS: direct index for structure ( temp 3-component vector of float)
|
|
0:46 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:46 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:46 Constant:
|
|
0:46 1 (const int)
|
|
0:46 Constant:
|
|
0:46 1 (const int)
|
|
0:47 move second child to first child ( temp 3-component vector of float)
|
|
0:47 direct index ( temp 3-component vector of float)
|
|
0:47 NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
|
|
0:47 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
|
|
0:47 Constant:
|
|
0:47 2 (const int)
|
|
0:47 Constant:
|
|
0:47 2 (const int)
|
|
0:47 NormalWS: direct index for structure ( temp 3-component vector of float)
|
|
0:47 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:47 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:47 Constant:
|
|
0:47 2 (const int)
|
|
0:47 Constant:
|
|
0:47 1 (const int)
|
|
0:49 Branch: Return with expression
|
|
0:49 'result' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
|
|
0:61 Function Definition: @HSMain(struct-HSInput-vf3-vf31[3];u1; ( temp structure{ temp 3-component vector of float PositionWS})
|
|
0:61 Function Parameters:
|
|
0:61 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:61 'id' ( in uint)
|
|
0:? Sequence
|
|
0:63 move second child to first child ( temp 3-component vector of float)
|
|
0:63 PositionWS: direct index for structure ( temp 3-component vector of float)
|
|
0:63 'output' ( temp structure{ temp 3-component vector of float PositionWS})
|
|
0:63 Constant:
|
|
0:63 0 (const int)
|
|
0:63 PositionWS: direct index for structure ( temp 3-component vector of float)
|
|
0:63 indirect index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:63 'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:63 'id' ( in uint)
|
|
0:63 Constant:
|
|
0:63 0 (const int)
|
|
0:64 Branch: Return with expression
|
|
0:64 'output' ( temp structure{ temp 3-component vector of float PositionWS})
|
|
0:61 Function Definition: HSMain( ( temp void)
|
|
0:61 Function Parameters:
|
|
0:? Sequence
|
|
0:61 move second child to first child ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:? 'patch' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:61 move second child to first child ( temp uint)
|
|
0:? 'id' ( temp uint)
|
|
0:? 'id' ( in uint InvocationID)
|
|
0:61 move second child to first child ( temp structure{ temp 3-component vector of float PositionWS})
|
|
0:61 indirect index (layout( location=0) out structure{ temp 3-component vector of float PositionWS})
|
|
0:? '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float PositionWS})
|
|
0:? 'id' ( in uint InvocationID)
|
|
0:61 Function Call: @HSMain(struct-HSInput-vf3-vf31[3];u1; ( temp structure{ temp 3-component vector of float PositionWS})
|
|
0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:? 'id' ( temp uint)
|
|
0:? Barrier ( temp void)
|
|
0:? Test condition and select ( temp void)
|
|
0:? Condition
|
|
0:? Compare Equal ( temp bool)
|
|
0:? 'id' ( in uint InvocationID)
|
|
0:? Constant:
|
|
0:? 0 (const int)
|
|
0:? true case
|
|
0:? Sequence
|
|
0:? move second child to first child ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
|
|
0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
|
|
0:? Function Call: HSPatchConstant(struct-HSInput-vf3-vf31[3]; ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
|
|
0:? 'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:? Sequence
|
|
0:? move second child to first child ( temp float)
|
|
0:? direct index ( patch out float TessLevelOuter)
|
|
0:? '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter)
|
|
0:? Constant:
|
|
0:? 0 (const int)
|
|
0:? direct index ( temp float)
|
|
0:? EdgeTessFactor: direct index for structure ( temp 3-element array of float)
|
|
0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
|
|
0:? Constant:
|
|
0:? 0 (const int)
|
|
0:? Constant:
|
|
0:? 0 (const int)
|
|
0:? move second child to first child ( temp float)
|
|
0:? direct index ( patch out float TessLevelOuter)
|
|
0:? '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter)
|
|
0:? Constant:
|
|
0:? 1 (const int)
|
|
0:? direct index ( temp float)
|
|
0:? EdgeTessFactor: direct index for structure ( temp 3-element array of float)
|
|
0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
|
|
0:? Constant:
|
|
0:? 0 (const int)
|
|
0:? Constant:
|
|
0:? 1 (const int)
|
|
0:? move second child to first child ( temp float)
|
|
0:? direct index ( patch out float TessLevelOuter)
|
|
0:? '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter)
|
|
0:? Constant:
|
|
0:? 2 (const int)
|
|
0:? direct index ( temp float)
|
|
0:? EdgeTessFactor: direct index for structure ( temp 3-element array of float)
|
|
0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
|
|
0:? Constant:
|
|
0:? 0 (const int)
|
|
0:? Constant:
|
|
0:? 2 (const int)
|
|
0:? move second child to first child ( temp float)
|
|
0:? direct index ( patch out float TessLevelInner)
|
|
0:? '@patchConstantOutput.InsideTessFactor' ( patch out 2-element array of float TessLevelInner)
|
|
0:? Constant:
|
|
0:? 0 (const int)
|
|
0:? InsideTessFactor: direct index for structure ( temp float)
|
|
0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
|
|
0:? Constant:
|
|
0:? 1 (const int)
|
|
0:? move second child to first child ( temp 3-element array of 3-component vector of float)
|
|
0:? NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
|
|
0:? '@patchConstantOutput' (layout( location=1) patch out structure{ temp 3-element array of 3-component vector of float NormalWS})
|
|
0:? Constant:
|
|
0:? 0 (const int)
|
|
0:? NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
|
|
0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor, temp float InsideTessFactor, temp 3-element array of 3-component vector of float NormalWS})
|
|
0:? Constant:
|
|
0:? 2 (const int)
|
|
0:84 Function Definition: GSMain(struct-GSVertexInput-vf3-vf31[3];struct-GSVertexOutput-vf41; ( temp void)
|
|
0:84 Function Parameters:
|
|
0:84 'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:84 'output' ( out structure{ temp 4-component vector of float PositionCS})
|
|
0:? Sequence
|
|
0:86 Sequence
|
|
0:86 move second child to first child ( temp 3-component vector of float)
|
|
0:86 'P0' ( temp 3-component vector of float)
|
|
0:86 vector swizzle ( temp 3-component vector of float)
|
|
0:86 PositionWS: direct index for structure ( temp 3-component vector of float)
|
|
0:86 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:86 'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:86 Constant:
|
|
0:86 0 (const int)
|
|
0:86 Constant:
|
|
0:86 0 (const int)
|
|
0:86 Sequence
|
|
0:86 Constant:
|
|
0:86 0 (const int)
|
|
0:86 Constant:
|
|
0:86 1 (const int)
|
|
0:86 Constant:
|
|
0:86 2 (const int)
|
|
0:87 Sequence
|
|
0:87 move second child to first child ( temp 3-component vector of float)
|
|
0:87 'P1' ( temp 3-component vector of float)
|
|
0:87 vector swizzle ( temp 3-component vector of float)
|
|
0:87 PositionWS: direct index for structure ( temp 3-component vector of float)
|
|
0:87 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:87 'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:87 Constant:
|
|
0:87 1 (const int)
|
|
0:87 Constant:
|
|
0:87 0 (const int)
|
|
0:87 Sequence
|
|
0:87 Constant:
|
|
0:87 0 (const int)
|
|
0:87 Constant:
|
|
0:87 1 (const int)
|
|
0:87 Constant:
|
|
0:87 2 (const int)
|
|
0:88 Sequence
|
|
0:88 move second child to first child ( temp 3-component vector of float)
|
|
0:88 'P2' ( temp 3-component vector of float)
|
|
0:88 vector swizzle ( temp 3-component vector of float)
|
|
0:88 PositionWS: direct index for structure ( temp 3-component vector of float)
|
|
0:88 direct index ( temp structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:88 'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:88 Constant:
|
|
0:88 2 (const int)
|
|
0:88 Constant:
|
|
0:88 0 (const int)
|
|
0:88 Sequence
|
|
0:88 Constant:
|
|
0:88 0 (const int)
|
|
0:88 Constant:
|
|
0:88 1 (const int)
|
|
0:88 Constant:
|
|
0:88 2 (const int)
|
|
0:92 add second child into first child ( temp float)
|
|
0:92 direct index ( temp float)
|
|
0:92 'P0' ( temp 3-component vector of float)
|
|
0:92 Constant:
|
|
0:92 2 (const int)
|
|
0:92 Constant:
|
|
0:92 0.001000
|
|
0:93 add second child into first child ( temp float)
|
|
0:93 direct index ( temp float)
|
|
0:93 'P1' ( temp 3-component vector of float)
|
|
0:93 Constant:
|
|
0:93 2 (const int)
|
|
0:93 Constant:
|
|
0:93 0.001000
|
|
0:94 add second child into first child ( temp float)
|
|
0:94 direct index ( temp float)
|
|
0:94 'P2' ( temp 3-component vector of float)
|
|
0:94 Constant:
|
|
0:94 2 (const int)
|
|
0:94 Constant:
|
|
0:94 0.001000
|
|
0:95 Sequence
|
|
0:95 move second child to first child ( temp 4-component vector of float)
|
|
0:95 'Q0' ( temp 4-component vector of float)
|
|
0:95 vector-times-matrix ( temp 4-component vector of float)
|
|
0:? Construct vec4 ( temp 4-component vector of float)
|
|
0:95 'P0' ( temp 3-component vector of float)
|
|
0:95 Constant:
|
|
0:95 1.000000
|
|
0:95 proj_matrix: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
|
|
0:95 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
|
|
0:95 Constant:
|
|
0:95 1 (const uint)
|
|
0:96 Sequence
|
|
0:96 move second child to first child ( temp 4-component vector of float)
|
|
0:96 'Q1' ( temp 4-component vector of float)
|
|
0:96 vector-times-matrix ( temp 4-component vector of float)
|
|
0:? Construct vec4 ( temp 4-component vector of float)
|
|
0:96 'P1' ( temp 3-component vector of float)
|
|
0:96 Constant:
|
|
0:96 1.000000
|
|
0:96 proj_matrix: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
|
|
0:96 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
|
|
0:96 Constant:
|
|
0:96 1 (const uint)
|
|
0:97 Sequence
|
|
0:97 move second child to first child ( temp 4-component vector of float)
|
|
0:97 'Q2' ( temp 4-component vector of float)
|
|
0:97 vector-times-matrix ( temp 4-component vector of float)
|
|
0:? Construct vec4 ( temp 4-component vector of float)
|
|
0:97 'P2' ( temp 3-component vector of float)
|
|
0:97 Constant:
|
|
0:97 1.000000
|
|
0:97 proj_matrix: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
|
|
0:97 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
|
|
0:97 Constant:
|
|
0:97 1 (const uint)
|
|
0:100 move second child to first child ( temp 4-component vector of float)
|
|
0:100 PositionCS: direct index for structure ( temp 4-component vector of float)
|
|
0:100 'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
|
|
0:100 Constant:
|
|
0:100 0 (const int)
|
|
0:100 'Q0' ( temp 4-component vector of float)
|
|
0:101 Constant:
|
|
0:101 0.000000
|
|
0:102 move second child to first child ( temp 4-component vector of float)
|
|
0:102 PositionCS: direct index for structure ( temp 4-component vector of float)
|
|
0:102 'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
|
|
0:102 Constant:
|
|
0:102 0 (const int)
|
|
0:102 'Q1' ( temp 4-component vector of float)
|
|
0:103 Constant:
|
|
0:103 0.000000
|
|
0:104 Constant:
|
|
0:104 0.000000
|
|
0:107 move second child to first child ( temp 4-component vector of float)
|
|
0:107 PositionCS: direct index for structure ( temp 4-component vector of float)
|
|
0:107 'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
|
|
0:107 Constant:
|
|
0:107 0 (const int)
|
|
0:107 'Q1' ( temp 4-component vector of float)
|
|
0:108 Constant:
|
|
0:108 0.000000
|
|
0:109 move second child to first child ( temp 4-component vector of float)
|
|
0:109 PositionCS: direct index for structure ( temp 4-component vector of float)
|
|
0:109 'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
|
|
0:109 Constant:
|
|
0:109 0 (const int)
|
|
0:109 'Q2' ( temp 4-component vector of float)
|
|
0:110 Constant:
|
|
0:110 0.000000
|
|
0:111 Constant:
|
|
0:111 0.000000
|
|
0:114 move second child to first child ( temp 4-component vector of float)
|
|
0:114 PositionCS: direct index for structure ( temp 4-component vector of float)
|
|
0:114 'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
|
|
0:114 Constant:
|
|
0:114 0 (const int)
|
|
0:114 'Q2' ( temp 4-component vector of float)
|
|
0:115 Constant:
|
|
0:115 0.000000
|
|
0:116 move second child to first child ( temp 4-component vector of float)
|
|
0:116 PositionCS: direct index for structure ( temp 4-component vector of float)
|
|
0:116 'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
|
|
0:116 Constant:
|
|
0:116 0 (const int)
|
|
0:116 'Q0' ( temp 4-component vector of float)
|
|
0:117 Constant:
|
|
0:117 0.000000
|
|
0:118 Constant:
|
|
0:118 0.000000
|
|
0:? Linker Objects
|
|
0:? 'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
|
|
0:? '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float PositionWS})
|
|
0:? 'patch' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float PositionWS, temp 3-component vector of float NormalWS})
|
|
0:? 'id' ( in uint InvocationID)
|
|
0:? '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter)
|
|
0:? '@patchConstantOutput.InsideTessFactor' ( patch out 2-element array of float TessLevelInner)
|
|
0:? '@patchConstantOutput' (layout( location=1) patch out structure{ temp 3-element array of 3-component vector of float NormalWS})
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80003
|
|
// Id's are bound by 216
|
|
|
|
Capability Tessellation
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint TessellationControl 4 "HSMain" 97 101 105 126 139 145
|
|
ExecutionMode 4 OutputVertices 3
|
|
ExecutionMode 4 Triangles
|
|
ExecutionMode 4 SpacingFractionalOdd
|
|
ExecutionMode 4 VertexOrderCcw
|
|
Source HLSL 500
|
|
Name 4 "HSMain"
|
|
Name 8 "HSInput"
|
|
MemberName 8(HSInput) 0 "PositionWS"
|
|
MemberName 8(HSInput) 1 "NormalWS"
|
|
Name 15 "HSTrianglePatchConstant"
|
|
MemberName 15(HSTrianglePatchConstant) 0 "EdgeTessFactor"
|
|
MemberName 15(HSTrianglePatchConstant) 1 "InsideTessFactor"
|
|
MemberName 15(HSTrianglePatchConstant) 2 "NormalWS"
|
|
Name 18 "HSPatchConstant(struct-HSInput-vf3-vf31[3];"
|
|
Name 17 "patch"
|
|
Name 21 "HSOutput"
|
|
MemberName 21(HSOutput) 0 "PositionWS"
|
|
Name 25 "@HSMain(struct-HSInput-vf3-vf31[3];u1;"
|
|
Name 23 "patch"
|
|
Name 24 "id"
|
|
Name 27 "GSVertexInput"
|
|
MemberName 27(GSVertexInput) 0 "PositionWS"
|
|
MemberName 27(GSVertexInput) 1 "NormalWS"
|
|
Name 31 "GSVertexOutput"
|
|
MemberName 31(GSVertexOutput) 0 "PositionCS"
|
|
Name 36 "GSMain(struct-GSVertexInput-vf3-vf31[3];struct-GSVertexOutput-vf41;"
|
|
Name 34 "input"
|
|
Name 35 "output"
|
|
Name 39 "roundedEdgeTessFactor"
|
|
Name 42 "UniformBlock0"
|
|
MemberName 42(UniformBlock0) 0 "model_view_matrix"
|
|
MemberName 42(UniformBlock0) 1 "proj_matrix"
|
|
MemberName 42(UniformBlock0) 2 "model_view_proj_matrix"
|
|
MemberName 42(UniformBlock0) 3 "normal_matrix"
|
|
MemberName 42(UniformBlock0) 4 "color"
|
|
MemberName 42(UniformBlock0) 5 "view_dir"
|
|
MemberName 42(UniformBlock0) 6 "tess_factor"
|
|
Name 44 ""
|
|
Name 51 "roundedInsideTessFactor"
|
|
Name 53 "insideTessFactor"
|
|
Name 56 "result"
|
|
Name 87 "output"
|
|
Name 95 "patch"
|
|
Name 97 "patch"
|
|
Name 99 "id"
|
|
Name 101 "id"
|
|
Name 105 "@entryPointOutput"
|
|
Name 107 "param"
|
|
Name 109 "param"
|
|
Name 120 "@patchConstantResult"
|
|
Name 121 "param"
|
|
Name 126 "@patchConstantOutput.EdgeTessFactor"
|
|
Name 139 "@patchConstantOutput.InsideTessFactor"
|
|
Name 143 "HSTrianglePatchConstant"
|
|
MemberName 143(HSTrianglePatchConstant) 0 "NormalWS"
|
|
Name 145 "@patchConstantOutput"
|
|
Name 151 "P0"
|
|
Name 154 "P1"
|
|
Name 157 "P2"
|
|
Name 174 "Q0"
|
|
Name 184 "Q1"
|
|
Name 193 "Q2"
|
|
Name 202 "vertex"
|
|
MemberDecorate 42(UniformBlock0) 0 RowMajor
|
|
MemberDecorate 42(UniformBlock0) 0 Offset 0
|
|
MemberDecorate 42(UniformBlock0) 0 MatrixStride 16
|
|
MemberDecorate 42(UniformBlock0) 1 RowMajor
|
|
MemberDecorate 42(UniformBlock0) 1 Offset 64
|
|
MemberDecorate 42(UniformBlock0) 1 MatrixStride 16
|
|
MemberDecorate 42(UniformBlock0) 2 RowMajor
|
|
MemberDecorate 42(UniformBlock0) 2 Offset 128
|
|
MemberDecorate 42(UniformBlock0) 2 MatrixStride 16
|
|
MemberDecorate 42(UniformBlock0) 3 RowMajor
|
|
MemberDecorate 42(UniformBlock0) 3 Offset 192
|
|
MemberDecorate 42(UniformBlock0) 3 MatrixStride 16
|
|
MemberDecorate 42(UniformBlock0) 4 Offset 240
|
|
MemberDecorate 42(UniformBlock0) 5 Offset 256
|
|
MemberDecorate 42(UniformBlock0) 6 Offset 272
|
|
Decorate 42(UniformBlock0) Block
|
|
Decorate 44 DescriptorSet 0
|
|
Decorate 44 Binding 0
|
|
Decorate 97(patch) Location 0
|
|
Decorate 101(id) BuiltIn InvocationId
|
|
Decorate 105(@entryPointOutput) Location 0
|
|
Decorate 126(@patchConstantOutput.EdgeTessFactor) Patch
|
|
Decorate 126(@patchConstantOutput.EdgeTessFactor) BuiltIn TessLevelOuter
|
|
Decorate 139(@patchConstantOutput.InsideTessFactor) Patch
|
|
Decorate 139(@patchConstantOutput.InsideTessFactor) BuiltIn TessLevelInner
|
|
MemberDecorate 143(HSTrianglePatchConstant) 0 Patch
|
|
Decorate 145(@patchConstantOutput) Patch
|
|
Decorate 145(@patchConstantOutput) Location 1
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
7: TypeVector 6(float) 3
|
|
8(HSInput): TypeStruct 7(fvec3) 7(fvec3)
|
|
9: TypeInt 32 0
|
|
10: 9(int) Constant 3
|
|
11: TypeArray 8(HSInput) 10
|
|
12: TypePointer Function 11
|
|
13: TypeArray 6(float) 10
|
|
14: TypeArray 7(fvec3) 10
|
|
15(HSTrianglePatchConstant): TypeStruct 13 6(float) 14
|
|
16: TypeFunction 15(HSTrianglePatchConstant) 12(ptr)
|
|
20: TypePointer Function 9(int)
|
|
21(HSOutput): TypeStruct 7(fvec3)
|
|
22: TypeFunction 21(HSOutput) 12(ptr) 20(ptr)
|
|
27(GSVertexInput): TypeStruct 7(fvec3) 7(fvec3)
|
|
28: TypeArray 27(GSVertexInput) 10
|
|
29: TypePointer Function 28
|
|
30: TypeVector 6(float) 4
|
|
31(GSVertexOutput): TypeStruct 30(fvec4)
|
|
32: TypePointer Function 31(GSVertexOutput)
|
|
33: TypeFunction 2 29(ptr) 32(ptr)
|
|
38: TypePointer Function 7(fvec3)
|
|
40: TypeMatrix 30(fvec4) 4
|
|
41: TypeMatrix 7(fvec3) 3
|
|
42(UniformBlock0): TypeStruct 40 40 40 41 7(fvec3) 7(fvec3) 7(fvec3)
|
|
43: TypePointer Uniform 42(UniformBlock0)
|
|
44: 43(ptr) Variable Uniform
|
|
45: TypeInt 32 1
|
|
46: 45(int) Constant 6
|
|
47: TypePointer Uniform 7(fvec3)
|
|
50: TypePointer Function 6(float)
|
|
52: 6(float) Constant 1077936128
|
|
54: 6(float) Constant 1065353216
|
|
55: TypePointer Function 15(HSTrianglePatchConstant)
|
|
57: 45(int) Constant 0
|
|
58: 9(int) Constant 0
|
|
62: 45(int) Constant 1
|
|
63: 9(int) Constant 1
|
|
67: 45(int) Constant 2
|
|
68: 9(int) Constant 2
|
|
86: TypePointer Function 21(HSOutput)
|
|
96: TypePointer Input 11
|
|
97(patch): 96(ptr) Variable Input
|
|
100: TypePointer Input 9(int)
|
|
101(id): 100(ptr) Variable Input
|
|
103: TypeArray 21(HSOutput) 10
|
|
104: TypePointer Output 103
|
|
105(@entryPointOutput): 104(ptr) Variable Output
|
|
112: TypePointer Output 21(HSOutput)
|
|
114: 9(int) Constant 4
|
|
116: TypeBool
|
|
124: TypeArray 6(float) 114
|
|
125: TypePointer Output 124
|
|
126(@patchConstantOutput.EdgeTessFactor): 125(ptr) Variable Output
|
|
129: TypePointer Output 6(float)
|
|
137: TypeArray 6(float) 68
|
|
138: TypePointer Output 137
|
|
139(@patchConstantOutput.InsideTessFactor): 138(ptr) Variable Output
|
|
143(HSTrianglePatchConstant): TypeStruct 14
|
|
144: TypePointer Output 143(HSTrianglePatchConstant)
|
|
145(@patchConstantOutput): 144(ptr) Variable Output
|
|
146: TypePointer Function 14
|
|
149: TypePointer Output 14
|
|
160: 6(float) Constant 981668463
|
|
173: TypePointer Function 30(fvec4)
|
|
180: TypePointer Uniform 40
|
|
205: 6(float) Constant 0
|
|
4(HSMain): 2 Function None 3
|
|
5: Label
|
|
95(patch): 12(ptr) Variable Function
|
|
99(id): 20(ptr) Variable Function
|
|
107(param): 12(ptr) Variable Function
|
|
109(param): 20(ptr) Variable Function
|
|
120(@patchConstantResult): 55(ptr) Variable Function
|
|
121(param): 12(ptr) Variable Function
|
|
98: 11 Load 97(patch)
|
|
Store 95(patch) 98
|
|
102: 9(int) Load 101(id)
|
|
Store 99(id) 102
|
|
106: 9(int) Load 101(id)
|
|
108: 11 Load 95(patch)
|
|
Store 107(param) 108
|
|
110: 9(int) Load 99(id)
|
|
Store 109(param) 110
|
|
111:21(HSOutput) FunctionCall 25(@HSMain(struct-HSInput-vf3-vf31[3];u1;) 107(param) 109(param)
|
|
113: 112(ptr) AccessChain 105(@entryPointOutput) 106
|
|
Store 113 111
|
|
ControlBarrier 68 114 58
|
|
115: 9(int) Load 101(id)
|
|
117: 116(bool) IEqual 115 57
|
|
SelectionMerge 119 None
|
|
BranchConditional 117 118 119
|
|
118: Label
|
|
122: 11 Load 95(patch)
|
|
Store 121(param) 122
|
|
123:15(HSTrianglePatchConstant) FunctionCall 18(HSPatchConstant(struct-HSInput-vf3-vf31[3];) 121(param)
|
|
Store 120(@patchConstantResult) 123
|
|
127: 50(ptr) AccessChain 120(@patchConstantResult) 57 57
|
|
128: 6(float) Load 127
|
|
130: 129(ptr) AccessChain 126(@patchConstantOutput.EdgeTessFactor) 57
|
|
Store 130 128
|
|
131: 50(ptr) AccessChain 120(@patchConstantResult) 57 62
|
|
132: 6(float) Load 131
|
|
133: 129(ptr) AccessChain 126(@patchConstantOutput.EdgeTessFactor) 62
|
|
Store 133 132
|
|
134: 50(ptr) AccessChain 120(@patchConstantResult) 57 67
|
|
135: 6(float) Load 134
|
|
136: 129(ptr) AccessChain 126(@patchConstantOutput.EdgeTessFactor) 67
|
|
Store 136 135
|
|
140: 50(ptr) AccessChain 120(@patchConstantResult) 62
|
|
141: 6(float) Load 140
|
|
142: 129(ptr) AccessChain 139(@patchConstantOutput.InsideTessFactor) 57
|
|
Store 142 141
|
|
147: 146(ptr) AccessChain 120(@patchConstantResult) 67
|
|
148: 14 Load 147
|
|
150: 149(ptr) AccessChain 145(@patchConstantOutput) 57
|
|
Store 150 148
|
|
Branch 119
|
|
119: Label
|
|
Return
|
|
FunctionEnd
|
|
18(HSPatchConstant(struct-HSInput-vf3-vf31[3];):15(HSTrianglePatchConstant) Function None 16
|
|
17(patch): 12(ptr) FunctionParameter
|
|
19: Label
|
|
39(roundedEdgeTessFactor): 38(ptr) Variable Function
|
|
51(roundedInsideTessFactor): 50(ptr) Variable Function
|
|
53(insideTessFactor): 50(ptr) Variable Function
|
|
56(result): 55(ptr) Variable Function
|
|
48: 47(ptr) AccessChain 44 46
|
|
49: 7(fvec3) Load 48
|
|
Store 39(roundedEdgeTessFactor) 49
|
|
Store 51(roundedInsideTessFactor) 52
|
|
Store 53(insideTessFactor) 54
|
|
59: 50(ptr) AccessChain 39(roundedEdgeTessFactor) 58
|
|
60: 6(float) Load 59
|
|
61: 50(ptr) AccessChain 56(result) 57 57
|
|
Store 61 60
|
|
64: 50(ptr) AccessChain 39(roundedEdgeTessFactor) 63
|
|
65: 6(float) Load 64
|
|
66: 50(ptr) AccessChain 56(result) 57 62
|
|
Store 66 65
|
|
69: 50(ptr) AccessChain 39(roundedEdgeTessFactor) 68
|
|
70: 6(float) Load 69
|
|
71: 50(ptr) AccessChain 56(result) 57 67
|
|
Store 71 70
|
|
72: 6(float) Load 51(roundedInsideTessFactor)
|
|
73: 50(ptr) AccessChain 56(result) 62
|
|
Store 73 72
|
|
74: 38(ptr) AccessChain 17(patch) 57 62
|
|
75: 7(fvec3) Load 74
|
|
76: 38(ptr) AccessChain 56(result) 67 57
|
|
Store 76 75
|
|
77: 38(ptr) AccessChain 17(patch) 62 62
|
|
78: 7(fvec3) Load 77
|
|
79: 38(ptr) AccessChain 56(result) 67 62
|
|
Store 79 78
|
|
80: 38(ptr) AccessChain 17(patch) 67 62
|
|
81: 7(fvec3) Load 80
|
|
82: 38(ptr) AccessChain 56(result) 67 67
|
|
Store 82 81
|
|
83:15(HSTrianglePatchConstant) Load 56(result)
|
|
ReturnValue 83
|
|
FunctionEnd
|
|
25(@HSMain(struct-HSInput-vf3-vf31[3];u1;):21(HSOutput) Function None 22
|
|
23(patch): 12(ptr) FunctionParameter
|
|
24(id): 20(ptr) FunctionParameter
|
|
26: Label
|
|
87(output): 86(ptr) Variable Function
|
|
88: 9(int) Load 24(id)
|
|
89: 38(ptr) AccessChain 23(patch) 88 57
|
|
90: 7(fvec3) Load 89
|
|
91: 38(ptr) AccessChain 87(output) 57
|
|
Store 91 90
|
|
92:21(HSOutput) Load 87(output)
|
|
ReturnValue 92
|
|
FunctionEnd
|
|
36(GSMain(struct-GSVertexInput-vf3-vf31[3];struct-GSVertexOutput-vf41;): 2 Function None 33
|
|
34(input): 29(ptr) FunctionParameter
|
|
35(output): 32(ptr) FunctionParameter
|
|
37: Label
|
|
151(P0): 38(ptr) Variable Function
|
|
154(P1): 38(ptr) Variable Function
|
|
157(P2): 38(ptr) Variable Function
|
|
174(Q0): 173(ptr) Variable Function
|
|
184(Q1): 173(ptr) Variable Function
|
|
193(Q2): 173(ptr) Variable Function
|
|
202(vertex): 32(ptr) Variable Function
|
|
152: 38(ptr) AccessChain 34(input) 57 57
|
|
153: 7(fvec3) Load 152
|
|
Store 151(P0) 153
|
|
155: 38(ptr) AccessChain 34(input) 62 57
|
|
156: 7(fvec3) Load 155
|
|
Store 154(P1) 156
|
|
158: 38(ptr) AccessChain 34(input) 67 57
|
|
159: 7(fvec3) Load 158
|
|
Store 157(P2) 159
|
|
161: 50(ptr) AccessChain 151(P0) 68
|
|
162: 6(float) Load 161
|
|
163: 6(float) FAdd 162 160
|
|
164: 50(ptr) AccessChain 151(P0) 68
|
|
Store 164 163
|
|
165: 50(ptr) AccessChain 154(P1) 68
|
|
166: 6(float) Load 165
|
|
167: 6(float) FAdd 166 160
|
|
168: 50(ptr) AccessChain 154(P1) 68
|
|
Store 168 167
|
|
169: 50(ptr) AccessChain 157(P2) 68
|
|
170: 6(float) Load 169
|
|
171: 6(float) FAdd 170 160
|
|
172: 50(ptr) AccessChain 157(P2) 68
|
|
Store 172 171
|
|
175: 7(fvec3) Load 151(P0)
|
|
176: 6(float) CompositeExtract 175 0
|
|
177: 6(float) CompositeExtract 175 1
|
|
178: 6(float) CompositeExtract 175 2
|
|
179: 30(fvec4) CompositeConstruct 176 177 178 54
|
|
181: 180(ptr) AccessChain 44 62
|
|
182: 40 Load 181
|
|
183: 30(fvec4) VectorTimesMatrix 179 182
|
|
Store 174(Q0) 183
|
|
185: 7(fvec3) Load 154(P1)
|
|
186: 6(float) CompositeExtract 185 0
|
|
187: 6(float) CompositeExtract 185 1
|
|
188: 6(float) CompositeExtract 185 2
|
|
189: 30(fvec4) CompositeConstruct 186 187 188 54
|
|
190: 180(ptr) AccessChain 44 62
|
|
191: 40 Load 190
|
|
192: 30(fvec4) VectorTimesMatrix 189 191
|
|
Store 184(Q1) 192
|
|
194: 7(fvec3) Load 157(P2)
|
|
195: 6(float) CompositeExtract 194 0
|
|
196: 6(float) CompositeExtract 194 1
|
|
197: 6(float) CompositeExtract 194 2
|
|
198: 30(fvec4) CompositeConstruct 195 196 197 54
|
|
199: 180(ptr) AccessChain 44 62
|
|
200: 40 Load 199
|
|
201: 30(fvec4) VectorTimesMatrix 198 200
|
|
Store 193(Q2) 201
|
|
203: 30(fvec4) Load 174(Q0)
|
|
204: 173(ptr) AccessChain 202(vertex) 57
|
|
Store 204 203
|
|
206: 30(fvec4) Load 184(Q1)
|
|
207: 173(ptr) AccessChain 202(vertex) 57
|
|
Store 207 206
|
|
208: 30(fvec4) Load 184(Q1)
|
|
209: 173(ptr) AccessChain 202(vertex) 57
|
|
Store 209 208
|
|
210: 30(fvec4) Load 193(Q2)
|
|
211: 173(ptr) AccessChain 202(vertex) 57
|
|
Store 211 210
|
|
212: 30(fvec4) Load 193(Q2)
|
|
213: 173(ptr) AccessChain 202(vertex) 57
|
|
Store 213 212
|
|
214: 30(fvec4) Load 174(Q0)
|
|
215: 173(ptr) AccessChain 202(vertex) 57
|
|
Store 215 214
|
|
Return
|
|
FunctionEnd
|