render: dogfood the clear buffer option

This commit is contained in:
Julia Tatz 2023-12-12 17:59:22 -05:00 committed by Julia Tatz
parent 534266b3f8
commit 4cef4e0e56
10 changed files with 35 additions and 49 deletions

View file

@ -231,7 +231,9 @@ static struct wlr_buffer *render_cursor_buffer(struct wlr_output_cursor *cursor)
wlr_box_transform(&dst_box, &dst_box, wlr_output_transform_invert(output->transform),
buffer->width, buffer->height);
struct wlr_render_pass *pass = wlr_renderer_begin_buffer_pass(renderer, buffer, NULL);
struct wlr_render_pass *pass = wlr_renderer_begin_buffer_pass(renderer, buffer, &(struct wlr_buffer_pass_options){
.clear_buffer = true,
});
if (pass == NULL) {
wlr_buffer_unlock(buffer);
return NULL;
@ -240,10 +242,6 @@ static struct wlr_buffer *render_cursor_buffer(struct wlr_output_cursor *cursor)
enum wl_output_transform transform = wlr_output_transform_invert(cursor->transform);
transform = wlr_output_transform_compose(transform, output->transform);
wlr_render_pass_add_rect(pass, &(struct wlr_render_rect_options){
.box = { .width = buffer->width, .height = buffer->height },
.blend_mode = WLR_RENDER_BLEND_MODE_NONE,
});
wlr_render_pass_add_texture(pass, &(struct wlr_render_texture_options){
.texture = texture,
.src_box = cursor->src_box,

View file

@ -61,17 +61,14 @@ static struct wlr_buffer *output_acquire_empty_buffer(struct wlr_output *output,
}
struct wlr_render_pass *pass =
wlr_renderer_begin_buffer_pass(output->renderer, buffer, NULL);
wlr_renderer_begin_buffer_pass(output->renderer, buffer, &(struct wlr_buffer_pass_options){
.clear_buffer = true,
});
if (pass == NULL) {
wlr_buffer_unlock(buffer);
return NULL;
}
wlr_render_pass_add_rect(pass, &(struct wlr_render_rect_options){
.color = { 0, 0, 0, 0 },
.blend_mode = WLR_RENDER_BLEND_MODE_NONE,
});
if (!wlr_render_pass_submit(pass)) {
wlr_buffer_unlock(buffer);
return NULL;