diff --git a/docs/features.txt b/docs/features.txt index 46a7985f5b7..d66d41af1ba 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -524,7 +524,7 @@ Khronos extensions that are not part of any Vulkan version: VK_KHR_index_type_uint8 DONE (anv, nvk, pvr, radv, tu, v3dv) VK_KHR_line_rasterization DONE (anv, nvk, radv, tu, v3dv) VK_KHR_load_store_op_none DONE (anv, nvk, radv, tu, v3dv) - VK_KHR_maintenance5 DONE (anv, lvp, nvk, radv, tu, vn) + VK_KHR_maintenance5 DONE (anv, lvp, nvk, radv, tu, v3dv, vn) VK_KHR_maintenance6 DONE (anv, lvp, nvk, radv, tu) VK_KHR_performance_query DONE (anv, radv/gfx10.3+, tu, v3dv) VK_KHR_pipeline_executable_properties DONE (anv, nvk, panvk, hasvk, radv, tu, v3dv) diff --git a/docs/relnotes/new_features.txt b/docs/relnotes/new_features.txt index 19c28b69ad2..9ce924a58cc 100644 --- a/docs/relnotes/new_features.txt +++ b/docs/relnotes/new_features.txt @@ -2,3 +2,4 @@ VK_KHR_dynamic_rendering_local_read on RADV VK_EXT_legacy_vertex_attributes on lavapipe, ANV, Turnip and RADV VK_MESA_image_alignment_control on RADV VK_EXT_shader_replicated_composites on ANV, dozen, hasvk, lavapipe, nvk, RADV, and Turnip +VK_KHR_maintenance5 on v3dv diff --git a/src/broadcom/vulkan/v3dv_device.c b/src/broadcom/vulkan/v3dv_device.c index c4182e017ce..d31062d94b4 100644 --- a/src/broadcom/vulkan/v3dv_device.c +++ b/src/broadcom/vulkan/v3dv_device.c @@ -170,6 +170,7 @@ get_device_extensions(const struct v3dv_physical_device *device, .KHR_maintenance2 = true, .KHR_maintenance3 = true, .KHR_maintenance4 = true, + .KHR_maintenance5 = true, .KHR_multiview = true, .KHR_pipeline_executable_properties = true, .KHR_separate_depth_stencil_layouts = true, @@ -497,6 +498,9 @@ get_features(const struct v3dv_physical_device *physical_device, /* VK_KHR_dynamic_rendering */ .dynamicRendering = true, + /* VK_KHR_maintenance5 */ + .maintenance5 = true, + #ifdef V3DV_USE_WSI_PLATFORM /* VK_EXT_swapchain_maintenance1 */ .swapchainMaintenance1 = true, @@ -1215,6 +1219,14 @@ get_device_properties(const struct v3dv_physical_device *device, .requiredSubgroupSizeStages = VK_SHADER_STAGE_COMPUTE_BIT, .subgroupSupportedOperations = subgroup_ops, + + /* VK_KHR_maintenance5 */ + .earlyFragmentMultisampleCoverageAfterSampleCounting = true, + .earlyFragmentSampleMaskTestBeforeSampleCounting = true, + .depthStencilSwizzleOneSupport = true, + .polygonModePointSize = true, + .nonStrictSinglePixelWideLinesUseParallelogram = true, + .nonStrictWideLinesUseParallelogram = true, }; /* VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT */