From e258f3e2faf8cdfd301e5954082dcec564710c16 Mon Sep 17 00:00:00 2001 From: Gregory Hainaut Date: Thu, 19 May 2016 09:58:13 +0200 Subject: [PATCH] gsdx ogl: update accurate DATE behavior * Fast accurate DATE is always enabled, it was faster than standard DATE * The less fast version is always enabled too. It is likely barely used so perf impact will be small on few game that could hit this path. Nice rendering has a higher priority * The "slow" path will depends on the date option. Note normally it isn't too slow (-10%) if GL_ARB_shader_image_load_store is supported but AMD crimson is an epic fail. --- plugins/GSdx/GSRendererOGL.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/plugins/GSdx/GSRendererOGL.cpp b/plugins/GSdx/GSRendererOGL.cpp index 5ee4e52cac..bc18fbade1 100644 --- a/plugins/GSdx/GSRendererOGL.cpp +++ b/plugins/GSdx/GSRendererOGL.cpp @@ -820,8 +820,7 @@ void GSRendererOGL::DrawPrims(GSTexture* rt, GSTexture* ds, GSTextureCache::Sour require_barrier = true; DATE_GL45 = true; DATE = false; - } else if (m_accurate_date && om_csel.wa /* FIXME Check the msb bit of the mask instead + the dfmt*/ - && (!m_context->TEST.ATE || m_context->TEST.ATST == ATST_ALWAYS)) { + } else if (om_csel.wa && (!m_context->TEST.ATE || m_context->TEST.ATST == ATST_ALWAYS)) { // Performance note: check alpha range with GetAlphaMinMax() // Note: all my dump are already above 120fps, but it seems to reduce GPU load // with big upscaling @@ -841,7 +840,7 @@ void GSRendererOGL::DrawPrims(GSTexture* rt, GSTexture* ds, GSTextureCache::Sour require_barrier = true; DATE_GL45 = true; DATE = false; - } else { + } else if (m_accurate_date) { GL_PERF("Slow DATE with alpha %d-%d", m_vt.m_alpha.min, m_vt.m_alpha.max); if (GLLoader::found_GL_ARB_shader_image_load_store) {