From 58defda29816670351fb1c93dbc06ed6a618b4d6 Mon Sep 17 00:00:00 2001 From: lightningterror <18107717+lightningterror@users.noreply.github.com> Date: Fri, 10 May 2024 20:22:31 +0200 Subject: [PATCH] GS/HW: Better name get alpha values for blend. --- pcsx2/GS/Renderers/HW/GSRendererHW.cpp | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/pcsx2/GS/Renderers/HW/GSRendererHW.cpp b/pcsx2/GS/Renderers/HW/GSRendererHW.cpp index 510cb50a27..c88e847d60 100644 --- a/pcsx2/GS/Renderers/HW/GSRendererHW.cpp +++ b/pcsx2/GS/Renderers/HW/GSRendererHW.cpp @@ -3949,23 +3949,23 @@ void GSRendererHW::EmulateBlending(int rt_alpha_min, int rt_alpha_max, bool& DAT } // Get alpha value - const bool alpha_c0_zero = (m_conf.ps.blend_c == 0 && GetAlphaMinMax().max == 0); - const bool alpha_c0_one = (m_conf.ps.blend_c == 0 && (GetAlphaMinMax().min == 128) && (GetAlphaMinMax().max == 128)); + const bool alpha_c0_eq_zero = (m_conf.ps.blend_c == 0 && GetAlphaMinMax().max == 0); + const bool alpha_c0_eq_one = (m_conf.ps.blend_c == 0 && (GetAlphaMinMax().min == 128) && (GetAlphaMinMax().max == 128)); const bool alpha_c0_high_min_one = (m_conf.ps.blend_c == 0 && GetAlphaMinMax().min > 128); const bool alpha_c0_high_max_one = (m_conf.ps.blend_c == 0 && GetAlphaMinMax().max > 128); - const bool alpha_c0_less_max_one = (m_conf.ps.blend_c == 0 && GetAlphaMinMax().max <= 128); + const bool alpha_c0_eq_less_max_one = (m_conf.ps.blend_c == 0 && GetAlphaMinMax().max <= 128); const bool alpha_c1_high_min_one = (m_conf.ps.blend_c == 1 && rt_alpha_min > 128); const bool alpha_c1_high_max_one = (m_conf.ps.blend_c == 1 && rt_alpha_max > 128); bool alpha_c1_high_no_rta_correct = m_conf.ps.blend_c == 1 && !(new_rt_alpha_scale || can_scale_rt_alpha); - const bool alpha_c2_zero = (m_conf.ps.blend_c == 2 && AFIX == 0u); - const bool alpha_c2_one = (m_conf.ps.blend_c == 2 && AFIX == 128u); - const bool alpha_c2_less_one = (m_conf.ps.blend_c == 2 && AFIX <= 128u); + const bool alpha_c2_eq_zero = (m_conf.ps.blend_c == 2 && AFIX == 0u); + const bool alpha_c2_eq_one = (m_conf.ps.blend_c == 2 && AFIX == 128u); + const bool alpha_c2_eq_less_one = (m_conf.ps.blend_c == 2 && AFIX <= 128u); const bool alpha_c2_high_one = (m_conf.ps.blend_c == 2 && AFIX > 128u); - const bool alpha_one = alpha_c0_one || alpha_c2_one; - const bool alpha_less_one = alpha_c0_less_max_one || alpha_c2_less_one; + const bool alpha_eq_one = alpha_c0_eq_one || alpha_c2_eq_one; + const bool alpha_eq_less_one = alpha_c0_eq_less_max_one || alpha_c2_eq_less_one; // Optimize blending equations, must be done before index calculation - if ((m_conf.ps.blend_a == m_conf.ps.blend_b) || ((m_conf.ps.blend_b == m_conf.ps.blend_d) && alpha_one)) + if ((m_conf.ps.blend_a == m_conf.ps.blend_b) || ((m_conf.ps.blend_b == m_conf.ps.blend_d) && alpha_eq_one)) { // Condition 1: // A == B @@ -3981,7 +3981,7 @@ void GSRendererHW::EmulateBlending(int rt_alpha_min, int rt_alpha_max, bool& DAT m_conf.ps.blend_b = 0; m_conf.ps.blend_c = 0; } - else if (alpha_c0_zero || alpha_c2_zero) + else if (alpha_c0_eq_zero || alpha_c2_eq_zero) { // C == 0.0f // (A - B) * C, result will be 0.0f so set A B to Cs @@ -4040,14 +4040,14 @@ void GSRendererHW::EmulateBlending(int rt_alpha_min, int rt_alpha_max, bool& DAT bool color_dest_blend = !!(blend_flag & BLEND_CD); // HW blend can handle it, no need for sw blend or hdr, Cd*Alpha or Cd*(1 - Alpha) where Alpha <= 128, Alpha is As or Af. - bool color_dest_blend2 = alpha_less_one && ((blend_flag & BLEND_HW2) || (m_conf.ps.blend_b == m_conf.ps.blend_d == 1 && m_conf.ps.blend_a == 2)); + bool color_dest_blend2 = alpha_eq_less_one && ((blend_flag & BLEND_HW2) || (m_conf.ps.blend_b == m_conf.ps.blend_d == 1 && m_conf.ps.blend_a == 2)); // Do the multiplication in shader for blending accumulation: Cs*As + Cd or Cs*Af + Cd bool accumulation_blend = !!(blend_flag & BLEND_ACCU); // If alpha == 1.0, almost everything is an accumulation blend! // Ones that use (1 + Alpha) can't guarante the mixed sw+hw blending this enables will give an identical result to sw due to clamping // But enable for everything else that involves dst color - if (alpha_one && (m_conf.ps.blend_a != m_conf.ps.blend_d) && blend.dst != GSDevice::CONST_ZERO) + if (alpha_eq_one && (m_conf.ps.blend_a != m_conf.ps.blend_d) && blend.dst != GSDevice::CONST_ZERO) accumulation_blend = true; // Blending doesn't require barrier, or sampling of the rt @@ -4327,7 +4327,7 @@ void GSRendererHW::EmulateBlending(int rt_alpha_min, int rt_alpha_max, bool& DAT // Disable dithering on blend mix if needed. if (m_conf.ps.dither) { - const bool can_dither = (m_conf.ps.blend_a == 0 && m_conf.ps.blend_b == 1 && alpha_less_one); + const bool can_dither = (m_conf.ps.blend_a == 0 && m_conf.ps.blend_b == 1 && alpha_eq_less_one); m_conf.ps.dither = can_dither; m_conf.ps.dither_adjust = can_dither; }