Message ID | 20180720204315.19054-4-seanpaul@chromium.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi, On 07/20/2018 11:42 PM, Sean Paul 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. > > Changes in v3: > - Removed duplicate entry for DRM_FORMAT_MOD_QCOM_COMPRESSED (Rob Clark) > > Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org> > Signed-off-by: Sean Paul <seanpaul@chromium.org> > --- > include/uapi/drm/drm_fourcc.h | 37 +++++++++++++++++++++++++++++++++++ > 1 file changed, 37 insertions(+) > > diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h > index e04613d30a13..1c9a6bf8c81e 100644 > --- a/include/uapi/drm/drm_fourcc.h > +++ b/include/uapi/drm/drm_fourcc.h > @@ -298,6 +298,43 @@ 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. > + * > + * 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) > + > +/* > + * 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) What DX stands for?
On 2018-07-25 07:09, Stanimir Varbanov wrote: > Hi, > > On 07/20/2018 11:42 PM, Sean Paul 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. >> >> Changes in v3: >> - Removed duplicate entry for DRM_FORMAT_MOD_QCOM_COMPRESSED (Rob >> Clark) >> >> Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org> >> Signed-off-by: Sean Paul <seanpaul@chromium.org> >> --- >> include/uapi/drm/drm_fourcc.h | 37 >> +++++++++++++++++++++++++++++++++++ >> 1 file changed, 37 insertions(+) >> >> diff --git a/include/uapi/drm/drm_fourcc.h >> b/include/uapi/drm/drm_fourcc.h >> index e04613d30a13..1c9a6bf8c81e 100644 >> --- a/include/uapi/drm/drm_fourcc.h >> +++ b/include/uapi/drm/drm_fourcc.h >> @@ -298,6 +298,43 @@ 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. >> + * >> + * 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) >> + >> +/* >> + * 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) > > What DX stands for? _DX is QCOM modifier for identifying 10bit version of NV12 format since there is no fourcc_code for the same.
On 07/26/2018 02:09 AM, Jeykumar Sankaran wrote: > On 2018-07-25 07:09, Stanimir Varbanov wrote: >> Hi, >> >> On 07/20/2018 11:42 PM, Sean Paul 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. >>> >>> Changes in v3: >>> - Removed duplicate entry for DRM_FORMAT_MOD_QCOM_COMPRESSED (Rob Clark) >>> >>> Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org> >>> Signed-off-by: Sean Paul <seanpaul@chromium.org> >>> --- >>> include/uapi/drm/drm_fourcc.h | 37 +++++++++++++++++++++++++++++++++++ >>> 1 file changed, 37 insertions(+) >>> >>> diff --git a/include/uapi/drm/drm_fourcc.h >>> b/include/uapi/drm/drm_fourcc.h >>> index e04613d30a13..1c9a6bf8c81e 100644 >>> --- a/include/uapi/drm/drm_fourcc.h >>> +++ b/include/uapi/drm/drm_fourcc.h >>> @@ -298,6 +298,43 @@ 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. >>> + * >>> + * 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) >>> + >>> +/* >>> + * 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) >> >> What DX stands for? > > _DX is QCOM modifier for identifying 10bit version of NV12 format since > there is no fourcc_code for the same. > Did you mean such as COLOR_FMT_P010? And how DX is translated to ?
On Wed, Jul 25, 2018 at 7:09 PM, Jeykumar Sankaran <jsanka@codeaurora.org> wrote: > On 2018-07-25 07:09, Stanimir Varbanov wrote: >> >> Hi, >> >> On 07/20/2018 11:42 PM, Sean Paul 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. >>> >>> Changes in v3: >>> - Removed duplicate entry for DRM_FORMAT_MOD_QCOM_COMPRESSED (Rob Clark) >>> >>> Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org> >>> Signed-off-by: Sean Paul <seanpaul@chromium.org> >>> --- >>> include/uapi/drm/drm_fourcc.h | 37 +++++++++++++++++++++++++++++++++++ >>> 1 file changed, 37 insertions(+) >>> >>> diff --git a/include/uapi/drm/drm_fourcc.h >>> b/include/uapi/drm/drm_fourcc.h >>> index e04613d30a13..1c9a6bf8c81e 100644 >>> --- a/include/uapi/drm/drm_fourcc.h >>> +++ b/include/uapi/drm/drm_fourcc.h >>> @@ -298,6 +298,43 @@ 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. >>> + * >>> + * 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) >>> + >>> +/* >>> + * 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) >> >> >> What DX stands for? > > > _DX is QCOM modifier for identifying 10bit version of NV12 format since > there is no fourcc_code for the same. > this sounds like it should actually be P010 then.. not a modifier.. I think we should remove the modifier before it ends up in a release.. See: https://patchwork.freedesktop.org/patch/141342/ from a quick look, it seems like we just need a driver that supports it to land the new fourcc's BR, -R > -- > Jeykumar S
diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h index e04613d30a13..1c9a6bf8c81e 100644 --- a/include/uapi/drm/drm_fourcc.h +++ b/include/uapi/drm/drm_fourcc.h @@ -298,6 +298,43 @@ 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. + * + * 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) + +/* + * 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 */ /*