Improve error logging.
This commit is contained in:
parent
5449634e3c
commit
6d2896b384
|
@ -1,3 +1,7 @@
|
|||
2006-03-22 Kristian Høgsberg <krh@redhat.com>
|
||||
|
||||
* GL/glx/glxdri.c (__glXDRIscreenProbe): Improve error logging.
|
||||
|
||||
Wed Mar 22 16:28:46 2006 Søren Sandmann <sandmann@redhat.com>
|
||||
|
||||
* fb/fbmmx.c (fbCopyAreammx): Use inline assembly for copy area,
|
||||
|
|
|
@ -712,8 +712,6 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
|||
__DRIframebuffer framebuffer;
|
||||
int fd = -1;
|
||||
int status;
|
||||
const char *err_msg;
|
||||
const char *err_extra = NULL;
|
||||
int api_ver = INTERNAL_VERSION;
|
||||
drm_magic_t magic;
|
||||
drmVersionPtr version;
|
||||
|
@ -750,21 +748,20 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
|||
framebuffer.dev_priv = NULL;
|
||||
|
||||
if (!DRIOpenConnection(pScreen, &hSAREA, &BusID)) {
|
||||
err_msg = "DRIOpenConnection";
|
||||
err_extra = NULL;
|
||||
LogMessage(X_ERROR, "AIGLX error: DRIOpenConnection failed\n");
|
||||
goto handle_error;
|
||||
}
|
||||
|
||||
fd = drmOpen(NULL, BusID);
|
||||
|
||||
if (fd < 0) {
|
||||
err_msg = "open DRM";
|
||||
err_extra = strerror( -fd );
|
||||
LogMessage(X_ERROR, "AIGLX error: drmOpen failed (%s)\n",
|
||||
strerror(-fd));
|
||||
goto handle_error;
|
||||
}
|
||||
|
||||
if (drmGetMagic(fd, &magic)) {
|
||||
err_msg = "drmGetMagic";
|
||||
LogMessage(X_ERROR, "AIGLX error: drmGetMagic failed\n");
|
||||
goto handle_error;
|
||||
}
|
||||
|
||||
|
@ -782,7 +779,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
|||
}
|
||||
|
||||
if (!DRIAuthConnection(pScreen, magic)) {
|
||||
err_msg = "DRIAuthConnection";
|
||||
LogMessage(X_ERROR, "AIGLX error: DRIAuthConnection failed\n");
|
||||
goto handle_error;
|
||||
}
|
||||
|
||||
|
@ -794,7 +791,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
|||
&ddx_version.minor,
|
||||
&ddx_version.patch,
|
||||
&driverName)) {
|
||||
err_msg = "DRIGetClientDriverName";
|
||||
LogMessage(X_ERROR, "AIGLX error: DRIGetClientDriverName failed\n");
|
||||
goto handle_error;
|
||||
}
|
||||
|
||||
|
@ -803,15 +800,15 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
|||
|
||||
screen->driver = dlopen(filename, RTLD_LAZY | RTLD_LOCAL);
|
||||
if (screen->driver == NULL) {
|
||||
err_msg = "Loading driver";
|
||||
err_extra = filename;
|
||||
LogMessage(X_ERROR, "AIGLX error: dlopen of %s failed (%s)\n",
|
||||
filename, dlerror());
|
||||
goto handle_error;
|
||||
}
|
||||
|
||||
createNewScreen = dlsym(screen->driver, CREATE_NEW_SCREEN_FUNC);
|
||||
if (createNewScreen == NULL) {
|
||||
err_msg = "Driver entry point lookup";
|
||||
err_extra = CREATE_NEW_SCREEN_FUNC;
|
||||
LogMessage(X_ERROR, "AIGLX error: dlsym for %s failed (%s)\n",
|
||||
CREATE_NEW_SCREEN_FUNC, dlerror());
|
||||
goto handle_error;
|
||||
}
|
||||
|
||||
|
@ -824,7 +821,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
|||
if (!DRIGetDeviceInfo(pScreen, &hFB, &junk,
|
||||
&framebuffer.size, &framebuffer.stride,
|
||||
&framebuffer.dev_priv_size, &framebuffer.dev_priv)) {
|
||||
err_msg = "XF86DRIGetDeviceInfo";
|
||||
LogMessage(X_ERROR, "AIGLX error: XF86DRIGetDeviceInfo failed");
|
||||
goto handle_error;
|
||||
}
|
||||
|
||||
|
@ -835,7 +832,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
|||
* do... */
|
||||
dev_priv = xalloc(framebuffer.dev_priv_size);
|
||||
if (dev_priv == NULL) {
|
||||
err_msg = "dev_priv allocation";
|
||||
LogMessage(X_ERROR, "AIGLX error: dev_priv allocation failed");
|
||||
goto handle_error;
|
||||
}
|
||||
memcpy(dev_priv, framebuffer.dev_priv, framebuffer.dev_priv_size);
|
||||
|
@ -848,8 +845,8 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
|||
status = drmMap(fd, hFB, framebuffer.size,
|
||||
(drmAddressPtr)&framebuffer.base);
|
||||
if (status != 0) {
|
||||
err_msg = "drmMap of framebuffer";
|
||||
err_extra = strerror( -status );
|
||||
LogMessage(X_ERROR, "AIGLX error: drmMap of framebuffer failed (%s)",
|
||||
strerror(-status));
|
||||
goto handle_error;
|
||||
}
|
||||
|
||||
|
@ -858,8 +855,8 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
|||
*/
|
||||
status = drmMap(fd, hSAREA, SAREA_MAX, &pSAREA);
|
||||
if (status != 0) {
|
||||
err_msg = "drmMap of sarea";
|
||||
err_extra = strerror( -status );
|
||||
LogMessage(X_ERROR, "AIGLX error: drmMap of SAREA failed (%s)",
|
||||
strerror(-status));
|
||||
goto handle_error;
|
||||
}
|
||||
|
||||
|
@ -879,8 +876,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
|||
&driver_modes);
|
||||
|
||||
if (screen->driScreen.private == NULL) {
|
||||
err_msg = "InitDriver";
|
||||
err_extra = NULL;
|
||||
LogMessage(X_ERROR, "AIGLX error: Calling driver entry point failed");
|
||||
goto handle_error;
|
||||
}
|
||||
|
||||
|
@ -916,12 +912,6 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
|||
|
||||
xfree(screen);
|
||||
|
||||
if (err_extra != NULL)
|
||||
LogMessage(X_ERROR,
|
||||
"AIGLX error: %s failed (%s)\n", err_msg, err_extra);
|
||||
else
|
||||
LogMessage(X_ERROR, "AIGLX error: %s failed\n", err_msg);
|
||||
|
||||
LogMessage(X_ERROR, "GLX-DRI: reverting to software rendering\n");
|
||||
|
||||
return NULL;
|
||||
|
|
Loading…
Reference in New Issue
Block a user