[PATCH 1/3] drm/omap: drm API update: addfb2

Rob Clark rob.clark at linaro.org
Mon Jan 2 08:43:55 PST 2012


On Tue, Dec 20, 2011 at 5:30 PM, Ville Syrjälä
<ville.syrjala at linux.intel.com> wrote:
> On Tue, Dec 20, 2011 at 04:58:51PM -0600, Rob Clark wrote:
>> +static const struct format formats[] = {
>> +     /* 16bpp [A]RGB: */
>> +     { OMAP_DSS_COLOR_RGB16,       DRM_FORMAT_RGB565,   {{2, 1}}, false }, /* RGB16-565 */
>> +     { OMAP_DSS_COLOR_RGB12U,      DRM_FORMAT_RGBX4444, {{2, 1}}, false }, /* RGB12x-4444 */
>> +     { OMAP_DSS_COLOR_RGBX16,      DRM_FORMAT_XRGB4444, {{2, 1}}, false }, /* xRGB12-4444 */
>> +     { OMAP_DSS_COLOR_RGBA16,      DRM_FORMAT_RGBA4444, {{2, 1}}, false }, /* RGBA12-4444 */
>> +     { OMAP_DSS_COLOR_ARGB16,      DRM_FORMAT_ABGR4444, {{2, 1}}, false }, /* ARGB16-4444 */
>                                                 ^^^^^^^^
>
> Should be ARGB4444, no?
>
> BTW I took a quick gander at the format specifications in the OMAP4 TRM
> and it has a funny bug.
>
> xRGB16-1555 and ARGB16-1555 are listed like this:
>
> 31       ...          0
> U  R1 G1 B1 U  R0 B0 G0
> A1 R1 G1 B1 A0 R0 B0 G0
>
> So every second pixel has B and G swapped around. That would be some
> interesting hardware to use :D

fwiw, I finally had a chance to make a small test, and that is indeed
a documentation bug.  The format is actually what would be expected
for A/xRGB16-1555:

U/A1  R1 G1 B1 U/A1  R0 G0 B0

BR,
-R

> It's possible the TRM I had lying around was an old one though and the
> issue is fixed in later revisions.
>
> --
> Ville Syrjälä
> Intel OTC
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel


More information about the dri-devel mailing list