From: Benjamin Franzke Date: Wed, 9 Feb 2011 19:40:37 +0000 (+0100) Subject: st/egl wayland: Set color_format according to wl_visual X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c79a5a706727c40a856e36c043da608c825390a2;p=mesa.git st/egl wayland: Set color_format according to wl_visual --- diff --git a/src/gallium/state_trackers/egl/wayland/native_wayland.c b/src/gallium/state_trackers/egl/wayland/native_wayland.c index c526c599d08..f1461b58cc8 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,