From 3dd3bf6e2be0f1c74e102ffa7e484ee3ef989eed Mon Sep 17 00:00:00 2001 From: Gregory Hainaut Date: Wed, 3 Jun 2015 09:56:07 +0200 Subject: [PATCH] gsdx-ogl: new hidden option accurate_blend = 2 Debug option to emulate all blending draw call in the shader Of course it is slow but it is very accurate --- plugins/GSdx/GSRendererOGL.cpp | 2 +- plugins/GSdx/GSRendererOGL.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/GSdx/GSRendererOGL.cpp b/plugins/GSdx/GSRendererOGL.cpp index 92624ee56d..d334421a5a 100644 --- a/plugins/GSdx/GSRendererOGL.cpp +++ b/plugins/GSdx/GSRendererOGL.cpp @@ -613,7 +613,7 @@ void GSRendererOGL::DrawPrims(GSTexture* rt, GSTexture* ds, GSTextureCache::Sour // Compute the blending equation to detect special case int blend_sel = ((om_bsel.a * 3 + om_bsel.b) * 3 + om_bsel.c) * 3 + om_bsel.d; int bogus_blend = GSDeviceOGL::m_blendMapD3D9[blend_sel].bogus; - bool sw_blending = (m_accurate_blend && (bogus_blend & A_MAX)) || (acc_colclip_wrap); + bool sw_blending = (m_accurate_blend && (bogus_blend & A_MAX)) || acc_colclip_wrap || (m_accurate_blend > 1); if (sw_blending && om_bsel.abe) { GL_INS("!!! SW blending effect used (0x%x from sel %d) !!!", bogus_blend, blend_sel); diff --git a/plugins/GSdx/GSRendererOGL.h b/plugins/GSdx/GSRendererOGL.h index dc1c672930..5e2781cf82 100644 --- a/plugins/GSdx/GSRendererOGL.h +++ b/plugins/GSdx/GSRendererOGL.h @@ -31,7 +31,7 @@ class GSRendererOGL : public GSRendererHW { private: GSVector2 m_pixelcenter; - bool m_accurate_blend; + int m_accurate_blend; bool m_accurate_date; bool m_accurate_colclip;