diff options
| author | JMC47 <JMC4789@gmail.com> | 2021-12-22 16:39:54 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-12-22 16:39:54 -0500 |
| commit | b1f79d9ecf87070c78789acdf5bc329637bc5812 (patch) | |
| tree | 7d8321dcae2d694f3a131e003630e85d3cde732e /Source/Core/VideoCommon/ShaderCache.cpp | |
| parent | 820a424dcdf0095cf088abea921aaaac299dbccc (diff) | |
| parent | 1c421444aed7673c30429f8b92e8ac3492cfb5b4 (diff) | |
Merge pull request #10215 from OatmealDome/shader-logic-ops
VideoCommon: Support shader logic ops on Metal (Apple GPUs) and OpenGL ES
Diffstat (limited to 'Source/Core/VideoCommon/ShaderCache.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/ShaderCache.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/Source/Core/VideoCommon/ShaderCache.cpp b/Source/Core/VideoCommon/ShaderCache.cpp index b72dd238ff..0a9dc0b856 100644 --- a/Source/Core/VideoCommon/ShaderCache.cpp +++ b/Source/Core/VideoCommon/ShaderCache.cpp @@ -585,7 +585,9 @@ AbstractPipelineConfig ShaderCache::GetGXPipelineConfig( config.blending_state = blending_state; config.framebuffer_state = g_framebuffer_manager->GetEFBFramebufferState(); - if (config.blending_state.logicopenable && !g_ActiveConfig.backend_info.bSupportsLogicOp) + // We can use framebuffer fetch to emulate logic ops in the fragment shader. + if (config.blending_state.logicopenable && !g_ActiveConfig.backend_info.bSupportsLogicOp && + !g_ActiveConfig.backend_info.bSupportsFramebufferFetch) { WARN_LOG_FMT(VIDEO, "Approximating logic op with blending, this will produce incorrect rendering."); |
