diff --git a/src/virtio/vulkan/vn_device.c b/src/virtio/vulkan/vn_device.c index 2540d636bd8..8cfb46e66c6 100644 --- a/src/virtio/vulkan/vn_device.c +++ b/src/virtio/vulkan/vn_device.c @@ -342,6 +342,11 @@ vn_device_fix_create_info(const struct vn_device *dev, extra_exts[extra_count++] = VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME; } + if (app_exts->EXT_device_memory_report) { + /* see vn_physical_device_get_native_extensions */ + block_exts[block_count++] = VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME; + } + if (app_exts->EXT_physical_device_drm) { /* see vn_physical_device_get_native_extensions */ block_exts[block_count++] = VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME; diff --git a/src/virtio/vulkan/vn_physical_device.c b/src/virtio/vulkan/vn_physical_device.c index a2d47976a09..45f1b254d2d 100644 --- a/src/virtio/vulkan/vn_physical_device.c +++ b/src/virtio/vulkan/vn_physical_device.c @@ -1045,6 +1045,7 @@ vn_physical_device_get_native_extensions( exts->EXT_physical_device_drm = true; /* use common implementation */ exts->EXT_tooling_info = true; + exts->EXT_device_memory_report = true; } static void @@ -1807,6 +1808,10 @@ vn_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice, /* clang-format on */ + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT: + ((VkPhysicalDeviceDeviceMemoryReportFeaturesEXT *)out) + ->deviceMemoryReport = VK_TRUE; + break; default: break; #undef CASE