On Friday, January 30, 2015 06:56:22 PM Jason Ekstrand wrote:
> The GL spec guarantees that glGetTexImage will never get a multisampled
> texture, but this is not true for glReadPixels.  If we get a multisampled
> buffer, we have to do a multisample resolve on it before we can pull the
> data down for the user.  Since this isn't practical to handle in
> tiled_memcpy, we just fall back to the other paths that can handle this.
> ---
>  src/mesa/drivers/dri/i965/intel_pixel_read.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/src/mesa/drivers/dri/i965/intel_pixel_read.c 
> b/src/mesa/drivers/dri/i965/intel_pixel_read.c
> index 15f9e38..f3ab05c 100644
> --- a/src/mesa/drivers/dri/i965/intel_pixel_read.c
> +++ b/src/mesa/drivers/dri/i965/intel_pixel_read.c
> @@ -125,6 +125,13 @@ intel_readpixels_tiled_memcpy(struct gl_context * ctx,
>        yoffset += irb->mt->level[level].level_y;
>     }
>  
> +   /* It is possible that the renderbuffer (or underlying texture) is
> +    * multisampled.  Since ReadPixels from a multisampled buffer requires a
> +    * multisample resolve, we can't handle this here
> +    */
> +   if (rb->NumSamples > 1)
> +      return false;
> +
>     if (!intel_get_memcpy(rb->Format, format, type, &mem_copy, &cpp))
>        return false;
>  
> 

Reviewed-by: Kenneth Graunke <kenn...@whitecape.org>

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to