From 97928b2e87110f7d40dcc7b5b8bbb5926c2fa359 Mon Sep 17 00:00:00 2001 From: Logan McNaughton <848146+loganmc10@users.noreply.github.com> Date: Mon, 7 Oct 2024 14:28:40 +0200 Subject: [PATCH] update parallel rdp --- parallel-rdp-standalone/COMMIT | 2 +- parallel-rdp-standalone/parallel-rdp/rdp_renderer.cpp | 5 +++++ parallel-rdp-standalone/vulkan/device.cpp | 6 ++++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/parallel-rdp-standalone/COMMIT b/parallel-rdp-standalone/COMMIT index aaa3203..fe91121 100644 --- a/parallel-rdp-standalone/COMMIT +++ b/parallel-rdp-standalone/COMMIT @@ -1 +1 @@ -fe5becd13638873db90d46e7ba7d48255971f82a +1f69c762be68feb9fcd5276d75acc6e5a6160a19 diff --git a/parallel-rdp-standalone/parallel-rdp/rdp_renderer.cpp b/parallel-rdp-standalone/parallel-rdp/rdp_renderer.cpp index 961e2e1..ec822b5 100644 --- a/parallel-rdp-standalone/parallel-rdp/rdp_renderer.cpp +++ b/parallel-rdp-standalone/parallel-rdp/rdp_renderer.cpp @@ -201,6 +201,11 @@ bool Renderer::init_caps() LOGW("Current proprietary Intel Windows driver is tested to perform much better without 8/16-bit integer support.\n"); allow_small_types = false; } + else if (features.driver_id == VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR) + { + LOGW("Current proprietary Qcom driver is known to be buggy with 8/16-bit integer arithmetic, disabling support for time being.\n"); + allow_small_types = false; + } // Intel ANV *must* use small integer arithmetic, or it doesn't pass test suite. } diff --git a/parallel-rdp-standalone/vulkan/device.cpp b/parallel-rdp-standalone/vulkan/device.cpp index 9199b27..6623a9d 100644 --- a/parallel-rdp-standalone/vulkan/device.cpp +++ b/parallel-rdp-standalone/vulkan/device.cpp @@ -889,6 +889,12 @@ void Device::init_workarounds() LOGW("Disabling pipeline cache control.\n"); workarounds.broken_pipeline_cache_control = true; } + else if (ext.driver_id == VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR) + { + // Seems broken on this driver too. Compilation stutter galore ... + LOGW("Disabling pipeline cache control.\n"); + workarounds.broken_pipeline_cache_control = true; + } if (sync2_workarounds) {