You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

715 lines
39 KiB

hlsl.hull.ctrlpt-2.tesc
Shader version: 500
vertices = 3
vertex spacing = fractional_odd_spacing
triangle order = cw
0:? Sequence
0:28 Function Definition: @main(struct-hs_in_t-vf31[3];u1; ( temp structure{ temp 3-component vector of float val})
0:28 Function Parameters:
0:28 'i' ( in 3-element array of structure{ temp 3-component vector of float val})
0:28 'cpid' ( in uint)
0:? Sequence
0:29 val: direct index for structure ( temp 3-component vector of float)
0:29 direct index ( temp structure{ temp 3-component vector of float val})
0:29 'i' ( in 3-element array of structure{ temp 3-component vector of float val})
0:29 Constant:
0:29 0 (const int)
0:29 Constant:
0:29 0 (const int)
0:32 move second child to first child ( temp 3-component vector of float)
0:32 val: direct index for structure ( temp 3-component vector of float)
0:32 'o' ( temp structure{ temp 3-component vector of float val})
0:32 Constant:
0:32 0 (const int)
0:32 Construct vec3 ( temp 3-component vector of float)
0:32 Convert uint to float ( temp float)
0:32 'cpid' ( in uint)
0:33 Branch: Return with expression
0:33 'o' ( temp structure{ temp 3-component vector of float val})
0:28 Function Definition: main( ( temp void)
0:28 Function Parameters:
0:? Sequence
0:28 Sequence
0:28 move second child to first child ( temp 3-component vector of float)
0:28 val: direct index for structure ( temp 3-component vector of float)
0:28 direct index ( temp structure{ temp 3-component vector of float val})
0:? 'i' ( temp 3-element array of structure{ temp 3-component vector of float val})
0:28 Constant:
0:28 0 (const int)
0:28 Constant:
0:28 0 (const int)
0:28 direct index (layout( location=0) in 3-component vector of float)
0:? 'i.val' (layout( location=0) in 3-element array of 3-component vector of float)
0:28 Constant:
0:28 0 (const int)
0:28 move second child to first child ( temp 3-component vector of float)
0:28 val: direct index for structure ( temp 3-component vector of float)
0:28 direct index ( temp structure{ temp 3-component vector of float val})
0:? 'i' ( temp 3-element array of structure{ temp 3-component vector of float val})
0:28 Constant:
0:28 1 (const int)
0:28 Constant:
0:28 0 (const int)
0:28 direct index (layout( location=0) in 3-component vector of float)
0:? 'i.val' (layout( location=0) in 3-element array of 3-component vector of float)
0:28 Constant:
0:28 1 (const int)
0:28 move second child to first child ( temp 3-component vector of float)
0:28 val: direct index for structure ( temp 3-component vector of float)
0:28 direct index ( temp structure{ temp 3-component vector of float val})
0:? 'i' ( temp 3-element array of structure{ temp 3-component vector of float val})
0:28 Constant:
0:28 2 (const int)
0:28 Constant:
0:28 0 (const int)
0:28 direct index (layout( location=0) in 3-component vector of float)
0:? 'i.val' (layout( location=0) in 3-element array of 3-component vector of float)
0:28 Constant:
0:28 2 (const int)
0:28 move second child to first child ( temp uint)
0:? 'cpid' ( temp uint)
0:? 'cpid' ( in uint InvocationID)
0:28 Sequence
0:28 move second child to first child ( temp 3-component vector of float)
0:28 indirect index (layout( location=0) out 3-component vector of float)
0:? '@entryPointOutput.val' (layout( location=0) out 3-element array of 3-component vector of float)
0:? 'cpid' ( in uint InvocationID)
0:28 val: direct index for structure ( temp 3-component vector of float)
0:28 Function Call: @main(struct-hs_in_t-vf31[3];u1; ( temp structure{ temp 3-component vector of float val})
0:? 'i' ( temp 3-element array of structure{ temp 3-component vector of float val})
0:? 'cpid' ( temp uint)
0:28 Constant:
0:28 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-component vector of float val})
0:? direct index ( temp structure{ temp 3-component vector of float val})
0:? 'pcf_out' ( temp 3-element array of structure{ temp 3-component vector of float val})
0:? Constant:
0:? 0 (const int)
0:? Function Call: @main(struct-hs_in_t-vf31[3];u1; ( temp structure{ temp 3-component vector of float val})
0:? 'i' ( temp 3-element array of structure{ temp 3-component vector of float val})
0:? Constant:
0:? 0 (const uint)
0:? move second child to first child ( temp structure{ temp 3-component vector of float val})
0:? direct index ( temp structure{ temp 3-component vector of float val})
0:? 'pcf_out' ( temp 3-element array of structure{ temp 3-component vector of float val})
0:? Constant:
0:? 1 (const int)
0:? Function Call: @main(struct-hs_in_t-vf31[3];u1; ( temp structure{ temp 3-component vector of float val})
0:? 'i' ( temp 3-element array of structure{ temp 3-component vector of float val})
0:? Constant:
0:? 1 (const uint)
0:? move second child to first child ( temp structure{ temp 3-component vector of float val})
0:? direct index ( temp structure{ temp 3-component vector of float val})
0:? 'pcf_out' ( temp 3-element array of structure{ temp 3-component vector of float val})
0:? Constant:
0:? 2 (const int)
0:? Function Call: @main(struct-hs_in_t-vf31[3];u1; ( temp structure{ temp 3-component vector of float val})
0:? 'i' ( temp 3-element array of structure{ temp 3-component vector of float val})
0:? Constant:
0:? 2 (const uint)
0:? move second child to first child ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
0:? Function Call: PCF(struct-hs_out_t-vf31[3];struct-hs_in_t-vf31[3]; ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
0:? 'pcf_out' ( temp 3-element array of structure{ temp 3-component vector of float val})
0:? 'i' ( temp 3-element array of structure{ temp 3-component vector of float val})
0:? Sequence
0:? move second child to first child ( temp float)
0:? direct index ( patch out float TessLevelOuter)
0:? '@patchConstantOutput.tfactor' ( patch out 4-element array of float TessLevelOuter)
0:? Constant:
0:? 0 (const int)
0:? direct index ( temp float)
0:? tfactor: direct index for structure ( temp 3-element array of float)
0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
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.tfactor' ( patch out 4-element array of float TessLevelOuter)
0:? Constant:
0:? 1 (const int)
0:? direct index ( temp float)
0:? tfactor: direct index for structure ( temp 3-element array of float)
0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
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.tfactor' ( patch out 4-element array of float TessLevelOuter)
0:? Constant:
0:? 2 (const int)
0:? direct index ( temp float)
0:? tfactor: direct index for structure ( temp 3-element array of float)
0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
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.flInFactor' ( patch out 2-element array of float TessLevelInner)
0:? Constant:
0:? 0 (const int)
0:? flInFactor: direct index for structure ( temp float)
0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
0:? Constant:
0:? 1 (const int)
0:38 Function Definition: PCF(struct-hs_out_t-vf31[3];struct-hs_in_t-vf31[3]; ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
0:38 Function Parameters:
0:38 'pcf_out' ( const (read only) 3-element array of structure{ temp 3-component vector of float val})
0:38 'pcf_in' ( const (read only) 3-element array of structure{ temp 3-component vector of float val})
0:? Sequence
0:41 move second child to first child ( temp float)
0:41 direct index ( temp float)
0:41 tfactor: direct index for structure ( temp 3-element array of float)
0:41 'o' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
0:41 Constant:
0:41 0 (const int)
0:41 Constant:
0:41 0 (const int)
0:41 direct index ( temp float)
0:41 val: direct index for structure ( temp 3-component vector of float)
0:41 direct index ( temp structure{ temp 3-component vector of float val})
0:41 'pcf_out' ( const (read only) 3-element array of structure{ temp 3-component vector of float val})
0:41 Constant:
0:41 0 (const int)
0:41 Constant:
0:41 0 (const int)
0:41 Constant:
0:41 0 (const int)
0:42 move second child to first child ( temp float)
0:42 direct index ( temp float)
0:42 tfactor: direct index for structure ( temp 3-element array of float)
0:42 'o' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
0:42 Constant:
0:42 0 (const int)
0:42 Constant:
0:42 1 (const int)
0:42 direct index ( temp float)
0:42 val: direct index for structure ( temp 3-component vector of float)
0:42 direct index ( temp structure{ temp 3-component vector of float val})
0:42 'pcf_out' ( const (read only) 3-element array of structure{ temp 3-component vector of float val})
0:42 Constant:
0:42 1 (const int)
0:42 Constant:
0:42 0 (const int)
0:42 Constant:
0:42 0 (const int)
0:43 move second child to first child ( temp float)
0:43 direct index ( temp float)
0:43 tfactor: direct index for structure ( temp 3-element array of float)
0:43 'o' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
0:43 Constant:
0:43 0 (const int)
0:43 Constant:
0:43 2 (const int)
0:43 direct index ( temp float)
0:43 val: direct index for structure ( temp 3-component vector of float)
0:43 direct index ( temp structure{ temp 3-component vector of float val})
0:43 'pcf_out' ( const (read only) 3-element array of structure{ temp 3-component vector of float val})
0:43 Constant:
0:43 2 (const int)
0:43 Constant:
0:43 0 (const int)
0:43 Constant:
0:43 0 (const int)
0:44 move second child to first child ( temp float)
0:44 flInFactor: direct index for structure ( temp float)
0:44 'o' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
0:44 Constant:
0:44 1 (const int)
0:44 Constant:
0:44 4.000000
0:46 Branch: Return with expression
0:46 'o' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
0:? Linker Objects
0:? '@entryPointOutput.val' (layout( location=0) out 3-element array of 3-component vector of float)
0:? 'i.val' (layout( location=0) in 3-element array of 3-component vector of float)
0:? 'cpid' ( in uint InvocationID)
0:? '@patchConstantOutput.tfactor' ( patch out 4-element array of float TessLevelOuter)
0:? '@patchConstantOutput.flInFactor' ( 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:28 Function Definition: @main(struct-hs_in_t-vf31[3];u1; ( temp structure{ temp 3-component vector of float val})
0:28 Function Parameters:
0:28 'i' ( in 3-element array of structure{ temp 3-component vector of float val})
0:28 'cpid' ( in uint)
0:? Sequence
0:29 val: direct index for structure ( temp 3-component vector of float)
0:29 direct index ( temp structure{ temp 3-component vector of float val})
0:29 'i' ( in 3-element array of structure{ temp 3-component vector of float val})
0:29 Constant:
0:29 0 (const int)
0:29 Constant:
0:29 0 (const int)
0:32 move second child to first child ( temp 3-component vector of float)
0:32 val: direct index for structure ( temp 3-component vector of float)
0:32 'o' ( temp structure{ temp 3-component vector of float val})
0:32 Constant:
0:32 0 (const int)
0:32 Construct vec3 ( temp 3-component vector of float)
0:32 Convert uint to float ( temp float)
0:32 'cpid' ( in uint)
0:33 Branch: Return with expression
0:33 'o' ( temp structure{ temp 3-component vector of float val})
0:28 Function Definition: main( ( temp void)
0:28 Function Parameters:
0:? Sequence
0:28 Sequence
0:28 move second child to first child ( temp 3-component vector of float)
0:28 val: direct index for structure ( temp 3-component vector of float)
0:28 direct index ( temp structure{ temp 3-component vector of float val})
0:? 'i' ( temp 3-element array of structure{ temp 3-component vector of float val})
0:28 Constant:
0:28 0 (const int)
0:28 Constant:
0:28 0 (const int)
0:28 direct index (layout( location=0) in 3-component vector of float)
0:? 'i.val' (layout( location=0) in 3-element array of 3-component vector of float)
0:28 Constant:
0:28 0 (const int)
0:28 move second child to first child ( temp 3-component vector of float)
0:28 val: direct index for structure ( temp 3-component vector of float)
0:28 direct index ( temp structure{ temp 3-component vector of float val})
0:? 'i' ( temp 3-element array of structure{ temp 3-component vector of float val})
0:28 Constant:
0:28 1 (const int)
0:28 Constant:
0:28 0 (const int)
0:28 direct index (layout( location=0) in 3-component vector of float)
0:? 'i.val' (layout( location=0) in 3-element array of 3-component vector of float)
0:28 Constant:
0:28 1 (const int)
0:28 move second child to first child ( temp 3-component vector of float)
0:28 val: direct index for structure ( temp 3-component vector of float)
0:28 direct index ( temp structure{ temp 3-component vector of float val})
0:? 'i' ( temp 3-element array of structure{ temp 3-component vector of float val})
0:28 Constant:
0:28 2 (const int)
0:28 Constant:
0:28 0 (const int)
0:28 direct index (layout( location=0) in 3-component vector of float)
0:? 'i.val' (layout( location=0) in 3-element array of 3-component vector of float)
0:28 Constant:
0:28 2 (const int)
0:28 move second child to first child ( temp uint)
0:? 'cpid' ( temp uint)
0:? 'cpid' ( in uint InvocationID)
0:28 Sequence
0:28 move second child to first child ( temp 3-component vector of float)
0:28 indirect index (layout( location=0) out 3-component vector of float)
0:? '@entryPointOutput.val' (layout( location=0) out 3-element array of 3-component vector of float)
0:? 'cpid' ( in uint InvocationID)
0:28 val: direct index for structure ( temp 3-component vector of float)
0:28 Function Call: @main(struct-hs_in_t-vf31[3];u1; ( temp structure{ temp 3-component vector of float val})
0:? 'i' ( temp 3-element array of structure{ temp 3-component vector of float val})
0:? 'cpid' ( temp uint)
0:28 Constant:
0:28 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-component vector of float val})
0:? direct index ( temp structure{ temp 3-component vector of float val})
0:? 'pcf_out' ( temp 3-element array of structure{ temp 3-component vector of float val})
0:? Constant:
0:? 0 (const int)
0:? Function Call: @main(struct-hs_in_t-vf31[3];u1; ( temp structure{ temp 3-component vector of float val})
0:? 'i' ( temp 3-element array of structure{ temp 3-component vector of float val})
0:? Constant:
0:? 0 (const uint)
0:? move second child to first child ( temp structure{ temp 3-component vector of float val})
0:? direct index ( temp structure{ temp 3-component vector of float val})
0:? 'pcf_out' ( temp 3-element array of structure{ temp 3-component vector of float val})
0:? Constant:
0:? 1 (const int)
0:? Function Call: @main(struct-hs_in_t-vf31[3];u1; ( temp structure{ temp 3-component vector of float val})
0:? 'i' ( temp 3-element array of structure{ temp 3-component vector of float val})
0:? Constant:
0:? 1 (const uint)
0:? move second child to first child ( temp structure{ temp 3-component vector of float val})
0:? direct index ( temp structure{ temp 3-component vector of float val})
0:? 'pcf_out' ( temp 3-element array of structure{ temp 3-component vector of float val})
0:? Constant:
0:? 2 (const int)
0:? Function Call: @main(struct-hs_in_t-vf31[3];u1; ( temp structure{ temp 3-component vector of float val})
0:? 'i' ( temp 3-element array of structure{ temp 3-component vector of float val})
0:? Constant:
0:? 2 (const uint)
0:? move second child to first child ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
0:? Function Call: PCF(struct-hs_out_t-vf31[3];struct-hs_in_t-vf31[3]; ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
0:? 'pcf_out' ( temp 3-element array of structure{ temp 3-component vector of float val})
0:? 'i' ( temp 3-element array of structure{ temp 3-component vector of float val})
0:? Sequence
0:? move second child to first child ( temp float)
0:? direct index ( patch out float TessLevelOuter)
0:? '@patchConstantOutput.tfactor' ( patch out 4-element array of float TessLevelOuter)
0:? Constant:
0:? 0 (const int)
0:? direct index ( temp float)
0:? tfactor: direct index for structure ( temp 3-element array of float)
0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
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.tfactor' ( patch out 4-element array of float TessLevelOuter)
0:? Constant:
0:? 1 (const int)
0:? direct index ( temp float)
0:? tfactor: direct index for structure ( temp 3-element array of float)
0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
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.tfactor' ( patch out 4-element array of float TessLevelOuter)
0:? Constant:
0:? 2 (const int)
0:? direct index ( temp float)
0:? tfactor: direct index for structure ( temp 3-element array of float)
0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
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.flInFactor' ( patch out 2-element array of float TessLevelInner)
0:? Constant:
0:? 0 (const int)
0:? flInFactor: direct index for structure ( temp float)
0:? '@patchConstantResult' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
0:? Constant:
0:? 1 (const int)
0:38 Function Definition: PCF(struct-hs_out_t-vf31[3];struct-hs_in_t-vf31[3]; ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
0:38 Function Parameters:
0:38 'pcf_out' ( const (read only) 3-element array of structure{ temp 3-component vector of float val})
0:38 'pcf_in' ( const (read only) 3-element array of structure{ temp 3-component vector of float val})
0:? Sequence
0:41 move second child to first child ( temp float)
0:41 direct index ( temp float)
0:41 tfactor: direct index for structure ( temp 3-element array of float)
0:41 'o' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
0:41 Constant:
0:41 0 (const int)
0:41 Constant:
0:41 0 (const int)
0:41 direct index ( temp float)
0:41 val: direct index for structure ( temp 3-component vector of float)
0:41 direct index ( temp structure{ temp 3-component vector of float val})
0:41 'pcf_out' ( const (read only) 3-element array of structure{ temp 3-component vector of float val})
0:41 Constant:
0:41 0 (const int)
0:41 Constant:
0:41 0 (const int)
0:41 Constant:
0:41 0 (const int)
0:42 move second child to first child ( temp float)
0:42 direct index ( temp float)
0:42 tfactor: direct index for structure ( temp 3-element array of float)
0:42 'o' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
0:42 Constant:
0:42 0 (const int)
0:42 Constant:
0:42 1 (const int)
0:42 direct index ( temp float)
0:42 val: direct index for structure ( temp 3-component vector of float)
0:42 direct index ( temp structure{ temp 3-component vector of float val})
0:42 'pcf_out' ( const (read only) 3-element array of structure{ temp 3-component vector of float val})
0:42 Constant:
0:42 1 (const int)
0:42 Constant:
0:42 0 (const int)
0:42 Constant:
0:42 0 (const int)
0:43 move second child to first child ( temp float)
0:43 direct index ( temp float)
0:43 tfactor: direct index for structure ( temp 3-element array of float)
0:43 'o' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
0:43 Constant:
0:43 0 (const int)
0:43 Constant:
0:43 2 (const int)
0:43 direct index ( temp float)
0:43 val: direct index for structure ( temp 3-component vector of float)
0:43 direct index ( temp structure{ temp 3-component vector of float val})
0:43 'pcf_out' ( const (read only) 3-element array of structure{ temp 3-component vector of float val})
0:43 Constant:
0:43 2 (const int)
0:43 Constant:
0:43 0 (const int)
0:43 Constant:
0:43 0 (const int)
0:44 move second child to first child ( temp float)
0:44 flInFactor: direct index for structure ( temp float)
0:44 'o' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
0:44 Constant:
0:44 1 (const int)
0:44 Constant:
0:44 4.000000
0:46 Branch: Return with expression
0:46 'o' ( temp structure{ temp 3-element array of float tfactor, temp float flInFactor})
0:? Linker Objects
0:? '@entryPointOutput.val' (layout( location=0) out 3-element array of 3-component vector of float)
0:? 'i.val' (layout( location=0) in 3-element array of 3-component vector of float)
0:? 'cpid' ( in uint InvocationID)
0:? '@patchConstantOutput.tfactor' ( patch out 4-element array of float TessLevelOuter)
0:? '@patchConstantOutput.flInFactor' ( patch out 2-element array of float TessLevelInner)
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 137
Capability Tessellation
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint TessellationControl 4 "main" 43 58 61 107 121
ExecutionMode 4 OutputVertices 3
ExecutionMode 4 Triangles
ExecutionMode 4 SpacingFractionalOdd
ExecutionMode 4 VertexOrderCw
Source HLSL 500
Name 4 "main"
Name 8 "hs_in_t"
MemberName 8(hs_in_t) 0 "val"
Name 14 "hs_out_t"
MemberName 14(hs_out_t) 0 "val"
Name 18 "@main(struct-hs_in_t-vf31[3];u1;"
Name 16 "i"
Name 17 "cpid"
Name 22 "hs_pcf_t"
MemberName 22(hs_pcf_t) 0 "tfactor"
MemberName 22(hs_pcf_t) 1 "flInFactor"
Name 26 "PCF(struct-hs_out_t-vf31[3];struct-hs_in_t-vf31[3];"
Name 24 "pcf_out"
Name 25 "pcf_in"
Name 31 "o"
Name 40 "i"
Name 43 "i.val"
Name 56 "cpid"
Name 58 "cpid"
Name 61 "@entryPointOutput.val"
Name 63 "param"
Name 65 "param"
Name 80 "pcf_out"
Name 81 "i"
Name 82 "param"
Name 84 "param"
Name 87 "i"
Name 89 "param"
Name 91 "param"
Name 94 "i"
Name 95 "param"
Name 97 "param"
Name 101 "@patchConstantResult"
Name 107 "@patchConstantOutput.tfactor"
Name 121 "@patchConstantOutput.flInFactor"
Name 125 "o"
Decorate 43(i.val) Location 0
Decorate 58(cpid) BuiltIn InvocationId
Decorate 61(@entryPointOutput.val) Location 0
Decorate 107(@patchConstantOutput.tfactor) Patch
Decorate 107(@patchConstantOutput.tfactor) BuiltIn TessLevelOuter
Decorate 121(@patchConstantOutput.flInFactor) Patch
Decorate 121(@patchConstantOutput.flInFactor) BuiltIn TessLevelInner
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 3
8(hs_in_t): TypeStruct 7(fvec3)
9: TypeInt 32 0
10: 9(int) Constant 3
11: TypeArray 8(hs_in_t) 10
12: TypePointer Function 11
13: TypePointer Function 9(int)
14(hs_out_t): TypeStruct 7(fvec3)
15: TypeFunction 14(hs_out_t) 12(ptr) 13(ptr)
20: TypeArray 14(hs_out_t) 10
21: TypeArray 6(float) 10
22(hs_pcf_t): TypeStruct 21 6(float)
23: TypeFunction 22(hs_pcf_t) 20 11
28: TypeInt 32 1
29: 28(int) Constant 0
30: TypePointer Function 14(hs_out_t)
35: TypePointer Function 7(fvec3)
41: TypeArray 7(fvec3) 10
42: TypePointer Input 41
43(i.val): 42(ptr) Variable Input
44: TypePointer Input 7(fvec3)
48: 28(int) Constant 1
52: 28(int) Constant 2
57: TypePointer Input 9(int)
58(cpid): 57(ptr) Variable Input
60: TypePointer Output 41
61(@entryPointOutput.val): 60(ptr) Variable Output
69: TypePointer Output 7(fvec3)
71: 9(int) Constant 2
72: 9(int) Constant 4
73: 9(int) Constant 0
75: TypeBool
79: TypePointer Function 20
88: 9(int) Constant 1
100: TypePointer Function 22(hs_pcf_t)
105: TypeArray 6(float) 72
106: TypePointer Output 105
107(@patchConstantOutput.tfactor): 106(ptr) Variable Output
108: TypePointer Function 6(float)
111: TypePointer Output 6(float)
119: TypeArray 6(float) 71
120: TypePointer Output 119
121(@patchConstantOutput.flInFactor): 120(ptr) Variable Output
132: 6(float) Constant 1082130432
4(main): 2 Function None 3
5: Label
40(i): 12(ptr) Variable Function
56(cpid): 13(ptr) Variable Function
63(param): 12(ptr) Variable Function
65(param): 13(ptr) Variable Function
80(pcf_out): 79(ptr) Variable Function
81(i): 12(ptr) Variable Function
82(param): 12(ptr) Variable Function
84(param): 13(ptr) Variable Function
87(i): 12(ptr) Variable Function
89(param): 12(ptr) Variable Function
91(param): 13(ptr) Variable Function
94(i): 12(ptr) Variable Function
95(param): 12(ptr) Variable Function
97(param): 13(ptr) Variable Function
101(@patchConstantResult): 100(ptr) Variable Function
45: 44(ptr) AccessChain 43(i.val) 29
46: 7(fvec3) Load 45
47: 35(ptr) AccessChain 40(i) 29 29
Store 47 46
49: 44(ptr) AccessChain 43(i.val) 48
50: 7(fvec3) Load 49
51: 35(ptr) AccessChain 40(i) 48 29
Store 51 50
53: 44(ptr) AccessChain 43(i.val) 52
54: 7(fvec3) Load 53
55: 35(ptr) AccessChain 40(i) 52 29
Store 55 54
59: 9(int) Load 58(cpid)
Store 56(cpid) 59
62: 9(int) Load 58(cpid)
64: 11 Load 40(i)
Store 63(param) 64
66: 9(int) Load 56(cpid)
Store 65(param) 66
67:14(hs_out_t) FunctionCall 18(@main(struct-hs_in_t-vf31[3];u1;) 63(param) 65(param)
68: 7(fvec3) CompositeExtract 67 0
70: 69(ptr) AccessChain 61(@entryPointOutput.val) 62
Store 70 68
ControlBarrier 71 72 73
74: 9(int) Load 58(cpid)
76: 75(bool) IEqual 74 29
SelectionMerge 78 None
BranchConditional 76 77 78
77: Label
83: 11 Load 81(i)
Store 82(param) 83
Store 84(param) 73
85:14(hs_out_t) FunctionCall 18(@main(struct-hs_in_t-vf31[3];u1;) 82(param) 84(param)
86: 30(ptr) AccessChain 80(pcf_out) 29
Store 86 85
90: 11 Load 87(i)
Store 89(param) 90
Store 91(param) 88
92:14(hs_out_t) FunctionCall 18(@main(struct-hs_in_t-vf31[3];u1;) 89(param) 91(param)
93: 30(ptr) AccessChain 80(pcf_out) 48
Store 93 92
96: 11 Load 94(i)
Store 95(param) 96
Store 97(param) 71
98:14(hs_out_t) FunctionCall 18(@main(struct-hs_in_t-vf31[3];u1;) 95(param) 97(param)
99: 30(ptr) AccessChain 80(pcf_out) 52
Store 99 98
102: 20 Load 80(pcf_out)
103: 11 Load 40(i)
104:22(hs_pcf_t) FunctionCall 26(PCF(struct-hs_out_t-vf31[3];struct-hs_in_t-vf31[3];) 102 103
Store 101(@patchConstantResult) 104
109: 108(ptr) AccessChain 101(@patchConstantResult) 29 29
110: 6(float) Load 109
112: 111(ptr) AccessChain 107(@patchConstantOutput.tfactor) 29
Store 112 110
113: 108(ptr) AccessChain 101(@patchConstantResult) 29 48
114: 6(float) Load 113
115: 111(ptr) AccessChain 107(@patchConstantOutput.tfactor) 48
Store 115 114
116: 108(ptr) AccessChain 101(@patchConstantResult) 29 52
117: 6(float) Load 116
118: 111(ptr) AccessChain 107(@patchConstantOutput.tfactor) 52
Store 118 117
122: 108(ptr) AccessChain 101(@patchConstantResult) 48
123: 6(float) Load 122
124: 111(ptr) AccessChain 121(@patchConstantOutput.flInFactor) 29
Store 124 123
Branch 78
78: Label
Return
FunctionEnd
18(@main(struct-hs_in_t-vf31[3];u1;):14(hs_out_t) Function None 15
16(i): 12(ptr) FunctionParameter
17(cpid): 13(ptr) FunctionParameter
19: Label
31(o): 30(ptr) Variable Function
32: 9(int) Load 17(cpid)
33: 6(float) ConvertUToF 32
34: 7(fvec3) CompositeConstruct 33 33 33
36: 35(ptr) AccessChain 31(o) 29
Store 36 34
37:14(hs_out_t) Load 31(o)
ReturnValue 37
FunctionEnd
26(PCF(struct-hs_out_t-vf31[3];struct-hs_in_t-vf31[3];):22(hs_pcf_t) Function None 23
24(pcf_out): 20 FunctionParameter
25(pcf_in): 11 FunctionParameter
27: Label
125(o): 100(ptr) Variable Function
126: 6(float) CompositeExtract 24(pcf_out) 0 0 0
127: 108(ptr) AccessChain 125(o) 29 29
Store 127 126
128: 6(float) CompositeExtract 24(pcf_out) 1 0 0
129: 108(ptr) AccessChain 125(o) 29 48
Store 129 128
130: 6(float) CompositeExtract 24(pcf_out) 2 0 0
131: 108(ptr) AccessChain 125(o) 29 52
Store 131 130
133: 108(ptr) AccessChain 125(o) 48
Store 133 132
134:22(hs_pcf_t) Load 125(o)
ReturnValue 134
FunctionEnd