HLSL: Wrap the entry-point; need to write 'in' args, and support 'inout' args.
This needs some render testing, but is destined to be part of master. This also leads to a variety of other simplifications. - IO are global symbols, so only need one list of linkage nodes (deferred) - no longer need parse-context-wide 'inEntryPoint' state, entry-point is localized - several parts of splitting/flattening are now localized
This commit is contained in:
@@ -5,7 +5,7 @@ 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 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 Position pos, temp 2-component vector of float tc})
|
||||
0:24 'ts' (out structure{temp structure{temp 4-component vector of float Position 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})
|
||||
@@ -35,46 +35,65 @@ output primitive = triangle_strip
|
||||
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 move second child to first child (temp structure{temp structure{temp 4-component vector of float Position 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 Position 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 Position pos, temp 2-component vector of float tc})
|
||||
0:? 'tin' (temp 3-element array of structure{temp 4-component vector of float Position 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 Position pos, temp 2-component vector of float tc})
|
||||
0:? 'tin' (temp 3-element array of structure{temp 4-component vector of float Position 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 Position pos, temp 2-component vector of float tc})
|
||||
0:? 'tin' (temp 3-element array of structure{temp 4-component vector of float Position 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 Position pos, temp 2-component vector of float tc})
|
||||
0:? 'ts' (temp structure{temp structure{temp 4-component vector of float Position 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})
|
||||
0:? 'PerVertex_in' (in 3-element array of block{in 4-component vector of float Position tin_pos})
|
||||
0:? 'PerVertex_out' (out block{out 4-component vector of float Position ts_psIn_pos})
|
||||
|
||||
|
||||
Linked geometry stage:
|
||||
@@ -86,7 +105,7 @@ 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 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 Position pos, temp 2-component vector of float tc})
|
||||
0:24 'ts' (out structure{temp structure{temp 4-component vector of float Position 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})
|
||||
@@ -116,55 +135,74 @@ output primitive = triangle_strip
|
||||
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 move second child to first child (temp structure{temp structure{temp 4-component vector of float Position 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 Position 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 Position pos, temp 2-component vector of float tc})
|
||||
0:? 'tin' (temp 3-element array of structure{temp 4-component vector of float Position 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 Position pos, temp 2-component vector of float tc})
|
||||
0:? 'tin' (temp 3-element array of structure{temp 4-component vector of float Position 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 Position pos, temp 2-component vector of float tc})
|
||||
0:? 'tin' (temp 3-element array of structure{temp 4-component vector of float Position 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 Position pos, temp 2-component vector of float tc})
|
||||
0:? 'ts' (temp structure{temp structure{temp 4-component vector of float Position 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})
|
||||
0:? 'PerVertex_in' (in 3-element array of block{in 4-component vector of float Position tin_pos})
|
||||
0:? 'PerVertex_out' (out block{out 4-component vector of float Position ts_psIn_pos})
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 68
|
||||
// Id's are bound by 86
|
||||
|
||||
Capability Geometry
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Geometry 4 "main" 33 40 60 64 67
|
||||
EntryPoint Geometry 4 "main" 65 85
|
||||
ExecutionMode 4 Triangles
|
||||
ExecutionMode 4 Invocations 1
|
||||
ExecutionMode 4 OutputTriangleStrip
|
||||
@@ -173,39 +211,39 @@ output primitive = triangle_strip
|
||||
Name 9 "PS_IN"
|
||||
MemberName 9(PS_IN) 0 "pos"
|
||||
MemberName 9(PS_IN) 1 "tc"
|
||||
Name 14 "STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO"
|
||||
MemberName 14(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 0 "m0_array"
|
||||
MemberName 14(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 1 "m1"
|
||||
Name 15 "GS_OUT"
|
||||
MemberName 15(GS_OUT) 0 "psIn"
|
||||
MemberName 15(GS_OUT) 1 "contains_no_builtin_io"
|
||||
Name 17 "o"
|
||||
Name 33 "ts_psIn_pos"
|
||||
Name 36 "PS_IN"
|
||||
MemberName 36(PS_IN) 0 "tc"
|
||||
Name 37 "STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO"
|
||||
MemberName 37(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 0 "m0_array"
|
||||
MemberName 37(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 1 "m1"
|
||||
Name 38 "GS_OUT"
|
||||
MemberName 38(GS_OUT) 0 "psIn"
|
||||
MemberName 38(GS_OUT) 1 "contains_no_builtin_io"
|
||||
Name 40 "ts"
|
||||
Name 56 "PS_IN"
|
||||
MemberName 56(PS_IN) 0 "tc"
|
||||
Name 60 "tin"
|
||||
Name 61 "PerVertex_in"
|
||||
MemberName 61(PerVertex_in) 0 "tin_pos"
|
||||
Name 64 "PerVertex_in"
|
||||
Name 65 "PerVertex_out"
|
||||
MemberName 65(PerVertex_out) 0 "ts_psIn_pos"
|
||||
Name 67 "PerVertex_out"
|
||||
Decorate 33(ts_psIn_pos) BuiltIn Position
|
||||
Decorate 40(ts) Location 0
|
||||
Decorate 60(tin) Location 0
|
||||
MemberDecorate 61(PerVertex_in) 0 BuiltIn Position
|
||||
Decorate 61(PerVertex_in) Block
|
||||
MemberDecorate 65(PerVertex_out) 0 BuiltIn Position
|
||||
Decorate 65(PerVertex_out) Block
|
||||
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 "PS_IN"
|
||||
MemberName 25(PS_IN) 0 "pos"
|
||||
MemberName 25(PS_IN) 1 "tc"
|
||||
Name 26 "STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO"
|
||||
MemberName 26(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 0 "m0_array"
|
||||
MemberName 26(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 1 "m1"
|
||||
Name 27 "GS_OUT"
|
||||
MemberName 27(GS_OUT) 0 "psIn"
|
||||
MemberName 27(GS_OUT) 1 "contains_no_builtin_io"
|
||||
Name 29 "o"
|
||||
Name 61 "tin"
|
||||
Name 62 "PS_IN"
|
||||
MemberName 62(PS_IN) 0 "tc"
|
||||
Name 65 "tin"
|
||||
Name 77 "ts"
|
||||
Name 78 "param"
|
||||
Name 80 "param"
|
||||
Name 82 "PerVertex_in"
|
||||
MemberName 82(PerVertex_in) 0 "tin_pos"
|
||||
Name 85 "PerVertex_in"
|
||||
MemberDecorate 9(PS_IN) 0 BuiltIn Position
|
||||
Decorate 65(tin) Location 0
|
||||
MemberDecorate 82(PerVertex_in) 0 BuiltIn Position
|
||||
Decorate 82(PerVertex_in) Block
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
@@ -213,71 +251,95 @@ output primitive = triangle_strip
|
||||
8: TypeVector 6(float) 2
|
||||
9(PS_IN): TypeStruct 7(fvec4) 8(fvec2)
|
||||
10: TypeInt 32 0
|
||||
11: 10(int) Constant 2
|
||||
12: TypeArray 6(float) 11
|
||||
13: TypeInt 32 1
|
||||
14(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO): TypeStruct 12 13(int)
|
||||
15(GS_OUT): TypeStruct 9(PS_IN) 14(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO)
|
||||
16: TypePointer Function 15(GS_OUT)
|
||||
18: 13(int) Constant 0
|
||||
19: 6(float) Constant 1065353216
|
||||
20: 6(float) Constant 1073741824
|
||||
21: 6(float) Constant 1077936128
|
||||
22: 6(float) Constant 1082130432
|
||||
23: 7(fvec4) ConstantComposite 19 20 21 22
|
||||
24: TypePointer Function 7(fvec4)
|
||||
26: 13(int) Constant 1
|
||||
27: 6(float) Constant 1084227584
|
||||
28: 6(float) Constant 1086324736
|
||||
29: 8(fvec2) ConstantComposite 27 28
|
||||
30: TypePointer Function 8(fvec2)
|
||||
32: TypePointer Output 7(fvec4)
|
||||
33(ts_psIn_pos): 32(ptr) Variable Output
|
||||
36(PS_IN): TypeStruct 8(fvec2)
|
||||
37(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO): TypeStruct 12 13(int)
|
||||
38(GS_OUT): TypeStruct 36(PS_IN) 37(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO)
|
||||
39: TypePointer Output 38(GS_OUT)
|
||||
40(ts): 39(ptr) Variable Output
|
||||
43: TypePointer Output 8(fvec2)
|
||||
45: TypePointer Function 14(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO)
|
||||
48: TypePointer Output 37(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO)
|
||||
51: TypePointer Output 12
|
||||
54: TypePointer Output 13(int)
|
||||
56(PS_IN): TypeStruct 8(fvec2)
|
||||
57: 10(int) Constant 3
|
||||
58: TypeArray 56(PS_IN) 57
|
||||
59: TypePointer Input 58
|
||||
60(tin): 59(ptr) Variable Input
|
||||
61(PerVertex_in): TypeStruct 7(fvec4)
|
||||
62: TypeArray 61(PerVertex_in) 57
|
||||
63: TypePointer Input 62
|
||||
64(PerVertex_in): 63(ptr) Variable Input
|
||||
65(PerVertex_out): TypeStruct 7(fvec4)
|
||||
66: TypePointer Output 65(PerVertex_out)
|
||||
67(PerVertex_out): 66(ptr) Variable Output
|
||||
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)
|
||||
25(PS_IN): TypeStruct 7(fvec4) 8(fvec2)
|
||||
26(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO): TypeStruct 15 16(int)
|
||||
27(GS_OUT): TypeStruct 25(PS_IN) 26(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO)
|
||||
28: TypePointer Function 27(GS_OUT)
|
||||
30: 16(int) Constant 0
|
||||
31: 6(float) Constant 1065353216
|
||||
32: 6(float) Constant 1073741824
|
||||
33: 6(float) Constant 1077936128
|
||||
34: 6(float) Constant 1082130432
|
||||
35: 7(fvec4) ConstantComposite 31 32 33 34
|
||||
36: TypePointer Function 7(fvec4)
|
||||
38: 16(int) Constant 1
|
||||
39: 6(float) Constant 1084227584
|
||||
40: 6(float) Constant 1086324736
|
||||
41: 8(fvec2) ConstantComposite 39 40
|
||||
42: TypePointer Function 8(fvec2)
|
||||
46: TypePointer Function 9(PS_IN)
|
||||
53: TypePointer Function 17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO)
|
||||
56: TypePointer Function 15
|
||||
59: TypePointer Function 16(int)
|
||||
62(PS_IN): TypeStruct 8(fvec2)
|
||||
63: TypeArray 62(PS_IN) 11
|
||||
64: TypePointer Input 63
|
||||
65(tin): 64(ptr) Variable Input
|
||||
66: TypePointer Input 8(fvec2)
|
||||
73: 16(int) Constant 2
|
||||
82(PerVertex_in): TypeStruct 7(fvec4)
|
||||
83: TypeArray 82(PerVertex_in) 11
|
||||
84: TypePointer Input 83
|
||||
85(PerVertex_in): 84(ptr) Variable Input
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
17(o): 16(ptr) Variable Function
|
||||
25: 24(ptr) AccessChain 17(o) 18 18
|
||||
Store 25 23
|
||||
31: 30(ptr) AccessChain 17(o) 18 26
|
||||
Store 31 29
|
||||
34: 24(ptr) AccessChain 17(o) 18 18
|
||||
35: 7(fvec4) Load 34
|
||||
Store 33(ts_psIn_pos) 35
|
||||
41: 30(ptr) AccessChain 17(o) 18 26
|
||||
42: 8(fvec2) Load 41
|
||||
44: 43(ptr) AccessChain 40(ts) 18 18
|
||||
Store 44 42
|
||||
46: 45(ptr) AccessChain 17(o) 26
|
||||
47:14(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) Load 46
|
||||
49: 48(ptr) AccessChain 40(ts) 26
|
||||
50: 12 CompositeExtract 47 0
|
||||
52: 51(ptr) AccessChain 49 18
|
||||
Store 52 50
|
||||
53: 13(int) CompositeExtract 47 1
|
||||
55: 54(ptr) AccessChain 49 26
|
||||
Store 55 53
|
||||
61(tin): 13(ptr) Variable Function
|
||||
77(ts): 19(ptr) Variable Function
|
||||
78(param): 13(ptr) Variable Function
|
||||
80(param): 19(ptr) Variable Function
|
||||
67: 66(ptr) AccessChain 65(tin) 30 30
|
||||
68: 8(fvec2) Load 67
|
||||
69: 42(ptr) AccessChain 61(tin) 30 38
|
||||
Store 69 68
|
||||
70: 66(ptr) AccessChain 65(tin) 38 30
|
||||
71: 8(fvec2) Load 70
|
||||
72: 42(ptr) AccessChain 61(tin) 38 38
|
||||
Store 72 71
|
||||
74: 66(ptr) AccessChain 65(tin) 73 30
|
||||
75: 8(fvec2) Load 74
|
||||
76: 42(ptr) AccessChain 61(tin) 73 38
|
||||
Store 76 75
|
||||
79: 12 Load 61(tin)
|
||||
Store 78(param) 79
|
||||
81: 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;) 78(param) 80(param)
|
||||
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
|
||||
29(o): 28(ptr) Variable Function
|
||||
37: 36(ptr) AccessChain 29(o) 30 30
|
||||
Store 37 35
|
||||
43: 42(ptr) AccessChain 29(o) 30 38
|
||||
Store 43 41
|
||||
44: 27(GS_OUT) Load 29(o)
|
||||
45: 25(PS_IN) CompositeExtract 44 0
|
||||
47: 46(ptr) AccessChain 22(ts) 30
|
||||
48: 7(fvec4) CompositeExtract 45 0
|
||||
49: 36(ptr) AccessChain 47 30
|
||||
Store 49 48
|
||||
50: 8(fvec2) CompositeExtract 45 1
|
||||
51: 42(ptr) AccessChain 47 38
|
||||
Store 51 50
|
||||
52:26(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) CompositeExtract 44 1
|
||||
54: 53(ptr) AccessChain 22(ts) 38
|
||||
55: 15 CompositeExtract 52 0
|
||||
57: 56(ptr) AccessChain 54 30
|
||||
Store 57 55
|
||||
58: 16(int) CompositeExtract 52 1
|
||||
60: 59(ptr) AccessChain 54 38
|
||||
Store 60 58
|
||||
EmitVertex
|
||||
Return
|
||||
FunctionEnd
|
||||
|
||||
Reference in New Issue
Block a user