aboutsummaryrefslogtreecommitdiff
path: root/include/wlr
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2022-06-16 14:43:24 +0200
committerSimon Ser <contact@emersion.fr>2022-06-16 14:43:24 +0200
commit29291cb47cdaa72d1142a008fef3301dcb86dfac (patch)
tree77616ce5285dea16bc1ebe1a41e02b1ed3b80ce6 /include/wlr
parentf28c0e2046c59aeb9f014ef4c22d4517e38f4721 (diff)
render/texture: drop wlr_texture_is_opaque
Whether a texture is opaque or not doesn't depend on the renderer at all, it just depends on the source buffer. Instead of forcing all renderers to implement wlr_texture_impl.is_opaque, let's move this in common code and use the wlr_buffer format to know whether a texture will be opaque.
Diffstat (limited to 'include/wlr')
-rw-r--r--include/wlr/render/interface.h1
-rw-r--r--include/wlr/render/wlr_texture.h5
-rw-r--r--include/wlr/types/wlr_compositor.h2
3 files changed, 2 insertions, 6 deletions
diff --git a/include/wlr/render/interface.h b/include/wlr/render/interface.h
index 4207bd30..7e923353 100644
--- a/include/wlr/render/interface.h
+++ b/include/wlr/render/interface.h
@@ -54,7 +54,6 @@ void wlr_renderer_init(struct wlr_renderer *renderer,
const struct wlr_renderer_impl *impl);
struct wlr_texture_impl {
- bool (*is_opaque)(struct wlr_texture *texture);
bool (*write_pixels)(struct wlr_texture *texture,
uint32_t stride, uint32_t width, uint32_t height,
uint32_t src_x, uint32_t src_y, uint32_t dst_x, uint32_t dst_y,
diff --git a/include/wlr/render/wlr_texture.h b/include/wlr/render/wlr_texture.h
index 93fc221c..0f39b8a8 100644
--- a/include/wlr/render/wlr_texture.h
+++ b/include/wlr/render/wlr_texture.h
@@ -37,11 +37,6 @@ struct wlr_texture *wlr_texture_from_dmabuf(struct wlr_renderer *renderer,
struct wlr_dmabuf_attributes *attribs);
/**
- * Returns true if this texture is using a fully opaque format.
- */
-bool wlr_texture_is_opaque(struct wlr_texture *texture);
-
-/**
* Update a texture with raw pixels. The texture must be mutable, and the input
* data must have the same pixel format that the texture was created with.
*/
diff --git a/include/wlr/types/wlr_compositor.h b/include/wlr/types/wlr_compositor.h
index bff6bc83..034b075b 100644
--- a/include/wlr/types/wlr_compositor.h
+++ b/include/wlr/types/wlr_compositor.h
@@ -162,6 +162,8 @@ struct wlr_surface {
int width, height;
int buffer_width, buffer_height;
} previous;
+
+ bool opaque;
};
struct wlr_renderer;