diff src/video/SDL_pixels.c @ 3163:a252014ce27d

Support for BGR565 pixel format has been added, mainly for OpenGL ES renderer. OpenGL ES renderer now have new texture formats.
author Mike Gorchak <lestat@i.com.ua>
date Wed, 03 Jun 2009 10:40:44 +0000
parents 502adab079a4
children 9f82979eaaf0
line wrap: on
line diff
--- a/src/video/SDL_pixels.c	Wed Jun 03 04:37:27 2009 +0000
+++ b/src/video/SDL_pixels.c	Wed Jun 03 10:40:44 2009 +0000
@@ -72,6 +72,12 @@
         masks[2] = 0x000003E0;
         masks[3] = 0x0000001F;
         break;
+    case SDL_PACKEDLAYOUT_5551:
+        masks[0] = 0x0000F800;
+        masks[1] = 0x000007C0;
+        masks[2] = 0x0000003E;
+        masks[3] = 0x00000001;
+        break;
     case SDL_PACKEDLAYOUT_565:
         masks[0] = 0x00000000;
         masks[1] = 0x0000F800;
@@ -90,6 +96,12 @@
         masks[2] = 0x000FFC00;
         masks[3] = 0x000003FF;
         break;
+    case SDL_PACKEDLAYOUT_1010102:
+        masks[0] = 0xFFC00000;
+        masks[1] = 0x003FF000;
+        masks[2] = 0x00000FFC;
+        masks[3] = 0x00000003;
+        break;
     default:
         /* Unknown layout */
         return SDL_FALSE;
@@ -176,7 +188,12 @@
         break;
     case 16:
         switch (Rmask) {
+        case 0x000F:
+            return SDL_PIXELFORMAT_ABGR4444;
         case 0x001F:
+            if (Gmask == 0x07E0) {
+                return SDL_PIXELFORMAT_BGR565;
+            }
             return SDL_PIXELFORMAT_ABGR1555;
         case 0x0F00:
             return SDL_PIXELFORMAT_ARGB4444;