summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMrRobbin <mr_robbin@163.com>2023-05-16 13:54:49 +0800
committerMarge Bot <emma+marge@anholt.net>2023-05-16 14:04:54 +0000
commit47f080194956a1da3beca5800b3bf7f85cb8b36c (patch)
tree7231669b2b39d62756b7f69791e958c299f3f866
parent6ee0bba3ae6777aa8df911301e5ff0a955ebce73 (diff)
downloadmesa-47f080194956a1da3beca5800b3bf7f85cb8b36c.tar.gz
zink: Move the workaround before the EDS setting.
Then we can guarantee the settings correct, otherwise the 'screen->info.have_EXT_extended_dynamic_state3 = false' and 'screen->info.have_EXT_vertex_input_dynamic_state = false' will be enable, but actually we should disable it when 'have_EXT_extended_dynamic_state2 = false'. Fixes: d5cf6f7d2f9 ("zink: disable dynamic state exts if the previous ones aren't present") Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23046>
-rw-r--r--src/gallium/drivers/zink/zink_screen.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/gallium/drivers/zink/zink_screen.c b/src/gallium/drivers/zink/zink_screen.c
index 6da0fa65f89..c2ea90ab0df 100644
--- a/src/gallium/drivers/zink/zink_screen.c
+++ b/src/gallium/drivers/zink/zink_screen.c
@@ -2415,6 +2415,9 @@ init_driver_workarounds(struct zink_screen *screen)
/* EDS2 is only used with EDS1 */
if (!screen->info.have_EXT_extended_dynamic_state)
screen->info.have_EXT_extended_dynamic_state2 = false;
+ if (screen->info.driver_props.driverID == VK_DRIVER_ID_AMD_PROPRIETARY)
+ /* this completely breaks xfb somehow */
+ screen->info.have_EXT_extended_dynamic_state2 = false;
/* EDS3 is only used with EDS2 */
if (!screen->info.have_EXT_extended_dynamic_state2)
screen->info.have_EXT_extended_dynamic_state3 = false;
@@ -2455,9 +2458,6 @@ init_driver_workarounds(struct zink_screen *screen)
screen->info.gpl_props.graphicsPipelineLibraryFastLinking ||
screen->is_cpu);
screen->driver_workarounds.broken_l4a4 = screen->info.driver_props.driverID == VK_DRIVER_ID_NVIDIA_PROPRIETARY;
- if (screen->info.driver_props.driverID == VK_DRIVER_ID_AMD_PROPRIETARY)
- /* this completely breaks xfb somehow */
- screen->info.have_EXT_extended_dynamic_state2 = false;
if (screen->info.driver_props.driverID == VK_DRIVER_ID_MESA_TURNIP) {
/* performance */
screen->info.border_color_feats.customBorderColorWithoutFormat = VK_FALSE;