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
657 lines
37 KiB
Plaintext
657 lines
37 KiB
Plaintext
hlsl.hull.4.tesc
|
|
Shader version: 500
|
|
vertices = 3
|
|
vertex spacing = fractional_odd_spacing
|
|
triangle order = cw
|
|
0:? Sequence
|
|
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: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 direct index (layout( location=0) in 4-component vector of float)
|
|
0:? 'I.m_Normal' (layout( location=0) in 3-element array of 4-component vector of float)
|
|
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 direct index (layout( location=0) in 4-component vector of float)
|
|
0:? 'I.m_Normal' (layout( location=0) in 3-element array of 4-component vector of float)
|
|
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_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 direct index (layout( location=0) in 4-component vector of float)
|
|
0:? 'I.m_Normal' (layout( location=0) in 3-element array of 4-component vector of float)
|
|
0:39 Constant:
|
|
0:39 2 (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 indirect index ( out 4-component vector of float Position)
|
|
0:? '@entryPointOutput.m_Position' ( out 3-element array of 4-component vector of float Position)
|
|
0:? 'cpid' ( in uint InvocationID)
|
|
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.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.m_Normal' (layout( location=0) in 3-element array of 4-component vector of float)
|
|
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: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: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 direct index (layout( location=0) in 4-component vector of float)
|
|
0:? 'I.m_Normal' (layout( location=0) in 3-element array of 4-component vector of float)
|
|
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 direct index (layout( location=0) in 4-component vector of float)
|
|
0:? 'I.m_Normal' (layout( location=0) in 3-element array of 4-component vector of float)
|
|
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_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 direct index (layout( location=0) in 4-component vector of float)
|
|
0:? 'I.m_Normal' (layout( location=0) in 3-element array of 4-component vector of float)
|
|
0:39 Constant:
|
|
0:39 2 (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 indirect index ( out 4-component vector of float Position)
|
|
0:? '@entryPointOutput.m_Position' ( out 3-element array of 4-component vector of float Position)
|
|
0:? 'cpid' ( in uint InvocationID)
|
|
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.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.m_Normal' (layout( location=0) in 3-element array of 4-component vector of float)
|
|
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): 8000b
|
|
// Id's are bound by 124
|
|
|
|
Capability Tessellation
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint TessellationControl 4 "main" 56 61 80 83 107 120
|
|
ExecutionMode 4 OutputVertices 3
|
|
ExecutionMode 4 Triangles
|
|
ExecutionMode 4 SpacingFractionalOdd
|
|
ExecutionMode 4 VertexOrderCw
|
|
Source HLSL 500
|
|
Name 4 "main"
|
|
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 "I.m_Normal"
|
|
Name 78 "cpid"
|
|
Name 80 "cpid"
|
|
Name 83 "@entryPointOutput.m_Position"
|
|
Name 85 "param"
|
|
Name 87 "param"
|
|
Name 101 "@patchConstantResult"
|
|
Name 102 "param"
|
|
Name 107 "@patchConstantOutput.fTessFactor"
|
|
Name 120 "@patchConstantOutput.fInsideTessFactor"
|
|
Decorate 56(I.m_Position) BuiltIn Position
|
|
Decorate 61(I.m_Normal) Location 0
|
|
Decorate 80(cpid) BuiltIn InvocationId
|
|
Decorate 83(@entryPointOutput.m_Position) BuiltIn Position
|
|
Decorate 107(@patchConstantOutput.fTessFactor) BuiltIn TessLevelOuter
|
|
Decorate 107(@patchConstantOutput.fTessFactor) Patch
|
|
Decorate 120(@patchConstantOutput.fInsideTessFactor) BuiltIn TessLevelInner
|
|
Decorate 120(@patchConstantOutput.fInsideTessFactor) Patch
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
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(I.m_Normal): 55(ptr) Variable Input
|
|
71: 31(int) Constant 2
|
|
79: TypePointer Input 9(int)
|
|
80(cpid): 79(ptr) Variable Input
|
|
82: TypePointer Output 54
|
|
83(@entryPointOutput.m_Position): 82(ptr) Variable Output
|
|
91: TypePointer Output 7(fvec4)
|
|
93: 9(int) Constant 2
|
|
94: 9(int) Constant 4
|
|
95: 9(int) Constant 0
|
|
97: TypeBool
|
|
105: TypeArray 6(float) 94
|
|
106: TypePointer Output 105
|
|
107(@patchConstantOutput.fTessFactor): 106(ptr) Variable Output
|
|
110: TypePointer Output 6(float)
|
|
118: TypeArray 6(float) 93
|
|
119: TypePointer Output 118
|
|
120(@patchConstantOutput.fInsideTessFactor): 119(ptr) Variable Output
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
53(I): 12(ptr) Variable Function
|
|
78(cpid): 19(ptr) Variable Function
|
|
85(param): 12(ptr) Variable Function
|
|
87(param): 19(ptr) Variable Function
|
|
101(@patchConstantResult): 26(ptr) Variable Function
|
|
102(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
|
|
62: 57(ptr) AccessChain 61(I.m_Normal) 33
|
|
63: 7(fvec4) Load 62
|
|
64: 48(ptr) AccessChain 53(I) 33 32
|
|
Store 64 63
|
|
65: 57(ptr) AccessChain 56(I.m_Position) 32
|
|
66: 7(fvec4) Load 65
|
|
67: 48(ptr) AccessChain 53(I) 32 33
|
|
Store 67 66
|
|
68: 57(ptr) AccessChain 61(I.m_Normal) 32
|
|
69: 7(fvec4) Load 68
|
|
70: 48(ptr) AccessChain 53(I) 32 32
|
|
Store 70 69
|
|
72: 57(ptr) AccessChain 56(I.m_Position) 71
|
|
73: 7(fvec4) Load 72
|
|
74: 48(ptr) AccessChain 53(I) 71 33
|
|
Store 74 73
|
|
75: 57(ptr) AccessChain 61(I.m_Normal) 71
|
|
76: 7(fvec4) Load 75
|
|
77: 48(ptr) AccessChain 53(I) 71 32
|
|
Store 77 76
|
|
81: 9(int) Load 80(cpid)
|
|
Store 78(cpid) 81
|
|
84: 9(int) Load 80(cpid)
|
|
86: 11 Load 53(I)
|
|
Store 85(param) 86
|
|
88: 9(int) Load 78(cpid)
|
|
Store 87(param) 88
|
|
89:20(HS_Main_Output) FunctionCall 24(@main(struct-HS_Input-vf4-vf41[3];u1;) 85(param) 87(param)
|
|
90: 7(fvec4) CompositeExtract 89 0
|
|
92: 91(ptr) AccessChain 83(@entryPointOutput.m_Position) 84
|
|
Store 92 90
|
|
ControlBarrier 93 94 95
|
|
96: 9(int) Load 80(cpid)
|
|
98: 97(bool) IEqual 96 33
|
|
SelectionMerge 100 None
|
|
BranchConditional 98 99 100
|
|
99: Label
|
|
103: 11 Load 53(I)
|
|
Store 102(param) 103
|
|
104:14(HS_Output) FunctionCall 17(HS_ConstFunc(struct-HS_Input-vf4-vf41[3];) 102(param)
|
|
Store 101(@patchConstantResult) 104
|
|
108: 34(ptr) AccessChain 101(@patchConstantResult) 33 33
|
|
109: 6(float) Load 108
|
|
111: 110(ptr) AccessChain 107(@patchConstantOutput.fTessFactor) 33
|
|
Store 111 109
|
|
112: 34(ptr) AccessChain 101(@patchConstantResult) 33 32
|
|
113: 6(float) Load 112
|
|
114: 110(ptr) AccessChain 107(@patchConstantOutput.fTessFactor) 32
|
|
Store 114 113
|
|
115: 34(ptr) AccessChain 101(@patchConstantResult) 33 71
|
|
116: 6(float) Load 115
|
|
117: 110(ptr) AccessChain 107(@patchConstantOutput.fTessFactor) 71
|
|
Store 117 116
|
|
121: 34(ptr) AccessChain 101(@patchConstantResult) 32
|
|
122: 6(float) Load 121
|
|
123: 110(ptr) AccessChain 120(@patchConstantOutput.fInsideTessFactor) 33
|
|
Store 123 122
|
|
Branch 100
|
|
100: Label
|
|
Return
|
|
FunctionEnd
|
|
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
|