summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/frontend/ir/modifiers.h
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2021-02-14 22:46:40 -0300
committerGravatar ameerj2021-07-22 21:51:22 -0400
commit1b0cf2309c760c1cb97a230a1572f8e87f84444a (patch)
tree6316825f65565b4c764b7851d061be0776a89974 /src/shader_recompiler/frontend/ir/modifiers.h
parentshader: Support SSA loops on IR (diff)
downloadyuzu-1b0cf2309c760c1cb97a230a1572f8e87f84444a.tar.gz
yuzu-1b0cf2309c760c1cb97a230a1572f8e87f84444a.tar.xz
yuzu-1b0cf2309c760c1cb97a230a1572f8e87f84444a.zip
shader: Add support for forward declarations
Diffstat (limited to 'src/shader_recompiler/frontend/ir/modifiers.h')
-rw-r--r--src/shader_recompiler/frontend/ir/modifiers.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/shader_recompiler/frontend/ir/modifiers.h b/src/shader_recompiler/frontend/ir/modifiers.h
index 28bb9e798..c288eede0 100644
--- a/src/shader_recompiler/frontend/ir/modifiers.h
+++ b/src/shader_recompiler/frontend/ir/modifiers.h
@@ -6,13 +6,13 @@
6 6
7namespace Shader::IR { 7namespace Shader::IR {
8 8
9enum class FmzMode { 9enum class FmzMode : u8 {
10 None, // Denorms are not flushed, NAN is propagated (nouveau) 10 None, // Denorms are not flushed, NAN is propagated (nouveau)
11 FTZ, // Flush denorms to zero, NAN is propagated (D3D11, NVN, GL, VK) 11 FTZ, // Flush denorms to zero, NAN is propagated (D3D11, NVN, GL, VK)
12 FMZ, // Flush denorms to zero, x * 0 == 0 (D3D9) 12 FMZ, // Flush denorms to zero, x * 0 == 0 (D3D9)
13}; 13};
14 14
15enum class FpRounding { 15enum class FpRounding : u8 {
16 RN, // Round to nearest even, 16 RN, // Round to nearest even,
17 RM, // Round towards negative infinity 17 RM, // Round towards negative infinity
18 RP, // Round towards positive infinity 18 RP, // Round towards positive infinity
@@ -21,8 +21,8 @@ enum class FpRounding {
21 21
22struct FpControl { 22struct FpControl {
23 bool no_contraction{false}; 23 bool no_contraction{false};
24 FpRounding rounding : 8 = FpRounding::RN; 24 FpRounding rounding{FpRounding::RN};
25 FmzMode fmz_mode : 8 = FmzMode::FTZ; 25 FmzMode fmz_mode{FmzMode::FTZ};
26}; 26};
27static_assert(sizeof(FpControl) <= sizeof(u64)); 27static_assert(sizeof(FpControl) <= sizeof(u32));
28} // namespace Shader::IR 28} // namespace Shader::IR