aboutsummaryrefslogtreecommitdiffstats
path: root/sway/server.c
diff options
context:
space:
mode:
authorLibravatar Simon Ser <contact@emersion.fr>2021-06-07 18:58:20 +0200
committerLibravatar Simon Zeni <simon@bl4ckb0ne.ca>2021-12-13 09:59:33 -0600
commit4732325f591455f1e4bdcb35652505a8a636663a (patch)
treec69c8a5b42add24208a1b81b4cfda93459be026c /sway/server.c
parentview: Fix null dereference (diff)
downloadsway-4732325f591455f1e4bdcb35652505a8a636663a.tar.gz
sway-4732325f591455f1e4bdcb35652505a8a636663a.tar.zst
sway-4732325f591455f1e4bdcb35652505a8a636663a.zip
Add support for linux-dmabuf surface hints
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/1376
Diffstat (limited to 'sway/server.c')
-rw-r--r--sway/server.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/sway/server.c b/sway/server.c
index 582a04ab..f50a0987 100644
--- a/sway/server.c
+++ b/sway/server.c
@@ -13,10 +13,12 @@
13#include <wlr/types/wlr_compositor.h> 13#include <wlr/types/wlr_compositor.h>
14#include <wlr/types/wlr_data_control_v1.h> 14#include <wlr/types/wlr_data_control_v1.h>
15#include <wlr/types/wlr_drm_lease_v1.h> 15#include <wlr/types/wlr_drm_lease_v1.h>
16#include <wlr/types/wlr_drm.h>
16#include <wlr/types/wlr_export_dmabuf_v1.h> 17#include <wlr/types/wlr_export_dmabuf_v1.h>
17#include <wlr/types/wlr_gamma_control_v1.h> 18#include <wlr/types/wlr_gamma_control_v1.h>
18#include <wlr/types/wlr_idle.h> 19#include <wlr/types/wlr_idle.h>
19#include <wlr/types/wlr_layer_shell_v1.h> 20#include <wlr/types/wlr_layer_shell_v1.h>
21#include <wlr/types/wlr_linux_dmabuf_v1.h>
20#include <wlr/types/wlr_pointer_constraints_v1.h> 22#include <wlr/types/wlr_pointer_constraints_v1.h>
21#include <wlr/types/wlr_primary_selection_v1.h> 23#include <wlr/types/wlr_primary_selection_v1.h>
22#include <wlr/types/wlr_relative_pointer_v1.h> 24#include <wlr/types/wlr_relative_pointer_v1.h>
@@ -78,7 +80,13 @@ bool server_init(struct sway_server *server) {
78 return false; 80 return false;
79 } 81 }
80 82
81 wlr_renderer_init_wl_display(server->renderer, server->wl_display); 83 wlr_renderer_init_wl_shm(server->renderer, server->wl_display);
84
85 if (wlr_renderer_get_dmabuf_texture_formats(server->renderer) != NULL) {
86 wlr_drm_create(server->wl_display, server->renderer);
87 server->linux_dmabuf_v1 =
88 wlr_linux_dmabuf_v1_create(server->wl_display, server->renderer);
89 }
82 90
83 server->allocator = wlr_allocator_autocreate(server->backend, 91 server->allocator = wlr_allocator_autocreate(server->backend,
84 server->renderer); 92 server->renderer);