[Mesa-dev] [PATCH v5 3/6] nouveau/nvc0: Extract common tile mode macro

Ilia Mirkin imirkin at alum.mit.edu
Fri Mar 9 01:27:53 UTC 2018


Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>

On Thu, Mar 8, 2018 at 8:05 AM, Thierry Reding <thierry.reding at gmail.com> wrote:
> From: Thierry Reding <treding at nvidia.com>
>
> Add a new macro that can be used to extract the tiling mode from a
> tile_mode value. This is will be used to determine the number of GOBs
> used in block linear mode.
>
> Acked-by: Emil Velikov <emil.velikov at collabora.com>
> Tested-by: Andre Heider <a.heider at gmail.com>
> Signed-off-by: Thierry Reding <treding at nvidia.com>
> ---
>  src/gallium/drivers/nouveau/nvc0/nvc0_resource.h | 15 +++++++++------
>  1 file changed, 9 insertions(+), 6 deletions(-)
>
> diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_resource.h b/src/gallium/drivers/nouveau/nvc0/nvc0_resource.h
> index 0d5f026d6e1c..c68a50948360 100644
> --- a/src/gallium/drivers/nouveau/nvc0/nvc0_resource.h
> +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_resource.h
> @@ -6,14 +6,17 @@
>
>  #define NVC0_RESOURCE_FLAG_VIDEO (NOUVEAU_RESOURCE_FLAG_DRV_PRIV << 0)
>
> +#define NVC0_TILE_MODE_X(m) (((m) >> 0) & 0xf)
> +#define NVC0_TILE_MODE_Y(m) (((m) >> 4) & 0xf)
> +#define NVC0_TILE_MODE_Z(m) (((m) >> 8) & 0xf)
>
> -#define NVC0_TILE_SHIFT_X(m) ((((m) >> 0) & 0xf) + 6)
> -#define NVC0_TILE_SHIFT_Y(m) ((((m) >> 4) & 0xf) + 3)
> -#define NVC0_TILE_SHIFT_Z(m) ((((m) >> 8) & 0xf) + 0)
> +#define NVC0_TILE_SHIFT_X(m) (NVC0_TILE_MODE_X(m) + 6)
> +#define NVC0_TILE_SHIFT_Y(m) (NVC0_TILE_MODE_Y(m) + 3)
> +#define NVC0_TILE_SHIFT_Z(m) (NVC0_TILE_MODE_Z(m) + 0)
>
> -#define NVC0_TILE_SIZE_X(m) (64 << (((m) >> 0) & 0xf))
> -#define NVC0_TILE_SIZE_Y(m) ( 8 << (((m) >> 4) & 0xf))
> -#define NVC0_TILE_SIZE_Z(m) ( 1 << (((m) >> 8) & 0xf))
> +#define NVC0_TILE_SIZE_X(m) (64 << NVC0_TILE_MODE_X(m))
> +#define NVC0_TILE_SIZE_Y(m) ( 8 << NVC0_TILE_MODE_Y(m))
> +#define NVC0_TILE_SIZE_Z(m) ( 1 << NVC0_TILE_MODE_Z(m))
>
>  /* it's ok to mask only in the end because max value is 3 * 5 */
>
> --
> 2.16.2
>


More information about the mesa-dev mailing list