Mesa (master): zink: add a VkExternalMemoryImageCreateInfo for PIPE_BIND_SHARED images
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Mon Jan 25 16:21:03 UTC 2021
Module: Mesa
Branch: master
Commit: b415211ce9c20941eb2b80a7b1b996742d891f2a
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b415211ce9c20941eb2b80a7b1b996742d891f2a
Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date: Wed Sep 9 15:16:42 2020 -0400
zink: add a VkExternalMemoryImageCreateInfo for PIPE_BIND_SHARED images
required by spec
Reviewed-by: Erik Faye-Lund <erik.faye-lund at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8273>
---
src/gallium/drivers/zink/zink_resource.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/gallium/drivers/zink/zink_resource.c b/src/gallium/drivers/zink/zink_resource.c
index 15b16f1788a..1418ca0bd27 100644
--- a/src/gallium/drivers/zink/zink_resource.c
+++ b/src/gallium/drivers/zink/zink_resource.c
@@ -171,6 +171,7 @@ resource_create(struct pipe_screen *pscreen,
res->format = zink_get_format(screen, templ->format);
VkImageCreateInfo ici = {};
+ VkExternalMemoryImageCreateInfo emici = {};
ici.sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO;
ici.flags = VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT;
@@ -221,6 +222,12 @@ resource_create(struct pipe_screen *pscreen,
ici.tiling = VK_IMAGE_TILING_LINEAR;
}
+ if (templ->bind & PIPE_BIND_SHARED) {
+ emici.sType = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO;
+ emici.handleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT;
+ ici.pNext = &emici;
+ }
+
if (templ->usage == PIPE_USAGE_STAGING)
ici.tiling = VK_IMAGE_TILING_LINEAR;
More information about the mesa-commit
mailing list