[Freedreno] [PATCH 04/21] drm: add msm compressed format modifiers
Rob Clark
robdclark at gmail.com
Mon Jul 16 12:28:41 UTC 2018
On Mon, Jul 9, 2018 at 1:31 PM, Sean Paul <seanpaul at chromium.org> wrote:
> From: Jeykumar Sankaran <jsanka at 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 at codeaurora.org>
> Signed-off-by: Sean Paul <seanpaul at 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
>
More information about the Freedreno
mailing list