From 363caf2cd8e3fb4fbc49e3f877351f8c2347f7e9 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Fri, 20 Feb 2026 08:57:50 +0100 Subject: [PATCH] radv: adjust minImageTransferGranularity for transfer queue It's required with VK_KHR_maintenance11. This allows way more transfer queue related CTS tests to run and all issues I found should already be fixed. Signed-off-by: Samuel Pitoiset --- src/amd/vulkan/radv_physical_device.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/amd/vulkan/radv_physical_device.c b/src/amd/vulkan/radv_physical_device.c index 6e2952b0e00..c98aeb0ac4a 100644 --- a/src/amd/vulkan/radv_physical_device.c +++ b/src/amd/vulkan/radv_physical_device.c @@ -2920,7 +2920,7 @@ radv_get_physical_device_queue_family_properties(struct radv_physical_device *pd radv_queue_family_protected_flag(pdev, RADV_QUEUE_TRANSFER), .queueCount = pdev->info.ip[AMD_IP_SDMA].num_queues, .timestampValidBits = 64, - .minImageTransferGranularity = (VkExtent3D){16, 16, 8}, + .minImageTransferGranularity = (VkExtent3D){1, 1, 1}, }; idx++; } @@ -3029,6 +3029,16 @@ radv_GetPhysicalDeviceQueueFamilyProperties2(VkPhysicalDevice physicalDevice, ui prop->optimalImageTransferToQueueFamilies = ~0; break; } + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_OPTIMAL_IMAGE_TRANSFER_GRANULARITY_PROPERTIES_KHR: { + VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR *prop = + (VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR *)ext; + if (pQueueFamilyProperties[i].queueFamilyProperties.queueFlags & VK_QUEUE_TRANSFER_BIT) { + prop->optimalImageTransferGranularity = (VkExtent3D){16, 16, 8}; + } else { + prop->optimalImageTransferGranularity = (VkExtent3D){1, 1, 1}; + } + break; + } default: break; }