glslang/Test/baseResults/hlsl.entry-in.frag.out
John Kessenich 02467d8d94 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
2017-02-06 22:58:32 -07:00

314 lines
18 KiB
Plaintext
Executable File

hlsl.entry-in.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:8 Function Definition: fun(struct-InParam-vf2-vf4-vi21; (temp float)
0:8 Function Parameters:
0:8 'p' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:? Sequence
0:9 Branch: Return with expression
0:9 add (temp float)
0:9 direct index (temp float)
0:9 v: direct index for structure (temp 2-component vector of float)
0:9 'p' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:9 Constant:
0:9 0 (const int)
0:9 Constant:
0:9 1 (const int)
0:9 direct index (temp float)
0:9 fragCoord: direct index for structure (temp 4-component vector of float FragCoord)
0:9 'p' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:9 Constant:
0:9 1 (const int)
0:9 Constant:
0:9 0 (const int)
0:13 Function Definition: @PixelShaderFunction(struct-InParam-vf2-vf4-vi21; (temp 4-component vector of float)
0:13 Function Parameters:
0:13 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:? Sequence
0:15 move second child to first child (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:15 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:15 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:16 Sequence
0:16 move second child to first child (temp float)
0:16 'ret1' (temp float)
0:16 Function Call: fun(struct-InParam-vf2-vf4-vi21; (temp float)
0:16 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:17 Sequence
0:17 move second child to first child (temp float)
0:17 'ret2' (temp float)
0:17 Function Call: fun(struct-InParam-vf2-vf4-vi21; (temp float)
0:17 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:19 Branch: Return with expression
0:19 vector-scale (temp 4-component vector of float)
0:19 vector-scale (temp 4-component vector of float)
0:19 fragCoord: direct index for structure (temp 4-component vector of float)
0:19 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:19 Constant:
0:19 1 (const int)
0:19 'ret1' (temp float)
0:19 'ret2' (temp float)
0:13 Function Definition: PixelShaderFunction( (temp void)
0:13 Function Parameters:
0:? Sequence
0:13 Sequence
0:13 move second child to first child (temp 2-component vector of float)
0:13 v: direct index for structure (temp 2-component vector of float)
0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:13 Constant:
0:13 0 (const int)
0:13 v: direct index for structure (temp 2-component vector of float)
0:13 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2})
0:13 Constant:
0:13 0 (const int)
0:13 move second child to first child (temp 4-component vector of float)
0:13 fragCoord: direct index for structure (temp 4-component vector of float FragCoord)
0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:13 Constant:
0:13 1 (const int)
0:? 'i_fragCoord' (in 4-component vector of float FragCoord)
0:13 move second child to first child (temp 2-component vector of int)
0:13 i2: direct index for structure (temp 2-component vector of int)
0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:13 Constant:
0:13 2 (const int)
0:13 i2: direct index for structure (temp 2-component vector of int)
0:13 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2})
0:13 Constant:
0:13 1 (const int)
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(struct-InParam-vf2-vf4-vi21; (temp 4-component vector of float)
0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2})
0:? 'i_fragCoord' (in 4-component vector of float FragCoord)
Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:8 Function Definition: fun(struct-InParam-vf2-vf4-vi21; (temp float)
0:8 Function Parameters:
0:8 'p' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:? Sequence
0:9 Branch: Return with expression
0:9 add (temp float)
0:9 direct index (temp float)
0:9 v: direct index for structure (temp 2-component vector of float)
0:9 'p' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:9 Constant:
0:9 0 (const int)
0:9 Constant:
0:9 1 (const int)
0:9 direct index (temp float)
0:9 fragCoord: direct index for structure (temp 4-component vector of float FragCoord)
0:9 'p' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:9 Constant:
0:9 1 (const int)
0:9 Constant:
0:9 0 (const int)
0:13 Function Definition: @PixelShaderFunction(struct-InParam-vf2-vf4-vi21; (temp 4-component vector of float)
0:13 Function Parameters:
0:13 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:? Sequence
0:15 move second child to first child (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:15 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:15 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:16 Sequence
0:16 move second child to first child (temp float)
0:16 'ret1' (temp float)
0:16 Function Call: fun(struct-InParam-vf2-vf4-vi21; (temp float)
0:16 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:17 Sequence
0:17 move second child to first child (temp float)
0:17 'ret2' (temp float)
0:17 Function Call: fun(struct-InParam-vf2-vf4-vi21; (temp float)
0:17 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:19 Branch: Return with expression
0:19 vector-scale (temp 4-component vector of float)
0:19 vector-scale (temp 4-component vector of float)
0:19 fragCoord: direct index for structure (temp 4-component vector of float)
0:19 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:19 Constant:
0:19 1 (const int)
0:19 'ret1' (temp float)
0:19 'ret2' (temp float)
0:13 Function Definition: PixelShaderFunction( (temp void)
0:13 Function Parameters:
0:? Sequence
0:13 Sequence
0:13 move second child to first child (temp 2-component vector of float)
0:13 v: direct index for structure (temp 2-component vector of float)
0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:13 Constant:
0:13 0 (const int)
0:13 v: direct index for structure (temp 2-component vector of float)
0:13 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2})
0:13 Constant:
0:13 0 (const int)
0:13 move second child to first child (temp 4-component vector of float)
0:13 fragCoord: direct index for structure (temp 4-component vector of float FragCoord)
0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:13 Constant:
0:13 1 (const int)
0:? 'i_fragCoord' (in 4-component vector of float FragCoord)
0:13 move second child to first child (temp 2-component vector of int)
0:13 i2: direct index for structure (temp 2-component vector of int)
0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:13 Constant:
0:13 2 (const int)
0:13 i2: direct index for structure (temp 2-component vector of int)
0:13 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2})
0:13 Constant:
0:13 1 (const int)
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(struct-InParam-vf2-vf4-vi21; (temp 4-component vector of float)
0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2})
0:? 'i_fragCoord' (in 4-component vector of float FragCoord)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 85
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 67 73 81
ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction"
Name 11 "InParam"
MemberName 11(InParam) 0 "v"
MemberName 11(InParam) 1 "fragCoord"
MemberName 11(InParam) 2 "i2"
Name 15 "fun(struct-InParam-vf2-vf4-vi21;"
Name 14 "p"
Name 19 "@PixelShaderFunction(struct-InParam-vf2-vf4-vi21;"
Name 18 "i"
Name 34 "InParam"
MemberName 34(InParam) 0 "v"
MemberName 34(InParam) 1 "fragCoord"
MemberName 34(InParam) 2 "i2"
Name 36 "local"
Name 48 "ret1"
Name 49 "param"
Name 52 "ret2"
Name 53 "param"
Name 64 "i"
Name 65 "InParam"
MemberName 65(InParam) 0 "v"
MemberName 65(InParam) 1 "i2"
Name 67 "i"
Name 73 "i_fragCoord"
Name 81 "@entryPointOutput"
Name 82 "param"
MemberDecorate 11(InParam) 1 BuiltIn FragCoord
Decorate 67(i) Location 0
Decorate 73(i_fragCoord) BuiltIn FragCoord
Decorate 81(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 2
8: TypeVector 6(float) 4
9: TypeInt 32 1
10: TypeVector 9(int) 2
11(InParam): TypeStruct 7(fvec2) 8(fvec4) 10(ivec2)
12: TypePointer Function 11(InParam)
13: TypeFunction 6(float) 12(ptr)
17: TypeFunction 8(fvec4) 12(ptr)
21: 9(int) Constant 0
22: TypeInt 32 0
23: 22(int) Constant 1
24: TypePointer Function 6(float)
27: 9(int) Constant 1
28: 22(int) Constant 0
34(InParam): TypeStruct 7(fvec2) 8(fvec4) 10(ivec2)
35: TypePointer Function 34(InParam)
39: TypePointer Function 7(fvec2)
42: TypePointer Function 8(fvec4)
45: 9(int) Constant 2
46: TypePointer Function 10(ivec2)
65(InParam): TypeStruct 7(fvec2) 10(ivec2)
66: TypePointer Input 65(InParam)
67(i): 66(ptr) Variable Input
68: TypePointer Input 7(fvec2)
72: TypePointer Input 8(fvec4)
73(i_fragCoord): 72(ptr) Variable Input
76: TypePointer Input 10(ivec2)
80: TypePointer Output 8(fvec4)
81(@entryPointOutput): 80(ptr) Variable Output
4(PixelShaderFunction): 2 Function None 3
5: Label
64(i): 12(ptr) Variable Function
82(param): 12(ptr) Variable Function
69: 68(ptr) AccessChain 67(i) 21
70: 7(fvec2) Load 69
71: 39(ptr) AccessChain 64(i) 21
Store 71 70
74: 8(fvec4) Load 73(i_fragCoord)
75: 42(ptr) AccessChain 64(i) 27
Store 75 74
77: 76(ptr) AccessChain 67(i) 27
78: 10(ivec2) Load 77
79: 46(ptr) AccessChain 64(i) 45
Store 79 78
83: 11(InParam) Load 64(i)
Store 82(param) 83
84: 8(fvec4) FunctionCall 19(@PixelShaderFunction(struct-InParam-vf2-vf4-vi21;) 82(param)
Store 81(@entryPointOutput) 84
Return
FunctionEnd
15(fun(struct-InParam-vf2-vf4-vi21;): 6(float) Function None 13
14(p): 12(ptr) FunctionParameter
16: Label
25: 24(ptr) AccessChain 14(p) 21 23
26: 6(float) Load 25
29: 24(ptr) AccessChain 14(p) 27 28
30: 6(float) Load 29
31: 6(float) FAdd 26 30
ReturnValue 31
FunctionEnd
19(@PixelShaderFunction(struct-InParam-vf2-vf4-vi21;): 8(fvec4) Function None 17
18(i): 12(ptr) FunctionParameter
20: Label
36(local): 35(ptr) Variable Function
48(ret1): 24(ptr) Variable Function
49(param): 35(ptr) Variable Function
52(ret2): 24(ptr) Variable Function
53(param): 12(ptr) Variable Function
37: 11(InParam) Load 18(i)
38: 7(fvec2) CompositeExtract 37 0
40: 39(ptr) AccessChain 36(local) 21
Store 40 38
41: 8(fvec4) CompositeExtract 37 1
43: 42(ptr) AccessChain 36(local) 27
Store 43 41
44: 10(ivec2) CompositeExtract 37 2
47: 46(ptr) AccessChain 36(local) 45
Store 47 44
50: 34(InParam) Load 36(local)
Store 49(param) 50
51: 6(float) FunctionCall 15(fun(struct-InParam-vf2-vf4-vi21;) 49(param)
Store 48(ret1) 51
54: 11(InParam) Load 18(i)
Store 53(param) 54
55: 6(float) FunctionCall 15(fun(struct-InParam-vf2-vf4-vi21;) 53(param)
Store 52(ret2) 55
56: 42(ptr) AccessChain 36(local) 27
57: 8(fvec4) Load 56
58: 6(float) Load 48(ret1)
59: 8(fvec4) VectorTimesScalar 57 58
60: 6(float) Load 52(ret2)
61: 8(fvec4) VectorTimesScalar 59 60
ReturnValue 61
FunctionEnd