diff options
| author | 2023-07-26 10:33:28 -0400 | |
|---|---|---|
| committer | 2023-07-26 10:33:28 -0400 | |
| commit | d3da1e6517fe27670b6c2d713d144872d55057d8 (patch) | |
| tree | ab5c72b17b15185ec40945c5ba29400569b50630 /src/video_core/query_cache.h | |
| parent | Merge pull request #11142 from german77/avoid_crash (diff) | |
| parent | Fixes and workarounds to make UBSan happier on macOS (diff) | |
| download | yuzu-d3da1e6517fe27670b6c2d713d144872d55057d8.tar.gz yuzu-d3da1e6517fe27670b6c2d713d144872d55057d8.tar.xz yuzu-d3da1e6517fe27670b6c2d713d144872d55057d8.zip | |
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.h | 4 |
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: | |||
| 103 | explicit QueryCacheBase(VideoCore::RasterizerInterface& rasterizer_, | 103 | explicit QueryCacheBase(VideoCore::RasterizerInterface& rasterizer_, |
| 104 | Core::Memory::Memory& cpu_memory_) | 104 | Core::Memory::Memory& cpu_memory_) |
| 105 | : rasterizer{rasterizer_}, | 105 | : rasterizer{rasterizer_}, |
| 106 | cpu_memory{cpu_memory_}, streams{{CounterStream{static_cast<QueryCache&>(*this), | 106 | // Use reinterpret_cast instead of static_cast as workaround for |
| 107 | // UBSan bug (https://github.com/llvm/llvm-project/issues/59060) | ||
| 108 | cpu_memory{cpu_memory_}, streams{{CounterStream{reinterpret_cast<QueryCache&>(*this), | ||
| 107 | VideoCore::QueryType::SamplesPassed}}} { | 109 | VideoCore::QueryType::SamplesPassed}}} { |
| 108 | (void)slot_async_jobs.insert(); // Null value | 110 | (void)slot_async_jobs.insert(); // Null value |
| 109 | } | 111 | } |