From 81c1993daa57ef0fc1fc6993aa832f3b4005154b Mon Sep 17 00:00:00 2001
From: Brian <brian.paul@tungstengraphics.com>
Date: Mon, 5 Nov 2007 10:01:51 -0700
Subject: rewrite/simplify intelSwapBuffers()

---
 .../drivers/dri/intel_winsys/intel_swapbuffers.c   | 25 ++++++++--------------
 1 file changed, 9 insertions(+), 16 deletions(-)

(limited to 'src/mesa/drivers/dri/intel_winsys')

diff --git a/src/mesa/drivers/dri/intel_winsys/intel_swapbuffers.c b/src/mesa/drivers/dri/intel_winsys/intel_swapbuffers.c
index 0d5ceec1e5..bc1ad04395 100644
--- a/src/mesa/drivers/dri/intel_winsys/intel_swapbuffers.c
+++ b/src/mesa/drivers/dri/intel_winsys/intel_swapbuffers.c
@@ -231,25 +231,18 @@ intelUpdateWindowSize(__DRIdrawablePrivate *dPriv)
 void
 intelSwapBuffers(__DRIdrawablePrivate * dPriv)
 {
-   if (dPriv->driContextPriv && dPriv->driContextPriv->driverPrivate) {
-      GET_CURRENT_CONTEXT(ctx);
-
-      if (ctx == NULL)
-	 return;
+   struct intel_framebuffer *intel_fb = intel_framebuffer(dPriv);
+   struct pipe_surface *back_surf;
 
-      if (ctx->Visual.doubleBufferMode) {
-	 struct intel_framebuffer *intel_fb = dPriv->driverPrivate;
-         struct pipe_surface *back_surf
-            = st_get_framebuffer_surface(intel_fb->stfb, ST_SURFACE_BACK_LEFT);
+   assert(intel_fb);
+   assert(intel_fb->stfb);
 
-	 _mesa_notifySwapBuffers(ctx);  /* flush pending rendering comands */
+   st_notify_swapbuffers(intel_fb->stfb);
 
-         intelDisplaySurface(dPriv, back_surf, NULL);
-      }
-   }
-   else {
-      /* XXX this shouldn't be an error but we can't handle it for now */
-      fprintf(stderr, "%s: drawable has no context!\n", __FUNCTION__);
+   back_surf = st_get_framebuffer_surface(intel_fb->stfb,
+                                          ST_SURFACE_BACK_LEFT);
+   if (back_surf) {
+      intelDisplaySurface(dPriv, back_surf, NULL);
    }
 }
 
-- 
cgit v1.2.3