From a66eb7351ba8073015602ba9739bda5ad143d3ee Mon Sep 17 00:00:00 2001 From: James Rowe Date: Tue, 16 Jan 2018 20:44:02 -0700 Subject: UI: Fix frame rate perf stats Adds in a missing EndGameFrame when nvdrv swaps buffers --- src/core/hle/service/nvdrv/devices/nvdisp_disp0.cpp | 3 +++ src/core/perf_stats.cpp | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/core/hle/service/nvdrv/devices/nvdisp_disp0.cpp b/src/core/hle/service/nvdrv/devices/nvdisp_disp0.cpp index c42a65b36..b65d79f11 100644 --- a/src/core/hle/service/nvdrv/devices/nvdisp_disp0.cpp +++ b/src/core/hle/service/nvdrv/devices/nvdisp_disp0.cpp @@ -4,6 +4,7 @@ #include "common/assert.h" #include "common/logging/log.h" +#include "core/core.h" #include "core/hle/service/nvdrv/devices/nvdisp_disp0.h" #include "core/hle/service/nvdrv/devices/nvmap.h" #include "video_core/renderer_base.h" @@ -28,6 +29,8 @@ void nvdisp_disp0::flip(u32 buffer_handle, u32 offset, u32 format, u32 width, u3 using PixelFormat = RendererBase::FramebufferInfo::PixelFormat; const RendererBase::FramebufferInfo framebuffer_info{ addr, offset, width, height, stride, static_cast(format)}; + + Core::System::GetInstance().perf_stats.EndGameFrame(); VideoCore::g_renderer->SwapBuffers(framebuffer_info); } diff --git a/src/core/perf_stats.cpp b/src/core/perf_stats.cpp index 26752699e..ad3b56fcc 100644 --- a/src/core/perf_stats.cpp +++ b/src/core/perf_stats.cpp @@ -69,7 +69,7 @@ PerfStats::Results PerfStats::GetAndResetStats(u64 current_system_time_us) { double PerfStats::GetLastFrameTimeScale() { std::lock_guard lock(object_mutex); - constexpr double FRAME_LENGTH = 1.0 / 60; // GPU::SCREEN_REFRESH_RATE; + constexpr double FRAME_LENGTH = 1.0 / 60; return duration_cast(previous_frame_length).count() / FRAME_LENGTH; } -- cgit v1.2.3