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