Re: [igt-dev] [PATCH i-g-t v3 12/21] lib/igt_vc4: Add helper for checking SAND tiling support on plane

Lyude Paul
2019-01-15T21:54:57Z

On Fri, 2019-01-11 at 10:05 +0100, Paul Kocialkowski wrote:
> This introduces a convenience helper for checking whether a plane
> supports SAND tiling for a given format.
>
> Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
> ---
> lib/igt_vc4.h | 24 ++++++++++++++++++++++++
> 1 file changed, 24 insertions(+)
>
> diff --git a/lib/igt_vc4.h b/lib/igt_vc4.h
> index 9118ae193f60..cb980541a61f 100644
> --- a/lib/igt_vc4.h
> +++ b/lib/igt_vc4.h
> @@ -33,6 +33,30 @@ static inline bool
> igt_vc4_plane_supports_t_tiling(igt_plane_t *plane,
> DRM_FORMAT_MOD_BROADCOM_VC4_T_TILED);
> }
>
> +static inline bool igt_vc4_plane_supports_sand_tiling(igt_plane_t *plane,
> + uint32_t format,
> + size_t
> column_width_bytes)
> +{
> + uint64_t modifier;
> +
> + switch (column_width_bytes) {
> + case 32:
> + modifier = DRM_FORMAT_MOD_BROADCOM_SAND32;
> + break;
> + case 64:
> + modifier = DRM_FORMAT_MOD_BROADCOM_SAND64;
> + break;
> + case 128:
> + modifier = DRM_FORMAT_MOD_BROADCOM_SAND128;
> + break;
> + case 256:
> + modifier = DRM_FORMAT_MOD_BROADCOM_SAND256;
> + break;
Optional bikeshed: Maybe add a default: case with an igt_assert()?

Either way:

Reviewed-by: Lyude Paul <lyude@redhat.com>
> + }
> +
> + return igt_plane_has_format_mod(plane, format, modifier);
> +}
> +
> uint32_t igt_vc4_get_cleared_bo(int fd, size_t size, uint32_t clearval);
> int igt_vc4_create_bo(int fd, size_t size);
> void *igt_vc4_mmap_bo(int fd, uint32_t handle, uint32_t size, unsigned
> prot);
--
Cheers,
Lyude Paul