diff options
author | Alexander Orzechowski <orzechowski.alexander@gmail.com> | 2023-04-13 20:45:02 +0200 |
---|---|---|
committer | Kirill Primak <vyivel@eclair.cafe> | 2024-01-18 18:36:54 +0300 |
commit | 1b092386455eeb16fed05cea672c4c88d733f8f2 (patch) | |
tree | 7957005c4ff17c8660f12b97421ad71cc994136b | |
parent | 1eb16d136774c8fb3c9085df45156264f0db8814 (diff) |
scene_graph: Use built-in linux dmabuf feedback handling
-rw-r--r-- | sway/main.c | 4 | ||||
-rw-r--r-- | sway/tree/container.c | 27 |
2 files changed, 4 insertions, 27 deletions
diff --git a/sway/main.c b/sway/main.c index 98aba7f2..65c85d31 100644 --- a/sway/main.c +++ b/sway/main.c @@ -340,6 +340,10 @@ int main(int argc, char **argv) { return 1; } + if (server.linux_dmabuf_v1) { + wlr_scene_set_linux_dmabuf_v1(root->root_scene, server.linux_dmabuf_v1); + } + if (validate) { bool valid = load_main_config(config_path, false, true); free(config_path); diff --git a/sway/tree/container.c b/sway/tree/container.c index 9ed08929..307bf963 100644 --- a/sway/tree/container.c +++ b/sway/tree/container.c @@ -1157,33 +1157,6 @@ static void set_fullscreen(struct sway_container *con, bool enable) { con->view->foreign_toplevel, enable); } } - - if (!server.linux_dmabuf_v1 || !con->view->surface) { - return; - } - if (!enable) { - wlr_linux_dmabuf_v1_set_surface_feedback(server.linux_dmabuf_v1, - con->view->surface, NULL); - return; - } - - if (!con->pending.workspace || !con->pending.workspace->output) { - return; - } - - struct sway_output *output = con->pending.workspace->output; - - const struct wlr_linux_dmabuf_feedback_v1_init_options options = { - .main_renderer = server.renderer, - .scanout_primary_output = output->wlr_output, - }; - struct wlr_linux_dmabuf_feedback_v1 feedback = {0}; - if (!wlr_linux_dmabuf_feedback_v1_init_with_options(&feedback, &options)) { - return; - } - wlr_linux_dmabuf_v1_set_surface_feedback(server.linux_dmabuf_v1, - con->view->surface, &feedback); - wlr_linux_dmabuf_feedback_v1_finish(&feedback); } static void container_fullscreen_workspace(struct sway_container *con) { |