Browse Source

Restore conditional rendering workaround for Adreno, Mali and Turnip

temporary-branch
CamilleLaVey 3 days ago
parent
commit
b027dc42ce
  1. 10
      src/video_core/renderer_vulkan/vk_query_cache.cpp

10
src/video_core/renderer_vulkan/vk_query_cache.cpp

@ -1491,6 +1491,12 @@ bool QueryCacheRuntime::HostConditionalRenderingCompareValue(VideoCommon::Lookup
if (!impl->device.IsExtConditionalRendering()) { if (!impl->device.IsExtConditionalRendering()) {
return false; return false;
} }
const 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) {
EndHostConditionalRendering();
return true;
}
HostConditionalRenderingCompareBCImpl(object_1.address, true, true); HostConditionalRenderingCompareBCImpl(object_1.address, true, true);
return true; return true;
} }
@ -1540,7 +1546,9 @@ bool QueryCacheRuntime::HostConditionalRenderingCompareValues(VideoCommon::Looku
const auto driver_id = impl->device.GetDriverID(); const auto driver_id = impl->device.GetDriverID();
const bool is_gpu_high = Settings::IsGPULevelHigh(); const bool is_gpu_high = Settings::IsGPULevelHigh();
if (!is_gpu_high && driver_id == VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS) {
if ((!is_gpu_high && driver_id == VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS) ||
driver_id == VK_DRIVER_ID_QUALCOMM_PROPRIETARY ||
driver_id == VK_DRIVER_ID_ARM_PROPRIETARY || driver_id == VK_DRIVER_ID_MESA_TURNIP) {
EndHostConditionalRendering(); EndHostConditionalRendering();
return true; return true;
} }

Loading…
Cancel
Save