User:Ccawley2011

From ScummVM :: Wiki
ccawley2011
Name Cameron Cawley
Team Member since 2019-04-02
Working on RISC OS port, Nintendo DS port, Nintendo 3DS port
Personal webpage/BLOG -
Email -

TODO

Pixel formats

  • SurfaceSDL - determined by SDL 1.2. SDL2/3 force RGB565 regardless of backend or engine requirements.
    • Windows - determined from DirectDraw surface (windx5), XRGB1555 (windib), RGB565 (windib), XRGB8888 (windib)
    • Mac OS X - XRGB1555 (full-screen, pre-Lion), XRGB8888 (full-screen, pre-Lion), XRGB32 (windowed)
    • FreeMiNT - XBARG35152 XBRG3553, RGBA8888
    • RISC OS - XBGR1555, XRGB1555, ABGR1555, ABGR1555 BGR565, BGR565, XBGR8888, XRGB8888, ABGR8888, ARGB8888 (depending on hardware)
    • OS/2 - determined from video mode (FSLib), XRGB1555 (GrOp), RGB565 (GrOp), RGB664 (GrOp), XBGR8888 (GrOp), XRGB8888 (GrOp)
    • IRIX - determined from X11 visual.
    • Maemo - determined from X11 visual.
    • MorphOS - ARGB8888 (OLDFB), BGRA8888 (not OLDFB)
    • KolibriOS - 24bpp, unclear order.
    • OpenDingux - to be confirmed.
    • Miyoo - to be confirmed.
    • OpenPandora - to be confirmed.
    • SamsungTV - ARGB8888
  • RenderSDL - determined by SDL2/3.
    • Direct3D 9 - ARGB8888, INDEX8
    • Direct3D 11 - ARGB8888, ABGR8888, XRGB8888, RGB565, INDEX8
    • Direct3D 12 - ARGB8888, ABGR8888, XRGB8888, INDEX8
    • GPU - BGRA32, RGBA32, BGRX32, RGBX32, INDEX8
    • Metal - ARGB8888, ABGR8888, INDEX8
    • OpenGL - BGRA32, RGBA32, BGRX32, RGBX32, INDEX8 (see also https://github.com/libsdl-org/SDL/pull/9910)
    • OpenGL ES 1 - RGBA32 (see also https://github.com/libsdl-org/SDL/pull/9910)
    • OpenGL ES 2 - BGRA32, RGBA32, BGRX32, RGBX32, INDEX8 (see also https://github.com/libsdl-org/SDL/pull/9910)
    • PlayStation Vita - ARGB8888, ABGR8888, RGB565, BGR565
    • Vulkan - BGRA32, RGBA32, ABGR8888, INDEX8
    • PlayStation 3 - ARGB8888
    • AmigaOS 4 - ARGB8888
  • OpenGL desktop - RGBA32, most others with 1.2+ or extensions. Best to be confirmed (see https://github.com/libsdl-org/SDL/issues/12189).
  • OpenGL ES - RGBA32, RGB565, RGBA5551, RGBA4444 (plus BGRA32 with extensions).
  • Null - arbitrary based on engine analysis from a few years ago.
  • LibRetro - to be confirmed.
  • 3DS - RGBA8888, RGB565, RGBA5551, RGBA4444.
  • DC - RGB565, ARGB1555, ARGB4444.
  • DS - ABGR1555.
  • PSP - ABGR8888 (not reported), BGR565, ABGR1555, ABGR4444.
  • Wii - RGB565.
  • Atari - RGB unsupported.
  • N64 - RGB unsupported, uses RGBX5551 internally.

All backends support CLUT8.