[Scummvm-devel] Bitdepth/pixel format API concerns

Marcus Comstedt marcus at mc.pp.se
Sat Jun 13 23:19:33 CEST 2009


J Northup <upthorn at gmail.com> writes:

> I have been told by _sev that RGBA and ABGR are the only orders supported by
> any backend. Is this incorrect?

Yes.  The Dreamcast uses ARGB.  I think this is a pretty common format.
The Radeon video card I'm using right now also uses XRGB rather than
RGBX or XBGR:

  visual:
    visual id:    0x82
    class:    TrueColor
    depth:    32 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits


> The backend would not need to support both modes. Each backend needs to
> support one of those two modes, and the engine swaps order to meet the
> backend's needs.

I'm sorry, but this makes no sense whatsoever.

If the backend supports ARGB4444 natively, and the engines native
format is BGR565, swapping the color order to RGB565 in the engine
is completely useless, as the backend needs to convert it again.
Either the engine has to convert all the way (i.e. to the correct
PixelFormat, not just to the correct color order), or not at all.
Everything else is just a waste of computrons.


  // Marcus






More information about the Scummvm-devel mailing list