From 29c97a9bf21a985e1524e0b428ff97aa678adcc4 Mon Sep 17 00:00:00 2001 From: Gregory Hainaut Date: Sat, 11 Jun 2016 13:03:19 +0200 Subject: [PATCH] gsdx ogl: only enable accumulation hack in HDR algo Goal is to reduce shader permutations and improve perf when sw blending is disabled --- plugins/GSdx/GSRendererOGL.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/GSdx/GSRendererOGL.cpp b/plugins/GSdx/GSRendererOGL.cpp index 846a3ccae1..15cb65cecf 100644 --- a/plugins/GSdx/GSRendererOGL.cpp +++ b/plugins/GSdx/GSRendererOGL.cpp @@ -516,7 +516,7 @@ void GSRendererOGL::EmulateBlending(bool DATE_GL42) // In order to keep it fast, let's limit it to smaller draw call. case ACC_BLEND_SPRITE: sw_blending |= m_vt.m_primclass == GS_SPRITE_CLASS && m_drawlist.size() < 100; case ACC_BLEND_FREE: sw_blending |= impossible_or_free_blend; - default: sw_blending |= accumulation_blend; + default: /*sw_blending |= accumulation_blend*/; } // SW Blending // GL42 interact very badly with sw blending. GL42 uses the primitiveID to find the primitive @@ -537,6 +537,7 @@ void GSRendererOGL::EmulateBlending(bool DATE_GL42) // A fast algo that requires 2 passes GL_INS("COLCLIP Fast HDR mode ENABLED"); m_ps_sel.hdr = 1; + sw_blending = true; // Enable sw blending for the HDR algo } else if (sw_blending) { // A slow algo that could requires several passes (barely used) GL_INS("COLCLIP SW ENABLED (blending is %d/%d/%d/%d)", ALPHA.A, ALPHA.B, ALPHA.C, ALPHA.D);