This also removes an no longer needed makeTemporary() and rationalizes makeTypeNonIo()'s interface.
317 lines
19 KiB
Plaintext
317 lines
19 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 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 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 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 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 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 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 67
|
|
|
|
Capability Geometry
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Geometry 4 "main" 46 66
|
|
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 43 "PS_IN"
|
|
MemberName 43(PS_IN) 0 "tc"
|
|
Name 46 "tin"
|
|
Name 58 "ts"
|
|
Name 59 "param"
|
|
Name 61 "param"
|
|
Name 63 "PerVertex_in"
|
|
MemberName 63(PerVertex_in) 0 "tin_pos"
|
|
Name 66 "PerVertex_in"
|
|
Decorate 46(tin) Location 0
|
|
MemberDecorate 63(PerVertex_in) 0 BuiltIn Position
|
|
Decorate 63(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(PS_IN): TypeStruct 8(fvec2)
|
|
44: TypeArray 43(PS_IN) 11
|
|
45: TypePointer Input 44
|
|
46(tin): 45(ptr) Variable Input
|
|
47: TypePointer Input 8(fvec2)
|
|
54: 17(int) Constant 2
|
|
63(PerVertex_in): TypeStruct 7(fvec4)
|
|
64: TypeArray 63(PerVertex_in) 11
|
|
65: TypePointer Input 64
|
|
66(PerVertex_in): 65(ptr) Variable Input
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
42(tin): 13(ptr) Variable Function
|
|
58(ts): 20(ptr) Variable Function
|
|
59(param): 13(ptr) Variable Function
|
|
61(param): 20(ptr) Variable Function
|
|
48: 47(ptr) AccessChain 46(tin) 27 27
|
|
49: 8(fvec2) Load 48
|
|
50: 39(ptr) AccessChain 42(tin) 27 35
|
|
Store 50 49
|
|
51: 47(ptr) AccessChain 46(tin) 35 27
|
|
52: 8(fvec2) Load 51
|
|
53: 39(ptr) AccessChain 42(tin) 35 35
|
|
Store 53 52
|
|
55: 47(ptr) AccessChain 46(tin) 54 27
|
|
56: 8(fvec2) Load 55
|
|
57: 39(ptr) AccessChain 42(tin) 54 35
|
|
Store 57 56
|
|
60: 12 Load 42(tin)
|
|
Store 59(param) 60
|
|
62: 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;) 59(param) 61(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
|