From aac9647ba2715b4a96fe301116a9f41cd8046441 Mon Sep 17 00:00:00 2001 From: "Admiral H. Curtiss" Date: Tue, 14 Mar 2023 02:13:25 +0100 Subject: Divide by MSAA for PerfQuery in all backends. --- Source/Core/VideoBackends/Vulkan/VKPerfQuery.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'Source/Core/VideoBackends/Vulkan/VKPerfQuery.cpp') diff --git a/Source/Core/VideoBackends/Vulkan/VKPerfQuery.cpp b/Source/Core/VideoBackends/Vulkan/VKPerfQuery.cpp index d16c8c379b..c6aee79327 100644 --- a/Source/Core/VideoBackends/Vulkan/VKPerfQuery.cpp +++ b/Source/Core/VideoBackends/Vulkan/VKPerfQuery.cpp @@ -17,6 +17,7 @@ #include "VideoBackends/Vulkan/VulkanContext.h" #include "VideoCommon/FramebufferManager.h" #include "VideoCommon/VideoCommon.h" +#include "VideoCommon/VideoConfig.h" namespace Vulkan { @@ -218,9 +219,11 @@ void PerfQuery::ReadbackQueries(u32 query_count) entry.has_value = false; // NOTE: Reported pixel metrics should be referenced to native resolution - const u64 native_res_result = static_cast(m_query_result_buffer[i]) * EFB_WIDTH / - g_framebuffer_manager->GetEFBWidth() * EFB_HEIGHT / - g_framebuffer_manager->GetEFBHeight(); + u64 native_res_result = static_cast(m_query_result_buffer[i]) * EFB_WIDTH / + g_framebuffer_manager->GetEFBWidth() * EFB_HEIGHT / + g_framebuffer_manager->GetEFBHeight(); + if (g_ActiveConfig.iMultisamples > 1) + native_res_result /= g_ActiveConfig.iMultisamples; m_results[entry.query_group].fetch_add(static_cast(native_res_result), std::memory_order_relaxed); } -- cgit v1.2.3