egl: rename dri2_load_driver -> dri2_detect_swrast

this simplifies some error cases and makes the call more intelligible

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34609>
This commit is contained in:
Mike Blumenkrantz
2025-04-18 09:30:34 -04:00
committed by Marge Bot
parent 453ecaddb5
commit 4d8146befb
8 changed files with 16 additions and 44 deletions
+2 -4
View File
@@ -565,16 +565,14 @@ const __DRIimageLookupExtension image_lookup_extension = {
.lookupEGLImageValidated = dri2_lookup_egl_image_validated,
};
EGLBoolean
dri2_load_driver(_EGLDisplay *disp)
void
dri2_detect_swrast(_EGLDisplay *disp)
{
struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
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"));
return EGL_TRUE;
}
static const char *
+2 -2
View File
@@ -438,8 +438,8 @@ extern const __DRIimageLookupExtension image_lookup_extension;
extern const __DRIbackgroundCallableExtension background_callable_extension;
extern const __DRIswrastLoaderExtension swrast_pbuffer_loader_extension;
EGLBoolean
dri2_load_driver(_EGLDisplay *disp);
void
dri2_detect_swrast(_EGLDisplay *disp);
/* Helper for platforms not using dri2_create_screen */
void
+2 -7
View File
@@ -1045,9 +1045,7 @@ droid_load_driver(_EGLDisplay *disp, bool swrast)
}
dri2_dpy->loader_extensions = droid_image_loader_extensions;
if (!dri2_load_driver(disp)) {
goto error;
}
dri2_detect_swrast(disp);
return true;
@@ -1201,10 +1199,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;
if(!dri2_load_driver(disp)) {
err = "DRI2: Failed to load swrast";
goto cleanup;
}
dri2_detect_swrast(disp);
if (!dri2_create_screen(disp)) {
err = "DRI2: Failed to create swrast screen";
+2 -11
View File
@@ -294,16 +294,11 @@ device_probe_device(_EGLDisplay *disp)
dri2_dpy->driver_name = strdup("kms_swrast");
}
if (!dri2_load_driver(disp))
goto err_load;
dri2_detect_swrast(disp);
dri2_dpy->loader_extensions = image_loader_extensions;
return true;
err_load:
free(dri2_dpy->driver_name);
dri2_dpy->driver_name = NULL;
err_name:
close(dri2_dpy->fd_render_gpu);
dri2_dpy->fd_render_gpu = dri2_dpy->fd_display_gpu = -1;
@@ -322,11 +317,7 @@ device_probe_device_sw(_EGLDisplay *disp)
return false;
/* HACK: should be driver_swrast_null */
if (!dri2_load_driver(disp)) {
free(dri2_dpy->driver_name);
dri2_dpy->driver_name = NULL;
return false;
}
dri2_detect_swrast(disp);
dri2_dpy->loader_extensions = swrast_loader_extensions;
return true;
+1 -4
View File
@@ -632,10 +632,7 @@ dri2_initialize_drm(_EGLDisplay *disp)
dri2_dpy->driver_name = strdup(dri2_dpy->gbm_dri->driver_name);
if (!dri2_load_driver(disp)) {
err = "DRI3: failed to load driver";
goto cleanup;
}
dri2_detect_swrast(disp);
dri2_dpy->dri_screen_render_gpu = dri2_dpy->gbm_dri->screen;
dri2_dpy->driver_configs = dri2_dpy->gbm_dri->driver_configs;
+3 -6
View File
@@ -268,7 +268,8 @@ surfaceless_probe_device(_EGLDisplay *disp, bool swrast, bool zink)
dri2_dpy->driver_name = driver_name;
}
if (dri2_dpy->driver_name && dri2_load_driver(disp)) {
if (dri2_dpy->driver_name) {
dri2_detect_swrast(disp);
if (swrast || zink)
dri2_dpy->loader_extensions = swrast_loader_extensions;
else
@@ -336,11 +337,7 @@ surfaceless_probe_device_sw(_EGLDisplay *disp)
if (!dri2_dpy->driver_name)
return false;
if (!dri2_load_driver(disp)) {
free(dri2_dpy->driver_name);
dri2_dpy->driver_name = NULL;
return false;
}
dri2_detect_swrast(disp);
dri2_dpy->loader_extensions = swrast_loader_extensions;
+2 -6
View File
@@ -2313,10 +2313,7 @@ dri2_initialize_wayland_drm(_EGLDisplay *disp)
}
dri2_dpy->loader_extensions = dri2_loader_extensions;
if (!dri2_load_driver(disp)) {
_eglError(EGL_BAD_ALLOC, "DRI2: failed to load driver");
goto cleanup;
}
dri2_detect_swrast(disp);
if (!dri2_create_screen(disp))
goto cleanup;
@@ -3066,8 +3063,7 @@ dri2_initialize_wayland_swrast(_EGLDisplay *disp)
}
dri2_dpy->driver_name = strdup(disp->Options.Zink ? "zink" : "swrast");
if (!dri2_load_driver(disp))
goto cleanup;
dri2_detect_swrast(disp);
dri2_dpy->loader_extensions = disp->Options.Zink ? kopper_swrast_loader_extensions : swrast_loader_extensions;
+2 -4
View File
@@ -1907,8 +1907,7 @@ dri2_initialize_x11_dri2(_EGLDisplay *disp)
if (!dri2_x11_connect(dri2_dpy))
goto cleanup;
if (!dri2_load_driver(disp))
goto cleanup;
dri2_detect_swrast(disp);
if (dri2_dpy->dri2_minor >= 1)
dri2_dpy->loader_extensions = dri2_loader_extensions;
@@ -2000,8 +1999,7 @@ dri2_initialize_x11(_EGLDisplay *disp, bool *allow_dri2)
}
}
#endif
if (!dri2_load_driver(disp))
return EGL_FALSE;
dri2_detect_swrast(disp);
if (disp->Options.ForceSoftware || dri2_dpy->kopper)
return dri2_initialize_x11_swrast(disp);