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.
457 lines
29 KiB
Plaintext
457 lines
29 KiB
Plaintext
hlsl.structarray.flatten.geom
|
|
Shader version: 500
|
|
invocations = -1
|
|
max_vertices = 4
|
|
input primitive = lines
|
|
output primitive = triangle_strip
|
|
0:? Sequence
|
|
0:16 Function Definition: @main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21; ( temp void)
|
|
0:16 Function Parameters:
|
|
0:16 'vin' ( in 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:16 'outStream' ( out structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:? Sequence
|
|
0:19 move second child to first child ( temp 4-component vector of float)
|
|
0:19 color: direct index for structure ( temp 4-component vector of float)
|
|
0:19 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:19 Constant:
|
|
0:19 1 (const int)
|
|
0:19 color: direct index for structure ( temp 4-component vector of float)
|
|
0:19 direct index ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:19 'vin' ( in 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:19 Constant:
|
|
0:19 1 (const int)
|
|
0:19 Constant:
|
|
0:19 1 (const int)
|
|
0:20 move second child to first child ( temp 2-component vector of float)
|
|
0:20 uv: direct index for structure ( temp 2-component vector of float)
|
|
0:20 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:20 Constant:
|
|
0:20 2 (const int)
|
|
0:20 uv: direct index for structure ( temp 2-component vector of float)
|
|
0:20 direct index ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:20 'vin' ( in 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:20 Constant:
|
|
0:20 1 (const int)
|
|
0:20 Constant:
|
|
0:20 2 (const int)
|
|
0:21 move second child to first child ( temp 4-component vector of float)
|
|
0:21 position: direct index for structure ( temp 4-component vector of float)
|
|
0:21 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:21 Constant:
|
|
0:21 0 (const int)
|
|
0:21 position: direct index for structure ( temp 4-component vector of float)
|
|
0:21 direct index ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:21 'vin' ( in 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:21 Constant:
|
|
0:21 1 (const int)
|
|
0:21 Constant:
|
|
0:21 0 (const int)
|
|
0:22 Sequence
|
|
0:22 Sequence
|
|
0:22 move second child to first child ( temp 4-component vector of float)
|
|
0:? 'outStream.position' ( out 4-component vector of float Position)
|
|
0:22 position: direct index for structure ( temp 4-component vector of float)
|
|
0:22 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:22 Constant:
|
|
0:22 0 (const int)
|
|
0:22 move second child to first child ( temp 4-component vector of float)
|
|
0:? 'outStream.color' (layout( location=0) out 4-component vector of float)
|
|
0:22 color: direct index for structure ( temp 4-component vector of float)
|
|
0:22 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:22 Constant:
|
|
0:22 1 (const int)
|
|
0:22 move second child to first child ( temp 2-component vector of float)
|
|
0:? 'outStream.uv' (layout( location=1) out 2-component vector of float)
|
|
0:22 uv: direct index for structure ( temp 2-component vector of float)
|
|
0:22 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:22 Constant:
|
|
0:22 2 (const int)
|
|
0:22 EmitVertex ( temp void)
|
|
0:16 Function Definition: main( ( temp void)
|
|
0:16 Function Parameters:
|
|
0:? Sequence
|
|
0:16 Sequence
|
|
0:16 move second child to first child ( temp 4-component vector of float)
|
|
0:16 position: direct index for structure ( temp 4-component vector of float)
|
|
0:16 direct index ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:? 'vin' ( temp 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:16 Constant:
|
|
0:16 0 (const int)
|
|
0:16 Constant:
|
|
0:16 0 (const int)
|
|
0:16 direct index (layout( location=0) in 4-component vector of float)
|
|
0:? 'vin.position' (layout( location=0) in 2-element array of 4-component vector of float)
|
|
0:16 Constant:
|
|
0:16 0 (const int)
|
|
0:16 move second child to first child ( temp 4-component vector of float)
|
|
0:16 color: direct index for structure ( temp 4-component vector of float)
|
|
0:16 direct index ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:? 'vin' ( temp 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:16 Constant:
|
|
0:16 0 (const int)
|
|
0:16 Constant:
|
|
0:16 1 (const int)
|
|
0:16 direct index (layout( location=1) in 4-component vector of float)
|
|
0:? 'vin.color' (layout( location=1) in 2-element array of 4-component vector of float)
|
|
0:16 Constant:
|
|
0:16 0 (const int)
|
|
0:16 move second child to first child ( temp 2-component vector of float)
|
|
0:16 uv: direct index for structure ( temp 2-component vector of float)
|
|
0:16 direct index ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:? 'vin' ( temp 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:16 Constant:
|
|
0:16 0 (const int)
|
|
0:16 Constant:
|
|
0:16 2 (const int)
|
|
0:16 direct index (layout( location=2) in 2-component vector of float)
|
|
0:? 'vin.uv' (layout( location=2) in 2-element array of 2-component vector of float)
|
|
0:16 Constant:
|
|
0:16 0 (const int)
|
|
0:16 move second child to first child ( temp 4-component vector of float)
|
|
0:16 position: direct index for structure ( temp 4-component vector of float)
|
|
0:16 direct index ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:? 'vin' ( temp 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:16 Constant:
|
|
0:16 1 (const int)
|
|
0:16 Constant:
|
|
0:16 0 (const int)
|
|
0:16 direct index (layout( location=0) in 4-component vector of float)
|
|
0:? 'vin.position' (layout( location=0) in 2-element array of 4-component vector of float)
|
|
0:16 Constant:
|
|
0:16 1 (const int)
|
|
0:16 move second child to first child ( temp 4-component vector of float)
|
|
0:16 color: direct index for structure ( temp 4-component vector of float)
|
|
0:16 direct index ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:? 'vin' ( temp 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:16 Constant:
|
|
0:16 1 (const int)
|
|
0:16 Constant:
|
|
0:16 1 (const int)
|
|
0:16 direct index (layout( location=1) in 4-component vector of float)
|
|
0:? 'vin.color' (layout( location=1) in 2-element array of 4-component vector of float)
|
|
0:16 Constant:
|
|
0:16 1 (const int)
|
|
0:16 move second child to first child ( temp 2-component vector of float)
|
|
0:16 uv: direct index for structure ( temp 2-component vector of float)
|
|
0:16 direct index ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:? 'vin' ( temp 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:16 Constant:
|
|
0:16 1 (const int)
|
|
0:16 Constant:
|
|
0:16 2 (const int)
|
|
0:16 direct index (layout( location=2) in 2-component vector of float)
|
|
0:? 'vin.uv' (layout( location=2) in 2-element array of 2-component vector of float)
|
|
0:16 Constant:
|
|
0:16 1 (const int)
|
|
0:16 Function Call: @main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21; ( temp void)
|
|
0:? 'vin' ( temp 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:? 'outStream' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:? Linker Objects
|
|
0:? 'vin.position' (layout( location=0) in 2-element array of 4-component vector of float)
|
|
0:? 'vin.color' (layout( location=1) in 2-element array of 4-component vector of float)
|
|
0:? 'vin.uv' (layout( location=2) in 2-element array of 2-component vector of float)
|
|
0:? 'outStream.position' ( out 4-component vector of float Position)
|
|
0:? 'outStream.color' (layout( location=0) out 4-component vector of float)
|
|
0:? 'outStream.uv' (layout( location=1) out 2-component vector of float)
|
|
|
|
|
|
Linked geometry stage:
|
|
|
|
|
|
Shader version: 500
|
|
invocations = 1
|
|
max_vertices = 4
|
|
input primitive = lines
|
|
output primitive = triangle_strip
|
|
0:? Sequence
|
|
0:16 Function Definition: @main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21; ( temp void)
|
|
0:16 Function Parameters:
|
|
0:16 'vin' ( in 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:16 'outStream' ( out structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:? Sequence
|
|
0:19 move second child to first child ( temp 4-component vector of float)
|
|
0:19 color: direct index for structure ( temp 4-component vector of float)
|
|
0:19 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:19 Constant:
|
|
0:19 1 (const int)
|
|
0:19 color: direct index for structure ( temp 4-component vector of float)
|
|
0:19 direct index ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:19 'vin' ( in 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:19 Constant:
|
|
0:19 1 (const int)
|
|
0:19 Constant:
|
|
0:19 1 (const int)
|
|
0:20 move second child to first child ( temp 2-component vector of float)
|
|
0:20 uv: direct index for structure ( temp 2-component vector of float)
|
|
0:20 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:20 Constant:
|
|
0:20 2 (const int)
|
|
0:20 uv: direct index for structure ( temp 2-component vector of float)
|
|
0:20 direct index ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:20 'vin' ( in 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:20 Constant:
|
|
0:20 1 (const int)
|
|
0:20 Constant:
|
|
0:20 2 (const int)
|
|
0:21 move second child to first child ( temp 4-component vector of float)
|
|
0:21 position: direct index for structure ( temp 4-component vector of float)
|
|
0:21 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:21 Constant:
|
|
0:21 0 (const int)
|
|
0:21 position: direct index for structure ( temp 4-component vector of float)
|
|
0:21 direct index ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:21 'vin' ( in 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:21 Constant:
|
|
0:21 1 (const int)
|
|
0:21 Constant:
|
|
0:21 0 (const int)
|
|
0:22 Sequence
|
|
0:22 Sequence
|
|
0:22 move second child to first child ( temp 4-component vector of float)
|
|
0:? 'outStream.position' ( out 4-component vector of float Position)
|
|
0:22 position: direct index for structure ( temp 4-component vector of float)
|
|
0:22 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:22 Constant:
|
|
0:22 0 (const int)
|
|
0:22 move second child to first child ( temp 4-component vector of float)
|
|
0:? 'outStream.color' (layout( location=0) out 4-component vector of float)
|
|
0:22 color: direct index for structure ( temp 4-component vector of float)
|
|
0:22 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:22 Constant:
|
|
0:22 1 (const int)
|
|
0:22 move second child to first child ( temp 2-component vector of float)
|
|
0:? 'outStream.uv' (layout( location=1) out 2-component vector of float)
|
|
0:22 uv: direct index for structure ( temp 2-component vector of float)
|
|
0:22 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:22 Constant:
|
|
0:22 2 (const int)
|
|
0:22 EmitVertex ( temp void)
|
|
0:16 Function Definition: main( ( temp void)
|
|
0:16 Function Parameters:
|
|
0:? Sequence
|
|
0:16 Sequence
|
|
0:16 move second child to first child ( temp 4-component vector of float)
|
|
0:16 position: direct index for structure ( temp 4-component vector of float)
|
|
0:16 direct index ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:? 'vin' ( temp 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:16 Constant:
|
|
0:16 0 (const int)
|
|
0:16 Constant:
|
|
0:16 0 (const int)
|
|
0:16 direct index (layout( location=0) in 4-component vector of float)
|
|
0:? 'vin.position' (layout( location=0) in 2-element array of 4-component vector of float)
|
|
0:16 Constant:
|
|
0:16 0 (const int)
|
|
0:16 move second child to first child ( temp 4-component vector of float)
|
|
0:16 color: direct index for structure ( temp 4-component vector of float)
|
|
0:16 direct index ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:? 'vin' ( temp 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:16 Constant:
|
|
0:16 0 (const int)
|
|
0:16 Constant:
|
|
0:16 1 (const int)
|
|
0:16 direct index (layout( location=1) in 4-component vector of float)
|
|
0:? 'vin.color' (layout( location=1) in 2-element array of 4-component vector of float)
|
|
0:16 Constant:
|
|
0:16 0 (const int)
|
|
0:16 move second child to first child ( temp 2-component vector of float)
|
|
0:16 uv: direct index for structure ( temp 2-component vector of float)
|
|
0:16 direct index ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:? 'vin' ( temp 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:16 Constant:
|
|
0:16 0 (const int)
|
|
0:16 Constant:
|
|
0:16 2 (const int)
|
|
0:16 direct index (layout( location=2) in 2-component vector of float)
|
|
0:? 'vin.uv' (layout( location=2) in 2-element array of 2-component vector of float)
|
|
0:16 Constant:
|
|
0:16 0 (const int)
|
|
0:16 move second child to first child ( temp 4-component vector of float)
|
|
0:16 position: direct index for structure ( temp 4-component vector of float)
|
|
0:16 direct index ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:? 'vin' ( temp 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:16 Constant:
|
|
0:16 1 (const int)
|
|
0:16 Constant:
|
|
0:16 0 (const int)
|
|
0:16 direct index (layout( location=0) in 4-component vector of float)
|
|
0:? 'vin.position' (layout( location=0) in 2-element array of 4-component vector of float)
|
|
0:16 Constant:
|
|
0:16 1 (const int)
|
|
0:16 move second child to first child ( temp 4-component vector of float)
|
|
0:16 color: direct index for structure ( temp 4-component vector of float)
|
|
0:16 direct index ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:? 'vin' ( temp 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:16 Constant:
|
|
0:16 1 (const int)
|
|
0:16 Constant:
|
|
0:16 1 (const int)
|
|
0:16 direct index (layout( location=1) in 4-component vector of float)
|
|
0:? 'vin.color' (layout( location=1) in 2-element array of 4-component vector of float)
|
|
0:16 Constant:
|
|
0:16 1 (const int)
|
|
0:16 move second child to first child ( temp 2-component vector of float)
|
|
0:16 uv: direct index for structure ( temp 2-component vector of float)
|
|
0:16 direct index ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:? 'vin' ( temp 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:16 Constant:
|
|
0:16 1 (const int)
|
|
0:16 Constant:
|
|
0:16 2 (const int)
|
|
0:16 direct index (layout( location=2) in 2-component vector of float)
|
|
0:? 'vin.uv' (layout( location=2) in 2-element array of 2-component vector of float)
|
|
0:16 Constant:
|
|
0:16 1 (const int)
|
|
0:16 Function Call: @main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21; ( temp void)
|
|
0:? 'vin' ( temp 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:? 'outStream' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:? Linker Objects
|
|
0:? 'vin.position' (layout( location=0) in 2-element array of 4-component vector of float)
|
|
0:? 'vin.color' (layout( location=1) in 2-element array of 4-component vector of float)
|
|
0:? 'vin.uv' (layout( location=2) in 2-element array of 2-component vector of float)
|
|
0:? 'outStream.position' ( out 4-component vector of float Position)
|
|
0:? 'outStream.color' (layout( location=0) out 4-component vector of float)
|
|
0:? 'outStream.uv' (layout( location=1) out 2-component vector of float)
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80008
|
|
// Id's are bound by 82
|
|
|
|
Capability Geometry
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Geometry 4 "main" 38 41 45 51 56 62
|
|
ExecutionMode 4 InputLines
|
|
ExecutionMode 4 Invocations 1
|
|
ExecutionMode 4 OutputTriangleStrip
|
|
ExecutionMode 4 OutputVertices 4
|
|
Source HLSL 500
|
|
Name 4 "main"
|
|
Name 9 "VertexData"
|
|
MemberName 9(VertexData) 0 "position"
|
|
MemberName 9(VertexData) 1 "color"
|
|
MemberName 9(VertexData) 2 "uv"
|
|
Name 14 "PS_IN"
|
|
MemberName 14(PS_IN) 0 "position"
|
|
MemberName 14(PS_IN) 1 "color"
|
|
MemberName 14(PS_IN) 2 "uv"
|
|
Name 19 "@main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21;"
|
|
Name 17 "vin"
|
|
Name 18 "outStream"
|
|
Name 21 "vout"
|
|
Name 38 "outStream.position"
|
|
Name 41 "outStream.color"
|
|
Name 45 "outStream.uv"
|
|
Name 48 "vin"
|
|
Name 51 "vin.position"
|
|
Name 56 "vin.color"
|
|
Name 62 "vin.uv"
|
|
Name 76 "outStream"
|
|
Name 77 "param"
|
|
Name 79 "param"
|
|
Decorate 38(outStream.position) BuiltIn Position
|
|
Decorate 41(outStream.color) Location 0
|
|
Decorate 45(outStream.uv) Location 1
|
|
Decorate 51(vin.position) Location 0
|
|
Decorate 56(vin.color) Location 1
|
|
Decorate 62(vin.uv) Location 2
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
7: TypeVector 6(float) 4
|
|
8: TypeVector 6(float) 2
|
|
9(VertexData): TypeStruct 7(fvec4) 7(fvec4) 8(fvec2)
|
|
10: TypeInt 32 0
|
|
11: 10(int) Constant 2
|
|
12: TypeArray 9(VertexData) 11
|
|
13: TypePointer Function 12
|
|
14(PS_IN): TypeStruct 7(fvec4) 7(fvec4) 8(fvec2)
|
|
15: TypePointer Function 14(PS_IN)
|
|
16: TypeFunction 2 13(ptr) 15(ptr)
|
|
22: TypeInt 32 1
|
|
23: 22(int) Constant 1
|
|
24: TypePointer Function 7(fvec4)
|
|
28: 22(int) Constant 2
|
|
29: TypePointer Function 8(fvec2)
|
|
33: 22(int) Constant 0
|
|
37: TypePointer Output 7(fvec4)
|
|
38(outStream.position): 37(ptr) Variable Output
|
|
41(outStream.color): 37(ptr) Variable Output
|
|
44: TypePointer Output 8(fvec2)
|
|
45(outStream.uv): 44(ptr) Variable Output
|
|
49: TypeArray 7(fvec4) 11
|
|
50: TypePointer Input 49
|
|
51(vin.position): 50(ptr) Variable Input
|
|
52: TypePointer Input 7(fvec4)
|
|
56(vin.color): 50(ptr) Variable Input
|
|
60: TypeArray 8(fvec2) 11
|
|
61: TypePointer Input 60
|
|
62(vin.uv): 61(ptr) Variable Input
|
|
63: TypePointer Input 8(fvec2)
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
48(vin): 13(ptr) Variable Function
|
|
76(outStream): 15(ptr) Variable Function
|
|
77(param): 13(ptr) Variable Function
|
|
79(param): 15(ptr) Variable Function
|
|
53: 52(ptr) AccessChain 51(vin.position) 33
|
|
54: 7(fvec4) Load 53
|
|
55: 24(ptr) AccessChain 48(vin) 33 33
|
|
Store 55 54
|
|
57: 52(ptr) AccessChain 56(vin.color) 33
|
|
58: 7(fvec4) Load 57
|
|
59: 24(ptr) AccessChain 48(vin) 33 23
|
|
Store 59 58
|
|
64: 63(ptr) AccessChain 62(vin.uv) 33
|
|
65: 8(fvec2) Load 64
|
|
66: 29(ptr) AccessChain 48(vin) 33 28
|
|
Store 66 65
|
|
67: 52(ptr) AccessChain 51(vin.position) 23
|
|
68: 7(fvec4) Load 67
|
|
69: 24(ptr) AccessChain 48(vin) 23 33
|
|
Store 69 68
|
|
70: 52(ptr) AccessChain 56(vin.color) 23
|
|
71: 7(fvec4) Load 70
|
|
72: 24(ptr) AccessChain 48(vin) 23 23
|
|
Store 72 71
|
|
73: 63(ptr) AccessChain 62(vin.uv) 23
|
|
74: 8(fvec2) Load 73
|
|
75: 29(ptr) AccessChain 48(vin) 23 28
|
|
Store 75 74
|
|
78: 12 Load 48(vin)
|
|
Store 77(param) 78
|
|
80: 2 FunctionCall 19(@main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21;) 77(param) 79(param)
|
|
81: 14(PS_IN) Load 79(param)
|
|
Store 76(outStream) 81
|
|
Return
|
|
FunctionEnd
|
|
19(@main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21;): 2 Function None 16
|
|
17(vin): 13(ptr) FunctionParameter
|
|
18(outStream): 15(ptr) FunctionParameter
|
|
20: Label
|
|
21(vout): 15(ptr) Variable Function
|
|
25: 24(ptr) AccessChain 17(vin) 23 23
|
|
26: 7(fvec4) Load 25
|
|
27: 24(ptr) AccessChain 21(vout) 23
|
|
Store 27 26
|
|
30: 29(ptr) AccessChain 17(vin) 23 28
|
|
31: 8(fvec2) Load 30
|
|
32: 29(ptr) AccessChain 21(vout) 28
|
|
Store 32 31
|
|
34: 24(ptr) AccessChain 17(vin) 23 33
|
|
35: 7(fvec4) Load 34
|
|
36: 24(ptr) AccessChain 21(vout) 33
|
|
Store 36 35
|
|
39: 24(ptr) AccessChain 21(vout) 33
|
|
40: 7(fvec4) Load 39
|
|
Store 38(outStream.position) 40
|
|
42: 24(ptr) AccessChain 21(vout) 23
|
|
43: 7(fvec4) Load 42
|
|
Store 41(outStream.color) 43
|
|
46: 29(ptr) AccessChain 21(vout) 28
|
|
47: 8(fvec2) Load 46
|
|
Store 45(outStream.uv) 47
|
|
EmitVertex
|
|
Return
|
|
FunctionEnd
|