From c79a5a706727c40a856e36c043da608c825390a2 Mon Sep 17 00:00:00 2001 From: Benjamin Franzke Date: Wed, 9 Feb 2011 20:40:37 +0100 Subject: st/egl wayland: Set color_format according to wl_visual --- src/gallium/state_trackers/egl/wayland/native_wayland.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src/gallium/state_trackers') diff --git a/src/gallium/state_trackers/egl/wayland/native_wayland.c b/src/gallium/state_trackers/egl/wayland/native_wayland.c index c526c599d0..f1461b58cc 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, -- cgit v1.2.3