From 65e34fa70e3a8dcbcebfb9e0692d106a8f3fb9df Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 11 Jan 2022 13:55:21 -0500 Subject: [PATCH] zink: add VK_KHR_external_memory_capabilities to instance exts the props for this are weird so they have to be fetched "manually" Reviewed-by: Dave Airlie Part-of: --- src/gallium/drivers/zink/zink_device_info.py | 7 +++++++ src/gallium/drivers/zink/zink_instance.py | 1 + 2 files changed, 8 insertions(+) diff --git a/src/gallium/drivers/zink/zink_device_info.py b/src/gallium/drivers/zink/zink_device_info.py index 3b535d454ac..a86129551c6 100644 --- a/src/gallium/drivers/zink/zink_device_info.py +++ b/src/gallium/drivers/zink/zink_device_info.py @@ -287,6 +287,7 @@ struct zink_device_info { %endfor VkPhysicalDeviceMemoryProperties mem_props; + VkPhysicalDeviceIDProperties deviceid_props; %for ext in extensions: <%helpers:guard ext="${ext}"> @@ -435,6 +436,12 @@ zink_get_physical_device_info(struct zink_screen *screen) %endif %endfor + if (screen->vk_version < VK_MAKE_VERSION(1,2,0) && screen->instance_info.have_KHR_external_memory_capabilities) { + info->deviceid_props.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES; + info->deviceid_props.pNext = props.pNext; + props.pNext = &info->deviceid_props; + } + // note: setting up local VkPhysicalDeviceProperties2. screen->vk.GetPhysicalDeviceProperties2(screen->pdev, &props); } diff --git a/src/gallium/drivers/zink/zink_instance.py b/src/gallium/drivers/zink/zink_instance.py index 2da9a7bfa57..a6f6998baeb 100644 --- a/src/gallium/drivers/zink/zink_instance.py +++ b/src/gallium/drivers/zink/zink_instance.py @@ -37,6 +37,7 @@ import sys EXTENSIONS = [ Extension("VK_EXT_debug_utils"), Extension("VK_KHR_get_physical_device_properties2"), + Extension("VK_KHR_external_memory_capabilities"), Extension("VK_MVK_moltenvk", nonstandard=True), Extension("VK_KHR_surface"),