From f158ff300b72cff5ca1e2e62bc239111987188af Mon Sep 17 00:00:00 2001 From: Scott Mansell Date: Sat, 28 Jan 2023 16:23:30 +1300 Subject: Handle VideoSoftware's present fallback better Not a good idea to abuse bSupportsPostProcessing --- Source/Core/VideoCommon/Present.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'Source/Core/VideoCommon/Present.cpp') 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& target_rc, const AbstractTexture* source_texture, const MathUtil::Rectangle& 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. -- cgit v1.2.3