
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
175 lines
6.9 KiB
Plaintext
175 lines
6.9 KiB
Plaintext
hlsl.type.half.frag
|
|
Shader version: 450
|
|
gl_FragCoord origin is upper left
|
|
0:? Sequence
|
|
0:3 Function Definition: @main( (temp 4-component vector of float)
|
|
0:3 Function Parameters:
|
|
0:? Sequence
|
|
0:4 Sequence
|
|
0:4 move second child to first child (temp mediump float)
|
|
0:4 'h0' (temp mediump float)
|
|
0:4 Constant:
|
|
0:4 0.000000
|
|
0:5 Sequence
|
|
0:5 move second child to first child (temp mediump 1-component vector of float)
|
|
0:5 'h1' (temp mediump 1-component vector of float)
|
|
0:5 Constant:
|
|
0:5 1.000000
|
|
0:6 Sequence
|
|
0:6 move second child to first child (temp mediump 2-component vector of float)
|
|
0:6 'h2' (temp mediump 2-component vector of float)
|
|
0:6 Constant:
|
|
0:6 2.000000
|
|
0:6 2.000000
|
|
0:7 Sequence
|
|
0:7 move second child to first child (temp mediump 3-component vector of float)
|
|
0:7 'h3' (temp mediump 3-component vector of float)
|
|
0:7 Constant:
|
|
0:7 3.000000
|
|
0:7 3.000000
|
|
0:7 3.000000
|
|
0:8 Sequence
|
|
0:8 move second child to first child (temp mediump 4-component vector of float)
|
|
0:8 'h4' (temp mediump 4-component vector of float)
|
|
0:8 Constant:
|
|
0:8 4.000000
|
|
0:8 4.000000
|
|
0:8 4.000000
|
|
0:8 4.000000
|
|
0:10 Branch: Return with expression
|
|
0:10 Constant:
|
|
0:10 0.000000
|
|
0:10 0.000000
|
|
0:10 0.000000
|
|
0:10 0.000000
|
|
0:3 Function Definition: main( (temp void)
|
|
0:3 Function Parameters:
|
|
0:? Sequence
|
|
0:3 move second child to first child (temp 4-component vector of float)
|
|
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
|
0:3 Function Call: @main( (temp 4-component vector of float)
|
|
0:? Linker Objects
|
|
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
|
|
|
|
|
Linked fragment stage:
|
|
|
|
|
|
Shader version: 450
|
|
gl_FragCoord origin is upper left
|
|
0:? Sequence
|
|
0:3 Function Definition: @main( (temp 4-component vector of float)
|
|
0:3 Function Parameters:
|
|
0:? Sequence
|
|
0:4 Sequence
|
|
0:4 move second child to first child (temp mediump float)
|
|
0:4 'h0' (temp mediump float)
|
|
0:4 Constant:
|
|
0:4 0.000000
|
|
0:5 Sequence
|
|
0:5 move second child to first child (temp mediump 1-component vector of float)
|
|
0:5 'h1' (temp mediump 1-component vector of float)
|
|
0:5 Constant:
|
|
0:5 1.000000
|
|
0:6 Sequence
|
|
0:6 move second child to first child (temp mediump 2-component vector of float)
|
|
0:6 'h2' (temp mediump 2-component vector of float)
|
|
0:6 Constant:
|
|
0:6 2.000000
|
|
0:6 2.000000
|
|
0:7 Sequence
|
|
0:7 move second child to first child (temp mediump 3-component vector of float)
|
|
0:7 'h3' (temp mediump 3-component vector of float)
|
|
0:7 Constant:
|
|
0:7 3.000000
|
|
0:7 3.000000
|
|
0:7 3.000000
|
|
0:8 Sequence
|
|
0:8 move second child to first child (temp mediump 4-component vector of float)
|
|
0:8 'h4' (temp mediump 4-component vector of float)
|
|
0:8 Constant:
|
|
0:8 4.000000
|
|
0:8 4.000000
|
|
0:8 4.000000
|
|
0:8 4.000000
|
|
0:10 Branch: Return with expression
|
|
0:10 Constant:
|
|
0:10 0.000000
|
|
0:10 0.000000
|
|
0:10 0.000000
|
|
0:10 0.000000
|
|
0:3 Function Definition: main( (temp void)
|
|
0:3 Function Parameters:
|
|
0:? Sequence
|
|
0:3 move second child to first child (temp 4-component vector of float)
|
|
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
|
0:3 Function Call: @main( (temp 4-component vector of float)
|
|
0:? Linker Objects
|
|
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80001
|
|
// Id's are bound by 36
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 34
|
|
ExecutionMode 4 OriginUpperLeft
|
|
Name 4 "main"
|
|
Name 9 "@main("
|
|
Name 12 "h0"
|
|
Name 14 "h1"
|
|
Name 18 "h2"
|
|
Name 23 "h3"
|
|
Name 27 "h4"
|
|
Name 34 "@entryPointOutput"
|
|
Decorate 12(h0) RelaxedPrecision
|
|
Decorate 14(h1) RelaxedPrecision
|
|
Decorate 18(h2) RelaxedPrecision
|
|
Decorate 23(h3) RelaxedPrecision
|
|
Decorate 27(h4) RelaxedPrecision
|
|
Decorate 34(@entryPointOutput) Location 0
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
7: TypeVector 6(float) 4
|
|
8: TypeFunction 7(fvec4)
|
|
11: TypePointer Function 6(float)
|
|
13: 6(float) Constant 0
|
|
15: 6(float) Constant 1065353216
|
|
16: TypeVector 6(float) 2
|
|
17: TypePointer Function 16(fvec2)
|
|
19: 6(float) Constant 1073741824
|
|
20: 16(fvec2) ConstantComposite 19 19
|
|
21: TypeVector 6(float) 3
|
|
22: TypePointer Function 21(fvec3)
|
|
24: 6(float) Constant 1077936128
|
|
25: 21(fvec3) ConstantComposite 24 24 24
|
|
26: TypePointer Function 7(fvec4)
|
|
28: 6(float) Constant 1082130432
|
|
29: 7(fvec4) ConstantComposite 28 28 28 28
|
|
30: 7(fvec4) ConstantComposite 13 13 13 13
|
|
33: TypePointer Output 7(fvec4)
|
|
34(@entryPointOutput): 33(ptr) Variable Output
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
35: 7(fvec4) FunctionCall 9(@main()
|
|
Store 34(@entryPointOutput) 35
|
|
Return
|
|
FunctionEnd
|
|
9(@main(): 7(fvec4) Function None 8
|
|
10: Label
|
|
12(h0): 11(ptr) Variable Function
|
|
14(h1): 11(ptr) Variable Function
|
|
18(h2): 17(ptr) Variable Function
|
|
23(h3): 22(ptr) Variable Function
|
|
27(h4): 26(ptr) Variable Function
|
|
Store 12(h0) 13
|
|
Store 14(h1) 15
|
|
Store 18(h2) 20
|
|
Store 23(h3) 25
|
|
Store 27(h4) 29
|
|
ReturnValue 30
|
|
FunctionEnd
|