diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c index 7efe0e807e3..31155b1a20c 100644 --- a/src/egl/drivers/dri2/egl_dri2.c +++ b/src/egl/drivers/dri2/egl_dri2.c @@ -584,10 +584,11 @@ const __DRIimageLookupExtension image_lookup_extension = { }; void -dri2_detect_swrast(_EGLDisplay *disp) +dri2_detect_swrast_kopper(_EGLDisplay *disp) { struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp); + dri2_dpy->kopper = disp->Options.Zink && !debug_get_bool_option("LIBGL_KOPPER_DISABLE", false); dri2_dpy->swrast = (disp->Options.ForceSoftware && !dri2_dpy->kopper && strcmp(dri2_dpy->driver_name, "vmwgfx")) || !dri2_dpy->driver_name || strstr(dri2_dpy->driver_name, "swrast"); dri2_dpy->swrast_not_kms = dri2_dpy->swrast && (!dri2_dpy->driver_name || strcmp(dri2_dpy->driver_name, "kms_swrast")); @@ -1043,7 +1044,6 @@ dri2_display_create(_EGLDisplay *disp) dri2_dpy->fd_render_gpu = -1; dri2_dpy->fd_display_gpu = -1; dri2_dpy->multibuffers_available = true; - dri2_dpy->kopper = disp->Options.Zink && !debug_get_bool_option("LIBGL_KOPPER_DISABLE", false); disp->DriverData = (void *)dri2_dpy; return dri2_dpy; diff --git a/src/egl/drivers/dri2/egl_dri2.h b/src/egl/drivers/dri2/egl_dri2.h index abf03b8b51e..2436ffb872b 100644 --- a/src/egl/drivers/dri2/egl_dri2.h +++ b/src/egl/drivers/dri2/egl_dri2.h @@ -441,7 +441,7 @@ extern const __DRIswrastLoaderExtension swrast_pbuffer_loader_extension; extern const __DRIkopperLoaderExtension kopper_pbuffer_loader_extension; void -dri2_detect_swrast(_EGLDisplay *disp); +dri2_detect_swrast_kopper(_EGLDisplay *disp); /* Helper for platforms not using dri2_create_screen */ void diff --git a/src/egl/drivers/dri2/platform_android.c b/src/egl/drivers/dri2/platform_android.c index 31127918bc0..7db9f6bccb6 100644 --- a/src/egl/drivers/dri2/platform_android.c +++ b/src/egl/drivers/dri2/platform_android.c @@ -1041,7 +1041,7 @@ droid_load_driver(_EGLDisplay *disp, bool swrast) } dri2_dpy->loader_extensions = droid_image_loader_extensions; - dri2_detect_swrast(disp); + dri2_detect_swrast_kopper(disp); return true; @@ -1195,7 +1195,7 @@ dri2_initialize_android(_EGLDisplay *disp) dri2_dpy->loader_extensions = droid_swrast_image_loader_extensions; dri2_dpy->fd_render_gpu = -1; dri2_dpy->pure_swrast = true; - dri2_detect_swrast(disp); + dri2_detect_swrast_kopper(disp); if (!dri2_create_screen(disp)) { err = "DRI2: Failed to create swrast screen"; diff --git a/src/egl/drivers/dri2/platform_device.c b/src/egl/drivers/dri2/platform_device.c index 142e3caf234..e6ec4d5ee46 100644 --- a/src/egl/drivers/dri2/platform_device.c +++ b/src/egl/drivers/dri2/platform_device.c @@ -293,7 +293,7 @@ device_probe_device(_EGLDisplay *disp) } } - dri2_detect_swrast(disp); + dri2_detect_swrast_kopper(disp); dri2_dpy->loader_extensions = image_loader_extensions; return true; @@ -316,7 +316,7 @@ device_probe_device_sw(_EGLDisplay *disp) return false; /* HACK: should be driver_swrast_null */ - dri2_detect_swrast(disp); + dri2_detect_swrast_kopper(disp); dri2_dpy->loader_extensions = swrast_loader_extensions; return true; diff --git a/src/egl/drivers/dri2/platform_drm.c b/src/egl/drivers/dri2/platform_drm.c index 8cbd7219796..11ff7a73037 100644 --- a/src/egl/drivers/dri2/platform_drm.c +++ b/src/egl/drivers/dri2/platform_drm.c @@ -632,7 +632,7 @@ dri2_initialize_drm(_EGLDisplay *disp) dri2_dpy->driver_name = strdup(dri2_dpy->gbm_dri->driver_name); - dri2_detect_swrast(disp); + dri2_detect_swrast_kopper(disp); dri2_dpy->dri_screen_render_gpu = dri2_dpy->gbm_dri->screen; dri2_dpy->driver_configs = dri2_dpy->gbm_dri->driver_configs; diff --git a/src/egl/drivers/dri2/platform_surfaceless.c b/src/egl/drivers/dri2/platform_surfaceless.c index 9df753f1c15..87b6888ee24 100644 --- a/src/egl/drivers/dri2/platform_surfaceless.c +++ b/src/egl/drivers/dri2/platform_surfaceless.c @@ -288,7 +288,7 @@ surfaceless_probe_device(_EGLDisplay *disp, bool swrast, bool zink) } if (dri2_dpy->driver_name) { - dri2_detect_swrast(disp); + dri2_detect_swrast_kopper(disp); if (dri2_dpy->kopper) dri2_dpy->loader_extensions = kopper_loader_extensions; else if (swrast) @@ -359,7 +359,7 @@ surfaceless_probe_device_sw(_EGLDisplay *disp) if (!dri2_dpy->driver_name) return false; - dri2_detect_swrast(disp); + dri2_detect_swrast_kopper(disp); if (dri2_dpy->kopper) dri2_dpy->loader_extensions = kopper_loader_extensions; diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c index 8b1b79d526c..e4b4b7140ac 100644 --- a/src/egl/drivers/dri2/platform_wayland.c +++ b/src/egl/drivers/dri2/platform_wayland.c @@ -2620,7 +2620,7 @@ dri2_initialize_wayland_drm(_EGLDisplay *disp) goto cleanup; } - dri2_detect_swrast(disp); + dri2_detect_swrast_kopper(disp); dri2_dpy->loader_extensions = dri2_dpy->kopper ? kopper_loader_extensions : dri2_loader_extensions; @@ -3126,7 +3126,7 @@ dri2_initialize_wayland_swrast(_EGLDisplay *disp) goto cleanup; dri2_dpy->driver_name = strdup(disp->Options.Zink ? "zink" : "swrast"); - dri2_detect_swrast(disp); + dri2_detect_swrast_kopper(disp); dri2_dpy->loader_extensions = dri2_dpy->kopper ? kopper_loader_extensions : swrast_loader_extensions; diff --git a/src/egl/drivers/dri2/platform_x11.c b/src/egl/drivers/dri2/platform_x11.c index 47bbbdeea01..18d2ba6a152 100644 --- a/src/egl/drivers/dri2/platform_x11.c +++ b/src/egl/drivers/dri2/platform_x11.c @@ -1313,7 +1313,8 @@ dri2_initialize_x11(_EGLDisplay *disp) return EGL_FALSE; } #endif - dri2_detect_swrast(disp); + + dri2_detect_swrast_kopper(disp); if (dri2_dpy->kopper) return dri2_initialize_x11_kopper(disp, force_zink);