diff options
author | Keith Whitwell <keith@tungstengraphics.com> | 2008-05-08 22:10:15 +0100 |
---|---|---|
committer | Keith Whitwell <keith@tungstengraphics.com> | 2008-05-08 22:14:59 +0100 |
commit | fec1d215f623221cb52f22c8f10e5de99ebc9cc2 (patch) | |
tree | 5a3a6313a446e88386726f9c6997f920972115eb /src/gallium/winsys/xlib | |
parent | 9002cdb48e65c063ea00e1cb4917d432b22ae0ad (diff) |
xlib: more SP_NO_RAST support
For some resaon normal (non-display-buffer) buffers are being allocated
through Xshm... Bypass at least for SP_NO_RAST
Diffstat (limited to 'src/gallium/winsys/xlib')
-rw-r--r-- | src/gallium/winsys/xlib/fakeglx.c | 9 | ||||
-rw-r--r-- | src/gallium/winsys/xlib/xm_api.c | 3 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/gallium/winsys/xlib/fakeglx.c b/src/gallium/winsys/xlib/fakeglx.c index ec77e81fed..2c0075e934 100644 --- a/src/gallium/winsys/xlib/fakeglx.c +++ b/src/gallium/winsys/xlib/fakeglx.c @@ -1689,6 +1689,15 @@ static void Fake_glXSwapBuffers( Display *dpy, GLXDrawable drawable ) { XMesaBuffer buffer = XMesaFindBuffer( dpy, drawable ); + static boolean firsttime = 1, no_rast = 0; + + if (firsttime) { + no_rast = getenv("SP_NO_RAST") != NULL; + firsttime = 0; + } + + if (no_rast) + return; if (buffer) { XMesaSwapBuffers(buffer); diff --git a/src/gallium/winsys/xlib/xm_api.c b/src/gallium/winsys/xlib/xm_api.c index 0c248344b1..26b722f343 100644 --- a/src/gallium/winsys/xlib/xm_api.c +++ b/src/gallium/winsys/xlib/xm_api.c @@ -110,6 +110,9 @@ int xmesa_check_for_xshm( XMesaDisplay *display ) int major, minor, ignore; Bool pixmaps; + if (getenv("SP_NO_RAST")) + return 0; + if (getenv("MESA_NOSHM")) { return 0; } |