|
|
@@ -167,6 +167,7 @@ extern "C" {
|
|
|
#define DRM_FORMAT_MOD_VENDOR_NV 0x03
|
|
|
#define DRM_FORMAT_MOD_VENDOR_SAMSUNG 0x04
|
|
|
#define DRM_FORMAT_MOD_VENDOR_QCOM 0x05
|
|
|
+#define DRM_FORMAT_MOD_VENDOR_VIVANTE 0x06
|
|
|
/* add more to the end as needed */
|
|
|
|
|
|
#define fourcc_mod_code(vendor, val) \
|
|
|
@@ -251,6 +252,46 @@ extern "C" {
|
|
|
*/
|
|
|
#define DRM_FORMAT_MOD_SAMSUNG_64_32_TILE fourcc_mod_code(SAMSUNG, 1)
|
|
|
|
|
|
+/* Vivante framebuffer modifiers */
|
|
|
+
|
|
|
+/*
|
|
|
+ * Vivante 4x4 tiling layout
|
|
|
+ *
|
|
|
+ * This is a simple tiled layout using tiles of 4x4 pixels in a row-major
|
|
|
+ * layout.
|
|
|
+ */
|
|
|
+#define DRM_FORMAT_MOD_VIVANTE_TILED fourcc_mod_code(VIVANTE, 1)
|
|
|
+
|
|
|
+/*
|
|
|
+ * Vivante 64x64 super-tiling layout
|
|
|
+ *
|
|
|
+ * This is a tiled layout using 64x64 pixel super-tiles, where each super-tile
|
|
|
+ * contains 8x4 groups of 2x4 tiles of 4x4 pixels (like above) each, all in row-
|
|
|
+ * major layout.
|
|
|
+ *
|
|
|
+ * For more information: see
|
|
|
+ * https://github.com/etnaviv/etna_viv/blob/master/doc/hardware.md#texture-tiling
|
|
|
+ */
|
|
|
+#define DRM_FORMAT_MOD_VIVANTE_SUPER_TILED fourcc_mod_code(VIVANTE, 2)
|
|
|
+
|
|
|
+/*
|
|
|
+ * Vivante 4x4 tiling layout for dual-pipe
|
|
|
+ *
|
|
|
+ * Same as the 4x4 tiling layout, except every second 4x4 pixel tile starts at a
|
|
|
+ * different base address. Offsets from the base addresses are therefore halved
|
|
|
+ * compared to the non-split tiled layout.
|
|
|
+ */
|
|
|
+#define DRM_FORMAT_MOD_VIVANTE_SPLIT_TILED fourcc_mod_code(VIVANTE, 3)
|
|
|
+
|
|
|
+/*
|
|
|
+ * Vivante 64x64 super-tiling layout for dual-pipe
|
|
|
+ *
|
|
|
+ * Same as the 64x64 super-tiling layout, except every second 4x4 pixel tile
|
|
|
+ * starts at a different base address. Offsets from the base addresses are
|
|
|
+ * therefore halved compared to the non-split super-tiled layout.
|
|
|
+ */
|
|
|
+#define DRM_FORMAT_MOD_VIVANTE_SPLIT_SUPER_TILED fourcc_mod_code(VIVANTE, 4)
|
|
|
+
|
|
|
#if defined(__cplusplus)
|
|
|
}
|
|
|
#endif
|