From 34ad5b457dacf175d30b5521f863b45176374dff Mon Sep 17 00:00:00 2001 From: Stenzek Date: Mon, 17 Apr 2017 23:11:58 +1000 Subject: VideoCommon: Add usedualsrc field to BlendingState This is because we re-use BlendingState for our internal drawing (e.g. RasterFont) and for these shaders, we can't assume the presence of a second color output. --- Source/Core/VideoBackends/OGL/Render.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Source/Core/VideoBackends/OGL/Render.cpp') diff --git a/Source/Core/VideoBackends/OGL/Render.cpp b/Source/Core/VideoBackends/OGL/Render.cpp index b845c0b6ca..4663c2d6ac 100644 --- a/Source/Core/VideoBackends/OGL/Render.cpp +++ b/Source/Core/VideoBackends/OGL/Render.cpp @@ -1214,7 +1214,7 @@ void Renderer::SetBlendMode(bool forceUpdate) state.Generate(bpmem); bool useDualSource = - g_ActiveConfig.backend_info.bSupportsDualSourceBlend && + state.usedualsrc && g_ActiveConfig.backend_info.bSupportsDualSourceBlend && (!DriverDetails::HasBug(DriverDetails::BUG_BROKEN_DUAL_SOURCE_BLENDING) || state.dstalpha); const GLenum src_factors[8] = { -- cgit v1.2.3 From fd896bd9e051dd29b4186e6b028067ecade4b515 Mon Sep 17 00:00:00 2001 From: Stenzek Date: Tue, 18 Apr 2017 21:45:03 +1000 Subject: OGL: Drop BlendingState.dither How GL_DITHER works is implementation-defined, and we handle the non-blended case in the pixel shader. --- Source/Core/VideoBackends/OGL/Render.cpp | 5 ----- 1 file changed, 5 deletions(-) (limited to 'Source/Core/VideoBackends/OGL/Render.cpp') diff --git a/Source/Core/VideoBackends/OGL/Render.cpp b/Source/Core/VideoBackends/OGL/Render.cpp index 4663c2d6ac..ec68c14f23 100644 --- a/Source/Core/VideoBackends/OGL/Render.cpp +++ b/Source/Core/VideoBackends/OGL/Render.cpp @@ -1274,11 +1274,6 @@ void Renderer::SetBlendMode(bool forceUpdate) glDisable(GL_COLOR_LOGIC_OP); } - if (state.dither) - glEnable(GL_DITHER); - else - glDisable(GL_DITHER); - glColorMask(state.colorupdate, state.colorupdate, state.colorupdate, state.alphaupdate); } -- cgit v1.2.3