From 7fc0a07c88b679f4a8c9fa117ac33a311038acb1 Mon Sep 17 00:00:00 2001 From: water111 <48171810+water111@users.noreply.github.com> Date: Mon, 30 May 2022 13:05:49 -0400 Subject: [PATCH] [graphics] improve blending when depth write is disabled (#1386) --- .../opengl_renderer/background/background_common.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/game/graphics/opengl_renderer/background/background_common.cpp b/game/graphics/opengl_renderer/background/background_common.cpp index d3b85535b3..892f39b32d 100644 --- a/game/graphics/opengl_renderer/background/background_common.cpp +++ b/game/graphics/opengl_renderer/background/background_common.cpp @@ -103,9 +103,13 @@ DoubleDraw setup_opengl_from_draw_mode(DrawMode mode, u32 tex_unit, bool mipmap) // ok, no need for double draw break; case GsTest::AlphaFail::FB_ONLY: - // darn, we need to draw twice - double_draw.kind = DoubleDrawKind::AFAIL_NO_DEPTH_WRITE; - double_draw.aref_second = alpha_min; + if (mode.get_depth_write_enable()) { + // darn, we need to draw twice + double_draw.kind = DoubleDrawKind::AFAIL_NO_DEPTH_WRITE; + double_draw.aref_second = alpha_min; + } else { + alpha_min = 0.f; + } break; default: ASSERT(false);