diff options
| author | Scott Mansell <phiren@gmail.com> | 2023-01-28 16:23:30 +1300 |
|---|---|---|
| committer | Scott Mansell <phiren@gmail.com> | 2023-01-31 19:41:24 +1300 |
| commit | f158ff300b72cff5ca1e2e62bc239111987188af (patch) | |
| tree | 0ba518f48f8f2e0ac0c0ea2775c69a071cec2056 /Source/Core/VideoCommon/Present.cpp | |
| parent | 26e00c3bb4957ce9d26415e415d0b137742844bc (diff) | |
Handle VideoSoftware's present fallback better
Not a good idea to abuse bSupportsPostProcessing
Diffstat (limited to 'Source/Core/VideoCommon/Present.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/Present.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/Source/Core/VideoCommon/Present.cpp b/Source/Core/VideoCommon/Present.cpp index 8f10707d0d..a89b41b1dd 100644 --- a/Source/Core/VideoCommon/Present.cpp +++ b/Source/Core/VideoCommon/Present.cpp @@ -393,12 +393,6 @@ void Presenter::RenderXFBToScreen(const MathUtil::Rectangle<int>& target_rc, const AbstractTexture* source_texture, const MathUtil::Rectangle<int>& source_rc) { - if (!g_ActiveConfig.backend_info.bSupportsPostProcessing) - { - g_gfx->ShowImage(source_texture, source_rc); - return; - } - if (g_ActiveConfig.stereo_mode == StereoMode::QuadBuffer && g_ActiveConfig.backend_info.bUsesExplictQuadBuffering) { @@ -463,6 +457,14 @@ void Presenter::Present() { m_last_xfb_id = m_xfb_entry->id; + if (!g_gfx->SupportsUtilityDrawing()) + { + // Video Software doesn't support Drawing a UI or doing post-processing + // So just Show the XFB + g_gfx->ShowImage(m_xfb_entry->texture.get(), m_xfb_rect); + return; + } + // Since we use the common pipelines here and draw vertices if a batch is currently being // built by the vertex loader, we end up trampling over its pointer, as we share the buffer // with the loader, and it has not been unmapped yet. Force a pipeline flush to avoid this. |
