diff --git a/src/core/gpu_hw.cpp b/src/core/gpu_hw.cpp index a34d4b792..1c1cf48bd 100644 --- a/src/core/gpu_hw.cpp +++ b/src/core/gpu_hw.cpp @@ -3695,9 +3695,8 @@ void GPU_HW::PrepareDraw(const GPUBackendDrawCommand* cmd) if (!IsFlushed()) { if (texture_mode != m_batch.texture_mode || transparency_mode != m_batch.transparency_mode || - (transparency_mode == GPUTransparencyMode::BackgroundMinusForeground && !m_allow_shader_blend) || - dithering_enable != m_batch.dithering || m_texture_window_bits != cmd->window || - m_batch.check_mask_before_draw != cmd->check_mask_before_draw || + (!m_allow_shader_blend && NeedsTwoPassRendering()) || dithering_enable != m_batch.dithering || + m_texture_window_bits != cmd->window || m_batch.check_mask_before_draw != cmd->check_mask_before_draw || m_batch.set_mask_while_drawing != cmd->set_mask_while_drawing || (texture_mode == BatchTextureMode::PageTexture && m_texture_cache_key != texture_cache_key)) {