st/egl_g3d: Avoid validation upon buffer swap or flush frontbuffer.
authorChia-I Wu <olvaffe@gmail.com>
Fri, 15 Jan 2010 10:10:54 +0000 (18:10 +0800)
committerChia-I Wu <olvaffe@gmail.com>
Fri, 15 Jan 2010 10:12:23 +0000 (18:12 +0800)
With screen->update_buffer being hooked, leave the job to the state
trackers.

src/gallium/state_trackers/egl_g3d/common/egl_g3d.c

index d0c9755d5ed2b88cd1081807ece5720d926ec774..51da8e19f5ef233ab094ce56519e7ab297602a9e 100644 (file)
@@ -463,10 +463,8 @@ egl_g3d_flush_frontbuffer(struct pipe_screen *screen,
    struct egl_g3d_context *gctx = egl_g3d_context(context_private);
    struct egl_g3d_surface *gsurf = egl_g3d_surface(gctx->base.DrawSurface);
 
-   if (gsurf) {
+   if (gsurf)
       gsurf->native->flush_frontbuffer(gsurf->native);
-      egl_g3d_validate_context(gctx->base.Display, &gctx->base);
-   }
 }
 
 /**
@@ -857,9 +855,10 @@ egl_g3d_swap_buffers(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surf)
       struct egl_g3d_config *gconf = egl_g3d_config(gsurf->base.Config);
 
       /* force validation if the swap method is not copy */
-      if (gconf->native->mode.swapMethod != GLX_SWAP_COPY_OML)
+      if (gconf->native->mode.swapMethod != GLX_SWAP_COPY_OML) {
          gctx->force_validate = EGL_TRUE;
-      egl_g3d_validate_context(dpy, &gctx->base);
+         egl_g3d_validate_context(dpy, &gctx->base);
+      }
    }
 
    return EGL_TRUE;