Skip to content
Permalink
Browse files

FramebufferManager: Fix EFB peek cache stretching last tile

  • Loading branch information...
stenzek committed Mar 27, 2019
1 parent 54e0988 commit c28393d6f90efe8503525ab905cf48056220d3e3
Showing with 5 additions and 1 deletion.
  1. +5 −1 Source/Core/VideoCommon/FramebufferManager.cpp
@@ -569,8 +569,12 @@ void FramebufferManager::PopulateEFBCache(bool depth, u32 tile_index)
{native_rect.left * rcp_src_width, native_rect.top * rcp_src_height,
native_rect.GetWidth() * rcp_src_width, native_rect.GetHeight() * rcp_src_height}};
g_vertex_manager->UploadUtilityUniforms(&uniforms, sizeof(uniforms));

// Viewport will not be TILE_SIZExTILE_SIZE for the last row of tiles, assuming a tile size of
// 64, because 528 is not evenly divisible by 64.
g_renderer->SetAndDiscardFramebuffer(data.framebuffer.get());
g_renderer->SetViewportAndScissor(data.framebuffer->GetRect());
g_renderer->SetViewportAndScissor(
MathUtil::Rectangle<int>(0, 0, rect.GetWidth(), rect.GetHeight()));
g_renderer->SetPipeline(data.copy_pipeline.get());
g_renderer->SetTexture(0, src_texture);
g_renderer->SetSamplerState(0, depth ? RenderState::GetPointSamplerState() :

0 comments on commit c28393d

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