Skip to content
Permalink
Browse files

Merge pull request #7895 from stenzek/framebuffer-corruption

FramebufferManager: Don't discard in ReinterpretPixelData
  • Loading branch information...
stenzek committed Mar 29, 2019
2 parents 154eeae + 8aa0ea1 commit 1304e963ad65df0e098e017cef665486d8cde45d
Showing with 4 additions and 1 deletion.
  1. +4 −1 Source/Core/VideoCommon/FramebufferManager.cpp
@@ -277,9 +277,12 @@ bool FramebufferManager::ReinterpretPixelData(EFBReinterpretType convtype)
return false;

// Draw to the secondary framebuffer.
// 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_renderer->BeginUtilityDrawing();
g_renderer->SetAndDiscardFramebuffer(m_efb_convert_framebuffer.get());
g_renderer->SetFramebuffer(m_efb_convert_framebuffer.get());
g_renderer->SetViewportAndScissor(m_efb_framebuffer->GetRect());
g_renderer->SetPipeline(m_format_conversion_pipelines[static_cast<u32>(convtype)].get());
g_renderer->SetTexture(0, m_efb_color_texture.get());

0 comments on commit 1304e96

Please sign in to comment.
You can’t perform that action at this time.