On Mon, Jun 29, 2020 at 10:32:41AM +0200, Daniel Vetter wrote: > 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@xxxxxxx> > > Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Thanks. I guess this should go into drm-misc-next? @Liviu would you be able to pick it up? Cheers, -Brian > > > --- > > 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 > > > > -- > Daniel Vetter > Software Engineer, Intel Corporation > http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel