mirror of https://github.com/mpv-player/mpv
vo_dmabuf_wayland: drop linux-dmabuf-v2 (again)
It was done once before but later reverted for testing reasons. This time it's permanent though since I can test this VO on ARM and with an up to date system.
This commit is contained in:
parent
ca08bf599f
commit
650c53df50
|
@ -475,8 +475,8 @@ static int preinit(struct vo *vo)
|
|||
|
||||
wl_list_init(&p->buffer_list);
|
||||
|
||||
if (!vo->wl->dmabuf) {
|
||||
MP_FATAL(vo->wl, "Compositor doesn't support the %s protocol!\n",
|
||||
if (!vo->wl->dmabuf || !vo->wl->dmabuf_feedback) {
|
||||
MP_FATAL(vo->wl, "Compositor doesn't support the %s (ver. 4) protocol!\n",
|
||||
zwp_linux_dmabuf_v1_interface.name);
|
||||
goto err;
|
||||
}
|
||||
|
|
|
@ -1152,24 +1152,6 @@ static const struct wl_callback_listener frame_listener = {
|
|||
frame_callback,
|
||||
};
|
||||
|
||||
static void dmabuf_format(void *data, struct zwp_linux_dmabuf_v1 *zwp_linux_dmabuf,
|
||||
uint32_t format)
|
||||
{
|
||||
struct vo_wayland_state *wl = data;
|
||||
|
||||
if (wl->drm_format_ct == wl->drm_format_ct_max) {
|
||||
wl->drm_format_ct_max *= 2;
|
||||
wl->drm_formats = talloc_realloc(wl, wl->drm_formats, int, wl->drm_format_ct_max);
|
||||
}
|
||||
|
||||
wl->drm_formats[wl->drm_format_ct++] = format;
|
||||
MP_VERBOSE(wl, "%s is supported by the compositor.\n", mp_tag_str(format));
|
||||
}
|
||||
|
||||
static const struct zwp_linux_dmabuf_v1_listener dmabuf_listener = {
|
||||
dmabuf_format
|
||||
};
|
||||
|
||||
static void done(void *data,
|
||||
struct zwp_linux_dmabuf_feedback_v1 *zwp_linux_dmabuf_feedback_v1)
|
||||
{
|
||||
|
@ -1261,11 +1243,6 @@ static void registry_handle_add(void *data, struct wl_registry *reg, uint32_t id
|
|||
wl->dmabuf = wl_registry_bind(reg, id, &zwp_linux_dmabuf_v1_interface, 4);
|
||||
wl->dmabuf_feedback = zwp_linux_dmabuf_v1_get_default_feedback(wl->dmabuf);
|
||||
zwp_linux_dmabuf_feedback_v1_add_listener(wl->dmabuf_feedback, &dmabuf_feedback_listener, wl);
|
||||
} else if (!strcmp (interface, zwp_linux_dmabuf_v1_interface.name) && (ver >= 2) && found++) {
|
||||
wl->dmabuf = wl_registry_bind(reg, id, &zwp_linux_dmabuf_v1_interface, 2);
|
||||
zwp_linux_dmabuf_v1_add_listener(wl->dmabuf, &dmabuf_listener, wl);
|
||||
wl->drm_format_ct_max = 64;
|
||||
wl->drm_formats = talloc_array(wl, int, wl->drm_format_ct_max);
|
||||
}
|
||||
|
||||
if (!strcmp (interface, wp_viewporter_interface.name) && (ver >= 1) && found++) {
|
||||
|
|
|
@ -103,10 +103,6 @@ struct vo_wayland_state {
|
|||
wayland_format *format_map;
|
||||
uint32_t format_size;
|
||||
bool using_dmabuf_wayland;
|
||||
/* TODO: remove these once zwp_linux_dmabuf_v1 version 2 support is removed. */
|
||||
int *drm_formats;
|
||||
int drm_format_ct;
|
||||
int drm_format_ct_max;
|
||||
|
||||
/* presentation-time */
|
||||
struct wp_presentation *presentation;
|
||||
|
|
|
@ -39,11 +39,6 @@ bool ra_compatible_format(struct ra* ra, uint32_t drm_format, uint64_t modifier)
|
|||
return true;
|
||||
}
|
||||
|
||||
for (int i = 0; i < wl->drm_format_ct; i++) {
|
||||
if (drm_format == wl->drm_formats[i])
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue