summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/OGL/Render.cpp
diff options
context:
space:
mode:
authorStenzek <stenzek@gmail.com>2017-04-30 01:00:45 +1000
committerStenzek <stenzek@gmail.com>2017-09-03 14:14:54 +1000
commit3dd675e61382685b2c3d6c82b1c822f135e83934 (patch)
tree3fcf149c475c91a6cf82a287a4c172a2eda6ed75 /Source/Core/VideoBackends/OGL/Render.cpp
parent22b8cbae35b61d6bb3decede17fdadb2cce1233a (diff)
Renderer: Change SetBlendState to accept a BlendingState
This decouples the state generation (from the emulated GPU) from the management of internal backend state.
Diffstat (limited to 'Source/Core/VideoBackends/OGL/Render.cpp')
-rw-r--r--Source/Core/VideoBackends/OGL/Render.cpp7
1 files changed, 2 insertions, 5 deletions
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();