summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChia-I Wu <olvaffe@gmail.com>2010-01-15 18:10:54 +0800
committerChia-I Wu <olvaffe@gmail.com>2010-01-15 18:12:23 +0800
commit8cfdbfbcbd2e2c501988e028a59462ad8982fcdc (patch)
tree1ac327536e92a49baecac8318f8921cc120cef9c /src
parentb2c7b08299fc4701648207bc9d90676e147475b9 (diff)
st/egl_g3d: Avoid validation upon buffer swap or flush frontbuffer.
With screen->update_buffer being hooked, leave the job to the state trackers.
Diffstat (limited to 'src')
-rw-r--r--src/gallium/state_trackers/egl_g3d/common/egl_g3d.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/gallium/state_trackers/egl_g3d/common/egl_g3d.c b/src/gallium/state_trackers/egl_g3d/common/egl_g3d.c
index d0c9755d5e..51da8e19f5 100644
--- a/src/gallium/state_trackers/egl_g3d/common/egl_g3d.c
+++ b/src/gallium/state_trackers/egl_g3d/common/egl_g3d.c
@@ -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;