zink: move push descriptor disable to driver workarounds
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Thu, 28 Sep 2023 12:13:04 +0000 (08:13 -0400)
committerMarge Bot <emma+marge@anholt.net>
Wed, 4 Oct 2023 02:00:20 +0000 (02:00 +0000)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25456>

src/gallium/drivers/zink/zink_screen.c

index 4c8b19a..6e55838 100644 (file)
@@ -2885,6 +2885,18 @@ init_driver_workarounds(struct zink_screen *screen)
          screen->driver_workarounds.disable_optimized_compile = true;
       break;
    }
+
+   switch (screen->info.driver_props.driverID) {
+   case VK_DRIVER_ID_MESA_RADV:
+   case VK_DRIVER_ID_AMD_OPEN_SOURCE:
+   case VK_DRIVER_ID_AMD_PROPRIETARY:
+      /* this has bad perf on AMD */
+      screen->info.have_KHR_push_descriptor = false;
+      break;
+   default:
+      break;
+   }
+
    if (!screen->resizable_bar)
       screen->info.have_EXT_host_image_copy = false;
 }
@@ -3254,11 +3266,6 @@ zink_internal_create_screen(const struct pipe_screen_config *config, int64_t dev
                                  screen->dev);
 
    init_queue(screen);
-   if (screen->info.driver_props.driverID == VK_DRIVER_ID_MESA_RADV ||
-       screen->info.driver_props.driverID == VK_DRIVER_ID_AMD_OPEN_SOURCE ||
-       screen->info.driver_props.driverID == VK_DRIVER_ID_AMD_PROPRIETARY)
-      /* this has bad perf on AMD */
-      screen->info.have_KHR_push_descriptor = false;
 
    zink_verify_device_extensions(screen);