On Fri, Jun 26, 2020 at 05:48:00PM +0100, Brian Starkey wrote:
In cases such as DRM_FORMAT_MOD_SAMSUNG_16_16_TILE, the modifier describes a generic pixel re-ordering which can be applicable to multiple vendors.
Define an alias: DRM_FORMAT_MOD_GENERIC_16_16_TILE, which can be used to describe this layout in a vendor-neutral way, and add a comment about the expected usage of such "generic" modifiers.
Changes in v2:
- Move note about future cases to comment (Daniel)
Signed-off-by: Brian Starkey brian.starkey@arm.com
Reviewed-by: Daniel Vetter daniel.vetter@ffwll.ch
include/uapi/drm/drm_fourcc.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)
diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h index 299f9ac4840b..cb3db4a21012 100644 --- a/include/uapi/drm/drm_fourcc.h +++ b/include/uapi/drm/drm_fourcc.h @@ -345,8 +345,33 @@ extern "C" {
- When adding a new token please document the layout with a code comment,
- similar to the fourcc codes above. drm_fourcc.h is considered the
- authoritative source for all of these.
- Generic modifier names:
- DRM_FORMAT_MOD_GENERIC_* definitions are used to provide vendor-neutral names
- for layouts which are common across multiple vendors. To preserve
- compatibility, in cases where a vendor-specific definition already exists and
- a generic name for it is desired, the common name is a purely symbolic alias
- and must use the same numerical value as the original definition.
- Note that generic names should only be used for modifiers which describe
- generic layouts (such as pixel re-ordering), which may have
- independently-developed support across multiple vendors.
- In future cases where a generic layout is identified before merging with a
- vendor-specific modifier, a new 'GENERIC' vendor or modifier using vendor
- 'NONE' could be considered. This should only be for obvious, exceptional
- cases to avoid polluting the 'GENERIC' namespace with modifiers which only
- apply to a single vendor.
- Generic names should not be used for cases where multiple hardware vendors
- have implementations of the same standardised compression scheme (such as
- AFBC). In those cases, all implementations should use the same format
*/
- modifier(s), reflecting the vendor of the standard.
+#define DRM_FORMAT_MOD_GENERIC_16_16_TILE DRM_FORMAT_MOD_SAMSUNG_16_16_TILE
/*
- Invalid Modifier
-- 2.17.1