diff options
author | liamwhite <liamwhite@users.noreply.github.com> | 2023-11-19 15:52:22 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-19 15:52:22 +0100 |
commit | 5f945e2fcdaa06626ee02b34454028a180810df3 (patch) | |
tree | bd1057e3fc85f80c14137194d733272ef86b33ae /src/video_core/renderer_vulkan | |
parent | Merge pull request #11792 from boludoz/new-shortcut (diff) | |
parent | Query Cache: Disable write syncing on Android (diff) | |
download | yuzu-5f945e2fcdaa06626ee02b34454028a180810df3.tar yuzu-5f945e2fcdaa06626ee02b34454028a180810df3.tar.gz yuzu-5f945e2fcdaa06626ee02b34454028a180810df3.tar.bz2 yuzu-5f945e2fcdaa06626ee02b34454028a180810df3.tar.lz yuzu-5f945e2fcdaa06626ee02b34454028a180810df3.tar.xz yuzu-5f945e2fcdaa06626ee02b34454028a180810df3.tar.zst yuzu-5f945e2fcdaa06626ee02b34454028a180810df3.zip |
Diffstat (limited to 'src/video_core/renderer_vulkan')
-rw-r--r-- | src/video_core/renderer_vulkan/vk_query_cache.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/video_core/renderer_vulkan/vk_query_cache.cpp b/src/video_core/renderer_vulkan/vk_query_cache.cpp index 66c03bf17..078777cdd 100644 --- a/src/video_core/renderer_vulkan/vk_query_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_query_cache.cpp @@ -211,6 +211,13 @@ public: return; } PauseCounter(); + const auto driver_id = device.GetDriverID(); + if (driver_id == VK_DRIVER_ID_QUALCOMM_PROPRIETARY || + driver_id == VK_DRIVER_ID_ARM_PROPRIETARY || driver_id == VK_DRIVER_ID_MESA_TURNIP) { + pending_sync.clear(); + sync_values_stash.clear(); + return; + } sync_values_stash.clear(); sync_values_stash.emplace_back(); std::vector<HostSyncValues>* sync_values = &sync_values_stash.back(); @@ -1378,6 +1385,12 @@ bool QueryCacheRuntime::HostConditionalRenderingCompareValues(VideoCommon::Looku return true; } + auto driver_id = impl->device.GetDriverID(); + if (driver_id == VK_DRIVER_ID_QUALCOMM_PROPRIETARY || + driver_id == VK_DRIVER_ID_ARM_PROPRIETARY || driver_id == VK_DRIVER_ID_MESA_TURNIP) { + return true; + } + for (size_t i = 0; i < 2; i++) { is_null[i] = !is_in_ac[i] && check_value(objects[i]->address); } |