tu: Support VK_KHR_maintenance9
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40552>
This commit is contained in:
Connor Abbott 2026-03-20 14:59:47 -04:00 committed by Marge Bot
parent 789e765161
commit 9ee6a23b8f

View file

@ -210,6 +210,7 @@ get_device_extensions(const struct tu_physical_device *device,
.KHR_maintenance6 = tu_is_vk_1_1(device),
.KHR_maintenance7 = tu_is_vk_1_1(device),
.KHR_maintenance8 = tu_is_vk_1_1(device),
.KHR_maintenance9 = tu_is_vk_1_1(device),
.KHR_map_memory2 = true,
.KHR_multiview = tu_has_multiview(device),
.KHR_performance_query = (TU_DEBUG(PERFC) || TU_DEBUG(PERFCRAW)) && device->is_perf_cntr_selectable,
@ -570,6 +571,9 @@ tu_get_features(struct tu_physical_device *pdevice,
/* VK_KHR_maintenance8 */
features->maintenance8 = true;
/* VK_KHR_maintenance9 */
features->maintenance9 = true;
/* VK_KHR_performance_query */
features->performanceCounterQueryPools = true;
features->performanceCounterMultipleQueryPools = false;
@ -1467,6 +1471,12 @@ tu_get_properties(struct tu_physical_device *pdevice,
props->maxDescriptorSetUpdateAfterBindTotalBuffersDynamic =
MAX_DYNAMIC_UNIFORM_BUFFERS + MAX_DYNAMIC_STORAGE_BUFFERS;
/* VK_KHR_maintenance9 */
/* We don't support sparse 3D images */
props->image2DViewOf3DSparse = false;
props->defaultVertexAttributeValue =
VK_DEFAULT_VERTEX_ATTRIBUTE_VALUE_ZERO_ZERO_ZERO_ZERO_KHR;
/* VK_EXT_host_image_copy */
/* We don't use the layouts ATM so just report all layouts from
@ -2021,6 +2031,16 @@ tu_GetPhysicalDeviceQueueFamilyProperties2(
pdevice, family->type, props);
break;
}
case VK_STRUCTURE_TYPE_QUEUE_FAMILY_OWNERSHIP_TRANSFER_PROPERTIES_KHR: {
VkQueueFamilyOwnershipTransferPropertiesKHR *props =
(VkQueueFamilyOwnershipTransferPropertiesKHR *) ext;
/* We don't do anything with queue family ownership, so we can
* trivially implictly transfer to everything.
*/
props->optimalImageTransferToQueueFamilies =
(1u << pdevice->num_queue_families) - 1;
break;
}
default:
break;
}