Wire up linux_dmabuf in rootston
This commit is contained in:
parent
14cdb6153f
commit
eb4337b5ee
|
@ -7,6 +7,7 @@
|
||||||
#include <wlr/types/wlr_compositor.h>
|
#include <wlr/types/wlr_compositor.h>
|
||||||
#include <wlr/types/wlr_gamma_control.h>
|
#include <wlr/types/wlr_gamma_control.h>
|
||||||
#include <wlr/types/wlr_idle.h>
|
#include <wlr/types/wlr_idle.h>
|
||||||
|
#include <wlr/types/wlr_linux_dmabuf.h>
|
||||||
#include <wlr/types/wlr_list.h>
|
#include <wlr/types/wlr_list.h>
|
||||||
#include <wlr/types/wlr_output_layout.h>
|
#include <wlr/types/wlr_output_layout.h>
|
||||||
#include <wlr/types/wlr_output.h>
|
#include <wlr/types/wlr_output.h>
|
||||||
|
@ -46,6 +47,7 @@ struct roots_desktop {
|
||||||
struct wlr_primary_selection_device_manager *primary_selection_device_manager;
|
struct wlr_primary_selection_device_manager *primary_selection_device_manager;
|
||||||
struct wlr_idle *idle;
|
struct wlr_idle *idle;
|
||||||
struct wlr_idle_inhibit_manager_v1 *idle_inhibit;
|
struct wlr_idle_inhibit_manager_v1 *idle_inhibit;
|
||||||
|
struct wlr_linux_dmabuf *linux_dmabuf;
|
||||||
|
|
||||||
struct wl_listener new_output;
|
struct wl_listener new_output;
|
||||||
struct wl_listener layout_change;
|
struct wl_listener layout_change;
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
#include <wlr/types/wlr_cursor.h>
|
#include <wlr/types/wlr_cursor.h>
|
||||||
#include <wlr/types/wlr_gamma_control.h>
|
#include <wlr/types/wlr_gamma_control.h>
|
||||||
#include <wlr/types/wlr_idle.h>
|
#include <wlr/types/wlr_idle.h>
|
||||||
|
#include <wlr/types/wlr_linux_dmabuf.h>
|
||||||
#include <wlr/types/wlr_output_layout.h>
|
#include <wlr/types/wlr_output_layout.h>
|
||||||
#include <wlr/types/wlr_idle_inhibit_v1.h>
|
#include <wlr/types/wlr_idle_inhibit_v1.h>
|
||||||
#include <wlr/types/wlr_primary_selection.h>
|
#include <wlr/types/wlr_primary_selection.h>
|
||||||
|
@ -729,6 +730,8 @@ struct roots_desktop *desktop_create(struct roots_server *server,
|
||||||
desktop->idle = wlr_idle_create(server->wl_display);
|
desktop->idle = wlr_idle_create(server->wl_display);
|
||||||
desktop->idle_inhibit = wlr_idle_inhibit_v1_create(server->wl_display);
|
desktop->idle_inhibit = wlr_idle_inhibit_v1_create(server->wl_display);
|
||||||
|
|
||||||
|
struct wlr_egl *egl = wlr_backend_get_egl(server->backend);
|
||||||
|
desktop->linux_dmabuf = wlr_linux_dmabuf_create(server->wl_display, egl);
|
||||||
return desktop;
|
return desktop;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -176,7 +176,7 @@ static void params_create_common(struct wl_client *client,
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((uint64_t)buffer->attributes.offset[0] +
|
if ((uint64_t)buffer->attributes.offset[0] +
|
||||||
(uint64_t) buffer->attributes.stride[0] * height > UINT32_MAX) {
|
(uint64_t)buffer->attributes.stride[0] * height > UINT32_MAX) {
|
||||||
wl_resource_post_error(params_resource,
|
wl_resource_post_error(params_resource,
|
||||||
ZWP_LINUX_BUFFER_PARAMS_V1_ERROR_OUT_OF_BOUNDS,
|
ZWP_LINUX_BUFFER_PARAMS_V1_ERROR_OUT_OF_BOUNDS,
|
||||||
"size overflow for plane");
|
"size overflow for plane");
|
||||||
|
@ -205,15 +205,15 @@ static void params_create_common(struct wl_client *client,
|
||||||
wl_resource_post_error(params_resource,
|
wl_resource_post_error(params_resource,
|
||||||
ZWP_LINUX_BUFFER_PARAMS_V1_ERROR_OUT_OF_BOUNDS,
|
ZWP_LINUX_BUFFER_PARAMS_V1_ERROR_OUT_OF_BOUNDS,
|
||||||
"invalid buffer stride or height for plane");
|
"invalid buffer stride or height for plane");
|
||||||
goto err_out;
|
goto err_out;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* reject unknown flags */
|
/* reject unknown flags */
|
||||||
if (buffer->attributes.flags & ~ZWP_LINUX_BUFFER_PARAMS_V1_FLAGS_Y_INVERT) {
|
if (buffer->attributes.flags & ~ZWP_LINUX_BUFFER_PARAMS_V1_FLAGS_Y_INVERT) {
|
||||||
wl_resource_post_error(params_resource,
|
wl_resource_post_error(params_resource,
|
||||||
ZWP_LINUX_BUFFER_PARAMS_V1_ERROR_INVALID_FORMAT,
|
ZWP_LINUX_BUFFER_PARAMS_V1_ERROR_INVALID_FORMAT,
|
||||||
"Unknown dmabuf flags %"PRIu32, buffer->attributes.flags);
|
"Unknown dmabuf flags %"PRIu32, buffer->attributes.flags);
|
||||||
goto err_out;
|
goto err_out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue