Mesa (master): st/egl wayland: Set color_format according to wl_visual

Kristian Høgsberg krh at kemper.freedesktop.org
Fri Feb 11 04:52:16 UTC 2011


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

Author: Benjamin Franzke <benjaminfranzke at googlemail.com>
Date:   Wed Feb  9 20:40:37 2011 +0100

st/egl wayland: Set color_format according to wl_visual

---

 .../state_trackers/egl/wayland/native_wayland.c    |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/gallium/state_trackers/egl/wayland/native_wayland.c b/src/gallium/state_trackers/egl/wayland/native_wayland.c
index c526c59..f1461b5 100644
--- a/src/gallium/state_trackers/egl/wayland/native_wayland.c
+++ b/src/gallium/state_trackers/egl/wayland/native_wayland.c
@@ -84,7 +84,7 @@ wayland_display_get_configs (struct native_display *ndpy, int *num_configs)
          (1 << NATIVE_ATTACHMENT_FRONT_LEFT) |
          (1 << NATIVE_ATTACHMENT_BACK_LEFT);
 
-      format = PIPE_FORMAT_B8G8R8X8_UNORM;
+      format = PIPE_FORMAT_B8G8R8A8_UNORM;
 
       nconf->color_format = format;
       nconf->window_bit = TRUE;
@@ -378,14 +378,15 @@ wayland_create_pixmap_surface(struct native_display *ndpy,
       return NULL;
 
    surface->display = display;
-   if (config)
-      surface->color_format = config->base.color_format;
-   else
-      surface->color_format = PIPE_FORMAT_B8G8R8X8_UNORM;
 
    surface->type = WL_PIXMAP_SURFACE;
    surface->pix = egl_pixmap;
 
+   if (surface->pix->visual == wl_display_get_rgb_visual(display->dpy->display))
+      surface->color_format = PIPE_FORMAT_B8G8R8X8_UNORM;
+   else
+      surface->color_format = PIPE_FORMAT_B8G8R8A8_UNORM;
+
    surface->attachment_mask = (1 << NATIVE_ATTACHMENT_FRONT_LEFT);
    
    surface->rsurf = resource_surface_create(display->base.screen,




More information about the mesa-commit mailing list