[PATCH 2/2] drm: add an fb creation ioctl that takes a pixel format v4

Jesse Barnes jbarnes at virtuousgeek.org
Mon Nov 14 13:22:10 PST 2011


On Mon, 14 Nov 2011 23:16:44 +0200
Ville Syrjälä <ville.syrjala at linux.intel.com> wrote:

> On Mon, Nov 14, 2011 at 12:21:55PM -0800, Jesse Barnes wrote:
> > +#define fourcc_code(a,b,c,d) ((u32)(a) | ((u32)(b) << 8) | \
> > +			      ((u32)(c) << 16) | ((u32)(d) << 24))
> > +
> > +/* RGB codes */
> > +#define DRM_FOURCC_RGB332 fourcc_code('R','G','B','1')
> > +#define DRM_FOURCC_RGB555 fourcc_code('R','G','B','O')
> > +#define DRM_FOURCC_RGB565 fourcc_code('R','G','B','P')
> > +#define DRM_FOURCC_RGB24  fourcc_code('R','G','B','3')
> > +#define DRM_FOURCC_RGB32  fourcc_code('R','G','B','4')
> > +
> > +#define DRM_FOURCC_BGR24  fourcc_code('B','G','R','3')
> > +#define DRM_FOURCC_BGR32  fourcc_code('B','G','R','4')
> 
> I'm confused by these. The code suggests RGB/BGR24 are in fact 32bpp
> formats, so why do we need the RGB/BGR32 variants? If the difference
> is in the alpha channel, I'd like to document that fact in the name.
> 
> Could we call them ARGB8888, XRGB8888, XRGB1555 etc.?

Yeah, the fourcc naming isn't very good, I'd have no problem changing
the names to something more descriptive for 24 and 32.  fourcc.org
itself seems ambiguous about the 24 bit format....

> Also the channel and byte order should be documented clearly.

Supposedly the fourcc code is supposed to provide that?

> And one other thing. I probably wouldn't call these fourccs
> since they don't actually match the official fourccs. Not that
> there is anything sensible defined for RGB formats in the
> official list anyway. In fact, I'm not sure what we gain by
> cooking our own fourccs when we know most of them won't match
> the official list. AFAICS a simple running number would do
> just as well as the format identifier.

They seem to match what's at fourcc.org, though I don't see the upper
byte documented, and also share values with the v4l stuff, which I was
assuming had the right fourcc codes.

If we don't match, we should strive to.  I'm just using what I find at
fourcc.org and in the v4l code to check...

-- 
Jesse Barnes, Intel Open Source Technology Center
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20111114/6477813f/attachment.pgp>


More information about the dri-devel mailing list