fix up radeon span functions using latest r200 code from Brian,
[mesa.git] / src / mesa / drivers / dri / i915 / intel_state.c
index db6a140d2d56d88cdc25697293c42a2ce5c2aca4..2343d061f527de04d8766fa8d9cb87533e152b7d 100644 (file)
@@ -170,6 +170,9 @@ static void intelDrawBuffer(GLcontext *ctx, GLenum mode )
    intelScreenPrivate *screen = intel->intelScreen;
    int front = 0;
  
+   if (!ctx->DrawBuffer)
+      return;
+
    switch ( ctx->DrawBuffer->_ColorDrawBufferMask[0] ) {
    case BUFFER_BIT_FRONT_LEFT:
       front = 1;
@@ -184,24 +187,15 @@ static void intelDrawBuffer(GLcontext *ctx, GLenum mode )
       return;
    }
 
-   /* We want to update the s/w rast state too so that r200SetBuffer()
-    * gets called.
-    */
-   _swrast_DrawBuffer(ctx, mode);
-
    if ( intel->sarea->pf_current_page == 1 ) 
       front ^= 1;
    
    intelSetFrontClipRects( intel );
 
    if (front) {
-      intel->drawOffset = screen->frontOffset;
-      intel->drawMap = (char *)intel->driScreen->pFB;
-      intel->readMap = (char *)intel->driScreen->pFB;
+      intel->drawOffset = screen->front.offset;
    } else {
-      intel->drawOffset = screen->backOffset;
-      intel->drawMap = screen->back.map;
-      intel->readMap = screen->back.map;
+      intel->drawOffset = screen->back.offset;
    }
 
    intel->vtbl.set_draw_offset( intel, intel->drawOffset );