mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2025-10-31 22:25:21 -04:00
Remove support for DMA-BUF flags
They are never used in practice, which makes all of our flag handling effectively dead code. Also, APIs such as KMS don't provide a good way to deal with the flags. Let's just fail the DMA-BUF import when clients provide flags.
This commit is contained in:
parent
9a4e1095ca
commit
a04cfca4da
15 changed files with 12 additions and 83 deletions
|
|
@ -433,15 +433,6 @@ static struct wlr_vk_render_buffer *create_render_buffer(
|
|||
wlr_log(WLR_DEBUG, "vulkan create_render_buffer: %.4s, %dx%d",
|
||||
(const char*) &dmabuf.format, dmabuf.width, dmabuf.height);
|
||||
|
||||
// NOTE: we could at least support WLR_DMABUF_ATTRIBUTES_FLAGS_Y_INVERT
|
||||
// if it is needed by anyone. Can be implemented using negative viewport
|
||||
// height or flipping matrix.
|
||||
if (dmabuf.flags != 0) {
|
||||
wlr_log(WLR_ERROR, "dmabuf flags %x not supported/implemented on vulkan",
|
||||
dmabuf.flags);
|
||||
goto error_buffer;
|
||||
}
|
||||
|
||||
buffer->image = vulkan_import_dmabuf(renderer, &dmabuf,
|
||||
buffer->memories, &buffer->mem_count, true);
|
||||
if (!buffer->image) {
|
||||
|
|
@ -789,11 +780,6 @@ static bool vulkan_render_subtexture_with_matrix(struct wlr_renderer *wlr_render
|
|||
vert_pcr_data.uv_size[0] = box->width / wlr_texture->width;
|
||||
vert_pcr_data.uv_size[1] = box->height / wlr_texture->height;
|
||||
|
||||
if (texture->invert_y) {
|
||||
vert_pcr_data.uv_off[1] += vert_pcr_data.uv_size[1];
|
||||
vert_pcr_data.uv_size[1] = -vert_pcr_data.uv_size[1];
|
||||
}
|
||||
|
||||
vkCmdPushConstants(cb, renderer->pipe_layout,
|
||||
VK_SHADER_STAGE_VERTEX_BIT, 0, sizeof(vert_pcr_data), &vert_pcr_data);
|
||||
vkCmdPushConstants(cb, renderer->pipe_layout,
|
||||
|
|
|
|||
|
|
@ -605,19 +605,6 @@ static struct wlr_texture *vulkan_texture_from_dmabuf(struct wlr_renderer *wlr_r
|
|||
goto error;
|
||||
}
|
||||
|
||||
uint32_t flags = attribs->flags;
|
||||
if (flags & WLR_DMABUF_ATTRIBUTES_FLAGS_Y_INVERT) {
|
||||
texture->invert_y = true;
|
||||
flags &= ~WLR_DMABUF_ATTRIBUTES_FLAGS_Y_INVERT;
|
||||
}
|
||||
|
||||
if (flags != 0) {
|
||||
wlr_log(WLR_ERROR, "dmabuf flags %x not supported/implemented on vulkan",
|
||||
attribs->flags);
|
||||
// NOTE: should probably make this a critical error in future
|
||||
// return VK_NULL_HANDLE;
|
||||
}
|
||||
|
||||
const struct wlr_pixel_format_info *format_info = drm_get_pixel_format_info(attribs->format);
|
||||
assert(format_info);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue