From d5ff82df38f3aa4dacc3bdf5cc802916c62fdeaa Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 11 Apr 2022 10:39:05 -0400 Subject: [PATCH] zink: ZINK_USE_LAVAPIPE -> LIBGL_ALWAYS_SOFTWARE this is a documented variable, so reuse it Reviewed-by: Yonggang Luo Reviewed-by: Dave Airlie Part-of: --- src/gallium/drivers/zink/ci/gitlab-ci.yml | 2 +- src/gallium/drivers/zink/zink_screen.c | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/zink/ci/gitlab-ci.yml b/src/gallium/drivers/zink/ci/gitlab-ci.yml index 6918886b5a8..ff81f6b0a7a 100644 --- a/src/gallium/drivers/zink/ci/gitlab-ci.yml +++ b/src/gallium/drivers/zink/ci/gitlab-ci.yml @@ -3,7 +3,7 @@ - .zink-rules variables: MESA_LOADER_DRIVER_OVERRIDE: "zink" - ZINK_USE_LAVAPIPE: "true" + LIBGL_ALWAYS_SOFTWARE: "true" LVP_POISON_MEMORY: "1" GPU_VERSION: zink-lvp FLAKES_CHANNEL: "#zink-ci" diff --git a/src/gallium/drivers/zink/zink_screen.c b/src/gallium/drivers/zink/zink_screen.c index 0501406ba5c..ca7a6635ecb 100644 --- a/src/gallium/drivers/zink/zink_screen.c +++ b/src/gallium/drivers/zink/zink_screen.c @@ -1280,11 +1280,11 @@ choose_pdev(struct zink_screen *screen) assert(pdev_count > 0); VkPhysicalDeviceProperties *props = &screen->info.props; + bool cpu = debug_get_bool_option("LIBGL_ALWAYS_SOFTWARE", false); for (i = 0; i < pdev_count; ++i) { vkGetPhysicalDeviceProperties(pdevs[i], props); - char *use_lavapipe = getenv("ZINK_USE_LAVAPIPE"); - if (use_lavapipe) { + if (cpu) { if (props->deviceType == VK_PHYSICAL_DEVICE_TYPE_CPU) { screen->pdev = pdevs[i]; screen->info.device_version = props->apiVersion; @@ -1301,6 +1301,8 @@ choose_pdev(struct zink_screen *screen) } } free(pdevs); + if (cpu && !screen->pdev) + return true; /* runtime version is the lesser of the instance version and device version */ screen->vk_version = MIN2(screen->info.device_version, screen->instance_info.loader_version); @@ -2092,6 +2094,11 @@ init_driver_workarounds(struct zink_screen *screen) static struct zink_screen * zink_internal_create_screen(const struct pipe_screen_config *config) { + if (getenv("ZINK_USE_LAVAPIPE")) { + mesa_loge("ZINK_USE_LAVAPIPE is obsolete. Use LIBGL_ALWAYS_SOFTWARE\n"); + return NULL; + } + struct zink_screen *screen = rzalloc(NULL, struct zink_screen); if (!screen) return NULL;