Mesa (master): Gallium xlib: Add support for BGRA visuals.

Michel Dänzer daenzer at kemper.freedesktop.org
Mon Aug 31 08:22:42 UTC 2009


Module: Mesa
Branch: master
Commit: 9f0495aa765ae53b877b1e7fdffba70f4ee1a056
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9f0495aa765ae53b877b1e7fdffba70f4ee1a056

Author: Michel Dänzer <daenzer at vmware.com>
Date:   Mon Aug 31 10:22:19 2009 +0200

Gallium xlib: Add support for BGRA visuals.

---

 src/gallium/state_trackers/glx/xlib/xm_api.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/src/gallium/state_trackers/glx/xlib/xm_api.c b/src/gallium/state_trackers/glx/xlib/xm_api.c
index f4c5893..651a9a9 100644
--- a/src/gallium/state_trackers/glx/xlib/xm_api.c
+++ b/src/gallium/state_trackers/glx/xlib/xm_api.c
@@ -286,6 +286,18 @@ choose_pixel_format(XMesaVisual v)
          return PIPE_FORMAT_B8G8R8A8_UNORM;
       }
    }
+   else if (   GET_REDMASK(v)   == 0x0000ff00
+            && GET_GREENMASK(v) == 0x00ff0000
+            && GET_BLUEMASK(v)  == 0xff000000
+            && v->BitsPerPixel == 32) {
+      if (native_byte_order) {
+         /* no byteswapping needed */
+         return PIPE_FORMAT_B8G8R8A8_UNORM;
+      }
+      else {
+         return PIPE_FORMAT_A8R8G8B8_UNORM;
+      }
+   }
    else if (   GET_REDMASK(v)   == 0xf800
             && GET_GREENMASK(v) == 0x07e0
             && GET_BLUEMASK(v)  == 0x001f




More information about the mesa-commit mailing list