[Mesa-dev] [PATCH 3/3] i965/tiled_memoyp: Get rid of the direction parameter to get_memcpy

Roland Scheidegger sroland at vmware.com
Fri Apr 8 00:42:14 UTC 2016


Am 07.04.2016 um 22:56 schrieb Jason Ekstrand:
> Now that we can use the much simpler rgba8_copy function, we don't need to
> hand different functions out based on direction.
> ---
>  src/mesa/drivers/dri/i965/intel_pixel_read.c   |  3 +--
>  src/mesa/drivers/dri/i965/intel_tex_image.c    |  3 +--
>  src/mesa/drivers/dri/i965/intel_tex_subimage.c |  3 +--
>  src/mesa/drivers/dri/i965/intel_tiled_memcpy.c |  3 +--
>  src/mesa/drivers/dri/i965/intel_tiled_memcpy.h | 15 +--------------
>  5 files changed, 5 insertions(+), 22 deletions(-)
> 
> diff --git a/src/mesa/drivers/dri/i965/intel_pixel_read.c b/src/mesa/drivers/dri/i965/intel_pixel_read.c
> index 31030b1..a486d6e 100644
> --- a/src/mesa/drivers/dri/i965/intel_pixel_read.c
> +++ b/src/mesa/drivers/dri/i965/intel_pixel_read.c
> @@ -141,8 +141,7 @@ intel_readpixels_tiled_memcpy(struct gl_context * ctx,
>     if (rb->_BaseFormat == GL_RGB)
>        return false;
>  
> -   if (!intel_get_memcpy(rb->Format, format, type, &mem_copy, &cpp,
> -                         INTEL_DOWNLOAD))
> +   if (!intel_get_memcpy(rb->Format, format, type, &mem_copy, &cpp))
>        return false;
>  
>     if (!irb->mt ||
> diff --git a/src/mesa/drivers/dri/i965/intel_tex_image.c b/src/mesa/drivers/dri/i965/intel_tex_image.c
> index 1601edd..bee8be1 100644
> --- a/src/mesa/drivers/dri/i965/intel_tex_image.c
> +++ b/src/mesa/drivers/dri/i965/intel_tex_image.c
> @@ -404,8 +404,7 @@ intel_gettexsubimage_tiled_memcpy(struct gl_context *ctx,
>     if (texImage->_BaseFormat == GL_RGB)
>        return false;
>  
> -   if (!intel_get_memcpy(texImage->TexFormat, format, type, &mem_copy, &cpp,
> -                         INTEL_DOWNLOAD))
> +   if (!intel_get_memcpy(texImage->TexFormat, format, type, &mem_copy, &cpp))
>        return false;
>  
>     /* If this is a nontrivial texture view, let another path handle it instead. */
> diff --git a/src/mesa/drivers/dri/i965/intel_tex_subimage.c b/src/mesa/drivers/dri/i965/intel_tex_subimage.c
> index 4849a41..9561968 100644
> --- a/src/mesa/drivers/dri/i965/intel_tex_subimage.c
> +++ b/src/mesa/drivers/dri/i965/intel_tex_subimage.c
> @@ -119,8 +119,7 @@ intel_texsubimage_tiled_memcpy(struct gl_context * ctx,
>     if (ctx->_ImageTransferState)
>        return false;
>  
> -   if (!intel_get_memcpy(texImage->TexFormat, format, type, &mem_copy, &cpp,
> -                         INTEL_UPLOAD))
> +   if (!intel_get_memcpy(texImage->TexFormat, format, type, &mem_copy, &cpp))
>        return false;
>  
>     /* If this is a nontrivial texture view, let another path handle it instead. */
> diff --git a/src/mesa/drivers/dri/i965/intel_tiled_memcpy.c b/src/mesa/drivers/dri/i965/intel_tiled_memcpy.c
> index 66c1f9b..0a68751 100644
> --- a/src/mesa/drivers/dri/i965/intel_tiled_memcpy.c
> +++ b/src/mesa/drivers/dri/i965/intel_tiled_memcpy.c
> @@ -745,8 +745,7 @@ tiled_to_linear(uint32_t xt1, uint32_t xt2,
>   * \return true if the format and type combination are valid
>   */
>  bool intel_get_memcpy(mesa_format tiledFormat, GLenum format,
> -                      GLenum type, mem_copy_fn *mem_copy, uint32_t *cpp,
> -                      enum intel_memcpy_direction direction)
> +                      GLenum type, mem_copy_fn *mem_copy, uint32_t *cpp)
>  {
>     if (type == GL_UNSIGNED_INT_8_8_8_8_REV &&
>         !(format == GL_RGBA || format == GL_BGRA))
> diff --git a/src/mesa/drivers/dri/i965/intel_tiled_memcpy.h b/src/mesa/drivers/dri/i965/intel_tiled_memcpy.h
> index 01543bf..d9148bb 100644
> --- a/src/mesa/drivers/dri/i965/intel_tiled_memcpy.h
> +++ b/src/mesa/drivers/dri/i965/intel_tiled_memcpy.h
> @@ -55,20 +55,7 @@ tiled_to_linear(uint32_t xt1, uint32_t xt2,
>                  uint32_t tiling,
>                  mem_copy_fn mem_copy);
>  
> -/* Tells intel_get_memcpy() whether the memcpy() is
> - *
> - *  - an upload to the GPU with an aligned destination and a potentially
> - *    unaligned source; or
> - *  - a download from the GPU with an aligned source and a potentially
> - *    unaligned destination.
> - */
> -enum intel_memcpy_direction {
> -   INTEL_UPLOAD,
> -   INTEL_DOWNLOAD
> -};
> -
>  bool intel_get_memcpy(mesa_format tiledFormat, GLenum format,
> -                      GLenum type, mem_copy_fn *mem_copy, uint32_t *cpp,
> -                      enum intel_memcpy_direction direction);
> +                      GLenum type, mem_copy_fn *mem_copy, uint32_t *cpp);
>  
>  #endif /* INTEL_TILED_MEMCPY */
> 

Other than hacking on the assembly in there I'm really not all that
familiar with that code but these patches look like a nice cleanup.

Reviewed-by: Roland Scheidegger <sroland at vmware.com>


More information about the mesa-dev mailing list