diff options
Diffstat (limited to 'src/mesa/drivers')
| l--------- | src/mesa/drivers/dri/i965/intel_pixel_read.c | 1 | ||||
| -rw-r--r-- | src/mesa/drivers/dri/intel/intel_pixel.c | 4 | ||||
| -rw-r--r-- | src/mesa/drivers/dri/intel/intel_pixel_read.c | 11 | 
3 files changed, 13 insertions, 3 deletions
| diff --git a/src/mesa/drivers/dri/i965/intel_pixel_read.c b/src/mesa/drivers/dri/i965/intel_pixel_read.c new file mode 120000 index 0000000000..cc4589f4d4 --- /dev/null +++ b/src/mesa/drivers/dri/i965/intel_pixel_read.c @@ -0,0 +1 @@ +../intel/intel_pixel_read.c
\ No newline at end of file diff --git a/src/mesa/drivers/dri/intel/intel_pixel.c b/src/mesa/drivers/dri/intel/intel_pixel.c index 36a684b3b8..da9ccb23f1 100644 --- a/src/mesa/drivers/dri/intel/intel_pixel.c +++ b/src/mesa/drivers/dri/intel/intel_pixel.c @@ -424,10 +424,8 @@ intelInitPixelFuncs(struct dd_function_table *functions)        functions->Bitmap = intelBitmap;        functions->CopyPixels = intelCopyPixels;        functions->DrawPixels = intelDrawPixels; -#ifdef I915 -      functions->ReadPixels = intelReadPixels; -#endif     } +   functions->ReadPixels = intelReadPixels;  }  void diff --git a/src/mesa/drivers/dri/intel/intel_pixel_read.c b/src/mesa/drivers/dri/intel/intel_pixel_read.c index 2c57b470f5..538da28c50 100644 --- a/src/mesa/drivers/dri/intel/intel_pixel_read.c +++ b/src/mesa/drivers/dri/intel/intel_pixel_read.c @@ -291,6 +291,7 @@ intelReadPixels(GLcontext * ctx,     intelFlush(ctx); +#ifdef I915     if (do_blit_readpixels         (ctx, x, y, width, height, format, type, pack, pixels))        return; @@ -298,9 +299,19 @@ intelReadPixels(GLcontext * ctx,     if (do_texture_readpixels         (ctx, x, y, width, height, format, type, pack, pixels))        return; +#endif     if (INTEL_DEBUG & DEBUG_PIXEL)        _mesa_printf("%s: fallback to swrast\n", __FUNCTION__); +   /* Update Mesa state before calling down into _swrast_ReadPixels, as +    * the spans code requires the computed buffer states to be up to date, +    * but _swrast_ReadPixels only updates Mesa state after setting up +    * the spans code. +    */ + +   if (ctx->NewState) +      _mesa_update_state(ctx); +     _swrast_ReadPixels(ctx, x, y, width, height, format, type, pack, pixels);  } | 
