diff options
| author | magumagu <magumagu9@gmail.com> | 2014-12-15 20:08:54 -0800 |
|---|---|---|
| committer | magumagu <magumagu9@gmail.com> | 2014-12-15 20:16:25 -0800 |
| commit | 31bcdb8f2f6d64c6bae1e102fc43144150c7060a (patch) | |
| tree | 03c39c8d478e4dd4523ff875d8f6ce75a2a57af3 /Source | |
| parent | 7b5b76caa478b0643a81d8bcf2ad4c6385ef78c0 (diff) | |
D3D+OGL: choose blendenable over logicopenable.
No sane game should turn on both logicopenable and blendenable in the same
blend mode, but not every game is sane. Fixes issue 6009.
Diffstat (limited to 'Source')
| -rw-r--r-- | Source/Core/VideoBackends/D3D/Render.cpp | 4 | ||||
| -rw-r--r-- | Source/Core/VideoBackends/OGL/Render.cpp | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/Source/Core/VideoBackends/D3D/Render.cpp b/Source/Core/VideoBackends/D3D/Render.cpp index 86f93fc9ad..0f5aaa8853 100644 --- a/Source/Core/VideoBackends/D3D/Render.cpp +++ b/Source/Core/VideoBackends/D3D/Render.cpp @@ -615,7 +615,7 @@ void Renderer::SetBlendMode(bool forceUpdate) (target_has_alpha) ? D3D11_BLEND_INV_DEST_ALPHA : D3D11_BLEND_ZERO }; - if (bpmem.blendmode.logicopenable && !forceUpdate) + if (bpmem.blendmode.logicopenable && !bpmem.blendmode.blendenable && !forceUpdate) return; if (bpmem.blendmode.subtract) @@ -1234,7 +1234,7 @@ void Renderer::SetLogicOpMode() D3D11_BLEND_ONE//15 }; - if (bpmem.blendmode.logicopenable) + if (bpmem.blendmode.logicopenable && !bpmem.blendmode.blendenable) { gx_state.blend.blend_enable = true; gx_state.blend.blend_op = d3dLogicOps[bpmem.blendmode.logicmode]; diff --git a/Source/Core/VideoBackends/OGL/Render.cpp b/Source/Core/VideoBackends/OGL/Render.cpp index f26a1460ce..9ee86471ff 100644 --- a/Source/Core/VideoBackends/OGL/Render.cpp +++ b/Source/Core/VideoBackends/OGL/Render.cpp @@ -1882,7 +1882,7 @@ void Renderer::SetLogicOpMode() GL_SET }; - if (bpmem.blendmode.logicopenable) + if (bpmem.blendmode.logicopenable && !bpmem.blendmode.blendenable) { glEnable(GL_COLOR_LOGIC_OP); glLogicOp(glLogicOpCodes[bpmem.blendmode.logicmode]); |
