[Mesa-dev] [PATCH 05/27] i965: Replace open coded with intel_miptree_get_image_offset()
Pohjolainen, Topi
topi.pohjolainen at gmail.com
Tue Jan 17 07:59:18 UTC 2017
On Mon, Jan 16, 2017 at 09:13:59AM -0800, Jason Ekstrand wrote:
> On Mon, Jan 16, 2017 at 1:13 AM, Topi Pohjolainen
> <[1]topi.pohjolainen at gmail.com> wrote:
>
> Signed-off-by: Topi Pohjolainen <[2]topi.pohjolainen at intel.com>
> ---
> src/mesa/drivers/dri/i965/intel_pixel_read.c | 16 ++++++++++++++--
> 1 file changed, 14 insertions(+), 2 deletions(-)
> diff --git a/src/mesa/drivers/dri/i965/intel_pixel_read.c
> b/src/mesa/drivers/dri/i965/intel_pixel_read.c
> index 2563897..ace94a0 100644
> --- a/src/mesa/drivers/dri/i965/intel_pixel_read.c
> +++ b/src/mesa/drivers/dri/i965/intel_pixel_read.c
> @@ -47,6 +47,19 @@
> #define FILE_DEBUG_FLAG DEBUG_PIXEL
> +static void
> +adjust_image_offset(const struct intel_renderbuffer *irb,
> + int *xoffset, int *yoffset)
> +{
> + unsigned x;
> + unsigned y;
> + intel_miptree_get_image_offset(irb->mt, irb->mt_level,
> irb->mt_layer,
> + &x, &y);
> +
> + *xoffset += x;
> + *yoffset += y;
> +}
> +
> /**
> * \brief A fast path for glReadPixels
> *
> @@ -153,8 +166,7 @@ intel_readpixels_tiled_memcpy(struct gl_context
> * ctx,
> return false;
> }
> - xoffset += irb->mt->level[irb->mt_level].
> slice[irb->mt_layer].x_offset;
> - yoffset += irb->mt->level[irb->mt_level].
> slice[irb->mt_layer].y_offset;
> + adjust_image_offset(irb, &xoffset, &yoffset);
>
> We do this a lot more places than just readpixels. Maybe we want to
> just add a intel_miptree_get_texel_xy_offset helper that takes a
> miptree, level, slice, and x/y and returns the total x/y. In any case,
> we really should make such a helper a bit more global and use it all of
> the other random places we do this calculation such as
> texsubimage_tiled_memcpy.
Agreed. This is in fact not needed in this series. I tried quite a number
of things and some of them I left for later. This somehow slipped here.
>
> dst_pitch = _mesa_image_row_stride(pack, width, format, type);
> --
> 2.5.5
> _______________________________________________
> mesa-dev mailing list
> [3]mesa-dev at lists.freedesktop.org
> [4]https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
> References
>
> 1. mailto:topi.pohjolainen at gmail.com
> 2. mailto:topi.pohjolainen at intel.com
> 3. mailto:mesa-dev at lists.freedesktop.org
> 4. https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list