From 12b8704502f13801e4eba880b1efca6a6e9d85c4 Mon Sep 17 00:00:00 2001 From: Gregory Hainaut Date: Sat, 30 Apr 2016 00:02:49 +0200 Subject: [PATCH] gsdx dx: disable channel shuffle --- plugins/GSdx/GSRendererDX.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/plugins/GSdx/GSRendererDX.cpp b/plugins/GSdx/GSRendererDX.cpp index 35d7e44812..b0a7baa82c 100644 --- a/plugins/GSdx/GSRendererDX.cpp +++ b/plugins/GSdx/GSRendererDX.cpp @@ -58,6 +58,18 @@ void GSRendererDX::DrawPrims(GSTexture* rt, GSTexture* ds, GSTextureCache::Sourc GSDeviceDX* dev = (GSDeviceDX*)m_dev; + // Channel shuffle effect not supported on DX. Let's keep the logic because it help to + // reduce memory requirement (and why not a partial port) + if (m_channel_shuffle) { + if (m_context->CLAMP.WMS == 3 && ((m_context->CLAMP.MAXU & 0x8) == 8)) { + ; + } else if (m_context->CLAMP.WMS == 3 && ((m_context->CLAMP.MINU & 0x8) == 0)) { + ; + } else { + m_channel_shuffle = false; + } + } + if(DATE) { if(dev->HasStencil())