diff options
| author | TellowKrinkle <tellowkrinkle@gmail.com> | 2025-10-30 20:44:45 -0500 |
|---|---|---|
| committer | TellowKrinkle <tellowkrinkle@gmail.com> | 2025-10-30 20:50:17 -0500 |
| commit | 21ac489d575662091be107fab0d807392b1e9fdf (patch) | |
| tree | 485b087c068e6adc0bc3bb82dc47005f19d6d934 /Source/Core/VideoCommon/FramebufferManager.cpp | |
| parent | d065f1ae1228203b354c35ca853f36fa45a59c43 (diff) | |
VideoCommon: Fix render to texture in wrong layout
Diffstat (limited to 'Source/Core/VideoCommon/FramebufferManager.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/FramebufferManager.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/Source/Core/VideoCommon/FramebufferManager.cpp b/Source/Core/VideoCommon/FramebufferManager.cpp index bec54b5b10..f3f6d3968e 100644 --- a/Source/Core/VideoCommon/FramebufferManager.cpp +++ b/Source/Core/VideoCommon/FramebufferManager.cpp @@ -337,8 +337,8 @@ AbstractTexture* FramebufferManager::ResolveEFBColorTexture(const MathUtil::Rect } else { - m_efb_color_texture->FinishedRendering(); g_gfx->BeginUtilityDrawing(); + m_efb_color_texture->FinishedRendering(); g_gfx->SetAndDiscardFramebuffer(m_efb_color_resolve_framebuffer.get()); g_gfx->SetPipeline(m_efb_color_resolve_pipeline.get()); g_gfx->SetTexture(0, m_efb_color_texture.get()); @@ -365,8 +365,8 @@ AbstractTexture* FramebufferManager::ResolveEFBDepthTexture(const MathUtil::Rect MathUtil::Rectangle<int> clamped_region = region; clamped_region.ClampUL(0, 0, GetEFBWidth(), GetEFBHeight()); - m_efb_depth_texture->FinishedRendering(); g_gfx->BeginUtilityDrawing(); + m_efb_depth_texture->FinishedRendering(); g_gfx->SetAndDiscardFramebuffer(m_efb_depth_resolve_framebuffer.get()); g_gfx->SetPipeline(IsEFBMultisampled() ? m_efb_depth_resolve_pipeline.get() : m_efb_depth_cache.copy_pipeline.get()); @@ -389,8 +389,8 @@ bool FramebufferManager::ReinterpretPixelData(EFBReinterpretType convtype) // We don't discard here because discarding the framebuffer also throws away the depth // buffer, which we want to preserve. If we find this to be hindering performance in the // future (e.g. on mobile/tilers), it may be worth discarding only the color buffer. - m_efb_color_texture->FinishedRendering(); g_gfx->BeginUtilityDrawing(); + m_efb_color_texture->FinishedRendering(); g_gfx->SetFramebuffer(m_efb_convert_framebuffer.get()); g_gfx->SetViewportAndScissor(m_efb_framebuffer->GetRect()); g_gfx->SetPipeline(m_format_conversion_pipelines[static_cast<u32>(convtype)].get()); @@ -807,8 +807,8 @@ void FramebufferManager::PopulateEFBCache(bool depth, u32 tile_index, bool async // Downsample from internal resolution to 1x. // TODO: This won't produce correct results at IRs above 2x. More samples are required. // This is the same issue as with EFB copies. - src_texture->FinishedRendering(); g_gfx->BeginUtilityDrawing(); + src_texture->FinishedRendering(); const float rcp_src_width = 1.0f / m_efb_framebuffer->GetWidth(); const float rcp_src_height = 1.0f / m_efb_framebuffer->GetHeight(); |
