glslang/Test/baseResults/hlsl.domain.1.tese.out
greg-lunarg 7c753a7253
Flatten all interface variables (#2217)
Specifically, add flattening of arrayed io for geometry and
tesselation shaders. Previously some interface structs just had
builtins split out which caused some interfaces to not be exactly
the same as that of flattened adjacent stages, affecting validation
and correctness.

This obviates builtin splitting. That will be removed in a followup
commit. It was left in for this commit to better exhibit the functional
changes that were made.

Fixes #1660.
2020-05-18 02:13:10 -06:00

629 lines
36 KiB
Plaintext

hlsl.domain.1.tese
Shader version: 500
input primitive = triangles
vertex spacing = none
triangle order = none
0:? Sequence
0:22 Function Definition: @main(struct-ds_in_t-vf4-vf31[3];f1;vf3;struct-pcf_in_t-f1[3]-f11; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:22 Function Parameters:
0:22 'i' ( const (read only) 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:22 'f' ( in float)
0:22 'tesscoord' ( in 3-component vector of float)
0:22 'pcf_data' ( in structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
0:? Sequence
0:25 move second child to first child ( temp 4-component vector of float)
0:25 pos: direct index for structure ( temp 4-component vector of float)
0:25 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:25 Constant:
0:25 0 (const int)
0:25 add ( temp 4-component vector of float)
0:25 pos: direct index for structure ( temp 4-component vector of float)
0:25 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:25 'i' ( const (read only) 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:25 Constant:
0:25 0 (const int)
0:25 Constant:
0:25 0 (const int)
0:25 component-wise multiply ( temp float)
0:25 direct index ( temp float)
0:25 'tesscoord' ( in 3-component vector of float)
0:25 Constant:
0:25 0 (const int)
0:25 'f' ( in float)
0:26 move second child to first child ( temp 3-component vector of float)
0:26 norm: direct index for structure ( temp 3-component vector of float)
0:26 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:26 Constant:
0:26 1 (const int)
0:26 add ( temp 3-component vector of float)
0:26 norm: direct index for structure ( temp 3-component vector of float)
0:26 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:26 'i' ( const (read only) 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:26 Constant:
0:26 0 (const int)
0:26 Constant:
0:26 1 (const int)
0:26 direct index ( temp float)
0:26 'tesscoord' ( in 3-component vector of float)
0:26 Constant:
0:26 1 (const int)
0:28 direct index ( temp float)
0:28 'tesscoord' ( in 3-component vector of float)
0:28 Constant:
0:28 2 (const int)
0:30 Branch: Return with expression
0:30 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:22 Function Definition: main( ( temp void)
0:22 Function Parameters:
0:? Sequence
0:22 Sequence
0:22 move second child to first child ( temp 4-component vector of float)
0:22 pos: direct index for structure ( temp 4-component vector of float)
0:22 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:22 Constant:
0:22 0 (const int)
0:22 Constant:
0:22 0 (const int)
0:22 direct index (layout( location=0) in 4-component vector of float)
0:? 'i.pos' (layout( location=0) in 3-element array of 4-component vector of float)
0:22 Constant:
0:22 0 (const int)
0:22 move second child to first child ( temp 3-component vector of float)
0:22 norm: direct index for structure ( temp 3-component vector of float)
0:22 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:22 Constant:
0:22 0 (const int)
0:22 Constant:
0:22 1 (const int)
0:22 direct index (layout( location=1) in 3-component vector of float)
0:? 'i.norm' (layout( location=1) in 3-element array of 3-component vector of float)
0:22 Constant:
0:22 0 (const int)
0:22 move second child to first child ( temp 4-component vector of float)
0:22 pos: direct index for structure ( temp 4-component vector of float)
0:22 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:22 Constant:
0:22 1 (const int)
0:22 Constant:
0:22 0 (const int)
0:22 direct index (layout( location=0) in 4-component vector of float)
0:? 'i.pos' (layout( location=0) in 3-element array of 4-component vector of float)
0:22 Constant:
0:22 1 (const int)
0:22 move second child to first child ( temp 3-component vector of float)
0:22 norm: direct index for structure ( temp 3-component vector of float)
0:22 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:22 Constant:
0:22 1 (const int)
0:22 Constant:
0:22 1 (const int)
0:22 direct index (layout( location=1) in 3-component vector of float)
0:? 'i.norm' (layout( location=1) in 3-element array of 3-component vector of float)
0:22 Constant:
0:22 1 (const int)
0:22 move second child to first child ( temp 4-component vector of float)
0:22 pos: direct index for structure ( temp 4-component vector of float)
0:22 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:22 Constant:
0:22 2 (const int)
0:22 Constant:
0:22 0 (const int)
0:22 direct index (layout( location=0) in 4-component vector of float)
0:? 'i.pos' (layout( location=0) in 3-element array of 4-component vector of float)
0:22 Constant:
0:22 2 (const int)
0:22 move second child to first child ( temp 3-component vector of float)
0:22 norm: direct index for structure ( temp 3-component vector of float)
0:22 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:22 Constant:
0:22 2 (const int)
0:22 Constant:
0:22 1 (const int)
0:22 direct index (layout( location=1) in 3-component vector of float)
0:? 'i.norm' (layout( location=1) in 3-element array of 3-component vector of float)
0:22 Constant:
0:22 2 (const int)
0:22 move second child to first child ( temp float)
0:? 'f' ( temp float)
0:? 'f' (layout( location=2) patch in float)
0:22 move second child to first child ( temp 3-component vector of float)
0:? 'tesscoord' ( temp 3-component vector of float)
0:? 'tesscoord' ( patch in 3-component vector of float TessCoord)
0:22 Sequence
0:22 move second child to first child ( temp float)
0:22 direct index ( temp float)
0:22 flTessFactor: direct index for structure ( temp 3-element array of float)
0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
0:22 Constant:
0:22 0 (const int)
0:22 Constant:
0:22 0 (const int)
0:22 direct index ( patch in float TessLevelOuter)
0:? 'pcf_data.flTessFactor' ( patch in 4-element array of float TessLevelOuter)
0:22 Constant:
0:22 0 (const int)
0:22 move second child to first child ( temp float)
0:22 direct index ( temp float)
0:22 flTessFactor: direct index for structure ( temp 3-element array of float)
0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
0:22 Constant:
0:22 0 (const int)
0:22 Constant:
0:22 1 (const int)
0:22 direct index ( patch in float TessLevelOuter)
0:? 'pcf_data.flTessFactor' ( patch in 4-element array of float TessLevelOuter)
0:22 Constant:
0:22 1 (const int)
0:22 move second child to first child ( temp float)
0:22 direct index ( temp float)
0:22 flTessFactor: direct index for structure ( temp 3-element array of float)
0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
0:22 Constant:
0:22 0 (const int)
0:22 Constant:
0:22 2 (const int)
0:22 direct index ( patch in float TessLevelOuter)
0:? 'pcf_data.flTessFactor' ( patch in 4-element array of float TessLevelOuter)
0:22 Constant:
0:22 2 (const int)
0:22 move second child to first child ( temp float)
0:22 flInsideTessFactor: direct index for structure ( temp float)
0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
0:22 Constant:
0:22 1 (const int)
0:22 direct index ( patch in float TessLevelInner)
0:? 'pcf_data.flInsideTessFactor' ( patch in 2-element array of float TessLevelInner)
0:22 Constant:
0:22 0 (const int)
0:22 Sequence
0:22 move second child to first child ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:22 'flattenTemp' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:22 Function Call: @main(struct-ds_in_t-vf4-vf31[3];f1;vf3;struct-pcf_in_t-f1[3]-f11; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:? 'f' ( temp float)
0:? 'tesscoord' ( temp 3-component vector of float)
0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
0:22 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput.pos' (layout( location=0) out 4-component vector of float)
0:22 pos: direct index for structure ( temp 4-component vector of float)
0:22 'flattenTemp' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:22 Constant:
0:22 0 (const int)
0:22 move second child to first child ( temp 3-component vector of float)
0:? '@entryPointOutput.norm' (layout( location=1) out 3-component vector of float)
0:22 norm: direct index for structure ( temp 3-component vector of float)
0:22 'flattenTemp' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:22 Constant:
0:22 1 (const int)
0:? Linker Objects
0:? '@entryPointOutput.pos' (layout( location=0) out 4-component vector of float)
0:? '@entryPointOutput.norm' (layout( location=1) out 3-component vector of float)
0:? 'i.pos' (layout( location=0) in 3-element array of 4-component vector of float)
0:? 'i.norm' (layout( location=1) in 3-element array of 3-component vector of float)
0:? 'f' (layout( location=2) patch in float)
0:? 'tesscoord' ( patch in 3-component vector of float TessCoord)
0:? 'pcf_data.flTessFactor' ( patch in 4-element array of float TessLevelOuter)
0:? 'pcf_data.flInsideTessFactor' ( patch in 2-element array of float TessLevelInner)
Linked tessellation evaluation stage:
Shader version: 500
input primitive = triangles
vertex spacing = none
triangle order = none
0:? Sequence
0:22 Function Definition: @main(struct-ds_in_t-vf4-vf31[3];f1;vf3;struct-pcf_in_t-f1[3]-f11; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:22 Function Parameters:
0:22 'i' ( const (read only) 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:22 'f' ( in float)
0:22 'tesscoord' ( in 3-component vector of float)
0:22 'pcf_data' ( in structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
0:? Sequence
0:25 move second child to first child ( temp 4-component vector of float)
0:25 pos: direct index for structure ( temp 4-component vector of float)
0:25 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:25 Constant:
0:25 0 (const int)
0:25 add ( temp 4-component vector of float)
0:25 pos: direct index for structure ( temp 4-component vector of float)
0:25 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:25 'i' ( const (read only) 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:25 Constant:
0:25 0 (const int)
0:25 Constant:
0:25 0 (const int)
0:25 component-wise multiply ( temp float)
0:25 direct index ( temp float)
0:25 'tesscoord' ( in 3-component vector of float)
0:25 Constant:
0:25 0 (const int)
0:25 'f' ( in float)
0:26 move second child to first child ( temp 3-component vector of float)
0:26 norm: direct index for structure ( temp 3-component vector of float)
0:26 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:26 Constant:
0:26 1 (const int)
0:26 add ( temp 3-component vector of float)
0:26 norm: direct index for structure ( temp 3-component vector of float)
0:26 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:26 'i' ( const (read only) 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:26 Constant:
0:26 0 (const int)
0:26 Constant:
0:26 1 (const int)
0:26 direct index ( temp float)
0:26 'tesscoord' ( in 3-component vector of float)
0:26 Constant:
0:26 1 (const int)
0:28 direct index ( temp float)
0:28 'tesscoord' ( in 3-component vector of float)
0:28 Constant:
0:28 2 (const int)
0:30 Branch: Return with expression
0:30 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:22 Function Definition: main( ( temp void)
0:22 Function Parameters:
0:? Sequence
0:22 Sequence
0:22 move second child to first child ( temp 4-component vector of float)
0:22 pos: direct index for structure ( temp 4-component vector of float)
0:22 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:22 Constant:
0:22 0 (const int)
0:22 Constant:
0:22 0 (const int)
0:22 direct index (layout( location=0) in 4-component vector of float)
0:? 'i.pos' (layout( location=0) in 3-element array of 4-component vector of float)
0:22 Constant:
0:22 0 (const int)
0:22 move second child to first child ( temp 3-component vector of float)
0:22 norm: direct index for structure ( temp 3-component vector of float)
0:22 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:22 Constant:
0:22 0 (const int)
0:22 Constant:
0:22 1 (const int)
0:22 direct index (layout( location=1) in 3-component vector of float)
0:? 'i.norm' (layout( location=1) in 3-element array of 3-component vector of float)
0:22 Constant:
0:22 0 (const int)
0:22 move second child to first child ( temp 4-component vector of float)
0:22 pos: direct index for structure ( temp 4-component vector of float)
0:22 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:22 Constant:
0:22 1 (const int)
0:22 Constant:
0:22 0 (const int)
0:22 direct index (layout( location=0) in 4-component vector of float)
0:? 'i.pos' (layout( location=0) in 3-element array of 4-component vector of float)
0:22 Constant:
0:22 1 (const int)
0:22 move second child to first child ( temp 3-component vector of float)
0:22 norm: direct index for structure ( temp 3-component vector of float)
0:22 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:22 Constant:
0:22 1 (const int)
0:22 Constant:
0:22 1 (const int)
0:22 direct index (layout( location=1) in 3-component vector of float)
0:? 'i.norm' (layout( location=1) in 3-element array of 3-component vector of float)
0:22 Constant:
0:22 1 (const int)
0:22 move second child to first child ( temp 4-component vector of float)
0:22 pos: direct index for structure ( temp 4-component vector of float)
0:22 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:22 Constant:
0:22 2 (const int)
0:22 Constant:
0:22 0 (const int)
0:22 direct index (layout( location=0) in 4-component vector of float)
0:? 'i.pos' (layout( location=0) in 3-element array of 4-component vector of float)
0:22 Constant:
0:22 2 (const int)
0:22 move second child to first child ( temp 3-component vector of float)
0:22 norm: direct index for structure ( temp 3-component vector of float)
0:22 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:22 Constant:
0:22 2 (const int)
0:22 Constant:
0:22 1 (const int)
0:22 direct index (layout( location=1) in 3-component vector of float)
0:? 'i.norm' (layout( location=1) in 3-element array of 3-component vector of float)
0:22 Constant:
0:22 2 (const int)
0:22 move second child to first child ( temp float)
0:? 'f' ( temp float)
0:? 'f' (layout( location=2) patch in float)
0:22 move second child to first child ( temp 3-component vector of float)
0:? 'tesscoord' ( temp 3-component vector of float)
0:? 'tesscoord' ( patch in 3-component vector of float TessCoord)
0:22 Sequence
0:22 move second child to first child ( temp float)
0:22 direct index ( temp float)
0:22 flTessFactor: direct index for structure ( temp 3-element array of float)
0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
0:22 Constant:
0:22 0 (const int)
0:22 Constant:
0:22 0 (const int)
0:22 direct index ( patch in float TessLevelOuter)
0:? 'pcf_data.flTessFactor' ( patch in 4-element array of float TessLevelOuter)
0:22 Constant:
0:22 0 (const int)
0:22 move second child to first child ( temp float)
0:22 direct index ( temp float)
0:22 flTessFactor: direct index for structure ( temp 3-element array of float)
0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
0:22 Constant:
0:22 0 (const int)
0:22 Constant:
0:22 1 (const int)
0:22 direct index ( patch in float TessLevelOuter)
0:? 'pcf_data.flTessFactor' ( patch in 4-element array of float TessLevelOuter)
0:22 Constant:
0:22 1 (const int)
0:22 move second child to first child ( temp float)
0:22 direct index ( temp float)
0:22 flTessFactor: direct index for structure ( temp 3-element array of float)
0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
0:22 Constant:
0:22 0 (const int)
0:22 Constant:
0:22 2 (const int)
0:22 direct index ( patch in float TessLevelOuter)
0:? 'pcf_data.flTessFactor' ( patch in 4-element array of float TessLevelOuter)
0:22 Constant:
0:22 2 (const int)
0:22 move second child to first child ( temp float)
0:22 flInsideTessFactor: direct index for structure ( temp float)
0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
0:22 Constant:
0:22 1 (const int)
0:22 direct index ( patch in float TessLevelInner)
0:? 'pcf_data.flInsideTessFactor' ( patch in 2-element array of float TessLevelInner)
0:22 Constant:
0:22 0 (const int)
0:22 Sequence
0:22 move second child to first child ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:22 'flattenTemp' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:22 Function Call: @main(struct-ds_in_t-vf4-vf31[3];f1;vf3;struct-pcf_in_t-f1[3]-f11; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:? 'f' ( temp float)
0:? 'tesscoord' ( temp 3-component vector of float)
0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
0:22 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput.pos' (layout( location=0) out 4-component vector of float)
0:22 pos: direct index for structure ( temp 4-component vector of float)
0:22 'flattenTemp' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:22 Constant:
0:22 0 (const int)
0:22 move second child to first child ( temp 3-component vector of float)
0:? '@entryPointOutput.norm' (layout( location=1) out 3-component vector of float)
0:22 norm: direct index for structure ( temp 3-component vector of float)
0:22 'flattenTemp' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
0:22 Constant:
0:22 1 (const int)
0:? Linker Objects
0:? '@entryPointOutput.pos' (layout( location=0) out 4-component vector of float)
0:? '@entryPointOutput.norm' (layout( location=1) out 3-component vector of float)
0:? 'i.pos' (layout( location=0) in 3-element array of 4-component vector of float)
0:? 'i.norm' (layout( location=1) in 3-element array of 3-component vector of float)
0:? 'f' (layout( location=2) patch in float)
0:? 'tesscoord' ( patch in 3-component vector of float TessCoord)
0:? 'pcf_data.flTessFactor' ( patch in 4-element array of float TessLevelOuter)
0:? 'pcf_data.flInsideTessFactor' ( patch in 2-element array of float TessLevelInner)
// Module Version 10000
// Generated by (magic number): 80008
// Id's are bound by 125
Capability Tessellation
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint TessellationEvaluation 4 "main" 55 62 82 85 91 104 118 122
ExecutionMode 4 Triangles
Source HLSL 500
Name 4 "main"
Name 9 "ds_in_t"
MemberName 9(ds_in_t) 0 "pos"
MemberName 9(ds_in_t) 1 "norm"
Name 16 "pcf_in_t"
MemberName 16(pcf_in_t) 0 "flTessFactor"
MemberName 16(pcf_in_t) 1 "flInsideTessFactor"
Name 18 "gs_in_t"
MemberName 18(gs_in_t) 0 "pos"
MemberName 18(gs_in_t) 1 "norm"
Name 24 "@main(struct-ds_in_t-vf4-vf31[3];f1;vf3;struct-pcf_in_t-f1[3]-f11;"
Name 20 "i"
Name 21 "f"
Name 22 "tesscoord"
Name 23 "pcf_data"
Name 27 "o"
Name 52 "i"
Name 55 "i.pos"
Name 62 "i.norm"
Name 80 "f"
Name 82 "f"
Name 84 "tesscoord"
Name 85 "tesscoord"
Name 87 "pcf_data"
Name 91 "pcf_data.flTessFactor"
Name 104 "pcf_data.flInsideTessFactor"
Name 108 "flattenTemp"
Name 110 "param"
Name 112 "param"
Name 114 "param"
Name 118 "@entryPointOutput.pos"
Name 122 "@entryPointOutput.norm"
Decorate 55(i.pos) Location 0
Decorate 62(i.norm) Location 1
Decorate 82(f) Patch
Decorate 82(f) Location 2
Decorate 85(tesscoord) Patch
Decorate 85(tesscoord) BuiltIn TessCoord
Decorate 91(pcf_data.flTessFactor) Patch
Decorate 91(pcf_data.flTessFactor) BuiltIn TessLevelOuter
Decorate 104(pcf_data.flInsideTessFactor) Patch
Decorate 104(pcf_data.flInsideTessFactor) BuiltIn TessLevelInner
Decorate 118(@entryPointOutput.pos) Location 0
Decorate 122(@entryPointOutput.norm) Location 1
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypeVector 6(float) 3
9(ds_in_t): TypeStruct 7(fvec4) 8(fvec3)
10: TypeInt 32 0
11: 10(int) Constant 3
12: TypeArray 9(ds_in_t) 11
13: TypePointer Function 6(float)
14: TypePointer Function 8(fvec3)
15: TypeArray 6(float) 11
16(pcf_in_t): TypeStruct 15 6(float)
17: TypePointer Function 16(pcf_in_t)
18(gs_in_t): TypeStruct 7(fvec4) 8(fvec3)
19: TypeFunction 18(gs_in_t) 12 13(ptr) 14(ptr) 17(ptr)
26: TypePointer Function 18(gs_in_t)
28: TypeInt 32 1
29: 28(int) Constant 0
31: 10(int) Constant 0
38: TypePointer Function 7(fvec4)
40: 28(int) Constant 1
42: 10(int) Constant 1
51: TypePointer Function 12
53: TypeArray 7(fvec4) 11
54: TypePointer Input 53
55(i.pos): 54(ptr) Variable Input
56: TypePointer Input 7(fvec4)
60: TypeArray 8(fvec3) 11
61: TypePointer Input 60
62(i.norm): 61(ptr) Variable Input
63: TypePointer Input 8(fvec3)
73: 28(int) Constant 2
81: TypePointer Input 6(float)
82(f): 81(ptr) Variable Input
85(tesscoord): 63(ptr) Variable Input
88: 10(int) Constant 4
89: TypeArray 6(float) 88
90: TypePointer Input 89
91(pcf_data.flTessFactor): 90(ptr) Variable Input
101: 10(int) Constant 2
102: TypeArray 6(float) 101
103: TypePointer Input 102
104(pcf_data.flInsideTessFactor): 103(ptr) Variable Input
117: TypePointer Output 7(fvec4)
118(@entryPointOutput.pos): 117(ptr) Variable Output
121: TypePointer Output 8(fvec3)
122(@entryPointOutput.norm): 121(ptr) Variable Output
4(main): 2 Function None 3
5: Label
52(i): 51(ptr) Variable Function
80(f): 13(ptr) Variable Function
84(tesscoord): 14(ptr) Variable Function
87(pcf_data): 17(ptr) Variable Function
108(flattenTemp): 26(ptr) Variable Function
110(param): 13(ptr) Variable Function
112(param): 14(ptr) Variable Function
114(param): 17(ptr) Variable Function
57: 56(ptr) AccessChain 55(i.pos) 29
58: 7(fvec4) Load 57
59: 38(ptr) AccessChain 52(i) 29 29
Store 59 58
64: 63(ptr) AccessChain 62(i.norm) 29
65: 8(fvec3) Load 64
66: 14(ptr) AccessChain 52(i) 29 40
Store 66 65
67: 56(ptr) AccessChain 55(i.pos) 40
68: 7(fvec4) Load 67
69: 38(ptr) AccessChain 52(i) 40 29
Store 69 68
70: 63(ptr) AccessChain 62(i.norm) 40
71: 8(fvec3) Load 70
72: 14(ptr) AccessChain 52(i) 40 40
Store 72 71
74: 56(ptr) AccessChain 55(i.pos) 73
75: 7(fvec4) Load 74
76: 38(ptr) AccessChain 52(i) 73 29
Store 76 75
77: 63(ptr) AccessChain 62(i.norm) 73
78: 8(fvec3) Load 77
79: 14(ptr) AccessChain 52(i) 73 40
Store 79 78
83: 6(float) Load 82(f)
Store 80(f) 83
86: 8(fvec3) Load 85(tesscoord)
Store 84(tesscoord) 86
92: 81(ptr) AccessChain 91(pcf_data.flTessFactor) 29
93: 6(float) Load 92
94: 13(ptr) AccessChain 87(pcf_data) 29 29
Store 94 93
95: 81(ptr) AccessChain 91(pcf_data.flTessFactor) 40
96: 6(float) Load 95
97: 13(ptr) AccessChain 87(pcf_data) 29 40
Store 97 96
98: 81(ptr) AccessChain 91(pcf_data.flTessFactor) 73
99: 6(float) Load 98
100: 13(ptr) AccessChain 87(pcf_data) 29 73
Store 100 99
105: 81(ptr) AccessChain 104(pcf_data.flInsideTessFactor) 29
106: 6(float) Load 105
107: 13(ptr) AccessChain 87(pcf_data) 40
Store 107 106
109: 12 Load 52(i)
111: 6(float) Load 80(f)
Store 110(param) 111
113: 8(fvec3) Load 84(tesscoord)
Store 112(param) 113
115:16(pcf_in_t) Load 87(pcf_data)
Store 114(param) 115
116: 18(gs_in_t) FunctionCall 24(@main(struct-ds_in_t-vf4-vf31[3];f1;vf3;struct-pcf_in_t-f1[3]-f11;) 109 110(param) 112(param) 114(param)
Store 108(flattenTemp) 116
119: 38(ptr) AccessChain 108(flattenTemp) 29
120: 7(fvec4) Load 119
Store 118(@entryPointOutput.pos) 120
123: 14(ptr) AccessChain 108(flattenTemp) 40
124: 8(fvec3) Load 123
Store 122(@entryPointOutput.norm) 124
Return
FunctionEnd
24(@main(struct-ds_in_t-vf4-vf31[3];f1;vf3;struct-pcf_in_t-f1[3]-f11;): 18(gs_in_t) Function None 19
20(i): 12 FunctionParameter
21(f): 13(ptr) FunctionParameter
22(tesscoord): 14(ptr) FunctionParameter
23(pcf_data): 17(ptr) FunctionParameter
25: Label
27(o): 26(ptr) Variable Function
30: 7(fvec4) CompositeExtract 20(i) 0 0
32: 13(ptr) AccessChain 22(tesscoord) 31
33: 6(float) Load 32
34: 6(float) Load 21(f)
35: 6(float) FMul 33 34
36: 7(fvec4) CompositeConstruct 35 35 35 35
37: 7(fvec4) FAdd 30 36
39: 38(ptr) AccessChain 27(o) 29
Store 39 37
41: 8(fvec3) CompositeExtract 20(i) 0 1
43: 13(ptr) AccessChain 22(tesscoord) 42
44: 6(float) Load 43
45: 8(fvec3) CompositeConstruct 44 44 44
46: 8(fvec3) FAdd 41 45
47: 14(ptr) AccessChain 27(o) 40
Store 47 46
48: 18(gs_in_t) Load 27(o)
ReturnValue 48
FunctionEnd