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