aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/query_cache.h
diff options
context:
space:
mode:
authorliamwhite <liamwhite@users.noreply.github.com>2023-07-26 10:33:28 -0400
committerGitHub <noreply@github.com>2023-07-26 10:33:28 -0400
commitd3da1e6517fe27670b6c2d713d144872d55057d8 (patch)
treeab5c72b17b15185ec40945c5ba29400569b50630 /src/video_core/query_cache.h
parent6ffcc3d5d2aac8e095aed138d4113a384a35f50e (diff)
parentd7c532d8894ce806c9af13b8dd3eec975642b348 (diff)
Merge pull request #10990 from comex/ubsan
Fixes and workarounds to make UBSan happier on macOS
Diffstat (limited to 'src/video_core/query_cache.h')
-rw-r--r--src/video_core/query_cache.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/video_core/query_cache.h b/src/video_core/query_cache.h
index 1528cc1dd..7047e2e63 100644
--- a/src/video_core/query_cache.h
+++ b/src/video_core/query_cache.h
@@ -103,7 +103,9 @@ public:
explicit QueryCacheBase(VideoCore::RasterizerInterface& rasterizer_,
Core::Memory::Memory& cpu_memory_)
: rasterizer{rasterizer_},
- cpu_memory{cpu_memory_}, streams{{CounterStream{static_cast<QueryCache&>(*this),
+ // Use reinterpret_cast instead of static_cast as workaround for
+ // UBSan bug (https://github.com/llvm/llvm-project/issues/59060)
+ cpu_memory{cpu_memory_}, streams{{CounterStream{reinterpret_cast<QueryCache&>(*this),
VideoCore::QueryType::SamplesPassed}}} {
(void)slot_async_jobs.insert(); // Null value
}