diff --git a/libs/vkd3d/device.c b/libs/vkd3d/device.c index 6dc27586..e53765af 100644 --- a/libs/vkd3d/device.c +++ b/libs/vkd3d/device.c @@ -82,6 +82,7 @@ static const struct vkd3d_optional_extension_info optional_device_extensions[] = VK_EXTENSION(KHR_BIND_MEMORY_2, KHR_bind_memory2), VK_EXTENSION(KHR_COPY_COMMANDS_2, KHR_copy_commands2), VK_EXTENSION(KHR_DYNAMIC_RENDERING, KHR_dynamic_rendering), + VK_EXTENSION(KHR_DRIVER_PROPERTIES, KHR_driver_properties), /* EXT extensions */ VK_EXTENSION(EXT_CALIBRATED_TIMESTAMPS, EXT_calibrated_timestamps), VK_EXTENSION(EXT_CONDITIONAL_RENDERING, EXT_conditional_rendering), @@ -1390,6 +1391,13 @@ static void vkd3d_physical_device_info_init(struct vkd3d_physical_device_info *i vk_prepend_struct(&info->features2, &info->descriptor_set_host_mapping_features); } + if (vulkan_info->KHR_driver_properties) + { + info->driver_properties.sType = + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR; + vk_prepend_struct(&info->properties2, &info->driver_properties); + } + /* Core in Vulkan 1.1. */ info->shader_draw_parameters_features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES; vk_prepend_struct(&info->features2, &info->shader_draw_parameters_features); diff --git a/libs/vkd3d/vkd3d_private.h b/libs/vkd3d/vkd3d_private.h index 9de6f7a8..bc9a2c1a 100644 --- a/libs/vkd3d/vkd3d_private.h +++ b/libs/vkd3d/vkd3d_private.h @@ -129,6 +129,7 @@ struct vkd3d_vulkan_info bool KHR_bind_memory2; bool KHR_copy_commands2; bool KHR_dynamic_rendering; + bool KHR_driver_properties; /* EXT device extensions */ bool EXT_calibrated_timestamps; bool EXT_conditional_rendering; @@ -2765,6 +2766,7 @@ struct vkd3d_physical_device_info VkPhysicalDeviceFragmentShadingRatePropertiesKHR fragment_shading_rate_properties; VkPhysicalDeviceConservativeRasterizationPropertiesEXT conservative_rasterization_properties; VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR shader_integer_dot_product_properties; + VkPhysicalDeviceDriverPropertiesKHR driver_properties; VkPhysicalDeviceProperties2KHR properties2;