From 20f4cd88e14642da210dc0e44bea615fa0780f1a Mon Sep 17 00:00:00 2001 From: Valentine Burley Date: Sun, 24 Mar 2024 16:17:21 +0000 Subject: [PATCH] tu: Advertise VK_KHR_maintenance6 Signed-off-by: Valentine Burley Part-of: --- docs/features.txt | 2 +- src/freedreno/vulkan/tu_device.cc | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/docs/features.txt b/docs/features.txt index 7f34c032d94..55e0508eb0f 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -525,7 +525,7 @@ Khronos extensions that are not part of any Vulkan version: 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_maintenance6 DONE (anv, lvp, nvk, radv) + 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, hasvk, radv, tu, v3dv) VK_KHR_pipeline_library DONE (anv, lvp, nvk, radv, tu, vn) diff --git a/src/freedreno/vulkan/tu_device.cc b/src/freedreno/vulkan/tu_device.cc index 9d177faa456..83a46ad0e65 100644 --- a/src/freedreno/vulkan/tu_device.cc +++ b/src/freedreno/vulkan/tu_device.cc @@ -176,6 +176,7 @@ get_device_extensions(const struct tu_physical_device *device, .KHR_maintenance3 = true, .KHR_maintenance4 = true, .KHR_maintenance5 = true, + .KHR_maintenance6 = true, .KHR_map_memory2 = true, .KHR_multiview = TU_DEBUG(NOCONFORM) ? true : device->info->a6xx.has_hw_multiview, .KHR_performance_query = TU_DEBUG(PERFC), @@ -454,6 +455,9 @@ tu_get_features(struct tu_physical_device *pdevice, /* VK_KHR_maintenance5 */ features->maintenance5 = true; + /* VK_KHR_maintenance6 */ + features->maintenance6 = true; + /* VK_KHR_performance_query */ features->performanceCounterQueryPools = true; features->performanceCounterMultipleQueryPools = false; @@ -1105,6 +1109,11 @@ tu_get_properties(struct tu_physical_device *pdevice, props->polygonModePointSize = true; props->nonStrictWideLinesUseParallelogram = false; props->nonStrictSinglePixelWideLinesUseParallelogram = false; + + /* VK_KHR_maintenance6 */ + props->blockTexelViewCompatibleMultipleLayers = true; + props->maxCombinedImageSamplerDescriptorCount = 1; + props->fragmentShadingRateClampCombinerInputs = false; /* TODO */ } static const struct vk_pipeline_cache_object_ops *const cache_import_ops[] = {