diff --git a/libs/vkd3d/device.c b/libs/vkd3d/device.c index fac16a89..381bb360 100644 --- a/libs/vkd3d/device.c +++ b/libs/vkd3d/device.c @@ -99,6 +99,7 @@ static const struct vkd3d_optional_extension_info optional_device_extensions[] = /* EXT extensions */ VK_EXTENSION(EXT_CALIBRATED_TIMESTAMPS, EXT_calibrated_timestamps), VK_EXTENSION(EXT_CONDITIONAL_RENDERING, EXT_conditional_rendering), + VK_EXTENSION(EXT_CONSERVATIVE_RASTERIZATION, EXT_conservative_rasterization), VK_EXTENSION(EXT_CUSTOM_BORDER_COLOR, EXT_custom_border_color), VK_EXTENSION(EXT_DEPTH_CLIP_ENABLE, EXT_depth_clip_enable), VK_EXTENSION(EXT_DESCRIPTOR_INDEXING, EXT_descriptor_indexing), @@ -964,6 +965,12 @@ static void vkd3d_physical_device_info_init(struct vkd3d_physical_device_info *i vk_prepend_struct(&info->features2, &info->conditional_rendering_features); } + if (vulkan_info->EXT_conservative_rasterization) + { + info->conservative_rasterization_properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT; + vk_prepend_struct(&info->properties2, &info->conservative_rasterization_properties); + } + if (vulkan_info->EXT_custom_border_color) { info->custom_border_color_features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT; diff --git a/libs/vkd3d/vkd3d_private.h b/libs/vkd3d/vkd3d_private.h index ebee81dc..939467b1 100644 --- a/libs/vkd3d/vkd3d_private.h +++ b/libs/vkd3d/vkd3d_private.h @@ -121,6 +121,7 @@ struct vkd3d_vulkan_info /* EXT device extensions */ bool EXT_calibrated_timestamps; bool EXT_conditional_rendering; + bool EXT_conservative_rasterization; bool EXT_custom_border_color; bool EXT_depth_clip_enable; bool EXT_descriptor_indexing; @@ -2419,6 +2420,7 @@ struct vkd3d_physical_device_info VkPhysicalDeviceAccelerationStructurePropertiesKHR acceleration_structure_properties; VkPhysicalDeviceFloatControlsPropertiesKHR float_control_properties; VkPhysicalDeviceFragmentShadingRatePropertiesKHR fragment_shading_rate_properties; + VkPhysicalDeviceConservativeRasterizationPropertiesEXT conservative_rasterization_properties; VkPhysicalDeviceProperties2KHR properties2;