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.
540 lines
31 KiB
Plaintext
540 lines
31 KiB
Plaintext
hlsl.domain.3.tese
|
|
Shader version: 500
|
|
input primitive = isolines
|
|
vertex spacing = none
|
|
triangle order = none
|
|
0:? Sequence
|
|
0:24 Function Definition: @main(struct-ds_in_t-vf4-vf31[2];vf2;struct-pcf_in_t-f1[3]-f11; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:24 Function Parameters:
|
|
0:24 'i' ( const (read only) 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:24 'tesscoord' ( in 2-component vector of float)
|
|
0:24 'pcf_data' ( in structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
|
|
0:? Sequence
|
|
0:27 move second child to first child ( temp 4-component vector of float)
|
|
0:27 pos: direct index for structure ( temp 4-component vector of float)
|
|
0:27 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:27 Constant:
|
|
0:27 0 (const int)
|
|
0:27 add ( temp 4-component vector of float)
|
|
0:27 pos: direct index for structure ( temp 4-component vector of float)
|
|
0:27 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:27 'i' ( const (read only) 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:27 Constant:
|
|
0:27 0 (const int)
|
|
0:27 Constant:
|
|
0:27 0 (const int)
|
|
0:27 direct index ( temp float)
|
|
0:27 'tesscoord' ( in 2-component vector of float)
|
|
0:27 Constant:
|
|
0:27 0 (const int)
|
|
0:28 move second child to first child ( temp 3-component vector of float)
|
|
0:28 norm: direct index for structure ( temp 3-component vector of float)
|
|
0:28 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:28 Constant:
|
|
0:28 1 (const int)
|
|
0:28 add ( temp 3-component vector of float)
|
|
0:28 norm: direct index for structure ( temp 3-component vector of float)
|
|
0:28 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:28 'i' ( const (read only) 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:28 Constant:
|
|
0:28 0 (const int)
|
|
0:28 Constant:
|
|
0:28 1 (const int)
|
|
0:28 direct index ( temp float)
|
|
0:28 'tesscoord' ( in 2-component vector of float)
|
|
0:28 Constant:
|
|
0:28 1 (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:24 Function Definition: main( ( temp void)
|
|
0:24 Function Parameters:
|
|
0:? Sequence
|
|
0:24 Sequence
|
|
0:24 move second child to first child ( temp 4-component vector of float)
|
|
0:24 pos: direct index for structure ( temp 4-component vector of float)
|
|
0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:? 'i' ( temp 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:24 Constant:
|
|
0:24 0 (const int)
|
|
0:24 Constant:
|
|
0:24 0 (const int)
|
|
0:24 direct index (layout( location=0) in 4-component vector of float)
|
|
0:? 'i.pos' (layout( location=0) in 2-element array of 4-component vector of float)
|
|
0:24 Constant:
|
|
0:24 0 (const int)
|
|
0:24 move second child to first child ( temp 3-component vector of float)
|
|
0:24 norm: direct index for structure ( temp 3-component vector of float)
|
|
0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:? 'i' ( temp 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:24 Constant:
|
|
0:24 0 (const int)
|
|
0:24 Constant:
|
|
0:24 1 (const int)
|
|
0:24 direct index (layout( location=1) in 3-component vector of float)
|
|
0:? 'i.norm' (layout( location=1) in 2-element array of 3-component vector of float)
|
|
0:24 Constant:
|
|
0:24 0 (const int)
|
|
0:24 move second child to first child ( temp 4-component vector of float)
|
|
0:24 pos: direct index for structure ( temp 4-component vector of float)
|
|
0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:? 'i' ( temp 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:24 Constant:
|
|
0:24 1 (const int)
|
|
0:24 Constant:
|
|
0:24 0 (const int)
|
|
0:24 direct index (layout( location=0) in 4-component vector of float)
|
|
0:? 'i.pos' (layout( location=0) in 2-element array of 4-component vector of float)
|
|
0:24 Constant:
|
|
0:24 1 (const int)
|
|
0:24 move second child to first child ( temp 3-component vector of float)
|
|
0:24 norm: direct index for structure ( temp 3-component vector of float)
|
|
0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:? 'i' ( temp 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:24 Constant:
|
|
0:24 1 (const int)
|
|
0:24 Constant:
|
|
0:24 1 (const int)
|
|
0:24 direct index (layout( location=1) in 3-component vector of float)
|
|
0:? 'i.norm' (layout( location=1) in 2-element array of 3-component vector of float)
|
|
0:24 Constant:
|
|
0:24 1 (const int)
|
|
0:24 move second child to first child ( temp 2-component vector of float)
|
|
0:? 'tesscoord' ( temp 2-component vector of float)
|
|
0:? Construct vec2 ( temp 2-component vector of float)
|
|
0:? 'tesscoord' ( patch in 3-component vector of float TessCoord)
|
|
0:24 Sequence
|
|
0:24 move second child to first child ( temp float)
|
|
0:24 direct index ( temp float)
|
|
0:24 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:24 Constant:
|
|
0:24 0 (const int)
|
|
0:24 Constant:
|
|
0:24 0 (const int)
|
|
0:24 direct index ( patch in float TessLevelOuter)
|
|
0:? 'pcf_data.flTessFactor' ( patch in 4-element array of float TessLevelOuter)
|
|
0:24 Constant:
|
|
0:24 0 (const int)
|
|
0:24 move second child to first child ( temp float)
|
|
0:24 direct index ( temp float)
|
|
0:24 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:24 Constant:
|
|
0:24 0 (const int)
|
|
0:24 Constant:
|
|
0:24 1 (const int)
|
|
0:24 direct index ( patch in float TessLevelOuter)
|
|
0:? 'pcf_data.flTessFactor' ( patch in 4-element array of float TessLevelOuter)
|
|
0:24 Constant:
|
|
0:24 1 (const int)
|
|
0:24 move second child to first child ( temp float)
|
|
0:24 direct index ( temp float)
|
|
0:24 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:24 Constant:
|
|
0:24 0 (const int)
|
|
0:24 Constant:
|
|
0:24 2 (const int)
|
|
0:24 direct index ( patch in float TessLevelOuter)
|
|
0:? 'pcf_data.flTessFactor' ( patch in 4-element array of float TessLevelOuter)
|
|
0:24 Constant:
|
|
0:24 2 (const int)
|
|
0:24 move second child to first child ( temp float)
|
|
0:24 flInsideTessFactor: direct index for structure ( temp float)
|
|
0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
|
|
0:24 Constant:
|
|
0:24 1 (const int)
|
|
0:24 direct index ( patch in float TessLevelInner)
|
|
0:? 'pcf_data.flInsideTessFactor' ( patch in 2-element array of float TessLevelInner)
|
|
0:24 Constant:
|
|
0:24 0 (const int)
|
|
0:24 Sequence
|
|
0:24 move second child to first child ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:24 Function Call: @main(struct-ds_in_t-vf4-vf31[2];vf2;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 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:? 'tesscoord' ( temp 2-component vector of float)
|
|
0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
|
|
0:24 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:24 pos: direct index for structure ( temp 4-component vector of float)
|
|
0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:24 Constant:
|
|
0:24 0 (const int)
|
|
0:24 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:24 norm: direct index for structure ( temp 3-component vector of float)
|
|
0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:24 Constant:
|
|
0:24 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 2-element array of 4-component vector of float)
|
|
0:? 'i.norm' (layout( location=1) in 2-element array of 3-component vector of 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 = isolines
|
|
vertex spacing = none
|
|
triangle order = none
|
|
0:? Sequence
|
|
0:24 Function Definition: @main(struct-ds_in_t-vf4-vf31[2];vf2;struct-pcf_in_t-f1[3]-f11; ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:24 Function Parameters:
|
|
0:24 'i' ( const (read only) 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:24 'tesscoord' ( in 2-component vector of float)
|
|
0:24 'pcf_data' ( in structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
|
|
0:? Sequence
|
|
0:27 move second child to first child ( temp 4-component vector of float)
|
|
0:27 pos: direct index for structure ( temp 4-component vector of float)
|
|
0:27 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:27 Constant:
|
|
0:27 0 (const int)
|
|
0:27 add ( temp 4-component vector of float)
|
|
0:27 pos: direct index for structure ( temp 4-component vector of float)
|
|
0:27 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:27 'i' ( const (read only) 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:27 Constant:
|
|
0:27 0 (const int)
|
|
0:27 Constant:
|
|
0:27 0 (const int)
|
|
0:27 direct index ( temp float)
|
|
0:27 'tesscoord' ( in 2-component vector of float)
|
|
0:27 Constant:
|
|
0:27 0 (const int)
|
|
0:28 move second child to first child ( temp 3-component vector of float)
|
|
0:28 norm: direct index for structure ( temp 3-component vector of float)
|
|
0:28 'o' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:28 Constant:
|
|
0:28 1 (const int)
|
|
0:28 add ( temp 3-component vector of float)
|
|
0:28 norm: direct index for structure ( temp 3-component vector of float)
|
|
0:28 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:28 'i' ( const (read only) 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:28 Constant:
|
|
0:28 0 (const int)
|
|
0:28 Constant:
|
|
0:28 1 (const int)
|
|
0:28 direct index ( temp float)
|
|
0:28 'tesscoord' ( in 2-component vector of float)
|
|
0:28 Constant:
|
|
0:28 1 (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:24 Function Definition: main( ( temp void)
|
|
0:24 Function Parameters:
|
|
0:? Sequence
|
|
0:24 Sequence
|
|
0:24 move second child to first child ( temp 4-component vector of float)
|
|
0:24 pos: direct index for structure ( temp 4-component vector of float)
|
|
0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:? 'i' ( temp 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:24 Constant:
|
|
0:24 0 (const int)
|
|
0:24 Constant:
|
|
0:24 0 (const int)
|
|
0:24 direct index (layout( location=0) in 4-component vector of float)
|
|
0:? 'i.pos' (layout( location=0) in 2-element array of 4-component vector of float)
|
|
0:24 Constant:
|
|
0:24 0 (const int)
|
|
0:24 move second child to first child ( temp 3-component vector of float)
|
|
0:24 norm: direct index for structure ( temp 3-component vector of float)
|
|
0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:? 'i' ( temp 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:24 Constant:
|
|
0:24 0 (const int)
|
|
0:24 Constant:
|
|
0:24 1 (const int)
|
|
0:24 direct index (layout( location=1) in 3-component vector of float)
|
|
0:? 'i.norm' (layout( location=1) in 2-element array of 3-component vector of float)
|
|
0:24 Constant:
|
|
0:24 0 (const int)
|
|
0:24 move second child to first child ( temp 4-component vector of float)
|
|
0:24 pos: direct index for structure ( temp 4-component vector of float)
|
|
0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:? 'i' ( temp 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:24 Constant:
|
|
0:24 1 (const int)
|
|
0:24 Constant:
|
|
0:24 0 (const int)
|
|
0:24 direct index (layout( location=0) in 4-component vector of float)
|
|
0:? 'i.pos' (layout( location=0) in 2-element array of 4-component vector of float)
|
|
0:24 Constant:
|
|
0:24 1 (const int)
|
|
0:24 move second child to first child ( temp 3-component vector of float)
|
|
0:24 norm: direct index for structure ( temp 3-component vector of float)
|
|
0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:? 'i' ( temp 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:24 Constant:
|
|
0:24 1 (const int)
|
|
0:24 Constant:
|
|
0:24 1 (const int)
|
|
0:24 direct index (layout( location=1) in 3-component vector of float)
|
|
0:? 'i.norm' (layout( location=1) in 2-element array of 3-component vector of float)
|
|
0:24 Constant:
|
|
0:24 1 (const int)
|
|
0:24 move second child to first child ( temp 2-component vector of float)
|
|
0:? 'tesscoord' ( temp 2-component vector of float)
|
|
0:? Construct vec2 ( temp 2-component vector of float)
|
|
0:? 'tesscoord' ( patch in 3-component vector of float TessCoord)
|
|
0:24 Sequence
|
|
0:24 move second child to first child ( temp float)
|
|
0:24 direct index ( temp float)
|
|
0:24 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:24 Constant:
|
|
0:24 0 (const int)
|
|
0:24 Constant:
|
|
0:24 0 (const int)
|
|
0:24 direct index ( patch in float TessLevelOuter)
|
|
0:? 'pcf_data.flTessFactor' ( patch in 4-element array of float TessLevelOuter)
|
|
0:24 Constant:
|
|
0:24 0 (const int)
|
|
0:24 move second child to first child ( temp float)
|
|
0:24 direct index ( temp float)
|
|
0:24 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:24 Constant:
|
|
0:24 0 (const int)
|
|
0:24 Constant:
|
|
0:24 1 (const int)
|
|
0:24 direct index ( patch in float TessLevelOuter)
|
|
0:? 'pcf_data.flTessFactor' ( patch in 4-element array of float TessLevelOuter)
|
|
0:24 Constant:
|
|
0:24 1 (const int)
|
|
0:24 move second child to first child ( temp float)
|
|
0:24 direct index ( temp float)
|
|
0:24 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:24 Constant:
|
|
0:24 0 (const int)
|
|
0:24 Constant:
|
|
0:24 2 (const int)
|
|
0:24 direct index ( patch in float TessLevelOuter)
|
|
0:? 'pcf_data.flTessFactor' ( patch in 4-element array of float TessLevelOuter)
|
|
0:24 Constant:
|
|
0:24 2 (const int)
|
|
0:24 move second child to first child ( temp float)
|
|
0:24 flInsideTessFactor: direct index for structure ( temp float)
|
|
0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
|
|
0:24 Constant:
|
|
0:24 1 (const int)
|
|
0:24 direct index ( patch in float TessLevelInner)
|
|
0:? 'pcf_data.flInsideTessFactor' ( patch in 2-element array of float TessLevelInner)
|
|
0:24 Constant:
|
|
0:24 0 (const int)
|
|
0:24 Sequence
|
|
0:24 move second child to first child ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:24 Function Call: @main(struct-ds_in_t-vf4-vf31[2];vf2;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 2-element array of structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:? 'tesscoord' ( temp 2-component vector of float)
|
|
0:? 'pcf_data' ( temp structure{ temp 3-element array of float flTessFactor, temp float flInsideTessFactor})
|
|
0:24 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:24 pos: direct index for structure ( temp 4-component vector of float)
|
|
0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:24 Constant:
|
|
0:24 0 (const int)
|
|
0:24 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:24 norm: direct index for structure ( temp 3-component vector of float)
|
|
0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float pos, temp 3-component vector of float norm})
|
|
0:24 Constant:
|
|
0:24 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 2-element array of 4-component vector of float)
|
|
0:? 'i.norm' (layout( location=1) in 2-element array of 3-component vector of 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 116
|
|
|
|
Capability Tessellation
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint TessellationEvaluation 4 "main" 55 62 74 83 97 109 113
|
|
ExecutionMode 4 Isolines
|
|
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 17 "pcf_in_t"
|
|
MemberName 17(pcf_in_t) 0 "flTessFactor"
|
|
MemberName 17(pcf_in_t) 1 "flInsideTessFactor"
|
|
Name 19 "gs_in_t"
|
|
MemberName 19(gs_in_t) 0 "pos"
|
|
MemberName 19(gs_in_t) 1 "norm"
|
|
Name 24 "@main(struct-ds_in_t-vf4-vf31[2];vf2;struct-pcf_in_t-f1[3]-f11;"
|
|
Name 21 "i"
|
|
Name 22 "tesscoord"
|
|
Name 23 "pcf_data"
|
|
Name 27 "o"
|
|
Name 52 "i"
|
|
Name 55 "i.pos"
|
|
Name 62 "i.norm"
|
|
Name 73 "tesscoord"
|
|
Name 74 "tesscoord"
|
|
Name 79 "pcf_data"
|
|
Name 83 "pcf_data.flTessFactor"
|
|
Name 97 "pcf_data.flInsideTessFactor"
|
|
Name 101 "flattenTemp"
|
|
Name 103 "param"
|
|
Name 105 "param"
|
|
Name 109 "@entryPointOutput.pos"
|
|
Name 113 "@entryPointOutput.norm"
|
|
Decorate 55(i.pos) Location 0
|
|
Decorate 62(i.norm) Location 1
|
|
Decorate 74(tesscoord) Patch
|
|
Decorate 74(tesscoord) BuiltIn TessCoord
|
|
Decorate 83(pcf_data.flTessFactor) Patch
|
|
Decorate 83(pcf_data.flTessFactor) BuiltIn TessLevelOuter
|
|
Decorate 97(pcf_data.flInsideTessFactor) Patch
|
|
Decorate 97(pcf_data.flInsideTessFactor) BuiltIn TessLevelInner
|
|
Decorate 109(@entryPointOutput.pos) Location 0
|
|
Decorate 113(@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 2
|
|
12: TypeArray 9(ds_in_t) 11
|
|
13: TypeVector 6(float) 2
|
|
14: TypePointer Function 13(fvec2)
|
|
15: 10(int) Constant 3
|
|
16: TypeArray 6(float) 15
|
|
17(pcf_in_t): TypeStruct 16 6(float)
|
|
18: TypePointer Function 17(pcf_in_t)
|
|
19(gs_in_t): TypeStruct 7(fvec4) 8(fvec3)
|
|
20: TypeFunction 19(gs_in_t) 12 14(ptr) 18(ptr)
|
|
26: TypePointer Function 19(gs_in_t)
|
|
28: TypeInt 32 1
|
|
29: 28(int) Constant 0
|
|
31: 10(int) Constant 0
|
|
32: TypePointer Function 6(float)
|
|
37: TypePointer Function 7(fvec4)
|
|
39: 28(int) Constant 1
|
|
41: 10(int) Constant 1
|
|
46: TypePointer Function 8(fvec3)
|
|
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)
|
|
74(tesscoord): 63(ptr) Variable Input
|
|
80: 10(int) Constant 4
|
|
81: TypeArray 6(float) 80
|
|
82: TypePointer Input 81
|
|
83(pcf_data.flTessFactor): 82(ptr) Variable Input
|
|
84: TypePointer Input 6(float)
|
|
91: 28(int) Constant 2
|
|
95: TypeArray 6(float) 11
|
|
96: TypePointer Input 95
|
|
97(pcf_data.flInsideTessFactor): 96(ptr) Variable Input
|
|
108: TypePointer Output 7(fvec4)
|
|
109(@entryPointOutput.pos): 108(ptr) Variable Output
|
|
112: TypePointer Output 8(fvec3)
|
|
113(@entryPointOutput.norm): 112(ptr) Variable Output
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
52(i): 51(ptr) Variable Function
|
|
73(tesscoord): 14(ptr) Variable Function
|
|
79(pcf_data): 18(ptr) Variable Function
|
|
101(flattenTemp): 26(ptr) Variable Function
|
|
103(param): 14(ptr) Variable Function
|
|
105(param): 18(ptr) Variable Function
|
|
57: 56(ptr) AccessChain 55(i.pos) 29
|
|
58: 7(fvec4) Load 57
|
|
59: 37(ptr) AccessChain 52(i) 29 29
|
|
Store 59 58
|
|
64: 63(ptr) AccessChain 62(i.norm) 29
|
|
65: 8(fvec3) Load 64
|
|
66: 46(ptr) AccessChain 52(i) 29 39
|
|
Store 66 65
|
|
67: 56(ptr) AccessChain 55(i.pos) 39
|
|
68: 7(fvec4) Load 67
|
|
69: 37(ptr) AccessChain 52(i) 39 29
|
|
Store 69 68
|
|
70: 63(ptr) AccessChain 62(i.norm) 39
|
|
71: 8(fvec3) Load 70
|
|
72: 46(ptr) AccessChain 52(i) 39 39
|
|
Store 72 71
|
|
75: 8(fvec3) Load 74(tesscoord)
|
|
76: 6(float) CompositeExtract 75 0
|
|
77: 6(float) CompositeExtract 75 1
|
|
78: 13(fvec2) CompositeConstruct 76 77
|
|
Store 73(tesscoord) 78
|
|
85: 84(ptr) AccessChain 83(pcf_data.flTessFactor) 29
|
|
86: 6(float) Load 85
|
|
87: 32(ptr) AccessChain 79(pcf_data) 29 29
|
|
Store 87 86
|
|
88: 84(ptr) AccessChain 83(pcf_data.flTessFactor) 39
|
|
89: 6(float) Load 88
|
|
90: 32(ptr) AccessChain 79(pcf_data) 29 39
|
|
Store 90 89
|
|
92: 84(ptr) AccessChain 83(pcf_data.flTessFactor) 91
|
|
93: 6(float) Load 92
|
|
94: 32(ptr) AccessChain 79(pcf_data) 29 91
|
|
Store 94 93
|
|
98: 84(ptr) AccessChain 97(pcf_data.flInsideTessFactor) 29
|
|
99: 6(float) Load 98
|
|
100: 32(ptr) AccessChain 79(pcf_data) 39
|
|
Store 100 99
|
|
102: 12 Load 52(i)
|
|
104: 13(fvec2) Load 73(tesscoord)
|
|
Store 103(param) 104
|
|
106:17(pcf_in_t) Load 79(pcf_data)
|
|
Store 105(param) 106
|
|
107: 19(gs_in_t) FunctionCall 24(@main(struct-ds_in_t-vf4-vf31[2];vf2;struct-pcf_in_t-f1[3]-f11;) 102 103(param) 105(param)
|
|
Store 101(flattenTemp) 107
|
|
110: 37(ptr) AccessChain 101(flattenTemp) 29
|
|
111: 7(fvec4) Load 110
|
|
Store 109(@entryPointOutput.pos) 111
|
|
114: 46(ptr) AccessChain 101(flattenTemp) 39
|
|
115: 8(fvec3) Load 114
|
|
Store 113(@entryPointOutput.norm) 115
|
|
Return
|
|
FunctionEnd
|
|
24(@main(struct-ds_in_t-vf4-vf31[2];vf2;struct-pcf_in_t-f1[3]-f11;): 19(gs_in_t) Function None 20
|
|
21(i): 12 FunctionParameter
|
|
22(tesscoord): 14(ptr) FunctionParameter
|
|
23(pcf_data): 18(ptr) FunctionParameter
|
|
25: Label
|
|
27(o): 26(ptr) Variable Function
|
|
30: 7(fvec4) CompositeExtract 21(i) 0 0
|
|
33: 32(ptr) AccessChain 22(tesscoord) 31
|
|
34: 6(float) Load 33
|
|
35: 7(fvec4) CompositeConstruct 34 34 34 34
|
|
36: 7(fvec4) FAdd 30 35
|
|
38: 37(ptr) AccessChain 27(o) 29
|
|
Store 38 36
|
|
40: 8(fvec3) CompositeExtract 21(i) 0 1
|
|
42: 32(ptr) AccessChain 22(tesscoord) 41
|
|
43: 6(float) Load 42
|
|
44: 8(fvec3) CompositeConstruct 43 43 43
|
|
45: 8(fvec3) FAdd 40 44
|
|
47: 46(ptr) AccessChain 27(o) 39
|
|
Store 47 45
|
|
48: 19(gs_in_t) Load 27(o)
|
|
ReturnValue 48
|
|
FunctionEnd
|