aboutsummaryrefslogtreecommitdiff
path: root/render/vulkan
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2021-11-16 22:51:06 +0100
committerSimon Zeni <simon@bl4ckb0ne.ca>2021-11-17 16:12:59 +0000
commita04cfca4da42d1cc01047c1cd9e60ef504beae98 (patch)
treeb388fc9f851a7784881cb70509b033bb680f3db8 /render/vulkan
parent9a4e1095cad154b7f8ce41cedbfb1e9a7e137d66 (diff)
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.
Diffstat (limited to 'render/vulkan')
-rw-r--r--render/vulkan/renderer.c14
-rw-r--r--render/vulkan/texture.c13
2 files changed, 0 insertions, 27 deletions
diff --git a/render/vulkan/renderer.c b/render/vulkan/renderer.c
index 31ce0b76..a1d8d41e 100644
--- a/render/vulkan/renderer.c
+++ b/render/vulkan/renderer.c
@@ -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,
diff --git a/render/vulkan/texture.c b/render/vulkan/texture.c
index f6fbec5a..76c37011 100644
--- a/render/vulkan/texture.c
+++ b/render/vulkan/texture.c
@@ -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);