diff --git a/plugins/GSdx/GSRendererHW.cpp b/plugins/GSdx/GSRendererHW.cpp index 225be8c8b3..f933616024 100644 --- a/plugins/GSdx/GSRendererHW.cpp +++ b/plugins/GSdx/GSRendererHW.cpp @@ -660,7 +660,8 @@ void GSRendererHW::Draw() if (!m_userhacks_disable_gs_mem_clear) { // Constant Direct Write without texture/test/blending (aka a GS mem clear) - if ((m_vt.m_primclass == GS_SPRITE_CLASS) && !PRIM->TME && !PRIM->ABE // Direct write + if ((m_vt.m_primclass == GS_SPRITE_CLASS) && !PRIM->TME // Direct write + && (!PRIM->ABE || m_context->ALPHA.IsOpaque()) // No transparency && (m_context->FRAME.FBMSK == 0) // no color mask && !m_context->TEST.ATE // no alpha test && (!m_context->TEST.ZTE || m_context->TEST.ZTST == ZTST_ALWAYS) // no depth test