diff options
Diffstat (limited to 'src/core/hle')
| -rw-r--r-- | src/core/hle/service/nvdrv/devices/nvdisp_disp0.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/core/hle/service/nvdrv/devices/nvdisp_disp0.cpp b/src/core/hle/service/nvdrv/devices/nvdisp_disp0.cpp index 7cd1d9306..db030a8e2 100644 --- a/src/core/hle/service/nvdrv/devices/nvdisp_disp0.cpp +++ b/src/core/hle/service/nvdrv/devices/nvdisp_disp0.cpp | |||
| @@ -33,6 +33,13 @@ void nvdisp_disp0::flip(u32 buffer_handle, u32 offset, u32 format, u32 width, u3 | |||
| 33 | addr, offset, width, height, stride, static_cast<PixelFormat>(format), flip_vertical}; | 33 | addr, offset, width, height, stride, static_cast<PixelFormat>(format), flip_vertical}; |
| 34 | 34 | ||
| 35 | Core::System::GetInstance().perf_stats.EndGameFrame(); | 35 | Core::System::GetInstance().perf_stats.EndGameFrame(); |
| 36 | |||
| 37 | // TODO(bunnei): The framebuffer region should only be flushed and invalidated if it is written | ||
| 38 | // to, not every frame. When we find the right place for this, the below line can be removed. | ||
| 39 | Memory::RasterizerFlushVirtualRegion(framebuffer.address, | ||
| 40 | framebuffer.width * framebuffer.height * 4, | ||
| 41 | Memory::FlushMode::FlushAndInvalidate); | ||
| 42 | |||
| 36 | VideoCore::g_renderer->SwapBuffers(framebuffer); | 43 | VideoCore::g_renderer->SwapBuffers(framebuffer); |
| 37 | } | 44 | } |
| 38 | 45 | ||