summaryrefslogtreecommitdiff
path: root/src/gallium/winsys/xlib
diff options
context:
space:
mode:
authorKeith Whitwell <keith@tungstengraphics.com>2008-04-24 12:36:04 +0100
committerKeith Whitwell <keith@tungstengraphics.com>2008-04-24 12:39:08 +0100
commitdddedd915afb58ab6b87492e850baeadc007fe47 (patch)
treeb73ca5e7265382d4bddbbe1e2181d14f3b48521c /src/gallium/winsys/xlib
parent7333578d2a5fa18f7f0101fc3fd3b03cf2f356bc (diff)
xlib: only shortcircuit makecurrent if NO_RAST set, otherwise window size updates fail
Diffstat (limited to 'src/gallium/winsys/xlib')
-rw-r--r--src/gallium/winsys/xlib/fakeglx.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/gallium/winsys/xlib/fakeglx.c b/src/gallium/winsys/xlib/fakeglx.c
index 6e04cb4117..ec77e81fed 100644
--- a/src/gallium/winsys/xlib/fakeglx.c
+++ b/src/gallium/winsys/xlib/fakeglx.c
@@ -1459,6 +1459,13 @@ Fake_glXMakeContextCurrent( Display *dpy, GLXDrawable draw,
GLXDrawable read, GLXContext ctx )
{
struct fake_glx_context *glxCtx = (struct fake_glx_context *) ctx;
+ static boolean firsttime = 1, no_rast = 0;
+
+ if (firsttime) {
+ no_rast = getenv("SP_NO_RAST") != NULL;
+ firsttime = 0;
+ }
+
if (ctx && draw && read) {
XMesaBuffer drawBuffer, readBuffer;
@@ -1504,7 +1511,8 @@ Fake_glXMakeContextCurrent( Display *dpy, GLXDrawable draw,
#endif
}
- if (MakeCurrent_PrevContext == ctx &&
+ if (no_rast &&
+ MakeCurrent_PrevContext == ctx &&
MakeCurrent_PrevDrawable == draw &&
MakeCurrent_PrevReadable == read &&
MakeCurrent_PrevDrawBuffer == drawBuffer &&