gfxstream: guest: add vkInitializeKumquat

vkInitializeKumquat is a custom Vulkan API to allow
the user to specify the particular kumquat instance.

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
This commit is contained in:
Gurchetan Singh 2024-08-01 17:41:28 -07:00 committed by Marge Bot
parent d41987eaae
commit f42b3be1b5

View file

@ -99,6 +99,18 @@ static VkResult SetupInstanceForProcess(void) {
return VK_SUCCESS;
}
#if defined(END2END_TESTS)
static VkResult vkInitializeKumquat(uint32_t descriptor) {
HostConnection* hostCon = HostConnection::getWithDescriptor(kCapsetGfxStreamVulkan, descriptor);
if (!hostCon) {
mesa_loge("failed to get kumquat connection");
return VK_ERROR_INITIALIZATION_FAILED;
}
return VK_SUCCESS;
}
#endif
static bool isMesaOnlyInstanceExtension(const char* name) {
for (auto mesaExt : kMesaOnlyInstanceExtension) {
if (!strncmp(mesaExt, name, VK_MAX_EXTENSION_NAME_SIZE)) return true;
@ -634,6 +646,13 @@ PFN_vkVoidFunction vk_icdGetPhysicalDeviceProcAddr(VkInstance _instance, const c
PFN_vkVoidFunction gfxstream_vk_GetInstanceProcAddr(VkInstance _instance, const char* pName) {
VK_FROM_HANDLE(gfxstream_vk_instance, instance, _instance);
#if defined(END2END_TESTS)
if (strcmp(pName, "vkInitializeKumquat") == 0) {
return (PFN_vkVoidFunction)vkInitializeKumquat;
}
#endif
return vk_instance_get_proc_addr(&instance->vk, &gfxstream_vk_instance_entrypoints, pName);
}