From 2373ae7b45f9801a242204a81d74b8ea3672c68a Mon Sep 17 00:00:00 2001 From: Tayfun Kayhan Date: Sat, 29 Feb 2020 12:28:19 +0100 Subject: [PATCH] Convert GPU Time counter correctly --- renderdoc/driver/vulkan/vk_counters.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/renderdoc/driver/vulkan/vk_counters.cpp b/renderdoc/driver/vulkan/vk_counters.cpp index c39321f41..6aea2bf32 100644 --- a/renderdoc/driver/vulkan/vk_counters.cpp +++ b/renderdoc/driver/vulkan/vk_counters.cpp @@ -134,7 +134,16 @@ void VulkanReplay::convertKhrCounterResult(CounterResult &rdcResult, if(khrUnit == VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR) { RDCASSERT(type == CompType::Double); - rdcResult.value.d /= 1000.0 * 1000.0 * 1000.0; + + if((khrStorage == VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR) || + (khrStorage == VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR)) + { + rdcResult.value.d = rdcResult.value.d / (1000.0 * 1000.0 * 1000.0); + } + else + { + rdcResult.value.d = (double)(rdcResult.value.u64) / (1000.0 * 1000.0 * 1000.0); + } } }