xlib: only shortcircuit makecurrent if NO_RAST set, otherwise window size updates...
authorKeith Whitwell <keith@tungstengraphics.com>
Thu, 24 Apr 2008 11:36:04 +0000 (12:36 +0100)
committerKeith Whitwell <keith@tungstengraphics.com>
Thu, 24 Apr 2008 11:39:08 +0000 (12:39 +0100)
src/gallium/winsys/xlib/fakeglx.c

index 6e04cb4117cbb43b48311c07e30ffd22fd330977..ec77e81fedb8268eb08d7bec54aee7bacda8e73f 100644 (file)
@@ -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 &&