mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 18:08:40 +02:00
zink: export fd info for all 2d images
there's no way to add this later, so here we go Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16226>
This commit is contained in:
parent
c025cb9ee9
commit
711c31d607
1 changed files with 3 additions and 3 deletions
|
|
@ -495,7 +495,7 @@ resource_object_create(struct zink_screen *screen, const struct pipe_resource *t
|
|||
VK_IMAGE_ASPECT_PLANE_2_BIT,
|
||||
};
|
||||
VkExternalMemoryHandleTypeFlags external = 0;
|
||||
bool needs_export = (templ->bind & ZINK_BIND_VIDEO) != 0;
|
||||
bool needs_export = templ->target == PIPE_TEXTURE_2D;
|
||||
if (whandle) {
|
||||
if (whandle->type == WINSYS_HANDLE_TYPE_FD || whandle->type == ZINK_EXTERNAL_MEMORY_HANDLE)
|
||||
needs_export |= true;
|
||||
|
|
@ -503,7 +503,7 @@ resource_object_create(struct zink_screen *screen, const struct pipe_resource *t
|
|||
unreachable("unknown handle type");
|
||||
}
|
||||
if (needs_export) {
|
||||
if (whandle && whandle->type == ZINK_EXTERNAL_MEMORY_HANDLE) {
|
||||
if (!whandle || whandle->type == ZINK_EXTERNAL_MEMORY_HANDLE) {
|
||||
external = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT;
|
||||
} else {
|
||||
external = VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT;
|
||||
|
|
@ -775,7 +775,7 @@ resource_object_create(struct zink_screen *screen, const struct pipe_resource *t
|
|||
}
|
||||
|
||||
VkExportMemoryAllocateInfo emai;
|
||||
if ((templ->bind & ZINK_BIND_VIDEO) || ((templ->bind & PIPE_BIND_SHARED) && shared)) {
|
||||
if (needs_export) {
|
||||
emai.sType = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO;
|
||||
emai.handleTypes = export_types;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue