Merge branch 'drm-dumb-buffer-prefer-shadow' into 'master'

pixman: render on shadow buffer when prefered

Closes #2914

See merge request wlroots/wlroots!4418
This commit is contained in:
Simon Zeni 2023-11-21 19:30:35 +00:00
commit dd96057771
6 changed files with 87 additions and 50 deletions

View file

@ -25,6 +25,7 @@ struct wlr_drm_dumb_allocator {
struct wlr_allocator base;
struct wl_list buffers; // wlr_drm_dumb_buffer.link
int drm_fd;
bool prefer_shadow;
};
/**

View file

@ -29,11 +29,12 @@ struct wlr_pixman_renderer {
struct wlr_pixman_buffer {
struct wlr_buffer *buffer;
struct wlr_pixman_renderer *renderer;
struct wl_list link; // wlr_pixman_renderer.buffers
pixman_image_t *image;
pixman_image_t *shadow;
struct wl_listener buffer_destroy;
struct wl_list link; // wlr_pixman_renderer.buffers
struct wlr_addon addon;
};
struct wlr_pixman_texture {

View file

@ -35,6 +35,7 @@ struct wlr_dmabuf_attributes {
int32_t width, height;
uint32_t format; // FourCC code, see DRM_FORMAT_* in <drm_fourcc.h>
uint64_t modifier; // see DRM_FORMAT_MOD_* in <drm_fourcc.h>
bool prefer_shadow;
int n_planes;
uint32_t offset[WLR_DMABUF_MAX_PLANES];