mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-08 11:30:06 +00:00
33c7e30860
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
1379 lines
85 KiB
Plaintext
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
|