glslang/Test/baseResults/hlsl.hull.ctrlpt-1.tesc.out
Steven Perron 33c7e30860
Don't emit duplicate decorations. (#3635)
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
2024-06-28 19:16:59 -04:00

694 lines
37 KiB
Plaintext

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