[Mesa-dev] [PATCH] i965/pixel_read: Don't try to do a tiled_memcpy from a multisampled buffer
Kenneth Graunke
kenneth at whitecape.org
Sat Jan 31 03:04:50 PST 2015
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 <kenneth at whitecape.org>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20150131/d2d82f26/attachment.sig>
More information about the mesa-dev
mailing list