
Structs are split to remove builtin members to create valid SPIR-V. In this process, an outer structure array dimension may be propegated onto the now-removed builtin variables. For example, a mystruct[3].position -> position[3]. The copy between the split and unsplit forms would handle this in some cases, but not if the array dimension was at different levels of aggregate. It now does this, but may not handle arbitrary composite types. Unclear if that has any semantic meaning for builtins though.
407 lines
24 KiB
Plaintext
407 lines
24 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 move second child to first child (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 '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: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 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:? 'PerVertex_in' (in 3-element array of block{in 4-component vector of float Position tin_pos})
|
|
|
|
|
|
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 move second child to first child (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 '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: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 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:? 'PerVertex_in' (in 3-element array of block{in 4-component vector of float Position tin_pos})
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80001
|
|
// Id's are bound by 80
|
|
|
|
Capability Geometry
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Geometry 4 "main" 45 53 79
|
|
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 14 "PS_IN"
|
|
MemberName 14(PS_IN) 0 "pos"
|
|
MemberName 14(PS_IN) 1 "tc"
|
|
Name 18 "STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO"
|
|
MemberName 18(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 0 "m0_array"
|
|
MemberName 18(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 1 "m1"
|
|
Name 19 "GS_OUT"
|
|
MemberName 19(GS_OUT) 0 "psIn"
|
|
MemberName 19(GS_OUT) 1 "contains_no_builtin_io"
|
|
Name 24 "@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 22 "tin"
|
|
Name 23 "ts"
|
|
Name 26 "o"
|
|
Name 42 "tin"
|
|
Name 45 "tin_pos"
|
|
Name 50 "PS_IN"
|
|
MemberName 50(PS_IN) 0 "tc"
|
|
Name 53 "tin"
|
|
Name 71 "ts"
|
|
Name 72 "param"
|
|
Name 74 "param"
|
|
Name 76 "PerVertex_in"
|
|
MemberName 76(PerVertex_in) 0 "tin_pos"
|
|
Name 79 "PerVertex_in"
|
|
Decorate 45(tin_pos) BuiltIn Position
|
|
Decorate 53(tin) Location 0
|
|
MemberDecorate 76(PerVertex_in) 0 BuiltIn Position
|
|
Decorate 76(PerVertex_in) Block
|
|
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(PS_IN): TypeStruct 7(fvec4) 8(fvec2)
|
|
15: 10(int) Constant 2
|
|
16: TypeArray 6(float) 15
|
|
17: TypeInt 32 1
|
|
18(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO): TypeStruct 16 17(int)
|
|
19(GS_OUT): TypeStruct 14(PS_IN) 18(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO)
|
|
20: TypePointer Function 19(GS_OUT)
|
|
21: TypeFunction 2 13(ptr) 20(ptr)
|
|
27: 17(int) Constant 0
|
|
28: 6(float) Constant 1065353216
|
|
29: 6(float) Constant 1073741824
|
|
30: 6(float) Constant 1077936128
|
|
31: 6(float) Constant 1082130432
|
|
32: 7(fvec4) ConstantComposite 28 29 30 31
|
|
33: TypePointer Function 7(fvec4)
|
|
35: 17(int) Constant 1
|
|
36: 6(float) Constant 1084227584
|
|
37: 6(float) Constant 1086324736
|
|
38: 8(fvec2) ConstantComposite 36 37
|
|
39: TypePointer Function 8(fvec2)
|
|
43: TypeArray 7(fvec4) 11
|
|
44: TypePointer Input 43
|
|
45(tin_pos): 44(ptr) Variable Input
|
|
46: TypePointer Input 7(fvec4)
|
|
50(PS_IN): TypeStruct 8(fvec2)
|
|
51: TypeArray 50(PS_IN) 11
|
|
52: TypePointer Input 51
|
|
53(tin): 52(ptr) Variable Input
|
|
54: TypePointer Input 8(fvec2)
|
|
64: 17(int) Constant 2
|
|
76(PerVertex_in): TypeStruct 7(fvec4)
|
|
77: TypeArray 76(PerVertex_in) 11
|
|
78: TypePointer Input 77
|
|
79(PerVertex_in): 78(ptr) Variable Input
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
42(tin): 13(ptr) Variable Function
|
|
71(ts): 20(ptr) Variable Function
|
|
72(param): 13(ptr) Variable Function
|
|
74(param): 20(ptr) Variable Function
|
|
47: 46(ptr) AccessChain 45(tin_pos) 27
|
|
48: 7(fvec4) Load 47
|
|
49: 33(ptr) AccessChain 42(tin) 27 27
|
|
Store 49 48
|
|
55: 54(ptr) AccessChain 53(tin) 27 27
|
|
56: 8(fvec2) Load 55
|
|
57: 39(ptr) AccessChain 42(tin) 27 35
|
|
Store 57 56
|
|
58: 46(ptr) AccessChain 45(tin_pos) 35
|
|
59: 7(fvec4) Load 58
|
|
60: 33(ptr) AccessChain 42(tin) 35 27
|
|
Store 60 59
|
|
61: 54(ptr) AccessChain 53(tin) 35 27
|
|
62: 8(fvec2) Load 61
|
|
63: 39(ptr) AccessChain 42(tin) 35 35
|
|
Store 63 62
|
|
65: 46(ptr) AccessChain 45(tin_pos) 64
|
|
66: 7(fvec4) Load 65
|
|
67: 33(ptr) AccessChain 42(tin) 64 27
|
|
Store 67 66
|
|
68: 54(ptr) AccessChain 53(tin) 64 27
|
|
69: 8(fvec2) Load 68
|
|
70: 39(ptr) AccessChain 42(tin) 64 35
|
|
Store 70 69
|
|
73: 12 Load 42(tin)
|
|
Store 72(param) 73
|
|
75: 2 FunctionCall 24(@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;) 72(param) 74(param)
|
|
Return
|
|
FunctionEnd
|
|
24(@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 21
|
|
22(tin): 13(ptr) FunctionParameter
|
|
23(ts): 20(ptr) FunctionParameter
|
|
25: Label
|
|
26(o): 20(ptr) Variable Function
|
|
34: 33(ptr) AccessChain 26(o) 27 27
|
|
Store 34 32
|
|
40: 39(ptr) AccessChain 26(o) 27 35
|
|
Store 40 38
|
|
41: 19(GS_OUT) Load 26(o)
|
|
Store 23(ts) 41
|
|
EmitVertex
|
|
Return
|
|
FunctionEnd
|