[PATCH v13 2/7] drm: Introduce RGB 64-bit 16:16:16:16 float format

Daniel Vetter daniel at ffwll.ch
Wed Aug 16 07:31:08 UTC 2017


On Wed, Aug 16, 2017 at 03:16:46AM +0000, Zhang, Tina wrote:
> 
> 
> > -----Original Message-----
> > From: Daniel Vetter [mailto:daniel.vetter at ffwll.ch] On Behalf Of Daniel Vetter
> > Sent: Tuesday, August 15, 2017 10:50 PM
> > To: Zhang, Tina <tina.zhang at intel.com>
> > Cc: intel-gfx at lists.freedesktop.org; intel-gvt-dev at lists.freedesktop.org; dri-
> > devel at lists.freedesktop.org; ville.syrjala at linux.intel.com;
> > zhenyuw at linux.intel.com; Lv, Zhiyuan <zhiyuan.lv at intel.com>; Wang, Zhi A
> > <zhi.a.wang at intel.com>; alex.williamson at redhat.com; kraxel at redhat.com;
> > chris at chris-wilson.co.uk; daniel at ffwll.ch; kwankhede at nvidia.com; Tian, Kevin
> > <kevin.tian at intel.com>; Chen, Xiaoguang <xiaoguang.chen at intel.com>
> > Subject: Re: [PATCH v13 2/7] drm: Introduce RGB 64-bit 16:16:16:16 float
> > format
> > 
> > On Tue, Jul 25, 2017 at 05:28:15PM +0800, Tina Zhang wrote:
> > > The RGB 64-bit 16:16:16:16 float pixel format is needed by windows
> > > guest VM. This patch is to introduce the format to drm.
> > >
> > > v1:
> > > Suggested by Ville to submit this patch to dri-devel.
> > >
> > > Signed-off-by: Xiaoguang Chen <xiaoguang.chen at intel.com>
> > > Signed-off-by: Tina Zhang <tina.zhang at intel.com>
> > > ---
> > >  include/uapi/drm/drm_fourcc.h | 4 ++++
> > >  1 file changed, 4 insertions(+)
> > >
> > > diff --git a/include/uapi/drm/drm_fourcc.h
> > > b/include/uapi/drm/drm_fourcc.h index 7586c46..3e002e3 100644
> > > --- a/include/uapi/drm/drm_fourcc.h
> > > +++ b/include/uapi/drm/drm_fourcc.h
> > > @@ -113,6 +113,10 @@ extern "C" {
> > >
> > >  #define DRM_FORMAT_AYUV		fourcc_code('A', 'Y', 'U', 'V') /* [31:0]
> > A:Y:Cb:Cr 8:8:8:8 little endian */
> > >
> > > +/* 64 bpp RGB */
> > > +#define DRM_FORMAT_XRGB161616  fourcc_code('X', 'R', '4', '8') /*
> > > +[63:0] x:R:G:B 16:16:16:16 little endian */ #define
> > > +DRM_FORMAT_XBGR161616  fourcc_code('X', 'B', '4', '8') /* [63:0]
> > > +x:B:G:R 16:16:16:16 little endian */
> > 
> > I think the comment should go a bit more into detail what the float format is
> > supposed to look like. And I think we should have a F or _FLOAT suffix to the
> > defined name, since the same layout could also work for integers (and some hw
> > somewhere probably has that. Maybe also put that F into the last slot of the
> > fourcc.
> Thanks. I prefer to add F and also put F into the last slot of the fourcc. 
> I'm not sure about the code rule. Does it make sense?
> #define	DRM_FORMAT_XRGB161616F fourcc_code('X', 'R', '3', 'F')
> Where '3' stands for the three fields (R, G, B) without Alpha.

Seems reasonable. There's not really any rules for fourcc codes, the only
semi-standard ones (and not even those are really standard) are only for
video formats. Best we can do is try to be somewhat consistent in
drm_fourcc.h.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the dri-devel mailing list