From 40f99434048a24a20c77dfcf78f215df87ba5f5e Mon Sep 17 00:00:00 2001 From: Logan McNaughton <848146+loganmc10@users.noreply.github.com> Date: Mon, 13 Feb 2023 13:45:27 -0700 Subject: [PATCH] update parallel rdp --- parallel-rdp-standalone/COMMIT | 2 +- parallel-rdp-standalone/vulkan/device.cpp | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/parallel-rdp-standalone/COMMIT b/parallel-rdp-standalone/COMMIT index 07424f7..09cc23a 100644 --- a/parallel-rdp-standalone/COMMIT +++ b/parallel-rdp-standalone/COMMIT @@ -1 +1 @@ -85363ec733561ab545103888f440dec500cbb96a +d95cf9b09c31e1b239eb7e90255e048ffa184360 diff --git a/parallel-rdp-standalone/vulkan/device.cpp b/parallel-rdp-standalone/vulkan/device.cpp index 134fa63..7dd19f2 100644 --- a/parallel-rdp-standalone/vulkan/device.cpp +++ b/parallel-rdp-standalone/vulkan/device.cpp @@ -785,14 +785,17 @@ void Device::init_workarounds() LOGW("Disabling pipeline cache control.\n"); workarounds.broken_pipeline_cache_control = true; } - else if ((ext.driver_properties.driverID == VK_DRIVER_ID_MESA_RADV || - ext.driver_properties.driverID == VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA || - ext.driver_properties.driverID == VK_DRIVER_ID_MESA_TURNIP) && - gpu_props.driverVersion < VK_MAKE_VERSION(23, 1, 0)) + else if (((ext.driver_properties.driverID == VK_DRIVER_ID_MESA_RADV || + ext.driver_properties.driverID == VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA || + ext.driver_properties.driverID == VK_DRIVER_ID_MESA_TURNIP) && + gpu_props.driverVersion < VK_MAKE_VERSION(23, 1, 0)) || + ext.driver_properties.driverID == VK_DRIVER_ID_AMD_PROPRIETARY || + ext.driver_properties.driverID == VK_DRIVER_ID_AMD_OPEN_SOURCE) { LOGW("Enabling workaround for sync2 access mask bugs.\n"); // https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21271 // Found bug around 23.0. Should be fixed by 23.1. + // Also observed on AMD windows. Probably fails on open source too given it shares PAL ... workarounds.force_sync1_access = true; // Avoids having to add workaround path to events as well, just fallback to plain barriers. workarounds.emulate_event_as_pipeline_barrier = true;