From 41494244dfa017eb6952f16ce8716988198c78ad Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Wed, 22 Nov 2023 01:06:25 +0100 Subject: [PATCH] render: drop legacy rendering API --- include/wlr/render/interface.h | 7 --- include/wlr/render/wlr_renderer.h | 38 +--------------- render/wlr_renderer.c | 74 +------------------------------ 3 files changed, 2 insertions(+), 117 deletions(-) diff --git a/include/wlr/render/interface.h b/include/wlr/render/interface.h index 06f4083fd..e8191ac2b 100644 --- a/include/wlr/render/interface.h +++ b/include/wlr/render/interface.h @@ -25,13 +25,6 @@ struct wlr_renderer_impl { bool (*begin)(struct wlr_renderer *renderer, uint32_t width, uint32_t height); void (*end)(struct wlr_renderer *renderer); - void (*clear)(struct wlr_renderer *renderer, const float color[static 4]); - void (*scissor)(struct wlr_renderer *renderer, struct wlr_box *box); - bool (*render_subtexture_with_matrix)(struct wlr_renderer *renderer, - struct wlr_texture *texture, const struct wlr_fbox *box, - const float matrix[static 9], float alpha); - void (*render_quad_with_matrix)(struct wlr_renderer *renderer, - const float color[static 4], const float matrix[static 9]); const uint32_t *(*get_shm_texture_formats)( struct wlr_renderer *renderer, size_t *len); const struct wlr_drm_format_set *(*get_dmabuf_texture_formats)( diff --git a/include/wlr/render/wlr_renderer.h b/include/wlr/render/wlr_renderer.h index 450d61e2d..282ee4bb1 100644 --- a/include/wlr/render/wlr_renderer.h +++ b/include/wlr/render/wlr_renderer.h @@ -72,43 +72,7 @@ bool wlr_renderer_begin_with_buffer(struct wlr_renderer *r, * End a render pass. */ void wlr_renderer_end(struct wlr_renderer *r); -/** - * Clear the viewport with the provided color. - */ -void wlr_renderer_clear(struct wlr_renderer *r, const float color[static 4]); -/** - * Defines a scissor box. Only pixels that lie within the scissor box can be - * modified by drawing functions. Providing a NULL `box` disables the scissor - * box. - */ -void wlr_renderer_scissor(struct wlr_renderer *r, struct wlr_box *box); -/** - * Renders the requested texture. - */ -bool wlr_render_texture(struct wlr_renderer *r, struct wlr_texture *texture, - const float projection[static 9], int x, int y, float alpha); -/** - * Renders the requested texture using the provided matrix. - */ -bool wlr_render_texture_with_matrix(struct wlr_renderer *r, - struct wlr_texture *texture, const float matrix[static 9], float alpha); -/** - * Renders the requested texture using the provided matrix, after cropping it - * to the provided rectangle. - */ -bool wlr_render_subtexture_with_matrix(struct wlr_renderer *r, - struct wlr_texture *texture, const struct wlr_fbox *box, - const float matrix[static 9], float alpha); -/** - * Renders a solid rectangle in the specified color. - */ -void wlr_render_rect(struct wlr_renderer *r, const struct wlr_box *box, - const float color[static 4], const float projection[static 9]); -/** - * Renders a solid quadrangle in the specified color with the specified matrix. - */ -void wlr_render_quad_with_matrix(struct wlr_renderer *r, - const float color[static 4], const float matrix[static 9]); + /** * Get the shared-memory formats supporting import usage. Buffers allocated * with a format from this list may be imported via wlr_texture_from_pixels(). diff --git a/render/wlr_renderer.c b/render/wlr_renderer.c index fe4429eeb..449d96415 100644 --- a/render/wlr_renderer.c +++ b/render/wlr_renderer.c @@ -33,13 +33,7 @@ void wlr_renderer_init(struct wlr_renderer *renderer, const struct wlr_renderer_impl *impl) { - if (!impl->begin_buffer_pass) { - assert(impl->begin); - assert(impl->clear); - assert(impl->scissor); - assert(impl->render_subtexture_with_matrix); - assert(impl->render_quad_with_matrix); - } + assert(impl->begin_buffer_pass); assert(impl->get_shm_texture_formats); assert(impl->get_render_buffer_caps); @@ -114,72 +108,6 @@ void wlr_renderer_end(struct wlr_renderer *r) { } } -void wlr_renderer_clear(struct wlr_renderer *r, const float color[static 4]) { - assert(r->rendering); - r->impl->clear(r, color); -} - -void wlr_renderer_scissor(struct wlr_renderer *r, struct wlr_box *box) { - assert(r->rendering); - r->impl->scissor(r, box); -} - -bool wlr_render_texture(struct wlr_renderer *r, struct wlr_texture *texture, - const float projection[static 9], int x, int y, float alpha) { - struct wlr_box box = { - .x = x, - .y = y, - .width = texture->width, - .height = texture->height, - }; - - float matrix[9]; - wlr_matrix_project_box(matrix, &box, WL_OUTPUT_TRANSFORM_NORMAL, 0, - projection); - - return wlr_render_texture_with_matrix(r, texture, matrix, alpha); -} - -bool wlr_render_texture_with_matrix(struct wlr_renderer *r, - struct wlr_texture *texture, const float matrix[static 9], - float alpha) { - struct wlr_fbox box = { - .x = 0, - .y = 0, - .width = texture->width, - .height = texture->height, - }; - return wlr_render_subtexture_with_matrix(r, texture, &box, matrix, alpha); -} - -bool wlr_render_subtexture_with_matrix(struct wlr_renderer *r, - struct wlr_texture *texture, const struct wlr_fbox *box, - const float matrix[static 9], float alpha) { - assert(r->rendering); - assert(texture->renderer == r); - return r->impl->render_subtexture_with_matrix(r, texture, - box, matrix, alpha); -} - -void wlr_render_rect(struct wlr_renderer *r, const struct wlr_box *box, - const float color[static 4], const float projection[static 9]) { - if (box->width == 0 || box->height == 0) { - return; - } - assert(box->width > 0 && box->height > 0); - float matrix[9]; - wlr_matrix_project_box(matrix, box, WL_OUTPUT_TRANSFORM_NORMAL, 0, - projection); - - wlr_render_quad_with_matrix(r, color, matrix); -} - -void wlr_render_quad_with_matrix(struct wlr_renderer *r, - const float color[static 4], const float matrix[static 9]) { - assert(r->rendering); - r->impl->render_quad_with_matrix(r, color, matrix); -} - const uint32_t *wlr_renderer_get_shm_texture_formats(struct wlr_renderer *r, size_t *len) { return r->impl->get_shm_texture_formats(r, len);