venus: fix external memory ext filtering

Fixes: 390722620e ("venus: clean up vn_device_fix_create_info")

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17975>
(cherry picked from commit 9c5a7ffbd8)
This commit is contained in:
Yiwei Zhang 2022-08-08 18:19:03 +00:00 committed by Dylan Baker
parent 2e3afb6765
commit 27fb80d64d
2 changed files with 11 additions and 3 deletions

View file

@ -10921,7 +10921,7 @@
"description": "venus: fix external memory ext filtering",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "390722620e139047c6b94f394caebb4c5676e6ce"
},

View file

@ -270,15 +270,23 @@ vn_device_fix_create_info(const struct vn_device *dev,
extra_exts[extra_count++] =
VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME;
}
FALLTHROUGH;
if (!app_exts->KHR_external_memory_fd) {
extra_exts[extra_count++] =
VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME;
}
break;
case VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT:
if (app_exts->EXT_external_memory_dma_buf) {
block_exts[block_count++] =
VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME;
}
if (!app_exts->KHR_external_memory_fd) {
extra_exts[extra_count++] =
VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME;
}
break;
default:
/* TODO other handle types */
unreachable("unexpected external memory handle type");
break;
}
}