Mesa (master): sw/xlib: Fallback to XPutImage when shmget fails.

Jose Fonseca jrfonseca at kemper.freedesktop.org
Fri Apr 23 16:12:16 UTC 2010


Module: Mesa
Branch: master
Commit: 405f925d4e5fa74961754af93e7fb309774551cc
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=405f925d4e5fa74961754af93e7fb309774551cc

Author: José Fonseca <jfonseca at vmware.com>
Date:   Fri Apr 23 16:56:55 2010 +0100

sw/xlib: Fallback to XPutImage when shmget fails.

After continuously running regression tests on Ubuntu for 2 days, shmget
mysteriously starts to fail. Even when the X server is reset.

This allow rendering to proceed, albeit using a slower presentation path.

---

 src/gallium/winsys/sw/xlib/xlib_sw_winsys.c |   11 +++++------
 1 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/src/gallium/winsys/sw/xlib/xlib_sw_winsys.c b/src/gallium/winsys/sw/xlib/xlib_sw_winsys.c
index ec4f919..278a191 100644
--- a/src/gallium/winsys/sw/xlib/xlib_sw_winsys.c
+++ b/src/gallium/winsys/sw/xlib/xlib_sw_winsys.c
@@ -385,13 +385,12 @@ xm_displaytarget_create(struct sw_winsys *winsys,
 
    if (!debug_get_bool_option("XLIB_NO_SHM", FALSE))
    {
-      xm_dt->shminfo.shmid = -1;
-      xm_dt->shminfo.shmaddr = (char *) -1;
-      xm_dt->shm = TRUE;
-         
       xm_dt->data = alloc_shm(xm_dt, size);
-      if(!xm_dt->data)
-         goto no_data;
+      if(!xm_dt->data) {
+         xm_dt->shminfo.shmid = -1;
+         xm_dt->shminfo.shmaddr = (char *) -1;
+         xm_dt->shm = TRUE;
+      }
    }
 
    if(!xm_dt->data) {




More information about the mesa-commit mailing list