diff --git a/Source/Core/VideoCommon/BPStructs.cpp b/Source/Core/VideoCommon/BPStructs.cpp index 4f02c298b4..bb910e653e 100644 --- a/Source/Core/VideoCommon/BPStructs.cpp +++ b/Source/Core/VideoCommon/BPStructs.cpp @@ -357,8 +357,13 @@ static void BPWritten(PixelShaderManager& pixel_shader_manager, XFStateManager& auto& system = Core::System::GetInstance(); if (g_ActiveConfig.bImmediateXFB) { + // TODO: GetTicks is not sane from the GPU thread. + // This value is currently used for frame dumping and the custom shader "time_ms" value. + // Frame dumping has more calls that aren't sane from the GPU thread. + // i.e. Frame dumping is not sane in "Dual Core" mode in general. + const u64 ticks = system.GetCoreTiming().GetTicks(); + // below div two to convert from bytes to pixels - it expects width, not stride - u64 ticks = system.GetCoreTiming().GetTicks(); g_presenter->ImmediateSwap(destAddr, destStride / 2, destStride, height, ticks); } else