diff --git a/src/mesa/swrast/s_context.c b/src/mesa/swrast/s_context.c
index 7519663..02bfd84 100644
--- a/src/mesa/swrast/s_context.c
+++ b/src/mesa/swrast/s_context.c
@@ -901,7 +901,7 @@ _swrast_render_start( GLcontext *ctx )
 {
    SWcontext *swrast = SWRAST_CONTEXT(ctx);
    if (swrast->Driver.SpanRenderStart)
-      swrast->Driver.SpanRenderStart( ctx );
+      swrast->Driver.SpanRenderStart( ctx, GL_FALSE );
    swrast->PointSpan.end = 0;
 }
  
diff --git a/src/mesa/swrast/s_context.h b/src/mesa/swrast/s_context.h
index 9059f9b..23302b2 100644
--- a/src/mesa/swrast/s_context.h
+++ b/src/mesa/swrast/s_context.h
@@ -260,11 +260,17 @@ CONST_SWRAST_CONTEXT(const GLcontext *ctx)
  * driver's opportunity to map renderbuffers and textures.
  */
 static INLINE void
-swrast_render_start(GLcontext *ctx)
+swrast_render_start_fb(GLcontext *ctx, GLboolean fbonly)
 {
    SWcontext *swrast = SWRAST_CONTEXT(ctx);
    if (swrast->Driver.SpanRenderStart)
-      swrast->Driver.SpanRenderStart(ctx);
+      swrast->Driver.SpanRenderStart(ctx, fbonly);
+}
+
+static INLINE void
+swrast_render_start(GLcontext *ctx)
+{
+   swrast_render_start_fb(ctx, GL_FALSE);
 }
 
 
diff --git a/src/mesa/swrast/s_readpix.c b/src/mesa/swrast/s_readpix.c
index ecabac6..7b1f198 100644
--- a/src/mesa/swrast/s_readpix.c
+++ b/src/mesa/swrast/s_readpix.c
@@ -516,7 +516,7 @@ _swrast_ReadPixels( GLcontext *ctx,
     * since this is where a driver may grab the hw lock and get an updated
     * window size.
     */
-   swrast_render_start(ctx);
+   swrast_render_start_fb(ctx, GL_TRUE);
 
    if (swrast->NewState)
       _swrast_validate_derived( ctx );
diff --git a/src/mesa/swrast/swrast.h b/src/mesa/swrast/swrast.h
index c01cf7d..a7edb30 100644
--- a/src/mesa/swrast/swrast.h
+++ b/src/mesa/swrast/swrast.h
@@ -223,7 +223,7 @@ struct swrast_device_driver {
     * these functions.  Locking in that case must be organized by the
     * driver by other mechanisms.
     */
-   void (*SpanRenderStart)(GLcontext *ctx);
+   void (*SpanRenderStart)(GLcontext *ctx, GLboolean fb_only);
    void (*SpanRenderFinish)(GLcontext *ctx);
 };
 
