diff --git a/0001-drisw-move-zink-down-the-list-below-the-sw-drivers.patch b/0001-drisw-move-zink-down-the-list-below-the-sw-drivers.patch new file mode 100644 index 0000000..1f6816c --- /dev/null +++ b/0001-drisw-move-zink-down-the-list-below-the-sw-drivers.patch @@ -0,0 +1,72 @@ +From 70259f75a5546d331b0d687227341f653a4bf544 Mon Sep 17 00:00:00 2001 +From: Dave Airlie +Date: Thu, 25 Mar 2021 08:34:28 +1000 +Subject: [PATCH] drisw: move zink down the list below the sw drivers. + +We don't ever want drisw path picking zink as the driver, +we can revisit this when the penny wrapper work gets further +along. + +This selection causes systems with nvidia/intel dual-gpus +to try and pick the intel gpu for rendering in the nvidia +context if there is no nvidia GL driver or accel doesn't work. + +This is a partial revert of the original commit. + +Fixes: 4a3b42a717ce ("drisw: Prefer hardware-layered sw-winsys drivers over pure sw") +--- + src/gallium/auxiliary/target-helpers/inline_sw_helper.h | 6 +++--- + src/gallium/auxiliary/target-helpers/sw_helper.h | 6 +++--- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/src/gallium/auxiliary/target-helpers/inline_sw_helper.h b/src/gallium/auxiliary/target-helpers/inline_sw_helper.h +index c494840c44e..76eda8467b8 100644 +--- a/src/gallium/auxiliary/target-helpers/inline_sw_helper.h ++++ b/src/gallium/auxiliary/target-helpers/inline_sw_helper.h +@@ -81,9 +81,6 @@ sw_screen_create(struct sw_winsys *winsys) + UNUSED bool only_sw = env_var_as_boolean("LIBGL_ALWAYS_SOFTWARE", false); + const char *drivers[] = { + debug_get_option("GALLIUM_DRIVER", ""), +-#if defined(GALLIUM_ZINK) +- only_sw ? "" : "zink", +-#endif + #if defined(GALLIUM_D3D12) + only_sw ? "" : "d3d12", + #endif +@@ -95,6 +92,9 @@ sw_screen_create(struct sw_winsys *winsys) + #endif + #if defined(GALLIUM_SWR) + "swr", ++#endif ++#if defined(GALLIUM_ZINK) ++ only_sw ? "" : "zink", + #endif + }; + +diff --git a/src/gallium/auxiliary/target-helpers/sw_helper.h b/src/gallium/auxiliary/target-helpers/sw_helper.h +index d9469d9f5e3..88a5086d261 100644 +--- a/src/gallium/auxiliary/target-helpers/sw_helper.h ++++ b/src/gallium/auxiliary/target-helpers/sw_helper.h +@@ -86,9 +86,6 @@ sw_screen_create(struct sw_winsys *winsys) + UNUSED bool only_sw = env_var_as_boolean("LIBGL_ALWAYS_SOFTWARE", false); + const char *drivers[] = { + debug_get_option("GALLIUM_DRIVER", ""), +-#if defined(GALLIUM_ZINK) +- only_sw ? "" : "zink", +-#endif + #if defined(GALLIUM_D3D12) + only_sw ? "" : "d3d12", + #endif +@@ -100,6 +97,9 @@ sw_screen_create(struct sw_winsys *winsys) + #endif + #if defined(GALLIUM_SWR) + "swr", ++#endif ++#if defined(GALLIUM_ZINK) ++ only_sw ? "" : "zink", + #endif + }; + +-- +2.29.2 +