summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorJMC47 <JMC4789@gmail.com>2025-04-09 23:20:35 -0400
committerGitHub <noreply@github.com>2025-04-09 23:20:35 -0400
commitfc0179c1ea1a8169f8e44608b0aa6240dde658d4 (patch)
tree01e91eddddca2ca993d3e11fcaa08490de670e4f /Source
parent01363572cbd6905e0427116fdf75fad66d99d81d (diff)
parent4aa056dd4dfb0da40455afd1a91e31794a0c41e1 (diff)
Merge pull request #13498 from jordan-woyak/immxfb-dualcore-todo
BPStructs: Add TODO for unsafe usage of GetTicks.
Diffstat (limited to 'Source')
-rw-r--r--Source/Core/VideoCommon/BPStructs.cpp7
1 files changed, 6 insertions, 1 deletions
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