diff options
Diffstat (limited to 'src/gallium/state_trackers')
4 files changed, 3 insertions, 32 deletions
diff --git a/src/gallium/state_trackers/egl/wayland/native_drm.c b/src/gallium/state_trackers/egl/wayland/native_drm.c index e177e7cd6c9..facab3218fb 100644 --- a/src/gallium/state_trackers/egl/wayland/native_drm.c +++ b/src/gallium/state_trackers/egl/wayland/native_drm.c @@ -114,8 +114,8 @@ wayland_create_drm_buffer(struct wayland_display *display, switch (surface->color_format) { case PIPE_FORMAT_B8G8R8A8_UNORM: - format = (surface->premultiplied_alpha) ? - WL_DRM_FORMAT_PREMULTIPLIED_ARGB32 : WL_DRM_FORMAT_ARGB32; + /* assume premultiplied */ + format = WL_DRM_FORMAT_PREMULTIPLIED_ARGB32; break; case PIPE_FORMAT_B8G8R8X8_UNORM: format = WL_DRM_FORMAT_XRGB32; @@ -255,10 +255,6 @@ wayland_drm_display_init_screen(struct native_display *ndpy) if (!wayland_drm_display_add_configs(drmdpy)) return FALSE; - /* check that premultiplied alpha is supported for all formats with alpha */ - if (!drmdpy->argb32 || drmdpy->argb32_pre) - drmdpy->base.param_premultiplied_alpha = TRUE; - drmdpy->base.base.screen = drmdpy->event_handler->new_drm_screen(&drmdpy->base.base, NULL, drmdpy->fd); diff --git a/src/gallium/state_trackers/egl/wayland/native_shm.c b/src/gallium/state_trackers/egl/wayland/native_shm.c index e2d24379342..5882e74c653 100644 --- a/src/gallium/state_trackers/egl/wayland/native_shm.c +++ b/src/gallium/state_trackers/egl/wayland/native_shm.c @@ -95,8 +95,7 @@ wayland_create_shm_buffer(struct wayland_display *display, switch (surface->color_format) { case PIPE_FORMAT_B8G8R8A8_UNORM: - format = (surface->premultiplied_alpha) ? - WL_SHM_FORMAT_PREMULTIPLIED_ARGB32 : WL_SHM_FORMAT_ARGB32; + format = WL_SHM_FORMAT_PREMULTIPLIED_ARGB32; break; case PIPE_FORMAT_B8G8R8X8_UNORM: format = WL_SHM_FORMAT_XRGB32; @@ -166,9 +165,6 @@ wayland_shm_display_init_screen(struct native_display *ndpy) if (!wayland_shm_display_add_configs(shmdpy)) return FALSE; - /* assume all formats are supported */ - shmdpy->base.param_premultiplied_alpha = TRUE; - winsys = wayland_create_sw_winsys(shmdpy->base.dpy); if (!winsys) return FALSE; diff --git a/src/gallium/state_trackers/egl/wayland/native_wayland.c b/src/gallium/state_trackers/egl/wayland/native_wayland.c index b2dab8fae53..14cc908cf7a 100644 --- a/src/gallium/state_trackers/egl/wayland/native_wayland.c +++ b/src/gallium/state_trackers/egl/wayland/native_wayland.c @@ -60,13 +60,9 @@ static int wayland_display_get_param(struct native_display *ndpy, enum native_param_type param) { - struct wayland_display *display = wayland_display(ndpy); int val; switch (param) { - case NATIVE_PARAM_PREMULTIPLIED_ALPHA: - val = display->param_premultiplied_alpha; - break; case NATIVE_PARAM_USE_NATIVE_BUFFER: case NATIVE_PARAM_PRESERVE_BUFFER: case NATIVE_PARAM_MAX_SWAP_INTERVAL: @@ -287,20 +283,6 @@ wayland_surface_present(struct native_surface *nsurf, if (ctrl->preserve || ctrl->swap_interval) return FALSE; - /* force buffers to be re-created if they will be presented differently */ - if (surface->premultiplied_alpha != ctrl->premultiplied_alpha) { - enum wayland_buffer_type buffer; - - for (buffer = 0; buffer < WL_BUFFER_COUNT; ++buffer) { - if (surface->buffer[buffer]) { - wl_buffer_destroy(surface->buffer[buffer]); - surface->buffer[buffer] = NULL; - } - } - - surface->premultiplied_alpha = ctrl->premultiplied_alpha; - } - switch (ctrl->natt) { case NATIVE_ATTACHMENT_FRONT_LEFT: ret = TRUE; diff --git a/src/gallium/state_trackers/egl/wayland/native_wayland.h b/src/gallium/state_trackers/egl/wayland/native_wayland.h index 6cf98a8e91c..93e670babeb 100644 --- a/src/gallium/state_trackers/egl/wayland/native_wayland.h +++ b/src/gallium/state_trackers/egl/wayland/native_wayland.h @@ -44,8 +44,6 @@ struct wayland_display { struct wayland_config *configs; int num_configs; - /* true if all formats with alpha support premultiplied alpha */ - boolean param_premultiplied_alpha; struct wl_buffer *(*create_buffer)(struct wayland_display *display, struct wayland_surface *surface, @@ -81,7 +79,6 @@ struct wayland_surface { unsigned int attachment_mask; boolean block_swap_buffers; - boolean premultiplied_alpha; }; struct wayland_config { |