glslang/Test/baseResults/hlsl.struct.split.nested.geom.out
steve-lunarg 08e0c086c8 HLSL: fix GS implementation for EP wrapping
The prior implementation of GS did not work with the new EP wrapping architecture.
This fixes it: the Append() method now looks up the actual output rather
than the internal sanitized temporary type, and writes to that.
2017-04-03 14:50:39 -06:00

496 lines
31 KiB
Plaintext

hlsl.struct.split.nested.geom
Shader version: 450
invocations = -1
max_vertices = 3
input primitive = triangles
output primitive = triangle_strip
0:? Sequence
0:24 Function Definition: @main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111; ( temp void)
0:24 Function Parameters:
0:24 'tin' ( in 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
0:24 'ts' ( out structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
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 psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
0:27 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:27 Constant:
0:27 0 (const int)
0:27 Constant:
0:27 0 (const int)
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:? 4.000000
0:28 move second child to first child ( temp 2-component vector of float)
0:28 tc: direct index for structure ( temp 2-component vector of float)
0:28 psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
0:28 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:28 Constant:
0:28 0 (const int)
0:28 Constant:
0:28 1 (const int)
0:? Constant:
0:? 5.000000
0:? 6.000000
0:30 Sequence
0:30 Sequence
0:30 move second child to first child ( temp 4-component vector of float)
0:? 'ts_psIn_pos' ( out 4-component vector of float Position)
0:30 pos: direct index for structure ( temp 4-component vector of float)
0:30 psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
0:30 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:30 Constant:
0:30 0 (const int)
0:30 Constant:
0:30 0 (const int)
0:30 move second child to first child ( temp 2-component vector of float)
0:30 tc: direct index for structure ( temp 2-component vector of float)
0:30 psIn: direct index for structure ( temp structure{ temp 2-component vector of float tc})
0:30 'ts' (layout( location=0) out structure{ temp structure{ temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:30 Constant:
0:30 0 (const int)
0:30 Constant:
0:30 0 (const int)
0:30 tc: direct index for structure ( temp 2-component vector of float)
0:30 psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
0:30 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:30 Constant:
0:30 0 (const int)
0:30 Constant:
0:30 1 (const int)
0:30 move second child to first child ( temp structure{ temp 2-element array of float m0_array, temp int m1})
0:30 contains_no_builtin_io: direct index for structure ( temp structure{ temp 2-element array of float m0_array, temp int m1})
0:30 'ts' (layout( location=0) out structure{ temp structure{ temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:30 Constant:
0:30 1 (const int)
0:30 contains_no_builtin_io: direct index for structure ( temp structure{ temp 2-element array of float m0_array, temp int m1})
0:30 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:30 Constant:
0:30 1 (const int)
0:30 EmitVertex ( temp void)
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 2-component vector of float tc})
0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
0:24 Constant:
0:24 0 (const int)
0:24 Constant:
0:24 0 (const int)
0:24 direct index ( in 4-component vector of float Position)
0:? 'tin_pos' ( in 3-element array of 4-component vector of float Position)
0:24 Constant:
0:24 0 (const int)
0:24 move second child to first child ( temp 2-component vector of float)
0:24 tc: direct index for structure ( temp 2-component vector of float)
0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
0:24 Constant:
0:24 0 (const int)
0:24 Constant:
0:24 1 (const int)
0:24 tc: direct index for structure ( temp 2-component vector of float)
0:24 direct index (layout( location=0) in structure{ temp 2-component vector of float tc})
0:24 'tin' (layout( location=0) in 3-element array of structure{ temp 2-component vector of float tc})
0:24 Constant:
0:24 0 (const int)
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 2-component vector of float tc})
0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
0:24 Constant:
0:24 1 (const int)
0:24 Constant:
0:24 0 (const int)
0:24 direct index ( in 4-component vector of float Position)
0:? 'tin_pos' ( in 3-element array of 4-component vector of float Position)
0:24 Constant:
0:24 1 (const int)
0:24 move second child to first child ( temp 2-component vector of float)
0:24 tc: direct index for structure ( temp 2-component vector of float)
0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
0:24 Constant:
0:24 1 (const int)
0:24 Constant:
0:24 1 (const int)
0:24 tc: direct index for structure ( temp 2-component vector of float)
0:24 direct index (layout( location=0) in structure{ temp 2-component vector of float tc})
0:24 'tin' (layout( location=0) in 3-element array of structure{ temp 2-component vector of float tc})
0:24 Constant:
0:24 1 (const int)
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 2-component vector of float tc})
0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
0:24 Constant:
0:24 2 (const int)
0:24 Constant:
0:24 0 (const int)
0:24 direct index ( in 4-component vector of float Position)
0:? 'tin_pos' ( in 3-element array of 4-component vector of float Position)
0:24 Constant:
0:24 2 (const int)
0:24 move second child to first child ( temp 2-component vector of float)
0:24 tc: direct index for structure ( temp 2-component vector of float)
0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
0:24 Constant:
0:24 2 (const int)
0:24 Constant:
0:24 1 (const int)
0:24 tc: direct index for structure ( temp 2-component vector of float)
0:24 direct index (layout( location=0) in structure{ temp 2-component vector of float tc})
0:24 'tin' (layout( location=0) in 3-element array of structure{ temp 2-component vector of float tc})
0:24 Constant:
0:24 2 (const int)
0:24 Constant:
0:24 0 (const int)
0:24 Function Call: @main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111; ( temp void)
0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
0:? 'ts' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:? Linker Objects
0:? 'tin' (layout( location=0) in 3-element array of structure{ temp 2-component vector of float tc})
0:? 'ts' (layout( location=0) out structure{ temp structure{ temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
Linked geometry stage:
Shader version: 450
invocations = 1
max_vertices = 3
input primitive = triangles
output primitive = triangle_strip
0:? Sequence
0:24 Function Definition: @main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111; ( temp void)
0:24 Function Parameters:
0:24 'tin' ( in 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
0:24 'ts' ( out structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
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 psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
0:27 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:27 Constant:
0:27 0 (const int)
0:27 Constant:
0:27 0 (const int)
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:? 4.000000
0:28 move second child to first child ( temp 2-component vector of float)
0:28 tc: direct index for structure ( temp 2-component vector of float)
0:28 psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
0:28 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:28 Constant:
0:28 0 (const int)
0:28 Constant:
0:28 1 (const int)
0:? Constant:
0:? 5.000000
0:? 6.000000
0:30 Sequence
0:30 Sequence
0:30 move second child to first child ( temp 4-component vector of float)
0:? 'ts_psIn_pos' ( out 4-component vector of float Position)
0:30 pos: direct index for structure ( temp 4-component vector of float)
0:30 psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
0:30 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:30 Constant:
0:30 0 (const int)
0:30 Constant:
0:30 0 (const int)
0:30 move second child to first child ( temp 2-component vector of float)
0:30 tc: direct index for structure ( temp 2-component vector of float)
0:30 psIn: direct index for structure ( temp structure{ temp 2-component vector of float tc})
0:30 'ts' (layout( location=0) out structure{ temp structure{ temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:30 Constant:
0:30 0 (const int)
0:30 Constant:
0:30 0 (const int)
0:30 tc: direct index for structure ( temp 2-component vector of float)
0:30 psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
0:30 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:30 Constant:
0:30 0 (const int)
0:30 Constant:
0:30 1 (const int)
0:30 move second child to first child ( temp structure{ temp 2-element array of float m0_array, temp int m1})
0:30 contains_no_builtin_io: direct index for structure ( temp structure{ temp 2-element array of float m0_array, temp int m1})
0:30 'ts' (layout( location=0) out structure{ temp structure{ temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:30 Constant:
0:30 1 (const int)
0:30 contains_no_builtin_io: direct index for structure ( temp structure{ temp 2-element array of float m0_array, temp int m1})
0:30 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:30 Constant:
0:30 1 (const int)
0:30 EmitVertex ( temp void)
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 2-component vector of float tc})
0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
0:24 Constant:
0:24 0 (const int)
0:24 Constant:
0:24 0 (const int)
0:24 direct index ( in 4-component vector of float Position)
0:? 'tin_pos' ( in 3-element array of 4-component vector of float Position)
0:24 Constant:
0:24 0 (const int)
0:24 move second child to first child ( temp 2-component vector of float)
0:24 tc: direct index for structure ( temp 2-component vector of float)
0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
0:24 Constant:
0:24 0 (const int)
0:24 Constant:
0:24 1 (const int)
0:24 tc: direct index for structure ( temp 2-component vector of float)
0:24 direct index (layout( location=0) in structure{ temp 2-component vector of float tc})
0:24 'tin' (layout( location=0) in 3-element array of structure{ temp 2-component vector of float tc})
0:24 Constant:
0:24 0 (const int)
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 2-component vector of float tc})
0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
0:24 Constant:
0:24 1 (const int)
0:24 Constant:
0:24 0 (const int)
0:24 direct index ( in 4-component vector of float Position)
0:? 'tin_pos' ( in 3-element array of 4-component vector of float Position)
0:24 Constant:
0:24 1 (const int)
0:24 move second child to first child ( temp 2-component vector of float)
0:24 tc: direct index for structure ( temp 2-component vector of float)
0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
0:24 Constant:
0:24 1 (const int)
0:24 Constant:
0:24 1 (const int)
0:24 tc: direct index for structure ( temp 2-component vector of float)
0:24 direct index (layout( location=0) in structure{ temp 2-component vector of float tc})
0:24 'tin' (layout( location=0) in 3-element array of structure{ temp 2-component vector of float tc})
0:24 Constant:
0:24 1 (const int)
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 2-component vector of float tc})
0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
0:24 Constant:
0:24 2 (const int)
0:24 Constant:
0:24 0 (const int)
0:24 direct index ( in 4-component vector of float Position)
0:? 'tin_pos' ( in 3-element array of 4-component vector of float Position)
0:24 Constant:
0:24 2 (const int)
0:24 move second child to first child ( temp 2-component vector of float)
0:24 tc: direct index for structure ( temp 2-component vector of float)
0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
0:24 Constant:
0:24 2 (const int)
0:24 Constant:
0:24 1 (const int)
0:24 tc: direct index for structure ( temp 2-component vector of float)
0:24 direct index (layout( location=0) in structure{ temp 2-component vector of float tc})
0:24 'tin' (layout( location=0) in 3-element array of structure{ temp 2-component vector of float tc})
0:24 Constant:
0:24 2 (const int)
0:24 Constant:
0:24 0 (const int)
0:24 Function Call: @main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111; ( temp void)
0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
0:? 'ts' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:? Linker Objects
0:? 'tin' (layout( location=0) in 3-element array of structure{ temp 2-component vector of float tc})
0:? 'ts' (layout( location=0) out structure{ temp structure{ temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 99
Capability Geometry
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Geometry 4 "main" 41 48 67 75
ExecutionMode 4 Triangles
ExecutionMode 4 Invocations 1
ExecutionMode 4 OutputTriangleStrip
ExecutionMode 4 OutputVertices 3
Name 4 "main"
Name 9 "PS_IN"
MemberName 9(PS_IN) 0 "pos"
MemberName 9(PS_IN) 1 "tc"
Name 17 "STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO"
MemberName 17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 0 "m0_array"
MemberName 17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 1 "m1"
Name 18 "GS_OUT"
MemberName 18(GS_OUT) 0 "psIn"
MemberName 18(GS_OUT) 1 "contains_no_builtin_io"
Name 23 "@main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111;"
Name 21 "tin"
Name 22 "ts"
Name 25 "o"
Name 41 "ts_psIn_pos"
Name 44 "PS_IN"
MemberName 44(PS_IN) 0 "tc"
Name 45 "STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO"
MemberName 45(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 0 "m0_array"
MemberName 45(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 1 "m1"
Name 46 "GS_OUT"
MemberName 46(GS_OUT) 0 "psIn"
MemberName 46(GS_OUT) 1 "contains_no_builtin_io"
Name 48 "ts"
Name 64 "tin"
Name 67 "tin_pos"
Name 72 "PS_IN"
MemberName 72(PS_IN) 0 "tc"
Name 75 "tin"
Name 93 "ts"
Name 94 "param"
Name 96 "param"
Decorate 41(ts_psIn_pos) BuiltIn Position
Decorate 48(ts) Location 0
Decorate 67(tin_pos) BuiltIn Position
Decorate 75(tin) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypeVector 6(float) 2
9(PS_IN): TypeStruct 7(fvec4) 8(fvec2)
10: TypeInt 32 0
11: 10(int) Constant 3
12: TypeArray 9(PS_IN) 11
13: TypePointer Function 12
14: 10(int) Constant 2
15: TypeArray 6(float) 14
16: TypeInt 32 1
17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO): TypeStruct 15 16(int)
18(GS_OUT): TypeStruct 9(PS_IN) 17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO)
19: TypePointer Function 18(GS_OUT)
20: TypeFunction 2 13(ptr) 19(ptr)
26: 16(int) Constant 0
27: 6(float) Constant 1065353216
28: 6(float) Constant 1073741824
29: 6(float) Constant 1077936128
30: 6(float) Constant 1082130432
31: 7(fvec4) ConstantComposite 27 28 29 30
32: TypePointer Function 7(fvec4)
34: 16(int) Constant 1
35: 6(float) Constant 1084227584
36: 6(float) Constant 1086324736
37: 8(fvec2) ConstantComposite 35 36
38: TypePointer Function 8(fvec2)
40: TypePointer Output 7(fvec4)
41(ts_psIn_pos): 40(ptr) Variable Output
44(PS_IN): TypeStruct 8(fvec2)
45(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO): TypeStruct 15 16(int)
46(GS_OUT): TypeStruct 44(PS_IN) 45(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO)
47: TypePointer Output 46(GS_OUT)
48(ts): 47(ptr) Variable Output
51: TypePointer Output 8(fvec2)
53: TypePointer Function 17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO)
56: TypePointer Output 45(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO)
59: TypePointer Output 15
62: TypePointer Output 16(int)
65: TypeArray 7(fvec4) 11
66: TypePointer Input 65
67(tin_pos): 66(ptr) Variable Input
68: TypePointer Input 7(fvec4)
72(PS_IN): TypeStruct 8(fvec2)
73: TypeArray 72(PS_IN) 11
74: TypePointer Input 73
75(tin): 74(ptr) Variable Input
76: TypePointer Input 8(fvec2)
86: 16(int) Constant 2
4(main): 2 Function None 3
5: Label
64(tin): 13(ptr) Variable Function
93(ts): 19(ptr) Variable Function
94(param): 13(ptr) Variable Function
96(param): 19(ptr) Variable Function
69: 68(ptr) AccessChain 67(tin_pos) 26
70: 7(fvec4) Load 69
71: 32(ptr) AccessChain 64(tin) 26 26
Store 71 70
77: 76(ptr) AccessChain 75(tin) 26 26
78: 8(fvec2) Load 77
79: 38(ptr) AccessChain 64(tin) 26 34
Store 79 78
80: 68(ptr) AccessChain 67(tin_pos) 34
81: 7(fvec4) Load 80
82: 32(ptr) AccessChain 64(tin) 34 26
Store 82 81
83: 76(ptr) AccessChain 75(tin) 34 26
84: 8(fvec2) Load 83
85: 38(ptr) AccessChain 64(tin) 34 34
Store 85 84
87: 68(ptr) AccessChain 67(tin_pos) 86
88: 7(fvec4) Load 87
89: 32(ptr) AccessChain 64(tin) 86 26
Store 89 88
90: 76(ptr) AccessChain 75(tin) 86 26
91: 8(fvec2) Load 90
92: 38(ptr) AccessChain 64(tin) 86 34
Store 92 91
95: 12 Load 64(tin)
Store 94(param) 95
97: 2 FunctionCall 23(@main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111;) 94(param) 96(param)
98: 18(GS_OUT) Load 96(param)
Store 93(ts) 98
Return
FunctionEnd
23(@main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111;): 2 Function None 20
21(tin): 13(ptr) FunctionParameter
22(ts): 19(ptr) FunctionParameter
24: Label
25(o): 19(ptr) Variable Function
33: 32(ptr) AccessChain 25(o) 26 26
Store 33 31
39: 38(ptr) AccessChain 25(o) 26 34
Store 39 37
42: 32(ptr) AccessChain 25(o) 26 26
43: 7(fvec4) Load 42
Store 41(ts_psIn_pos) 43
49: 38(ptr) AccessChain 25(o) 26 34
50: 8(fvec2) Load 49
52: 51(ptr) AccessChain 48(ts) 26 26
Store 52 50
54: 53(ptr) AccessChain 25(o) 34
55:17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) Load 54
57: 56(ptr) AccessChain 48(ts) 34
58: 15 CompositeExtract 55 0
60: 59(ptr) AccessChain 57 26
Store 60 58
61: 16(int) CompositeExtract 55 1
63: 62(ptr) AccessChain 57 34
Store 63 61
EmitVertex
Return
FunctionEnd