summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJosé Fonseca <[email protected]>2010-04-23 16:56:55 +0100
committerJosé Fonseca <[email protected]>2010-04-23 17:08:11 +0100
commit405f925d4e5fa74961754af93e7fb309774551cc (patch)
treef6a3403faa115bc109d7e126e42873785905f4fe /src
parent158f9d56e0ae9ab5d879b8db32e672eebb667e2a (diff)
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.
Diffstat (limited to 'src')
-rw-r--r--src/gallium/winsys/sw/xlib/xlib_sw_winsys.c11
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 ec4f919d082..278a191a0e5 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) {