mirror of
https://github.com/RPCS3/glslang.git
synced 2024-12-03 16:41:30 +00:00
02467d8d94
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
214 lines
8.6 KiB
Plaintext
214 lines
8.6 KiB
Plaintext
hlsl.intrinsics.lit.frag
|
|
Shader version: 450
|
|
gl_FragCoord origin is upper left
|
|
0:? Sequence
|
|
0:2 Function Definition: @PixelShaderFunction(f1;f1;f1; (temp void)
|
|
0:2 Function Parameters:
|
|
0:2 'n_dot_l' (in float)
|
|
0:2 'n_dot_h' (in float)
|
|
0:2 'm' (in float)
|
|
0:? Sequence
|
|
0:3 Sequence
|
|
0:3 move second child to first child (temp 4-component vector of float)
|
|
0:3 'r0' (temp 4-component vector of float)
|
|
0:3 Construct vec4 (temp 4-component vector of float)
|
|
0:3 Constant:
|
|
0:3 1.000000
|
|
0:3 max (temp float)
|
|
0:3 'n_dot_l' (in float)
|
|
0:3 Constant:
|
|
0:3 0.000000
|
|
0:3 Test condition and select (temp float)
|
|
0:3 Condition
|
|
0:3 Compare Less Than (temp bool)
|
|
0:3 min (temp float)
|
|
0:3 'n_dot_l' (in float)
|
|
0:3 'n_dot_h' (in float)
|
|
0:3 Constant:
|
|
0:3 0.000000
|
|
0:3 true case
|
|
0:3 Constant:
|
|
0:3 0.000000
|
|
0:3 false case
|
|
0:3 component-wise multiply (temp float)
|
|
0:3 'n_dot_h' (in float)
|
|
0:3 'm' (in float)
|
|
0:3 Constant:
|
|
0:3 1.000000
|
|
0:2 Function Definition: PixelShaderFunction( (temp void)
|
|
0:2 Function Parameters:
|
|
0:? Sequence
|
|
0:2 move second child to first child (temp float)
|
|
0:? 'n_dot_l' (temp float)
|
|
0:? 'n_dot_l' (layout(location=0 ) in float)
|
|
0:2 move second child to first child (temp float)
|
|
0:? 'n_dot_h' (temp float)
|
|
0:? 'n_dot_h' (layout(location=1 ) in float)
|
|
0:2 move second child to first child (temp float)
|
|
0:? 'm' (temp float)
|
|
0:? 'm' (layout(location=2 ) in float)
|
|
0:2 Function Call: @PixelShaderFunction(f1;f1;f1; (temp void)
|
|
0:? 'n_dot_l' (temp float)
|
|
0:? 'n_dot_h' (temp float)
|
|
0:? 'm' (temp float)
|
|
0:? Linker Objects
|
|
0:? 'n_dot_l' (layout(location=0 ) in float)
|
|
0:? 'n_dot_h' (layout(location=1 ) in float)
|
|
0:? 'm' (layout(location=2 ) in float)
|
|
|
|
|
|
Linked fragment stage:
|
|
|
|
|
|
Shader version: 450
|
|
gl_FragCoord origin is upper left
|
|
0:? Sequence
|
|
0:2 Function Definition: @PixelShaderFunction(f1;f1;f1; (temp void)
|
|
0:2 Function Parameters:
|
|
0:2 'n_dot_l' (in float)
|
|
0:2 'n_dot_h' (in float)
|
|
0:2 'm' (in float)
|
|
0:? Sequence
|
|
0:3 Sequence
|
|
0:3 move second child to first child (temp 4-component vector of float)
|
|
0:3 'r0' (temp 4-component vector of float)
|
|
0:3 Construct vec4 (temp 4-component vector of float)
|
|
0:3 Constant:
|
|
0:3 1.000000
|
|
0:3 max (temp float)
|
|
0:3 'n_dot_l' (in float)
|
|
0:3 Constant:
|
|
0:3 0.000000
|
|
0:3 Test condition and select (temp float)
|
|
0:3 Condition
|
|
0:3 Compare Less Than (temp bool)
|
|
0:3 min (temp float)
|
|
0:3 'n_dot_l' (in float)
|
|
0:3 'n_dot_h' (in float)
|
|
0:3 Constant:
|
|
0:3 0.000000
|
|
0:3 true case
|
|
0:3 Constant:
|
|
0:3 0.000000
|
|
0:3 false case
|
|
0:3 component-wise multiply (temp float)
|
|
0:3 'n_dot_h' (in float)
|
|
0:3 'm' (in float)
|
|
0:3 Constant:
|
|
0:3 1.000000
|
|
0:2 Function Definition: PixelShaderFunction( (temp void)
|
|
0:2 Function Parameters:
|
|
0:? Sequence
|
|
0:2 move second child to first child (temp float)
|
|
0:? 'n_dot_l' (temp float)
|
|
0:? 'n_dot_l' (layout(location=0 ) in float)
|
|
0:2 move second child to first child (temp float)
|
|
0:? 'n_dot_h' (temp float)
|
|
0:? 'n_dot_h' (layout(location=1 ) in float)
|
|
0:2 move second child to first child (temp float)
|
|
0:? 'm' (temp float)
|
|
0:? 'm' (layout(location=2 ) in float)
|
|
0:2 Function Call: @PixelShaderFunction(f1;f1;f1; (temp void)
|
|
0:? 'n_dot_l' (temp float)
|
|
0:? 'n_dot_h' (temp float)
|
|
0:? 'm' (temp float)
|
|
0:? Linker Objects
|
|
0:? 'n_dot_l' (layout(location=0 ) in float)
|
|
0:? 'n_dot_h' (layout(location=1 ) in float)
|
|
0:? 'm' (layout(location=2 ) in float)
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80001
|
|
// Id's are bound by 52
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "PixelShaderFunction" 37 40 43
|
|
ExecutionMode 4 OriginUpperLeft
|
|
Name 4 "PixelShaderFunction"
|
|
Name 12 "@PixelShaderFunction(f1;f1;f1;"
|
|
Name 9 "n_dot_l"
|
|
Name 10 "n_dot_h"
|
|
Name 11 "m"
|
|
Name 16 "r0"
|
|
Name 35 "n_dot_l"
|
|
Name 37 "n_dot_l"
|
|
Name 39 "n_dot_h"
|
|
Name 40 "n_dot_h"
|
|
Name 42 "m"
|
|
Name 43 "m"
|
|
Name 45 "param"
|
|
Name 47 "param"
|
|
Name 49 "param"
|
|
Decorate 37(n_dot_l) Location 0
|
|
Decorate 40(n_dot_h) Location 1
|
|
Decorate 43(m) Location 2
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
7: TypePointer Function 6(float)
|
|
8: TypeFunction 2 7(ptr) 7(ptr) 7(ptr)
|
|
14: TypeVector 6(float) 4
|
|
15: TypePointer Function 14(fvec4)
|
|
17: 6(float) Constant 1065353216
|
|
19: 6(float) Constant 0
|
|
25: TypeBool
|
|
36: TypePointer Input 6(float)
|
|
37(n_dot_l): 36(ptr) Variable Input
|
|
40(n_dot_h): 36(ptr) Variable Input
|
|
43(m): 36(ptr) Variable Input
|
|
4(PixelShaderFunction): 2 Function None 3
|
|
5: Label
|
|
35(n_dot_l): 7(ptr) Variable Function
|
|
39(n_dot_h): 7(ptr) Variable Function
|
|
42(m): 7(ptr) Variable Function
|
|
45(param): 7(ptr) Variable Function
|
|
47(param): 7(ptr) Variable Function
|
|
49(param): 7(ptr) Variable Function
|
|
38: 6(float) Load 37(n_dot_l)
|
|
Store 35(n_dot_l) 38
|
|
41: 6(float) Load 40(n_dot_h)
|
|
Store 39(n_dot_h) 41
|
|
44: 6(float) Load 43(m)
|
|
Store 42(m) 44
|
|
46: 6(float) Load 35(n_dot_l)
|
|
Store 45(param) 46
|
|
48: 6(float) Load 39(n_dot_h)
|
|
Store 47(param) 48
|
|
50: 6(float) Load 42(m)
|
|
Store 49(param) 50
|
|
51: 2 FunctionCall 12(@PixelShaderFunction(f1;f1;f1;) 45(param) 47(param) 49(param)
|
|
Return
|
|
FunctionEnd
|
|
12(@PixelShaderFunction(f1;f1;f1;): 2 Function None 8
|
|
9(n_dot_l): 7(ptr) FunctionParameter
|
|
10(n_dot_h): 7(ptr) FunctionParameter
|
|
11(m): 7(ptr) FunctionParameter
|
|
13: Label
|
|
16(r0): 15(ptr) Variable Function
|
|
21: 7(ptr) Variable Function
|
|
18: 6(float) Load 9(n_dot_l)
|
|
20: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 18 19
|
|
22: 6(float) Load 9(n_dot_l)
|
|
23: 6(float) Load 10(n_dot_h)
|
|
24: 6(float) ExtInst 1(GLSL.std.450) 37(FMin) 22 23
|
|
26: 25(bool) FOrdLessThan 24 19
|
|
SelectionMerge 28 None
|
|
BranchConditional 26 27 29
|
|
27: Label
|
|
Store 21 19
|
|
Branch 28
|
|
29: Label
|
|
30: 6(float) Load 10(n_dot_h)
|
|
31: 6(float) Load 11(m)
|
|
32: 6(float) FMul 30 31
|
|
Store 21 32
|
|
Branch 28
|
|
28: Label
|
|
33: 6(float) Load 21
|
|
34: 14(fvec4) CompositeConstruct 17 20 33 17
|
|
Store 16(r0) 34
|
|
Return
|
|
FunctionEnd
|