Message ID | 1500974900-31030-3-git-send-email-tina.zhang@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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@intel.com> > Signed-off-by: Tina Zhang <tina.zhang@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. -Daniel > + > /* > * 2 plane RGB + A > * index 0 = RGB plane, same format as the corresponding non _A8 format has > -- > 2.7.4 >
> -----Original Message----- > From: Daniel Vetter [mailto:daniel.vetter@ffwll.ch] On Behalf Of Daniel Vetter > Sent: Tuesday, August 15, 2017 10:50 PM > To: Zhang, Tina <tina.zhang@intel.com> > Cc: intel-gfx@lists.freedesktop.org; intel-gvt-dev@lists.freedesktop.org; dri- > devel@lists.freedesktop.org; ville.syrjala@linux.intel.com; > zhenyuw@linux.intel.com; Lv, Zhiyuan <zhiyuan.lv@intel.com>; Wang, Zhi A > <zhi.a.wang@intel.com>; alex.williamson@redhat.com; kraxel@redhat.com; > chris@chris-wilson.co.uk; daniel@ffwll.ch; kwankhede@nvidia.com; Tian, Kevin > <kevin.tian@intel.com>; Chen, Xiaoguang <xiaoguang.chen@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@intel.com> > > Signed-off-by: Tina Zhang <tina.zhang@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. BR, Tina > -Daniel > > + > > /* > > * 2 plane RGB + A > > * index 0 = RGB plane, same format as the corresponding non _A8 > > format has > > -- > > 2.7.4 > > > > -- > Daniel Vetter > Software Engineer, Intel Corporation > http://blog.ffwll.ch
On Wed, Aug 16, 2017 at 03:16:46AM +0000, Zhang, Tina wrote: > > > > -----Original Message----- > > From: Daniel Vetter [mailto:daniel.vetter@ffwll.ch] On Behalf Of Daniel Vetter > > Sent: Tuesday, August 15, 2017 10:50 PM > > To: Zhang, Tina <tina.zhang@intel.com> > > Cc: intel-gfx@lists.freedesktop.org; intel-gvt-dev@lists.freedesktop.org; dri- > > devel@lists.freedesktop.org; ville.syrjala@linux.intel.com; > > zhenyuw@linux.intel.com; Lv, Zhiyuan <zhiyuan.lv@intel.com>; Wang, Zhi A > > <zhi.a.wang@intel.com>; alex.williamson@redhat.com; kraxel@redhat.com; > > chris@chris-wilson.co.uk; daniel@ffwll.ch; kwankhede@nvidia.com; Tian, Kevin > > <kevin.tian@intel.com>; Chen, Xiaoguang <xiaoguang.chen@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@intel.com> > > > Signed-off-by: Tina Zhang <tina.zhang@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
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 */ + /* * 2 plane RGB + A * index 0 = RGB plane, same format as the corresponding non _A8 format has