fix up radeon span functions using latest r200 code from Brian,
[mesa.git] / src / mesa / drivers / dri / i915 / intel_state.c
index 76bfaec18f57184b7d723d82707ddf08b6b382c4..2343d061f527de04d8766fa8d9cb87533e152b7d 100644 (file)
@@ -170,12 +170,15 @@ static void intelDrawBuffer(GLcontext *ctx, GLenum mode )
    intelScreenPrivate *screen = intel->intelScreen;
    int front = 0;
  
-   switch ( ctx->Color._DrawDestMask[0] ) {
-   case DD_FRONT_LEFT_BIT:
+   if (!ctx->DrawBuffer)
+      return;
+
+   switch ( ctx->DrawBuffer->_ColorDrawBufferMask[0] ) {
+   case BUFFER_BIT_FRONT_LEFT:
       front = 1;
       FALLBACK( intel, INTEL_FALLBACK_DRAW_BUFFER, GL_FALSE );
       break;
-   case DD_BACK_LEFT_BIT:
+   case BUFFER_BIT_BACK_LEFT:
       front = 0;
       FALLBACK( intel, INTEL_FALLBACK_DRAW_BUFFER, GL_FALSE );
       break;
@@ -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 );