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

Paul Kocialkowski
2019-01-11T09:06:30Z

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;
+ }
+
+ 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);
--
2.20.1