rendervulkan: add support for legacy wl_drm buffers

There are still clients (e.g. steam) not supporting modifiers at
all.
This commit is contained in:
Simon Ser 2021-03-05 16:44:32 +01:00
parent df18c40815
commit b8ab5a74ee

View file

@ -2156,6 +2156,24 @@ static struct wlr_texture *renderer_texture_from_dmabuf( struct wlr_renderer *wl
return wlr_texture_from_dmabuf( renderer->parent, dmabuf );
}
static bool renderer_resource_is_wl_drm_buffer( struct wlr_renderer *wlr_renderer, struct wl_resource *resource )
{
VulkanRenderer_t *renderer = (VulkanRenderer_t *) wlr_renderer;
return wlr_renderer_resource_is_wl_drm_buffer( renderer->parent, resource );
}
static void renderer_wl_drm_buffer_get_size( struct wlr_renderer *wlr_renderer, struct wl_resource *resource, int *width, int *height )
{
VulkanRenderer_t *renderer = (VulkanRenderer_t *) wlr_renderer;
return wlr_renderer_wl_drm_buffer_get_size( renderer->parent, resource, width, height );
}
struct wlr_texture *renderer_texture_from_wl_drm( struct wlr_renderer *wlr_renderer, struct wl_resource *resource )
{
VulkanRenderer_t *renderer = (VulkanRenderer_t *) wlr_renderer;
return wlr_texture_from_wl_drm( renderer->parent, resource );
}
static const struct wlr_renderer_impl renderer_impl = {
.begin = renderer_begin,
.end = renderer_end,
@ -2165,8 +2183,11 @@ static const struct wlr_renderer_impl renderer_impl = {
.render_quad_with_matrix = renderer_render_quad_with_matrix,
.render_ellipse_with_matrix = renderer_render_ellipse_with_matrix,
.get_shm_texture_formats = renderer_get_shm_texture_formats,
.resource_is_wl_drm_buffer = renderer_resource_is_wl_drm_buffer,
.wl_drm_buffer_get_size = renderer_wl_drm_buffer_get_size,
.get_dmabuf_texture_formats = renderer_get_dmabuf_texture_formats,
.texture_from_pixels = renderer_texture_from_pixels,
.texture_from_wl_drm = renderer_texture_from_wl_drm,
.texture_from_dmabuf = renderer_texture_from_dmabuf,
.init_wl_display = renderer_init_wl_display,
};