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:
@@ -22,23 +22,29 @@ gl_FragCoord origin is upper left
|
||||
0:9 Constant:
|
||||
0:9 7 (const int)
|
||||
0:9 7 (const int)
|
||||
0:13 Function Definition: PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; (temp 4-component vector of float)
|
||||
0:13 Function Definition: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; (temp 4-component vector of float)
|
||||
0:13 Function Parameters:
|
||||
0:13 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:13 'out1' (layout(location=1 ) out 4-component vector of float)
|
||||
0:13 'input' (in 4-component vector of float)
|
||||
0:13 'out1' (out 4-component vector of float)
|
||||
0:13 'out2' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:13 'out3' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:? Sequence
|
||||
0:14 move second child to first child (temp 4-component vector of float)
|
||||
0:14 'out1' (layout(location=1 ) out 4-component vector of float)
|
||||
0:14 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:14 'out1' (out 4-component vector of float)
|
||||
0:14 'input' (in 4-component vector of float)
|
||||
0:15 move second child to first child (temp 2-component vector of float)
|
||||
0:? 'v' (layout(location=2 ) out 2-component vector of float)
|
||||
0:15 v: direct index for structure (temp 2-component vector of float)
|
||||
0:15 'out2' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:15 Constant:
|
||||
0:15 0 (const int)
|
||||
0:15 Constant:
|
||||
0:15 2.000000
|
||||
0:15 2.000000
|
||||
0:16 move second child to first child (temp 2-component vector of int)
|
||||
0:? 'i' (layout(location=3 ) out 2-component vector of int)
|
||||
0:16 i: direct index for structure (temp 2-component vector of int)
|
||||
0:16 'out2' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:16 Constant:
|
||||
0:16 1 (const int)
|
||||
0:16 Constant:
|
||||
0:16 3 (const int)
|
||||
0:16 3 (const int)
|
||||
@@ -58,27 +64,52 @@ gl_FragCoord origin is upper left
|
||||
0:19 Constant:
|
||||
0:19 13 (const int)
|
||||
0:19 13 (const int)
|
||||
0:20 Comma (temp void)
|
||||
0:20 Function Call: fun(struct-OutParam-vf2-vi21; (temp void)
|
||||
0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:20 Sequence
|
||||
0:20 move second child to first child (temp 2-component vector of float)
|
||||
0:? 'v' (layout(location=4 ) out 2-component vector of float)
|
||||
0:20 v: direct index for structure (temp 2-component vector of float)
|
||||
0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:20 Constant:
|
||||
0:20 0 (const int)
|
||||
0:20 move second child to first child (temp 2-component vector of int)
|
||||
0:? 'i' (layout(location=5 ) out 2-component vector of int)
|
||||
0:20 i: direct index for structure (temp 2-component vector of int)
|
||||
0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:20 Constant:
|
||||
0:20 1 (const int)
|
||||
0:22 Sequence
|
||||
0:22 move second child to first child (temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:22 'out1' (layout(location=1 ) out 4-component vector of float)
|
||||
0:22 Branch: Return
|
||||
0:20 Function Call: fun(struct-OutParam-vf2-vi21; (temp void)
|
||||
0:20 'out3' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:22 Branch: Return with expression
|
||||
0:22 'out1' (out 4-component vector of float)
|
||||
0:13 Function Definition: PixelShaderFunction( (temp void)
|
||||
0:13 Function Parameters:
|
||||
0:? Sequence
|
||||
0:13 move second child to first child (temp 4-component vector of float)
|
||||
0:? 'input' (temp 4-component vector of float)
|
||||
0:? 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:13 move second child to first child (temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:13 Function Call: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; (temp 4-component vector of float)
|
||||
0:? 'input' (temp 4-component vector of float)
|
||||
0:? 'out1' (temp 4-component vector of float)
|
||||
0:? 'out2' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:? 'out3' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:13 move second child to first child (temp 4-component vector of float)
|
||||
0:? 'out1' (layout(location=1 ) out 4-component vector of float)
|
||||
0:? 'out1' (temp 4-component vector of float)
|
||||
0:13 Sequence
|
||||
0:13 move second child to first child (temp 2-component vector of float)
|
||||
0:? 'v' (layout(location=2 ) out 2-component vector of float)
|
||||
0:13 v: direct index for structure (temp 2-component vector of float)
|
||||
0:? 'out2' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:13 Constant:
|
||||
0:13 0 (const int)
|
||||
0:13 move second child to first child (temp 2-component vector of int)
|
||||
0:? 'i' (layout(location=3 ) out 2-component vector of int)
|
||||
0:13 i: direct index for structure (temp 2-component vector of int)
|
||||
0:? 'out2' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:13 Constant:
|
||||
0:13 1 (const int)
|
||||
0:13 Sequence
|
||||
0:13 move second child to first child (temp 2-component vector of float)
|
||||
0:? 'v' (layout(location=4 ) out 2-component vector of float)
|
||||
0:13 v: direct index for structure (temp 2-component vector of float)
|
||||
0:? 'out3' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:13 Constant:
|
||||
0:13 0 (const int)
|
||||
0:13 move second child to first child (temp 2-component vector of int)
|
||||
0:? 'i' (layout(location=5 ) out 2-component vector of int)
|
||||
0:13 i: direct index for structure (temp 2-component vector of int)
|
||||
0:? 'out3' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:13 Constant:
|
||||
0:13 1 (const int)
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
@@ -115,23 +146,29 @@ gl_FragCoord origin is upper left
|
||||
0:9 Constant:
|
||||
0:9 7 (const int)
|
||||
0:9 7 (const int)
|
||||
0:13 Function Definition: PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; (temp 4-component vector of float)
|
||||
0:13 Function Definition: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; (temp 4-component vector of float)
|
||||
0:13 Function Parameters:
|
||||
0:13 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:13 'out1' (layout(location=1 ) out 4-component vector of float)
|
||||
0:13 'input' (in 4-component vector of float)
|
||||
0:13 'out1' (out 4-component vector of float)
|
||||
0:13 'out2' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:13 'out3' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:? Sequence
|
||||
0:14 move second child to first child (temp 4-component vector of float)
|
||||
0:14 'out1' (layout(location=1 ) out 4-component vector of float)
|
||||
0:14 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:14 'out1' (out 4-component vector of float)
|
||||
0:14 'input' (in 4-component vector of float)
|
||||
0:15 move second child to first child (temp 2-component vector of float)
|
||||
0:? 'v' (layout(location=2 ) out 2-component vector of float)
|
||||
0:15 v: direct index for structure (temp 2-component vector of float)
|
||||
0:15 'out2' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:15 Constant:
|
||||
0:15 0 (const int)
|
||||
0:15 Constant:
|
||||
0:15 2.000000
|
||||
0:15 2.000000
|
||||
0:16 move second child to first child (temp 2-component vector of int)
|
||||
0:? 'i' (layout(location=3 ) out 2-component vector of int)
|
||||
0:16 i: direct index for structure (temp 2-component vector of int)
|
||||
0:16 'out2' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:16 Constant:
|
||||
0:16 1 (const int)
|
||||
0:16 Constant:
|
||||
0:16 3 (const int)
|
||||
0:16 3 (const int)
|
||||
@@ -151,27 +188,52 @@ gl_FragCoord origin is upper left
|
||||
0:19 Constant:
|
||||
0:19 13 (const int)
|
||||
0:19 13 (const int)
|
||||
0:20 Comma (temp void)
|
||||
0:20 Function Call: fun(struct-OutParam-vf2-vi21; (temp void)
|
||||
0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:20 Sequence
|
||||
0:20 move second child to first child (temp 2-component vector of float)
|
||||
0:? 'v' (layout(location=4 ) out 2-component vector of float)
|
||||
0:20 v: direct index for structure (temp 2-component vector of float)
|
||||
0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:20 Constant:
|
||||
0:20 0 (const int)
|
||||
0:20 move second child to first child (temp 2-component vector of int)
|
||||
0:? 'i' (layout(location=5 ) out 2-component vector of int)
|
||||
0:20 i: direct index for structure (temp 2-component vector of int)
|
||||
0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:20 Constant:
|
||||
0:20 1 (const int)
|
||||
0:22 Sequence
|
||||
0:22 move second child to first child (temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:22 'out1' (layout(location=1 ) out 4-component vector of float)
|
||||
0:22 Branch: Return
|
||||
0:20 Function Call: fun(struct-OutParam-vf2-vi21; (temp void)
|
||||
0:20 'out3' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:22 Branch: Return with expression
|
||||
0:22 'out1' (out 4-component vector of float)
|
||||
0:13 Function Definition: PixelShaderFunction( (temp void)
|
||||
0:13 Function Parameters:
|
||||
0:? Sequence
|
||||
0:13 move second child to first child (temp 4-component vector of float)
|
||||
0:? 'input' (temp 4-component vector of float)
|
||||
0:? 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:13 move second child to first child (temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:13 Function Call: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; (temp 4-component vector of float)
|
||||
0:? 'input' (temp 4-component vector of float)
|
||||
0:? 'out1' (temp 4-component vector of float)
|
||||
0:? 'out2' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:? 'out3' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:13 move second child to first child (temp 4-component vector of float)
|
||||
0:? 'out1' (layout(location=1 ) out 4-component vector of float)
|
||||
0:? 'out1' (temp 4-component vector of float)
|
||||
0:13 Sequence
|
||||
0:13 move second child to first child (temp 2-component vector of float)
|
||||
0:? 'v' (layout(location=2 ) out 2-component vector of float)
|
||||
0:13 v: direct index for structure (temp 2-component vector of float)
|
||||
0:? 'out2' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:13 Constant:
|
||||
0:13 0 (const int)
|
||||
0:13 move second child to first child (temp 2-component vector of int)
|
||||
0:? 'i' (layout(location=3 ) out 2-component vector of int)
|
||||
0:13 i: direct index for structure (temp 2-component vector of int)
|
||||
0:? 'out2' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:13 Constant:
|
||||
0:13 1 (const int)
|
||||
0:13 Sequence
|
||||
0:13 move second child to first child (temp 2-component vector of float)
|
||||
0:? 'v' (layout(location=4 ) out 2-component vector of float)
|
||||
0:13 v: direct index for structure (temp 2-component vector of float)
|
||||
0:? 'out3' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:13 Constant:
|
||||
0:13 0 (const int)
|
||||
0:13 move second child to first child (temp 2-component vector of int)
|
||||
0:? 'i' (layout(location=5 ) out 2-component vector of int)
|
||||
0:13 i: direct index for structure (temp 2-component vector of int)
|
||||
0:? 'out3' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:13 Constant:
|
||||
0:13 1 (const int)
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
@@ -183,12 +245,12 @@ gl_FragCoord origin is upper left
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 60
|
||||
// Id's are bound by 89
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "PixelShaderFunction" 28 30 33 37 51 54 57
|
||||
EntryPoint Fragment 4 "PixelShaderFunction" 57 60 73 76 80 83 86
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Name 4 "PixelShaderFunction"
|
||||
Name 10 "OutParam"
|
||||
@@ -196,23 +258,35 @@ gl_FragCoord origin is upper left
|
||||
MemberName 10(OutParam) 1 "i"
|
||||
Name 14 "fun(struct-OutParam-vf2-vi21;"
|
||||
Name 13 "op"
|
||||
Name 28 "out1"
|
||||
Name 30 "input"
|
||||
Name 33 "v"
|
||||
Name 37 "i"
|
||||
Name 40 "local"
|
||||
Name 47 "tempArg"
|
||||
Name 48 "param"
|
||||
Name 51 "v"
|
||||
Name 54 "i"
|
||||
Name 57 "@entryPointOutput"
|
||||
Decorate 28(out1) Location 1
|
||||
Decorate 30(input) Location 0
|
||||
Decorate 33(v) Location 2
|
||||
Decorate 37(i) Location 3
|
||||
Decorate 51(v) Location 4
|
||||
Decorate 54(i) Location 5
|
||||
Decorate 57(@entryPointOutput) Location 0
|
||||
Name 23 "@PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21;"
|
||||
Name 19 "input"
|
||||
Name 20 "out1"
|
||||
Name 21 "out2"
|
||||
Name 22 "out3"
|
||||
Name 42 "local"
|
||||
Name 49 "param"
|
||||
Name 55 "input"
|
||||
Name 57 "input"
|
||||
Name 60 "@entryPointOutput"
|
||||
Name 61 "out1"
|
||||
Name 62 "out2"
|
||||
Name 63 "out3"
|
||||
Name 64 "param"
|
||||
Name 66 "param"
|
||||
Name 67 "param"
|
||||
Name 68 "param"
|
||||
Name 73 "out1"
|
||||
Name 76 "v"
|
||||
Name 80 "i"
|
||||
Name 83 "v"
|
||||
Name 86 "i"
|
||||
Decorate 57(input) Location 0
|
||||
Decorate 60(@entryPointOutput) Location 0
|
||||
Decorate 73(out1) Location 1
|
||||
Decorate 76(v) Location 2
|
||||
Decorate 80(i) Location 3
|
||||
Decorate 83(v) Location 4
|
||||
Decorate 86(i) Location 5
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
@@ -222,66 +296,104 @@ gl_FragCoord origin is upper left
|
||||
10(OutParam): TypeStruct 7(fvec2) 9(ivec2)
|
||||
11: TypePointer Function 10(OutParam)
|
||||
12: TypeFunction 2 11(ptr)
|
||||
16: 8(int) Constant 0
|
||||
17: 6(float) Constant 1053609165
|
||||
18: 7(fvec2) ConstantComposite 17 17
|
||||
19: TypePointer Function 7(fvec2)
|
||||
21: 8(int) Constant 1
|
||||
22: 8(int) Constant 7
|
||||
23: 9(ivec2) ConstantComposite 22 22
|
||||
24: TypePointer Function 9(ivec2)
|
||||
26: TypeVector 6(float) 4
|
||||
27: TypePointer Output 26(fvec4)
|
||||
28(out1): 27(ptr) Variable Output
|
||||
29: TypePointer Input 26(fvec4)
|
||||
30(input): 29(ptr) Variable Input
|
||||
32: TypePointer Output 7(fvec2)
|
||||
33(v): 32(ptr) Variable Output
|
||||
34: 6(float) Constant 1073741824
|
||||
35: 7(fvec2) ConstantComposite 34 34
|
||||
36: TypePointer Output 9(ivec2)
|
||||
37(i): 36(ptr) Variable Output
|
||||
38: 8(int) Constant 3
|
||||
39: 9(ivec2) ConstantComposite 38 38
|
||||
41: 6(float) Constant 1094713344
|
||||
42: 7(fvec2) ConstantComposite 41 41
|
||||
44: 8(int) Constant 13
|
||||
45: 9(ivec2) ConstantComposite 44 44
|
||||
51(v): 32(ptr) Variable Output
|
||||
54(i): 36(ptr) Variable Output
|
||||
57(@entryPointOutput): 27(ptr) Variable Output
|
||||
16: TypeVector 6(float) 4
|
||||
17: TypePointer Function 16(fvec4)
|
||||
18: TypeFunction 16(fvec4) 17(ptr) 17(ptr) 11(ptr) 11(ptr)
|
||||
25: 8(int) Constant 0
|
||||
26: 6(float) Constant 1053609165
|
||||
27: 7(fvec2) ConstantComposite 26 26
|
||||
28: TypePointer Function 7(fvec2)
|
||||
30: 8(int) Constant 1
|
||||
31: 8(int) Constant 7
|
||||
32: 9(ivec2) ConstantComposite 31 31
|
||||
33: TypePointer Function 9(ivec2)
|
||||
36: 6(float) Constant 1073741824
|
||||
37: 7(fvec2) ConstantComposite 36 36
|
||||
39: 8(int) Constant 3
|
||||
40: 9(ivec2) ConstantComposite 39 39
|
||||
43: 6(float) Constant 1094713344
|
||||
44: 7(fvec2) ConstantComposite 43 43
|
||||
46: 8(int) Constant 13
|
||||
47: 9(ivec2) ConstantComposite 46 46
|
||||
56: TypePointer Input 16(fvec4)
|
||||
57(input): 56(ptr) Variable Input
|
||||
59: TypePointer Output 16(fvec4)
|
||||
60(@entryPointOutput): 59(ptr) Variable Output
|
||||
73(out1): 59(ptr) Variable Output
|
||||
75: TypePointer Output 7(fvec2)
|
||||
76(v): 75(ptr) Variable Output
|
||||
79: TypePointer Output 9(ivec2)
|
||||
80(i): 79(ptr) Variable Output
|
||||
83(v): 75(ptr) Variable Output
|
||||
86(i): 79(ptr) Variable Output
|
||||
4(PixelShaderFunction): 2 Function None 3
|
||||
5: Label
|
||||
40(local): 11(ptr) Variable Function
|
||||
47(tempArg): 11(ptr) Variable Function
|
||||
48(param): 11(ptr) Variable Function
|
||||
31: 26(fvec4) Load 30(input)
|
||||
Store 28(out1) 31
|
||||
Store 33(v) 35
|
||||
Store 37(i) 39
|
||||
43: 19(ptr) AccessChain 40(local) 16
|
||||
Store 43 42
|
||||
46: 24(ptr) AccessChain 40(local) 21
|
||||
Store 46 45
|
||||
49: 2 FunctionCall 14(fun(struct-OutParam-vf2-vi21;) 48(param)
|
||||
50:10(OutParam) Load 48(param)
|
||||
Store 47(tempArg) 50
|
||||
52: 19(ptr) AccessChain 47(tempArg) 16
|
||||
53: 7(fvec2) Load 52
|
||||
Store 51(v) 53
|
||||
55: 24(ptr) AccessChain 47(tempArg) 21
|
||||
56: 9(ivec2) Load 55
|
||||
Store 54(i) 56
|
||||
58: 26(fvec4) Load 28(out1)
|
||||
Store 57(@entryPointOutput) 58
|
||||
55(input): 17(ptr) Variable Function
|
||||
61(out1): 17(ptr) Variable Function
|
||||
62(out2): 11(ptr) Variable Function
|
||||
63(out3): 11(ptr) Variable Function
|
||||
64(param): 17(ptr) Variable Function
|
||||
66(param): 17(ptr) Variable Function
|
||||
67(param): 11(ptr) Variable Function
|
||||
68(param): 11(ptr) Variable Function
|
||||
58: 16(fvec4) Load 57(input)
|
||||
Store 55(input) 58
|
||||
65: 16(fvec4) Load 55(input)
|
||||
Store 64(param) 65
|
||||
69: 16(fvec4) FunctionCall 23(@PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21;) 64(param) 66(param) 67(param) 68(param)
|
||||
70: 16(fvec4) Load 66(param)
|
||||
Store 61(out1) 70
|
||||
71:10(OutParam) Load 67(param)
|
||||
Store 62(out2) 71
|
||||
72:10(OutParam) Load 68(param)
|
||||
Store 63(out3) 72
|
||||
Store 60(@entryPointOutput) 69
|
||||
74: 16(fvec4) Load 61(out1)
|
||||
Store 73(out1) 74
|
||||
77: 28(ptr) AccessChain 62(out2) 25
|
||||
78: 7(fvec2) Load 77
|
||||
Store 76(v) 78
|
||||
81: 33(ptr) AccessChain 62(out2) 30
|
||||
82: 9(ivec2) Load 81
|
||||
Store 80(i) 82
|
||||
84: 28(ptr) AccessChain 63(out3) 25
|
||||
85: 7(fvec2) Load 84
|
||||
Store 83(v) 85
|
||||
87: 33(ptr) AccessChain 63(out3) 30
|
||||
88: 9(ivec2) Load 87
|
||||
Store 86(i) 88
|
||||
Return
|
||||
FunctionEnd
|
||||
14(fun(struct-OutParam-vf2-vi21;): 2 Function None 12
|
||||
13(op): 11(ptr) FunctionParameter
|
||||
15: Label
|
||||
20: 19(ptr) AccessChain 13(op) 16
|
||||
Store 20 18
|
||||
25: 24(ptr) AccessChain 13(op) 21
|
||||
Store 25 23
|
||||
29: 28(ptr) AccessChain 13(op) 25
|
||||
Store 29 27
|
||||
34: 33(ptr) AccessChain 13(op) 30
|
||||
Store 34 32
|
||||
Return
|
||||
FunctionEnd
|
||||
23(@PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21;): 16(fvec4) Function None 18
|
||||
19(input): 17(ptr) FunctionParameter
|
||||
20(out1): 17(ptr) FunctionParameter
|
||||
21(out2): 11(ptr) FunctionParameter
|
||||
22(out3): 11(ptr) FunctionParameter
|
||||
24: Label
|
||||
42(local): 11(ptr) Variable Function
|
||||
49(param): 11(ptr) Variable Function
|
||||
35: 16(fvec4) Load 19(input)
|
||||
Store 20(out1) 35
|
||||
38: 28(ptr) AccessChain 21(out2) 25
|
||||
Store 38 37
|
||||
41: 33(ptr) AccessChain 21(out2) 30
|
||||
Store 41 40
|
||||
45: 28(ptr) AccessChain 42(local) 25
|
||||
Store 45 44
|
||||
48: 33(ptr) AccessChain 42(local) 30
|
||||
Store 48 47
|
||||
50: 2 FunctionCall 14(fun(struct-OutParam-vf2-vi21;) 49(param)
|
||||
51:10(OutParam) Load 49(param)
|
||||
Store 22(out3) 51
|
||||
52: 16(fvec4) Load 20(out1)
|
||||
ReturnValue 52
|
||||
FunctionEnd
|
||||
|
||||
Reference in New Issue
Block a user