On Tue, Dec 20, 2011 at 5:30 PM, Ville Syrjälä ville.syrjala@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@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel