tu: Implement VK_EXT_pipeline_robustness

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31687>
This commit is contained in:
Connor Abbott
2024-10-15 13:27:05 -04:00
committed by Marge Bot
parent c323848b0b
commit e9bb906a32
2 changed files with 10 additions and 1 deletions

View File

@@ -623,7 +623,7 @@ Khronos extensions that are not part of any Vulkan version:
VK_EXT_pci_bus_info DONE (anv, hasvk, nvk, radv, vn) VK_EXT_pci_bus_info DONE (anv, hasvk, nvk, radv, vn)
VK_EXT_physical_device_drm DONE (anv, hasvk, nvk, panvk, radv, tu, v3dv, vn) VK_EXT_physical_device_drm DONE (anv, hasvk, nvk, panvk, radv, tu, v3dv, vn)
VK_EXT_pipeline_library_group_handles DONE (anv, radv) VK_EXT_pipeline_library_group_handles DONE (anv, radv)
VK_EXT_pipeline_robustness DONE (anv, nvk, radv, v3dv) VK_EXT_pipeline_robustness DONE (anv, nvk, radv, v3dv, tu)
VK_EXT_post_depth_coverage DONE (anv/gfx11+, lvp, nvk, radv/gfx10+, tu) VK_EXT_post_depth_coverage DONE (anv/gfx11+, lvp, nvk, radv/gfx10+, tu)
VK_EXT_primitive_topology_list_restart DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn) VK_EXT_primitive_topology_list_restart DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn)
VK_EXT_primitives_generated_query DONE (anv, hasvk, lvp, nvk, radv, tu, vn) VK_EXT_primitives_generated_query DONE (anv, hasvk, lvp, nvk, radv, tu, vn)

View File

@@ -642,6 +642,9 @@ tu_get_features(struct tu_physical_device *pdevice,
/* VK_EXT_non_seamless_cube_map */ /* VK_EXT_non_seamless_cube_map */
features->nonSeamlessCubeMap = true; features->nonSeamlessCubeMap = true;
/* VK_EXT_pipeline_robustness */
features->pipelineRobustness = true;
/* VK_EXT_primitive_topology_list_restart */ /* VK_EXT_primitive_topology_list_restart */
features->primitiveTopologyListRestart = true; features->primitiveTopologyListRestart = true;
features->primitiveTopologyPatchListRestart = false; features->primitiveTopologyPatchListRestart = false;
@@ -1076,6 +1079,12 @@ tu_get_properties(struct tu_physical_device *pdevice,
/* see write_ubo_descriptor() */ /* see write_ubo_descriptor() */
props->robustUniformBufferAccessSizeAlignment = 16; props->robustUniformBufferAccessSizeAlignment = 16;
/* VK_EXT_pipeline_robustness */
props->defaultRobustnessStorageBuffers = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT;
props->defaultRobustnessUniformBuffers = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT;
props->defaultRobustnessVertexInputs = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT;
props->defaultRobustnessImages = VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2_EXT;
/* VK_EXT_provoking_vertex */ /* VK_EXT_provoking_vertex */
props->provokingVertexModePerPipeline = true; props->provokingVertexModePerPipeline = true;
props->transformFeedbackPreservesTriangleFanProvokingVertex = false; props->transformFeedbackPreservesTriangleFanProvokingVertex = false;