summaryrefslogtreecommitdiffstats
path: root/src/video_core
diff options
context:
space:
mode:
authorliamwhite <liamwhite@users.noreply.github.com>2023-11-19 15:52:22 +0100
committerGitHub <noreply@github.com>2023-11-19 15:52:22 +0100
commit5f945e2fcdaa06626ee02b34454028a180810df3 (patch)
treebd1057e3fc85f80c14137194d733272ef86b33ae /src/video_core
parentMerge pull request #11792 from boludoz/new-shortcut (diff)
parentQuery Cache: Disable write syncing on Android (diff)
downloadyuzu-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')
-rw-r--r--src/video_core/renderer_vulkan/vk_query_cache.cpp13
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);
}