From 3dd675e61382685b2c3d6c82b1c822f135e83934 Mon Sep 17 00:00:00 2001 From: Stenzek Date: Sun, 30 Apr 2017 01:00:45 +1000 Subject: Renderer: Change SetBlendState to accept a BlendingState This decouples the state generation (from the emulated GPU) from the management of internal backend state. --- Source/Core/VideoBackends/OGL/Render.cpp | 7 ++----- 1 file changed, 2 insertions(+), 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 7e36f0be22..8953b10831 100644 --- a/Source/Core/VideoBackends/OGL/Render.cpp +++ b/Source/Core/VideoBackends/OGL/Render.cpp @@ -1264,11 +1264,8 @@ void Renderer::ReinterpretPixelData(unsigned int convtype) } } -void Renderer::SetBlendMode(bool forceUpdate) +void Renderer::SetBlendingState(const BlendingState& state) { - BlendingState state; - state.Generate(bpmem); - bool useDualSource = state.usedualsrc && g_ActiveConfig.backend_info.bSupportsDualSourceBlend && (!DriverDetails::HasBug(DriverDetails::BUG_BROKEN_DUAL_SOURCE_BLENDING) || state.dstalpha); @@ -1791,7 +1788,7 @@ void Renderer::RestoreAPIState() SetGenerationMode(); BPFunctions::SetScissor(); SetDepthMode(); - SetBlendMode(true); + BPFunctions::SetBlendMode(); SetViewport(); ProgramShaderCache::BindLastVertexFormat(); -- cgit v1.2.3