WIP: HLSL: add f16tof32 and f32tof16 decompositions.
This commit is contained in:
401
Test/baseResults/hlsl.intrinsics.f3216.frag.out
Normal file
401
Test/baseResults/hlsl.intrinsics.f3216.frag.out
Normal file
@@ -0,0 +1,401 @@
|
||||
hlsl.intrinsics.f3216.frag
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:2 Function Definition: PixelShaderFunctionS(f1; (temp uint)
|
||||
0:2 Function Parameters:
|
||||
0:2 'inF0' (in float)
|
||||
0:? Sequence
|
||||
0:3 Branch: Return with expression
|
||||
0:3 packHalf2x16 (temp uint)
|
||||
0:3 Construct vec2 (temp 2-component vector of float)
|
||||
0:3 'inF0' (in float)
|
||||
0:3 Constant:
|
||||
0:3 0.000000
|
||||
0:7 Function Definition: PixelShaderFunction1(vf1; (temp 1-component vector of uint)
|
||||
0:7 Function Parameters:
|
||||
0:7 'inF0' (in 1-component vector of float)
|
||||
0:? Sequence
|
||||
0:8 Branch: Return with expression
|
||||
0:8 Construct uint (temp 1-component vector of uint)
|
||||
0:8 packHalf2x16 (temp uint)
|
||||
0:8 Construct vec2 (temp 2-component vector of float)
|
||||
0:8 Construct float (in float)
|
||||
0:8 'inF0' (in 1-component vector of float)
|
||||
0:8 Constant:
|
||||
0:8 0.000000
|
||||
0:12 Function Definition: PixelShaderFunction2(vf2; (temp 2-component vector of uint)
|
||||
0:12 Function Parameters:
|
||||
0:12 'inF0' (in 2-component vector of float)
|
||||
0:? Sequence
|
||||
0:13 Branch: Return with expression
|
||||
0:13 Construct uvec2 (temp 2-component vector of uint)
|
||||
0:13 packHalf2x16 (temp uint)
|
||||
0:13 Construct vec2 (temp 2-component vector of float)
|
||||
0:13 direct index (temp float)
|
||||
0:13 'inF0' (in 2-component vector of float)
|
||||
0:13 Constant:
|
||||
0:13 0 (const int)
|
||||
0:13 Constant:
|
||||
0:13 0.000000
|
||||
0:13 packHalf2x16 (temp uint)
|
||||
0:13 Construct vec2 (temp 2-component vector of float)
|
||||
0:13 direct index (temp float)
|
||||
0:13 'inF0' (in 2-component vector of float)
|
||||
0:13 Constant:
|
||||
0:13 1 (const int)
|
||||
0:13 Constant:
|
||||
0:13 0.000000
|
||||
0:17 Function Definition: PixelShaderFunction3(vf3; (temp 3-component vector of uint)
|
||||
0:17 Function Parameters:
|
||||
0:17 'inF0' (in 3-component vector of float)
|
||||
0:? Sequence
|
||||
0:18 Branch: Return with expression
|
||||
0:18 Construct uvec3 (temp 3-component vector of uint)
|
||||
0:18 packHalf2x16 (temp uint)
|
||||
0:18 Construct vec2 (temp 2-component vector of float)
|
||||
0:18 direct index (temp float)
|
||||
0:18 'inF0' (in 3-component vector of float)
|
||||
0:18 Constant:
|
||||
0:18 0 (const int)
|
||||
0:18 Constant:
|
||||
0:18 0.000000
|
||||
0:18 packHalf2x16 (temp uint)
|
||||
0:18 Construct vec2 (temp 2-component vector of float)
|
||||
0:18 direct index (temp float)
|
||||
0:18 'inF0' (in 3-component vector of float)
|
||||
0:18 Constant:
|
||||
0:18 1 (const int)
|
||||
0:18 Constant:
|
||||
0:18 0.000000
|
||||
0:18 packHalf2x16 (temp uint)
|
||||
0:18 Construct vec2 (temp 2-component vector of float)
|
||||
0:18 direct index (temp float)
|
||||
0:18 'inF0' (in 3-component vector of float)
|
||||
0:18 Constant:
|
||||
0:18 2 (const int)
|
||||
0:18 Constant:
|
||||
0:18 0.000000
|
||||
0:22 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of uint)
|
||||
0:22 Function Parameters:
|
||||
0:22 'inF0' (in 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:23 Branch: Return with expression
|
||||
0:23 Construct uvec4 (temp 4-component vector of uint)
|
||||
0:23 packHalf2x16 (temp uint)
|
||||
0:23 Construct vec2 (temp 2-component vector of float)
|
||||
0:23 direct index (temp float)
|
||||
0:23 'inF0' (in 4-component vector of float)
|
||||
0:23 Constant:
|
||||
0:23 0 (const int)
|
||||
0:23 Constant:
|
||||
0:23 0.000000
|
||||
0:23 packHalf2x16 (temp uint)
|
||||
0:23 Construct vec2 (temp 2-component vector of float)
|
||||
0:23 direct index (temp float)
|
||||
0:23 'inF0' (in 4-component vector of float)
|
||||
0:23 Constant:
|
||||
0:23 1 (const int)
|
||||
0:23 Constant:
|
||||
0:23 0.000000
|
||||
0:23 packHalf2x16 (temp uint)
|
||||
0:23 Construct vec2 (temp 2-component vector of float)
|
||||
0:23 direct index (temp float)
|
||||
0:23 'inF0' (in 4-component vector of float)
|
||||
0:23 Constant:
|
||||
0:23 2 (const int)
|
||||
0:23 Constant:
|
||||
0:23 0.000000
|
||||
0:23 packHalf2x16 (temp uint)
|
||||
0:23 Construct vec2 (temp 2-component vector of float)
|
||||
0:23 direct index (temp float)
|
||||
0:23 'inF0' (in 4-component vector of float)
|
||||
0:23 Constant:
|
||||
0:23 3 (const int)
|
||||
0:23 Constant:
|
||||
0:23 0.000000
|
||||
0:27 Function Definition: @main( (temp 4-component vector of float)
|
||||
0:27 Function Parameters:
|
||||
0:? Sequence
|
||||
0:28 Branch: Return with expression
|
||||
0:28 Constant:
|
||||
0:28 0.000000
|
||||
0:28 0.000000
|
||||
0:28 0.000000
|
||||
0:28 0.000000
|
||||
0:27 Function Definition: main( (temp void)
|
||||
0:27 Function Parameters:
|
||||
0:? Sequence
|
||||
0:27 move second child to first child (temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:27 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:2 Function Definition: PixelShaderFunctionS(f1; (temp uint)
|
||||
0:2 Function Parameters:
|
||||
0:2 'inF0' (in float)
|
||||
0:? Sequence
|
||||
0:3 Branch: Return with expression
|
||||
0:3 packHalf2x16 (temp uint)
|
||||
0:3 Construct vec2 (temp 2-component vector of float)
|
||||
0:3 'inF0' (in float)
|
||||
0:3 Constant:
|
||||
0:3 0.000000
|
||||
0:7 Function Definition: PixelShaderFunction1(vf1; (temp 1-component vector of uint)
|
||||
0:7 Function Parameters:
|
||||
0:7 'inF0' (in 1-component vector of float)
|
||||
0:? Sequence
|
||||
0:8 Branch: Return with expression
|
||||
0:8 Construct uint (temp 1-component vector of uint)
|
||||
0:8 packHalf2x16 (temp uint)
|
||||
0:8 Construct vec2 (temp 2-component vector of float)
|
||||
0:8 Construct float (in float)
|
||||
0:8 'inF0' (in 1-component vector of float)
|
||||
0:8 Constant:
|
||||
0:8 0.000000
|
||||
0:12 Function Definition: PixelShaderFunction2(vf2; (temp 2-component vector of uint)
|
||||
0:12 Function Parameters:
|
||||
0:12 'inF0' (in 2-component vector of float)
|
||||
0:? Sequence
|
||||
0:13 Branch: Return with expression
|
||||
0:13 Construct uvec2 (temp 2-component vector of uint)
|
||||
0:13 packHalf2x16 (temp uint)
|
||||
0:13 Construct vec2 (temp 2-component vector of float)
|
||||
0:13 direct index (temp float)
|
||||
0:13 'inF0' (in 2-component vector of float)
|
||||
0:13 Constant:
|
||||
0:13 0 (const int)
|
||||
0:13 Constant:
|
||||
0:13 0.000000
|
||||
0:13 packHalf2x16 (temp uint)
|
||||
0:13 Construct vec2 (temp 2-component vector of float)
|
||||
0:13 direct index (temp float)
|
||||
0:13 'inF0' (in 2-component vector of float)
|
||||
0:13 Constant:
|
||||
0:13 1 (const int)
|
||||
0:13 Constant:
|
||||
0:13 0.000000
|
||||
0:17 Function Definition: PixelShaderFunction3(vf3; (temp 3-component vector of uint)
|
||||
0:17 Function Parameters:
|
||||
0:17 'inF0' (in 3-component vector of float)
|
||||
0:? Sequence
|
||||
0:18 Branch: Return with expression
|
||||
0:18 Construct uvec3 (temp 3-component vector of uint)
|
||||
0:18 packHalf2x16 (temp uint)
|
||||
0:18 Construct vec2 (temp 2-component vector of float)
|
||||
0:18 direct index (temp float)
|
||||
0:18 'inF0' (in 3-component vector of float)
|
||||
0:18 Constant:
|
||||
0:18 0 (const int)
|
||||
0:18 Constant:
|
||||
0:18 0.000000
|
||||
0:18 packHalf2x16 (temp uint)
|
||||
0:18 Construct vec2 (temp 2-component vector of float)
|
||||
0:18 direct index (temp float)
|
||||
0:18 'inF0' (in 3-component vector of float)
|
||||
0:18 Constant:
|
||||
0:18 1 (const int)
|
||||
0:18 Constant:
|
||||
0:18 0.000000
|
||||
0:18 packHalf2x16 (temp uint)
|
||||
0:18 Construct vec2 (temp 2-component vector of float)
|
||||
0:18 direct index (temp float)
|
||||
0:18 'inF0' (in 3-component vector of float)
|
||||
0:18 Constant:
|
||||
0:18 2 (const int)
|
||||
0:18 Constant:
|
||||
0:18 0.000000
|
||||
0:22 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of uint)
|
||||
0:22 Function Parameters:
|
||||
0:22 'inF0' (in 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:23 Branch: Return with expression
|
||||
0:23 Construct uvec4 (temp 4-component vector of uint)
|
||||
0:23 packHalf2x16 (temp uint)
|
||||
0:23 Construct vec2 (temp 2-component vector of float)
|
||||
0:23 direct index (temp float)
|
||||
0:23 'inF0' (in 4-component vector of float)
|
||||
0:23 Constant:
|
||||
0:23 0 (const int)
|
||||
0:23 Constant:
|
||||
0:23 0.000000
|
||||
0:23 packHalf2x16 (temp uint)
|
||||
0:23 Construct vec2 (temp 2-component vector of float)
|
||||
0:23 direct index (temp float)
|
||||
0:23 'inF0' (in 4-component vector of float)
|
||||
0:23 Constant:
|
||||
0:23 1 (const int)
|
||||
0:23 Constant:
|
||||
0:23 0.000000
|
||||
0:23 packHalf2x16 (temp uint)
|
||||
0:23 Construct vec2 (temp 2-component vector of float)
|
||||
0:23 direct index (temp float)
|
||||
0:23 'inF0' (in 4-component vector of float)
|
||||
0:23 Constant:
|
||||
0:23 2 (const int)
|
||||
0:23 Constant:
|
||||
0:23 0.000000
|
||||
0:23 packHalf2x16 (temp uint)
|
||||
0:23 Construct vec2 (temp 2-component vector of float)
|
||||
0:23 direct index (temp float)
|
||||
0:23 'inF0' (in 4-component vector of float)
|
||||
0:23 Constant:
|
||||
0:23 3 (const int)
|
||||
0:23 Constant:
|
||||
0:23 0.000000
|
||||
0:27 Function Definition: @main( (temp 4-component vector of float)
|
||||
0:27 Function Parameters:
|
||||
0:? Sequence
|
||||
0:28 Branch: Return with expression
|
||||
0:28 Constant:
|
||||
0:28 0.000000
|
||||
0:28 0.000000
|
||||
0:28 0.000000
|
||||
0:28 0.000000
|
||||
0:27 Function Definition: main( (temp void)
|
||||
0:27 Function Parameters:
|
||||
0:? Sequence
|
||||
0:27 move second child to first child (temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:27 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 106
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 104
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Name 4 "main"
|
||||
Name 11 "PixelShaderFunctionS(f1;"
|
||||
Name 10 "inF0"
|
||||
Name 14 "PixelShaderFunction1(vf1;"
|
||||
Name 13 "inF0"
|
||||
Name 21 "PixelShaderFunction2(vf2;"
|
||||
Name 20 "inF0"
|
||||
Name 28 "PixelShaderFunction3(vf3;"
|
||||
Name 27 "inF0"
|
||||
Name 35 "PixelShaderFunction(vf4;"
|
||||
Name 34 "inF0"
|
||||
Name 38 "@main("
|
||||
Name 104 "@entryPointOutput"
|
||||
Decorate 104(@entryPointOutput) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypePointer Function 6(float)
|
||||
8: TypeInt 32 0
|
||||
9: TypeFunction 8(int) 7(ptr)
|
||||
16: TypeVector 6(float) 2
|
||||
17: TypePointer Function 16(fvec2)
|
||||
18: TypeVector 8(int) 2
|
||||
19: TypeFunction 18(ivec2) 17(ptr)
|
||||
23: TypeVector 6(float) 3
|
||||
24: TypePointer Function 23(fvec3)
|
||||
25: TypeVector 8(int) 3
|
||||
26: TypeFunction 25(ivec3) 24(ptr)
|
||||
30: TypeVector 6(float) 4
|
||||
31: TypePointer Function 30(fvec4)
|
||||
32: TypeVector 8(int) 4
|
||||
33: TypeFunction 32(ivec4) 31(ptr)
|
||||
37: TypeFunction 30(fvec4)
|
||||
41: 6(float) Constant 0
|
||||
51: 8(int) Constant 0
|
||||
56: 8(int) Constant 1
|
||||
72: 8(int) Constant 2
|
||||
92: 8(int) Constant 3
|
||||
100: 30(fvec4) ConstantComposite 41 41 41 41
|
||||
103: TypePointer Output 30(fvec4)
|
||||
104(@entryPointOutput): 103(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
105: 30(fvec4) FunctionCall 38(@main()
|
||||
Store 104(@entryPointOutput) 105
|
||||
Return
|
||||
FunctionEnd
|
||||
11(PixelShaderFunctionS(f1;): 8(int) Function None 9
|
||||
10(inF0): 7(ptr) FunctionParameter
|
||||
12: Label
|
||||
40: 6(float) Load 10(inF0)
|
||||
42: 16(fvec2) CompositeConstruct 40 41
|
||||
43: 8(int) ExtInst 1(GLSL.std.450) 58(PackHalf2x16) 42
|
||||
ReturnValue 43
|
||||
FunctionEnd
|
||||
14(PixelShaderFunction1(vf1;): 8(int) Function None 9
|
||||
13(inF0): 7(ptr) FunctionParameter
|
||||
15: Label
|
||||
46: 6(float) Load 13(inF0)
|
||||
47: 16(fvec2) CompositeConstruct 46 41
|
||||
48: 8(int) ExtInst 1(GLSL.std.450) 58(PackHalf2x16) 47
|
||||
ReturnValue 48
|
||||
FunctionEnd
|
||||
21(PixelShaderFunction2(vf2;): 18(ivec2) Function None 19
|
||||
20(inF0): 17(ptr) FunctionParameter
|
||||
22: Label
|
||||
52: 7(ptr) AccessChain 20(inF0) 51
|
||||
53: 6(float) Load 52
|
||||
54: 16(fvec2) CompositeConstruct 53 41
|
||||
55: 8(int) ExtInst 1(GLSL.std.450) 58(PackHalf2x16) 54
|
||||
57: 7(ptr) AccessChain 20(inF0) 56
|
||||
58: 6(float) Load 57
|
||||
59: 16(fvec2) CompositeConstruct 58 41
|
||||
60: 8(int) ExtInst 1(GLSL.std.450) 58(PackHalf2x16) 59
|
||||
61: 18(ivec2) CompositeConstruct 55 60
|
||||
ReturnValue 61
|
||||
FunctionEnd
|
||||
28(PixelShaderFunction3(vf3;): 25(ivec3) Function None 26
|
||||
27(inF0): 24(ptr) FunctionParameter
|
||||
29: Label
|
||||
64: 7(ptr) AccessChain 27(inF0) 51
|
||||
65: 6(float) Load 64
|
||||
66: 16(fvec2) CompositeConstruct 65 41
|
||||
67: 8(int) ExtInst 1(GLSL.std.450) 58(PackHalf2x16) 66
|
||||
68: 7(ptr) AccessChain 27(inF0) 56
|
||||
69: 6(float) Load 68
|
||||
70: 16(fvec2) CompositeConstruct 69 41
|
||||
71: 8(int) ExtInst 1(GLSL.std.450) 58(PackHalf2x16) 70
|
||||
73: 7(ptr) AccessChain 27(inF0) 72
|
||||
74: 6(float) Load 73
|
||||
75: 16(fvec2) CompositeConstruct 74 41
|
||||
76: 8(int) ExtInst 1(GLSL.std.450) 58(PackHalf2x16) 75
|
||||
77: 25(ivec3) CompositeConstruct 67 71 76
|
||||
ReturnValue 77
|
||||
FunctionEnd
|
||||
35(PixelShaderFunction(vf4;): 32(ivec4) Function None 33
|
||||
34(inF0): 31(ptr) FunctionParameter
|
||||
36: Label
|
||||
80: 7(ptr) AccessChain 34(inF0) 51
|
||||
81: 6(float) Load 80
|
||||
82: 16(fvec2) CompositeConstruct 81 41
|
||||
83: 8(int) ExtInst 1(GLSL.std.450) 58(PackHalf2x16) 82
|
||||
84: 7(ptr) AccessChain 34(inF0) 56
|
||||
85: 6(float) Load 84
|
||||
86: 16(fvec2) CompositeConstruct 85 41
|
||||
87: 8(int) ExtInst 1(GLSL.std.450) 58(PackHalf2x16) 86
|
||||
88: 7(ptr) AccessChain 34(inF0) 72
|
||||
89: 6(float) Load 88
|
||||
90: 16(fvec2) CompositeConstruct 89 41
|
||||
91: 8(int) ExtInst 1(GLSL.std.450) 58(PackHalf2x16) 90
|
||||
93: 7(ptr) AccessChain 34(inF0) 92
|
||||
94: 6(float) Load 93
|
||||
95: 16(fvec2) CompositeConstruct 94 41
|
||||
96: 8(int) ExtInst 1(GLSL.std.450) 58(PackHalf2x16) 95
|
||||
97: 32(ivec4) CompositeConstruct 83 87 91 96
|
||||
ReturnValue 97
|
||||
FunctionEnd
|
||||
38(@main(): 30(fvec4) Function None 37
|
||||
39: Label
|
||||
ReturnValue 100
|
||||
FunctionEnd
|
||||
Reference in New Issue
Block a user