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:
committed by
Marge Bot
parent
453ecaddb5
commit
4d8146befb
@@ -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 *
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user