mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2024-10-30 07:30:46 +00:00
render: ensure wlr_render_rect_options->box is nonempty
This optimization also fixes an validation error with the Vulkan renderer by ensuring vkCmdClearAttachments does not receive empty regions.
This commit is contained in:
parent
e5fc8cd4c7
commit
a94168b5fe
@ -76,6 +76,7 @@ struct wlr_render_pass_impl {
|
|||||||
bool (*submit)(struct wlr_render_pass *pass);
|
bool (*submit)(struct wlr_render_pass *pass);
|
||||||
void (*add_texture)(struct wlr_render_pass *pass,
|
void (*add_texture)(struct wlr_render_pass *pass,
|
||||||
const struct wlr_render_texture_options *options);
|
const struct wlr_render_texture_options *options);
|
||||||
|
/* Implementers are also guaranteed that options->box is nonempty */
|
||||||
void (*add_rect)(struct wlr_render_pass *pass,
|
void (*add_rect)(struct wlr_render_pass *pass,
|
||||||
const struct wlr_render_rect_options *options);
|
const struct wlr_render_rect_options *options);
|
||||||
};
|
};
|
||||||
|
@ -40,6 +40,9 @@ void wlr_render_pass_add_texture(struct wlr_render_pass *render_pass,
|
|||||||
|
|
||||||
void wlr_render_pass_add_rect(struct wlr_render_pass *render_pass,
|
void wlr_render_pass_add_rect(struct wlr_render_pass *render_pass,
|
||||||
const struct wlr_render_rect_options *options) {
|
const struct wlr_render_rect_options *options) {
|
||||||
|
if (wlr_box_empty(&options->box)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
render_pass->impl->add_rect(render_pass, options);
|
render_pass->impl->add_rect(render_pass, options);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user