hlsl.hull.4.tesc
Shader version: 500
vertices = 3
+vertex spacing = fractional_odd_spacing
+triangle order = cw
0:? Sequence
-0:14 Function Definition: @main( ( temp structure{ temp 3-element array of float tessFactor, temp float coord})
-0:14 Function Parameters:
+0:25 Function Definition: HS_ConstFunc(struct-HS_Input-vf4-vf41[3]; ( temp structure{ temp 3-element array of float fTessFactor, temp float fInsideTessFactor})
+0:25 Function Parameters:
+0:25 'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
0:? Sequence
-0:15 Sequence
-0:15 move second child to first child ( temp structure{ temp 3-element array of float tessFactor, temp float coord})
-0:15 'output' ( temp structure{ temp 3-element array of float tessFactor, temp float coord})
-0:15 Constant:
-0:15 0.000000
-0:15 0.000000
-0:15 0.000000
-0:15 0.000000
-0:16 Branch: Return with expression
-0:16 'output' ( temp structure{ temp 3-element array of float tessFactor, temp float coord})
-0:14 Function Definition: main( ( temp void)
-0:14 Function Parameters:
+0:26 Sequence
+0:26 move second child to first child ( temp structure{ temp 3-element array of float fTessFactor, temp float fInsideTessFactor})
+0:26 'O' ( temp structure{ temp 3-element array of float fTessFactor, temp float fInsideTessFactor})
+0:26 Constant:
+0:26 0.000000
+0:26 0.000000
+0:26 0.000000
+0:26 0.000000
+0:28 move second child to first child ( temp float)
+0:28 fInsideTessFactor: direct index for structure ( temp float)
+0:28 'O' ( temp structure{ temp 3-element array of float fTessFactor, temp float fInsideTessFactor})
+0:28 Constant:
+0:28 1 (const int)
+0:28 add ( temp float)
+0:28 direct index ( temp float)
+0:28 m_Position: direct index for structure ( temp 4-component vector of float)
+0:28 direct index ( temp structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:28 'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:28 Constant:
+0:28 0 (const int)
+0:28 Constant:
+0:28 0 (const int)
+0:28 Constant:
+0:28 3 (const int)
+0:28 direct index ( temp float)
+0:28 m_Normal: direct index for structure ( temp 4-component vector of float)
+0:28 direct index ( temp structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:28 'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:28 Constant:
+0:28 0 (const int)
+0:28 Constant:
+0:28 1 (const int)
+0:28 Constant:
+0:28 3 (const int)
+0:30 Branch: Return with expression
+0:30 'O' ( temp structure{ temp 3-element array of float fTessFactor, temp float fInsideTessFactor})
+0:39 Function Definition: @main(struct-HS_Input-vf4-vf41[3];u1; ( temp structure{ temp 4-component vector of float m_Position})
+0:39 Function Parameters:
+0:39 'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:39 'cpid' ( in uint)
0:? Sequence
-0:14 Sequence
-0:14 move second child to first child ( temp structure{ temp 3-element array of float tessFactor, temp float coord})
-0:14 'flattenTemp' ( temp structure{ temp 3-element array of float tessFactor, temp float coord})
-0:14 Function Call: @main( ( temp structure{ temp 3-element array of float tessFactor, temp float coord})
-0:14 move second child to first child ( temp float)
-0:14 direct index ( patch out float TessLevelOuter)
-0:? '@entryPointOutput.tessFactor' ( patch out 4-element array of float TessLevelOuter)
-0:14 Constant:
-0:14 0 (const int)
-0:14 direct index ( temp float)
-0:14 tessFactor: direct index for structure ( temp 3-element array of float)
-0:14 'flattenTemp' ( temp structure{ temp 3-element array of float tessFactor, temp float coord})
-0:14 Constant:
-0:14 0 (const int)
-0:14 Constant:
-0:14 0 (const int)
-0:14 move second child to first child ( temp float)
-0:14 direct index ( patch out float TessLevelOuter)
-0:? '@entryPointOutput.tessFactor' ( patch out 4-element array of float TessLevelOuter)
-0:14 Constant:
-0:14 1 (const int)
-0:14 direct index ( temp float)
-0:14 tessFactor: direct index for structure ( temp 3-element array of float)
-0:14 'flattenTemp' ( temp structure{ temp 3-element array of float tessFactor, temp float coord})
-0:14 Constant:
-0:14 0 (const int)
-0:14 Constant:
-0:14 1 (const int)
-0:14 move second child to first child ( temp float)
-0:14 direct index ( patch out float TessLevelOuter)
-0:? '@entryPointOutput.tessFactor' ( patch out 4-element array of float TessLevelOuter)
-0:14 Constant:
-0:14 2 (const int)
-0:14 direct index ( temp float)
-0:14 tessFactor: direct index for structure ( temp 3-element array of float)
-0:14 'flattenTemp' ( temp structure{ temp 3-element array of float tessFactor, temp float coord})
-0:14 Constant:
-0:14 0 (const int)
-0:14 Constant:
-0:14 2 (const int)
-0:14 move second child to first child ( temp float)
-0:14 coord: direct index for structure ( temp float)
-0:14 indirect index (layout( location=0) out structure{ temp float coord})
-0:14 '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp float coord})
-0:? 'InvocationId' ( in uint InvocationID)
-0:14 Constant:
-0:14 0 (const int)
-0:14 coord: direct index for structure ( temp float)
-0:14 'flattenTemp' ( temp structure{ temp 3-element array of float tessFactor, temp float coord})
-0:14 Constant:
-0:14 1 (const int)
+0:40 Sequence
+0:40 move second child to first child ( temp structure{ temp 4-component vector of float m_Position})
+0:40 'output' ( temp structure{ temp 4-component vector of float m_Position})
+0:40 Constant:
+0:40 0.000000
+0:40 0.000000
+0:40 0.000000
+0:40 0.000000
+0:41 move second child to first child ( temp 4-component vector of float)
+0:41 m_Position: direct index for structure ( temp 4-component vector of float)
+0:41 'output' ( temp structure{ temp 4-component vector of float m_Position})
+0:41 Constant:
+0:41 0 (const int)
+0:41 Constant:
+0:41 0.000000
+0:41 0.000000
+0:41 0.000000
+0:41 0.000000
+0:42 Branch: Return with expression
+0:42 'output' ( temp structure{ temp 4-component vector of float m_Position})
+0:39 Function Definition: main( ( temp void)
+0:39 Function Parameters:
+0:? Sequence
+0:39 Sequence
+0:39 move second child to first child ( temp 4-component vector of float)
+0:39 m_Position: direct index for structure ( temp 4-component vector of float)
+0:39 direct index ( temp structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:? 'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:39 Constant:
+0:39 0 (const int)
+0:39 Constant:
+0:39 0 (const int)
+0:39 direct index ( in 4-component vector of float Position)
+0:? 'I.m_Position' ( in 3-element array of 4-component vector of float Position)
+0:39 Constant:
+0:39 0 (const int)
+0:39 move second child to first child ( temp 4-component vector of float)
+0:39 m_Normal: direct index for structure ( temp 4-component vector of float)
+0:39 direct index ( temp structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:? 'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:39 Constant:
+0:39 0 (const int)
+0:39 Constant:
+0:39 1 (const int)
+0:39 m_Normal: direct index for structure ( temp 4-component vector of float)
+0:39 direct index (layout( location=0) in structure{ temp 4-component vector of float m_Normal})
+0:39 'I' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float m_Normal})
+0:39 Constant:
+0:39 0 (const int)
+0:39 Constant:
+0:39 0 (const int)
+0:39 move second child to first child ( temp 4-component vector of float)
+0:39 m_Position: direct index for structure ( temp 4-component vector of float)
+0:39 direct index ( temp structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:? 'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:39 Constant:
+0:39 1 (const int)
+0:39 Constant:
+0:39 0 (const int)
+0:39 direct index ( in 4-component vector of float Position)
+0:? 'I.m_Position' ( in 3-element array of 4-component vector of float Position)
+0:39 Constant:
+0:39 1 (const int)
+0:39 move second child to first child ( temp 4-component vector of float)
+0:39 m_Normal: direct index for structure ( temp 4-component vector of float)
+0:39 direct index ( temp structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:? 'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:39 Constant:
+0:39 1 (const int)
+0:39 Constant:
+0:39 1 (const int)
+0:39 m_Normal: direct index for structure ( temp 4-component vector of float)
+0:39 direct index (layout( location=0) in structure{ temp 4-component vector of float m_Normal})
+0:39 'I' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float m_Normal})
+0:39 Constant:
+0:39 1 (const int)
+0:39 Constant:
+0:39 0 (const int)
+0:39 move second child to first child ( temp 4-component vector of float)
+0:39 m_Position: direct index for structure ( temp 4-component vector of float)
+0:39 direct index ( temp structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:? 'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:39 Constant:
+0:39 2 (const int)
+0:39 Constant:
+0:39 0 (const int)
+0:39 direct index ( in 4-component vector of float Position)
+0:? 'I.m_Position' ( in 3-element array of 4-component vector of float Position)
+0:39 Constant:
+0:39 2 (const int)
+0:39 move second child to first child ( temp 4-component vector of float)
+0:39 m_Normal: direct index for structure ( temp 4-component vector of float)
+0:39 direct index ( temp structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:? 'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:39 Constant:
+0:39 2 (const int)
+0:39 Constant:
+0:39 1 (const int)
+0:39 m_Normal: direct index for structure ( temp 4-component vector of float)
+0:39 direct index (layout( location=0) in structure{ temp 4-component vector of float m_Normal})
+0:39 'I' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float m_Normal})
+0:39 Constant:
+0:39 2 (const int)
+0:39 Constant:
+0:39 0 (const int)
+0:39 move second child to first child ( temp uint)
+0:? 'cpid' ( temp uint)
+0:? 'cpid' ( in uint InvocationID)
+0:39 Sequence
+0:39 move second child to first child ( temp 4-component vector of float)
+0:39 direct index ( out 4-component vector of float Position)
+0:? '@entryPointOutput.m_Position' ( out 3-element array of 4-component vector of float Position)
+0:39 Constant:
+0:39 0 (const int)
+0:39 m_Position: direct index for structure ( temp 4-component vector of float)
+0:39 Function Call: @main(struct-HS_Input-vf4-vf41[3];u1; ( temp structure{ temp 4-component vector of float m_Position})
+0:? 'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:? 'cpid' ( temp uint)
+0:39 Constant:
+0:39 0 (const int)
+0:? Barrier ( temp void)
+0:? Test condition and select ( temp void)
+0:? Condition
+0:? Compare Equal ( temp bool)
+0:? 'cpid' ( 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 fTessFactor, temp float fInsideTessFactor})
+0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor, temp float fInsideTessFactor})
+0:? Function Call: HS_ConstFunc(struct-HS_Input-vf4-vf41[3]; ( temp structure{ temp 3-element array of float fTessFactor, temp float fInsideTessFactor})
+0:? 'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:? Sequence
+0:? move second child to first child ( temp float)
+0:? direct index ( patch out float TessLevelOuter)
+0:? '@patchConstantOutput.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
+0:? Constant:
+0:? 0 (const int)
+0:? direct index ( temp float)
+0:? fTessFactor: direct index for structure ( temp 3-element array of float)
+0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor, temp float fInsideTessFactor})
+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.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
+0:? Constant:
+0:? 1 (const int)
+0:? direct index ( temp float)
+0:? fTessFactor: direct index for structure ( temp 3-element array of float)
+0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor, temp float fInsideTessFactor})
+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.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
+0:? Constant:
+0:? 2 (const int)
+0:? direct index ( temp float)
+0:? fTessFactor: direct index for structure ( temp 3-element array of float)
+0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor, temp float fInsideTessFactor})
+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.fInsideTessFactor' ( patch out 2-element array of float TessLevelInner)
+0:? Constant:
+0:? 0 (const int)
+0:? fInsideTessFactor: direct index for structure ( temp float)
+0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor, temp float fInsideTessFactor})
+0:? Constant:
+0:? 1 (const int)
0:? Linker Objects
-0:? '@entryPointOutput.tessFactor' ( patch out 4-element array of float TessLevelOuter)
-0:? '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp float coord})
-0:? 'InvocationId' ( in uint InvocationID)
+0:? '@entryPointOutput.m_Position' ( out 3-element array of 4-component vector of float Position)
+0:? 'I.m_Position' ( in 3-element array of 4-component vector of float Position)
+0:? 'I' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float m_Normal})
+0:? 'cpid' ( in uint InvocationID)
+0:? '@patchConstantOutput.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
+0:? '@patchConstantOutput.fInsideTessFactor' ( patch out 2-element array of float TessLevelInner)
Linked tessellation control stage:
Shader version: 500
vertices = 3
+vertex spacing = fractional_odd_spacing
+triangle order = cw
0:? Sequence
-0:14 Function Definition: @main( ( temp structure{ temp 3-element array of float tessFactor, temp float coord})
-0:14 Function Parameters:
+0:25 Function Definition: HS_ConstFunc(struct-HS_Input-vf4-vf41[3]; ( temp structure{ temp 3-element array of float fTessFactor, temp float fInsideTessFactor})
+0:25 Function Parameters:
+0:25 'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:? Sequence
+0:26 Sequence
+0:26 move second child to first child ( temp structure{ temp 3-element array of float fTessFactor, temp float fInsideTessFactor})
+0:26 'O' ( temp structure{ temp 3-element array of float fTessFactor, temp float fInsideTessFactor})
+0:26 Constant:
+0:26 0.000000
+0:26 0.000000
+0:26 0.000000
+0:26 0.000000
+0:28 move second child to first child ( temp float)
+0:28 fInsideTessFactor: direct index for structure ( temp float)
+0:28 'O' ( temp structure{ temp 3-element array of float fTessFactor, temp float fInsideTessFactor})
+0:28 Constant:
+0:28 1 (const int)
+0:28 add ( temp float)
+0:28 direct index ( temp float)
+0:28 m_Position: direct index for structure ( temp 4-component vector of float)
+0:28 direct index ( temp structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:28 'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:28 Constant:
+0:28 0 (const int)
+0:28 Constant:
+0:28 0 (const int)
+0:28 Constant:
+0:28 3 (const int)
+0:28 direct index ( temp float)
+0:28 m_Normal: direct index for structure ( temp 4-component vector of float)
+0:28 direct index ( temp structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:28 'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:28 Constant:
+0:28 0 (const int)
+0:28 Constant:
+0:28 1 (const int)
+0:28 Constant:
+0:28 3 (const int)
+0:30 Branch: Return with expression
+0:30 'O' ( temp structure{ temp 3-element array of float fTessFactor, temp float fInsideTessFactor})
+0:39 Function Definition: @main(struct-HS_Input-vf4-vf41[3];u1; ( temp structure{ temp 4-component vector of float m_Position})
+0:39 Function Parameters:
+0:39 'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:39 'cpid' ( in uint)
0:? Sequence
-0:15 Sequence
-0:15 move second child to first child ( temp structure{ temp 3-element array of float tessFactor, temp float coord})
-0:15 'output' ( temp structure{ temp 3-element array of float tessFactor, temp float coord})
-0:15 Constant:
-0:15 0.000000
-0:15 0.000000
-0:15 0.000000
-0:15 0.000000
-0:16 Branch: Return with expression
-0:16 'output' ( temp structure{ temp 3-element array of float tessFactor, temp float coord})
-0:14 Function Definition: main( ( temp void)
-0:14 Function Parameters:
+0:40 Sequence
+0:40 move second child to first child ( temp structure{ temp 4-component vector of float m_Position})
+0:40 'output' ( temp structure{ temp 4-component vector of float m_Position})
+0:40 Constant:
+0:40 0.000000
+0:40 0.000000
+0:40 0.000000
+0:40 0.000000
+0:41 move second child to first child ( temp 4-component vector of float)
+0:41 m_Position: direct index for structure ( temp 4-component vector of float)
+0:41 'output' ( temp structure{ temp 4-component vector of float m_Position})
+0:41 Constant:
+0:41 0 (const int)
+0:41 Constant:
+0:41 0.000000
+0:41 0.000000
+0:41 0.000000
+0:41 0.000000
+0:42 Branch: Return with expression
+0:42 'output' ( temp structure{ temp 4-component vector of float m_Position})
+0:39 Function Definition: main( ( temp void)
+0:39 Function Parameters:
0:? Sequence
-0:14 Sequence
-0:14 move second child to first child ( temp structure{ temp 3-element array of float tessFactor, temp float coord})
-0:14 'flattenTemp' ( temp structure{ temp 3-element array of float tessFactor, temp float coord})
-0:14 Function Call: @main( ( temp structure{ temp 3-element array of float tessFactor, temp float coord})
-0:14 move second child to first child ( temp float)
-0:14 direct index ( patch out float TessLevelOuter)
-0:? '@entryPointOutput.tessFactor' ( patch out 4-element array of float TessLevelOuter)
-0:14 Constant:
-0:14 0 (const int)
-0:14 direct index ( temp float)
-0:14 tessFactor: direct index for structure ( temp 3-element array of float)
-0:14 'flattenTemp' ( temp structure{ temp 3-element array of float tessFactor, temp float coord})
-0:14 Constant:
-0:14 0 (const int)
-0:14 Constant:
-0:14 0 (const int)
-0:14 move second child to first child ( temp float)
-0:14 direct index ( patch out float TessLevelOuter)
-0:? '@entryPointOutput.tessFactor' ( patch out 4-element array of float TessLevelOuter)
-0:14 Constant:
-0:14 1 (const int)
-0:14 direct index ( temp float)
-0:14 tessFactor: direct index for structure ( temp 3-element array of float)
-0:14 'flattenTemp' ( temp structure{ temp 3-element array of float tessFactor, temp float coord})
-0:14 Constant:
-0:14 0 (const int)
-0:14 Constant:
-0:14 1 (const int)
-0:14 move second child to first child ( temp float)
-0:14 direct index ( patch out float TessLevelOuter)
-0:? '@entryPointOutput.tessFactor' ( patch out 4-element array of float TessLevelOuter)
-0:14 Constant:
-0:14 2 (const int)
-0:14 direct index ( temp float)
-0:14 tessFactor: direct index for structure ( temp 3-element array of float)
-0:14 'flattenTemp' ( temp structure{ temp 3-element array of float tessFactor, temp float coord})
-0:14 Constant:
-0:14 0 (const int)
-0:14 Constant:
-0:14 2 (const int)
-0:14 move second child to first child ( temp float)
-0:14 coord: direct index for structure ( temp float)
-0:14 indirect index (layout( location=0) out structure{ temp float coord})
-0:14 '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp float coord})
-0:? 'InvocationId' ( in uint InvocationID)
-0:14 Constant:
-0:14 0 (const int)
-0:14 coord: direct index for structure ( temp float)
-0:14 'flattenTemp' ( temp structure{ temp 3-element array of float tessFactor, temp float coord})
-0:14 Constant:
-0:14 1 (const int)
+0:39 Sequence
+0:39 move second child to first child ( temp 4-component vector of float)
+0:39 m_Position: direct index for structure ( temp 4-component vector of float)
+0:39 direct index ( temp structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:? 'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:39 Constant:
+0:39 0 (const int)
+0:39 Constant:
+0:39 0 (const int)
+0:39 direct index ( in 4-component vector of float Position)
+0:? 'I.m_Position' ( in 3-element array of 4-component vector of float Position)
+0:39 Constant:
+0:39 0 (const int)
+0:39 move second child to first child ( temp 4-component vector of float)
+0:39 m_Normal: direct index for structure ( temp 4-component vector of float)
+0:39 direct index ( temp structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:? 'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:39 Constant:
+0:39 0 (const int)
+0:39 Constant:
+0:39 1 (const int)
+0:39 m_Normal: direct index for structure ( temp 4-component vector of float)
+0:39 direct index (layout( location=0) in structure{ temp 4-component vector of float m_Normal})
+0:39 'I' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float m_Normal})
+0:39 Constant:
+0:39 0 (const int)
+0:39 Constant:
+0:39 0 (const int)
+0:39 move second child to first child ( temp 4-component vector of float)
+0:39 m_Position: direct index for structure ( temp 4-component vector of float)
+0:39 direct index ( temp structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:? 'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:39 Constant:
+0:39 1 (const int)
+0:39 Constant:
+0:39 0 (const int)
+0:39 direct index ( in 4-component vector of float Position)
+0:? 'I.m_Position' ( in 3-element array of 4-component vector of float Position)
+0:39 Constant:
+0:39 1 (const int)
+0:39 move second child to first child ( temp 4-component vector of float)
+0:39 m_Normal: direct index for structure ( temp 4-component vector of float)
+0:39 direct index ( temp structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:? 'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:39 Constant:
+0:39 1 (const int)
+0:39 Constant:
+0:39 1 (const int)
+0:39 m_Normal: direct index for structure ( temp 4-component vector of float)
+0:39 direct index (layout( location=0) in structure{ temp 4-component vector of float m_Normal})
+0:39 'I' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float m_Normal})
+0:39 Constant:
+0:39 1 (const int)
+0:39 Constant:
+0:39 0 (const int)
+0:39 move second child to first child ( temp 4-component vector of float)
+0:39 m_Position: direct index for structure ( temp 4-component vector of float)
+0:39 direct index ( temp structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:? 'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:39 Constant:
+0:39 2 (const int)
+0:39 Constant:
+0:39 0 (const int)
+0:39 direct index ( in 4-component vector of float Position)
+0:? 'I.m_Position' ( in 3-element array of 4-component vector of float Position)
+0:39 Constant:
+0:39 2 (const int)
+0:39 move second child to first child ( temp 4-component vector of float)
+0:39 m_Normal: direct index for structure ( temp 4-component vector of float)
+0:39 direct index ( temp structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:? 'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:39 Constant:
+0:39 2 (const int)
+0:39 Constant:
+0:39 1 (const int)
+0:39 m_Normal: direct index for structure ( temp 4-component vector of float)
+0:39 direct index (layout( location=0) in structure{ temp 4-component vector of float m_Normal})
+0:39 'I' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float m_Normal})
+0:39 Constant:
+0:39 2 (const int)
+0:39 Constant:
+0:39 0 (const int)
+0:39 move second child to first child ( temp uint)
+0:? 'cpid' ( temp uint)
+0:? 'cpid' ( in uint InvocationID)
+0:39 Sequence
+0:39 move second child to first child ( temp 4-component vector of float)
+0:39 direct index ( out 4-component vector of float Position)
+0:? '@entryPointOutput.m_Position' ( out 3-element array of 4-component vector of float Position)
+0:39 Constant:
+0:39 0 (const int)
+0:39 m_Position: direct index for structure ( temp 4-component vector of float)
+0:39 Function Call: @main(struct-HS_Input-vf4-vf41[3];u1; ( temp structure{ temp 4-component vector of float m_Position})
+0:? 'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:? 'cpid' ( temp uint)
+0:39 Constant:
+0:39 0 (const int)
+0:? Barrier ( temp void)
+0:? Test condition and select ( temp void)
+0:? Condition
+0:? Compare Equal ( temp bool)
+0:? 'cpid' ( 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 fTessFactor, temp float fInsideTessFactor})
+0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor, temp float fInsideTessFactor})
+0:? Function Call: HS_ConstFunc(struct-HS_Input-vf4-vf41[3]; ( temp structure{ temp 3-element array of float fTessFactor, temp float fInsideTessFactor})
+0:? 'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position, temp 4-component vector of float m_Normal})
+0:? Sequence
+0:? move second child to first child ( temp float)
+0:? direct index ( patch out float TessLevelOuter)
+0:? '@patchConstantOutput.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
+0:? Constant:
+0:? 0 (const int)
+0:? direct index ( temp float)
+0:? fTessFactor: direct index for structure ( temp 3-element array of float)
+0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor, temp float fInsideTessFactor})
+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.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
+0:? Constant:
+0:? 1 (const int)
+0:? direct index ( temp float)
+0:? fTessFactor: direct index for structure ( temp 3-element array of float)
+0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor, temp float fInsideTessFactor})
+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.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
+0:? Constant:
+0:? 2 (const int)
+0:? direct index ( temp float)
+0:? fTessFactor: direct index for structure ( temp 3-element array of float)
+0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor, temp float fInsideTessFactor})
+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.fInsideTessFactor' ( patch out 2-element array of float TessLevelInner)
+0:? Constant:
+0:? 0 (const int)
+0:? fInsideTessFactor: direct index for structure ( temp float)
+0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor, temp float fInsideTessFactor})
+0:? Constant:
+0:? 1 (const int)
0:? Linker Objects
-0:? '@entryPointOutput.tessFactor' ( patch out 4-element array of float TessLevelOuter)
-0:? '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp float coord})
-0:? 'InvocationId' ( in uint InvocationID)
+0:? '@entryPointOutput.m_Position' ( out 3-element array of 4-component vector of float Position)
+0:? 'I.m_Position' ( in 3-element array of 4-component vector of float Position)
+0:? 'I' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float m_Normal})
+0:? 'cpid' ( in uint InvocationID)
+0:? '@patchConstantOutput.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
+0:? '@patchConstantOutput.fInsideTessFactor' ( patch out 2-element array of float TessLevelInner)
// Module Version 10000
// Generated by (magic number): 80001
-// Id's are bound by 53
+// Id's are bound by 127
Capability Tessellation
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint TessellationControl 4 "main" 27 46 48
+ EntryPoint TessellationControl 4 "main" 56 64 83 86 110 123
ExecutionMode 4 OutputVertices 3
ExecutionMode 4 Triangles
+ ExecutionMode 4 SpacingFractionalOdd
+ ExecutionMode 4 VertexOrderCw
Source HLSL 500
Name 4 "main"
- Name 10 "HS_Output"
- MemberName 10(HS_Output) 0 "tessFactor"
- MemberName 10(HS_Output) 1 "coord"
- Name 12 "@main("
- Name 15 "output"
- Name 22 "flattenTemp"
- Name 27 "@entryPointOutput.tessFactor"
- Name 43 "HS_Output"
- MemberName 43(HS_Output) 0 "coord"
- Name 46 "@entryPointOutput"
- Name 48 "InvocationId"
- Decorate 27(@entryPointOutput.tessFactor) Patch
- Decorate 27(@entryPointOutput.tessFactor) BuiltIn TessLevelOuter
- Decorate 46(@entryPointOutput) Location 0
- Decorate 48(InvocationId) BuiltIn InvocationId
+ Name 8 "HS_Input"
+ MemberName 8(HS_Input) 0 "m_Position"
+ MemberName 8(HS_Input) 1 "m_Normal"
+ Name 14 "HS_Output"
+ MemberName 14(HS_Output) 0 "fTessFactor"
+ MemberName 14(HS_Output) 1 "fInsideTessFactor"
+ Name 17 "HS_ConstFunc(struct-HS_Input-vf4-vf41[3];"
+ Name 16 "I"
+ Name 20 "HS_Main_Output"
+ MemberName 20(HS_Main_Output) 0 "m_Position"
+ Name 24 "@main(struct-HS_Input-vf4-vf41[3];u1;"
+ Name 22 "I"
+ Name 23 "cpid"
+ Name 27 "O"
+ Name 45 "output"
+ Name 53 "I"
+ Name 56 "I.m_Position"
+ Name 61 "HS_Input"
+ MemberName 61(HS_Input) 0 "m_Normal"
+ Name 64 "I"
+ Name 81 "cpid"
+ Name 83 "cpid"
+ Name 86 "@entryPointOutput.m_Position"
+ Name 87 "param"
+ Name 89 "param"
+ Name 103 "@patchConstantResult"
+ Name 104 "param"
+ Name 110 "@patchConstantOutput.fTessFactor"
+ Name 123 "@patchConstantOutput.fInsideTessFactor"
+ Decorate 56(I.m_Position) BuiltIn Position
+ Decorate 64(I) Location 0
+ Decorate 83(cpid) BuiltIn InvocationId
+ Decorate 86(@entryPointOutput.m_Position) BuiltIn Position
+ Decorate 110(@patchConstantOutput.fTessFactor) Patch
+ Decorate 110(@patchConstantOutput.fTessFactor) BuiltIn TessLevelOuter
+ Decorate 123(@patchConstantOutput.fInsideTessFactor) Patch
+ Decorate 123(@patchConstantOutput.fInsideTessFactor) BuiltIn TessLevelInner
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
- 7: TypeInt 32 0
- 8: 7(int) Constant 3
- 9: TypeArray 6(float) 8
- 10(HS_Output): TypeStruct 9 6(float)
- 11: TypeFunction 10(HS_Output)
- 14: TypePointer Function 10(HS_Output)
- 16: 6(float) Constant 0
- 17: 9 ConstantComposite 16 16 16
- 18:10(HS_Output) ConstantComposite 17 16
- 24: 7(int) Constant 4
- 25: TypeArray 6(float) 24
- 26: TypePointer Output 25
-27(@entryPointOutput.tessFactor): 26(ptr) Variable Output
- 28: TypeInt 32 1
- 29: 28(int) Constant 0
- 30: TypePointer Function 6(float)
- 33: TypePointer Output 6(float)
- 35: 28(int) Constant 1
- 39: 28(int) Constant 2
- 43(HS_Output): TypeStruct 6(float)
- 44: TypeArray 43(HS_Output) 8
- 45: TypePointer Output 44
-46(@entryPointOutput): 45(ptr) Variable Output
- 47: TypePointer Input 7(int)
-48(InvocationId): 47(ptr) Variable Input
+ 7: TypeVector 6(float) 4
+ 8(HS_Input): TypeStruct 7(fvec4) 7(fvec4)
+ 9: TypeInt 32 0
+ 10: 9(int) Constant 3
+ 11: TypeArray 8(HS_Input) 10
+ 12: TypePointer Function 11
+ 13: TypeArray 6(float) 10
+ 14(HS_Output): TypeStruct 13 6(float)
+ 15: TypeFunction 14(HS_Output) 12(ptr)
+ 19: TypePointer Function 9(int)
+20(HS_Main_Output): TypeStruct 7(fvec4)
+ 21: TypeFunction 20(HS_Main_Output) 12(ptr) 19(ptr)
+ 26: TypePointer Function 14(HS_Output)
+ 28: 6(float) Constant 0
+ 29: 13 ConstantComposite 28 28 28
+ 30:14(HS_Output) ConstantComposite 29 28
+ 31: TypeInt 32 1
+ 32: 31(int) Constant 1
+ 33: 31(int) Constant 0
+ 34: TypePointer Function 6(float)
+ 44: TypePointer Function 20(HS_Main_Output)
+ 46: 7(fvec4) ConstantComposite 28 28 28 28
+ 47:20(HS_Main_Output) ConstantComposite 46
+ 48: TypePointer Function 7(fvec4)
+ 54: TypeArray 7(fvec4) 10
+ 55: TypePointer Input 54
+56(I.m_Position): 55(ptr) Variable Input
+ 57: TypePointer Input 7(fvec4)
+ 61(HS_Input): TypeStruct 7(fvec4)
+ 62: TypeArray 61(HS_Input) 10
+ 63: TypePointer Input 62
+ 64(I): 63(ptr) Variable Input
+ 74: 31(int) Constant 2
+ 82: TypePointer Input 9(int)
+ 83(cpid): 82(ptr) Variable Input
+ 85: TypePointer Output 54
+86(@entryPointOutput.m_Position): 85(ptr) Variable Output
+ 93: TypePointer Output 7(fvec4)
+ 95: 9(int) Constant 2
+ 96: 9(int) Constant 1
+ 97: 9(int) Constant 0
+ 99: TypeBool
+ 107: 9(int) Constant 4
+ 108: TypeArray 6(float) 107
+ 109: TypePointer Output 108
+110(@patchConstantOutput.fTessFactor): 109(ptr) Variable Output
+ 113: TypePointer Output 6(float)
+ 121: TypeArray 6(float) 95
+ 122: TypePointer Output 121
+123(@patchConstantOutput.fInsideTessFactor): 122(ptr) Variable Output
4(main): 2 Function None 3
5: Label
- 22(flattenTemp): 14(ptr) Variable Function
- 23:10(HS_Output) FunctionCall 12(@main()
- Store 22(flattenTemp) 23
- 31: 30(ptr) AccessChain 22(flattenTemp) 29 29
- 32: 6(float) Load 31
- 34: 33(ptr) AccessChain 27(@entryPointOutput.tessFactor) 29
- Store 34 32
- 36: 30(ptr) AccessChain 22(flattenTemp) 29 35
- 37: 6(float) Load 36
- 38: 33(ptr) AccessChain 27(@entryPointOutput.tessFactor) 35
- Store 38 37
- 40: 30(ptr) AccessChain 22(flattenTemp) 29 39
- 41: 6(float) Load 40
- 42: 33(ptr) AccessChain 27(@entryPointOutput.tessFactor) 39
- Store 42 41
- 49: 7(int) Load 48(InvocationId)
- 50: 30(ptr) AccessChain 22(flattenTemp) 35
- 51: 6(float) Load 50
- 52: 33(ptr) AccessChain 46(@entryPointOutput) 49 29
- Store 52 51
+ 53(I): 12(ptr) Variable Function
+ 81(cpid): 19(ptr) Variable Function
+ 87(param): 12(ptr) Variable Function
+ 89(param): 19(ptr) Variable Function
+103(@patchConstantResult): 26(ptr) Variable Function
+ 104(param): 12(ptr) Variable Function
+ 58: 57(ptr) AccessChain 56(I.m_Position) 33
+ 59: 7(fvec4) Load 58
+ 60: 48(ptr) AccessChain 53(I) 33 33
+ Store 60 59
+ 65: 57(ptr) AccessChain 64(I) 33 33
+ 66: 7(fvec4) Load 65
+ 67: 48(ptr) AccessChain 53(I) 33 32
+ Store 67 66
+ 68: 57(ptr) AccessChain 56(I.m_Position) 32
+ 69: 7(fvec4) Load 68
+ 70: 48(ptr) AccessChain 53(I) 32 33
+ Store 70 69
+ 71: 57(ptr) AccessChain 64(I) 32 33
+ 72: 7(fvec4) Load 71
+ 73: 48(ptr) AccessChain 53(I) 32 32
+ Store 73 72
+ 75: 57(ptr) AccessChain 56(I.m_Position) 74
+ 76: 7(fvec4) Load 75
+ 77: 48(ptr) AccessChain 53(I) 74 33
+ Store 77 76
+ 78: 57(ptr) AccessChain 64(I) 74 33
+ 79: 7(fvec4) Load 78
+ 80: 48(ptr) AccessChain 53(I) 74 32
+ Store 80 79
+ 84: 9(int) Load 83(cpid)
+ Store 81(cpid) 84
+ 88: 11 Load 53(I)
+ Store 87(param) 88
+ 90: 9(int) Load 81(cpid)
+ Store 89(param) 90
+ 91:20(HS_Main_Output) FunctionCall 24(@main(struct-HS_Input-vf4-vf41[3];u1;) 87(param) 89(param)
+ 92: 7(fvec4) CompositeExtract 91 0
+ 94: 93(ptr) AccessChain 86(@entryPointOutput.m_Position) 33
+ Store 94 92
+ ControlBarrier 95 96 97
+ 98: 9(int) Load 83(cpid)
+ 100: 99(bool) IEqual 98 33
+ SelectionMerge 102 None
+ BranchConditional 100 101 102
+ 101: Label
+ 105: 11 Load 53(I)
+ Store 104(param) 105
+ 106:14(HS_Output) FunctionCall 17(HS_ConstFunc(struct-HS_Input-vf4-vf41[3];) 104(param)
+ Store 103(@patchConstantResult) 106
+ 111: 34(ptr) AccessChain 103(@patchConstantResult) 33 33
+ 112: 6(float) Load 111
+ 114: 113(ptr) AccessChain 110(@patchConstantOutput.fTessFactor) 33
+ Store 114 112
+ 115: 34(ptr) AccessChain 103(@patchConstantResult) 33 32
+ 116: 6(float) Load 115
+ 117: 113(ptr) AccessChain 110(@patchConstantOutput.fTessFactor) 32
+ Store 117 116
+ 118: 34(ptr) AccessChain 103(@patchConstantResult) 33 74
+ 119: 6(float) Load 118
+ 120: 113(ptr) AccessChain 110(@patchConstantOutput.fTessFactor) 74
+ Store 120 119
+ 124: 34(ptr) AccessChain 103(@patchConstantResult) 32
+ 125: 6(float) Load 124
+ 126: 113(ptr) AccessChain 123(@patchConstantOutput.fInsideTessFactor) 33
+ Store 126 125
+ Branch 102
+ 102: Label
Return
FunctionEnd
- 12(@main():10(HS_Output) Function None 11
- 13: Label
- 15(output): 14(ptr) Variable Function
- Store 15(output) 18
- 19:10(HS_Output) Load 15(output)
- ReturnValue 19
+17(HS_ConstFunc(struct-HS_Input-vf4-vf41[3];):14(HS_Output) Function None 15
+ 16(I): 12(ptr) FunctionParameter
+ 18: Label
+ 27(O): 26(ptr) Variable Function
+ Store 27(O) 30
+ 35: 34(ptr) AccessChain 16(I) 33 33 10
+ 36: 6(float) Load 35
+ 37: 34(ptr) AccessChain 16(I) 33 32 10
+ 38: 6(float) Load 37
+ 39: 6(float) FAdd 36 38
+ 40: 34(ptr) AccessChain 27(O) 32
+ Store 40 39
+ 41:14(HS_Output) Load 27(O)
+ ReturnValue 41
+ FunctionEnd
+24(@main(struct-HS_Input-vf4-vf41[3];u1;):20(HS_Main_Output) Function None 21
+ 22(I): 12(ptr) FunctionParameter
+ 23(cpid): 19(ptr) FunctionParameter
+ 25: Label
+ 45(output): 44(ptr) Variable Function
+ Store 45(output) 47
+ 49: 48(ptr) AccessChain 45(output) 33
+ Store 49 46
+ 50:20(HS_Main_Output) Load 45(output)
+ ReturnValue 50
FunctionEnd