On Mon, Jul 9, 2018 at 1:31 PM, Sean Paul seanpaul@chromium.org wrote:
From: Jeykumar Sankaran jsanka@codeaurora.org
Qualcomm Snapdragon chipsets uses compressed format to optimize BW across multiple IP's. This change adds needed modifier support in drm for a simple 4x4 tile based compressed variants of base formats.
Signed-off-by: Jeykumar Sankaran jsanka@codeaurora.org Signed-off-by: Sean Paul seanpaul@chromium.org
include/uapi/drm/drm_fourcc.h | 45 +++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+)
diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h index e04613d30a13..9a97405a3d2a 100644 --- a/include/uapi/drm/drm_fourcc.h +++ b/include/uapi/drm/drm_fourcc.h @@ -298,6 +298,38 @@ extern "C" { */ #define DRM_FORMAT_MOD_SAMSUNG_64_32_TILE fourcc_mod_code(SAMSUNG, 1)
+/*
- Qualcomm Compressed Format
- Refers to a compressed variant of the base format that is compressed.
- Implementation may be platform and base-format specific.
- */
+#define DRM_FORMAT_MOD_QCOM_COMPRESSED fourcc_mod_code(QCOM, 1)
hmm, somehow (I guess rebasing gone wrong?) we end up with DRM_FORMAT_MOD_QCOM_COMPRESSED.. I'll drop the 2nd hunk
BR, -R
+/*
- QTI DX Format
- Refers to a DX variant of the base format.
- Implementation may be platform and base-format specific.
- */
+#define DRM_FORMAT_MOD_QCOM_DX fourcc_mod_code(QCOM, 0x2)
+/*
- QTI Tight Format
- Refers to a tightly packed variant of the base format.
- Implementation may be platform and base-format specific.
- */
+#define DRM_FORMAT_MOD_QCOM_TIGHT fourcc_mod_code(QCOM, 0x4)
+/*
- QTI Tile Format
- Refers to a tile variant of the base format.
- Implementation may be platform and base-format specific.
- */
+#define DRM_FORMAT_MOD_QCOM_TILE fourcc_mod_code(QCOM, 0x8)
/* Vivante framebuffer modifiers */
/* @@ -405,6 +437,19 @@ extern "C" { */ #define DRM_FORMAT_MOD_BROADCOM_VC4_T_TILED fourcc_mod_code(BROADCOM, 1)
+/*
- MSM compressed format
- Refers to the compressed variant of a base format.
- Implementation may be platform and base-format specific.
- Each macrotile consists of m x n (mostly 4 x 4) tiles.
- Pixel data pitch/stride is aligned with macrotile width.
- Pixel data height is aligned with macrotile height.
- Entire pixel data buffer is aligned with 4k(bytes).
- */
+#define DRM_FORMAT_MOD_QCOM_COMPRESSED fourcc_mod_code(QCOM, 1)
#if defined(__cplusplus) }
#endif
Sean Paul, Software Engineer, Google / Chromium OS