panvk: advertise wsi maintenance extensions

These are already implemented by common code, so there's nothing to be
done here, really.

A few tests fail due to timeouts. But this seems no different than on
other drivers, we just skip less WSI tests than most drivers does. Skip
those for now.

Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40502>
This commit is contained in:
Erik Faye-Lund 2026-03-16 10:08:44 +01:00 committed by Marge Bot
parent 59c1fb8284
commit 9ec387efb1
10 changed files with 42 additions and 4 deletions

View file

@ -594,8 +594,8 @@ Khronos extensions that are not part of any Vulkan version:
VK_KHR_win32_surface DONE (dzn, lvp)
VK_KHR_xcb_surface DONE (anv, dzn, hasvk, hk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
VK_KHR_xlib_surface DONE (anv, dzn, hasvk, hk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
VK_KHR_surface_maintenance1 DONE (anv, hk, lvp, nvk, radv, tu, v3dv, vn)
VK_KHR_swapchain_maintenance1 DONE (anv, hk, lvp, nvk, radv, tu, v3dv, vn)
VK_KHR_surface_maintenance1 DONE (anv, hk, lvp, nvk, panvk, radv, tu, v3dv, vn)
VK_KHR_swapchain_maintenance1 DONE (anv, hk, lvp, nvk, panvk, radv, tu, v3dv, vn)
VK_EXT_acquire_xlib_display DONE (anv, hk, lvp, nvk, panvk, radv, tu, v3dv, vn)
VK_EXT_attachment_feedback_loop_dynamic_state DONE (anv, lvp, radv, tu, vn)
VK_EXT_astc_decode_mode DONE (panvk)
@ -682,8 +682,8 @@ Khronos extensions that are not part of any Vulkan version:
VK_EXT_shader_subgroup_vote DONE (anv, dzn, hasvk, hk, lvp, nvk, panvk, radv, vn)
VK_EXT_shader_module_identifier DONE (anv, hasvk, hk, nvk, panvk, radv, tu, v3dv)
VK_EXT_shader_uniform_buffer_unsized_array DONE (anv, hk, nvk, radv, tu, vn)
VK_EXT_surface_maintenance1 DONE (anv, hk, lvp, nvk, radv, tu, v3dv, vn)
VK_EXT_swapchain_maintenance1 DONE (anv, hk, lvp, nvk, radv, tu, v3dv, vn)
VK_EXT_surface_maintenance1 DONE (anv, hk, lvp, nvk, panvk, radv, tu, v3dv, vn)
VK_EXT_swapchain_maintenance1 DONE (anv, hk, lvp, nvk, panvk, radv, tu, v3dv, vn)
VK_EXT_transform_feedback DONE (anv, hasvk, hk, lvp, nvk, radv, tu, vn)
VK_EXT_vertex_attribute_divisor DONE (anv, dzn, hasvk, hk, kk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
VK_EXT_vertex_input_dynamic_state DONE (anv, hk, lvp, nvk, panvk, radv, tu, vn)

View file

@ -34,3 +34,4 @@ VK_VALVE_mutable_descriptor_type on panvk
VK_EXT_shader_stencil_export on panvk
VK_EXT_map_memory_placed on panvk
VK_EXT_conditional_rendering on panvk
VK_{KHR,EXT}_{surface,swapchain}_maintenance1 on panvk

View file

@ -77,3 +77,6 @@ dEQP-VK.glsl.operator.binary_operator.div.mediump_float_vec3_vertex
# Nightly run expectations update
glx@glx-visuals-stencil
# https://gerrit.khronos.org/c/vk-gl-cts/+/19859
dEQP-VK.wsi.xcb.maintenance1.present_modes.*
dEQP-VK.wsi.xcb.maintenance1.present_fence.*

View file

@ -144,3 +144,11 @@ dEQP-VK.synchronization.op.single_queue.timeline_semaphore.write_image_compute_i
# tests are broken with Vulkan 1.0: https://gerrit.khronos.org/c/vk-gl-cts/+/19422
dEQP-VK.image.swapchain_mutable.direct_drm.*
dEQP-VK.wsi.acquire_drm_display.*
# more tests broken on Vulkan 1.0: https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/6409
dEQP-VK.wsi.*.maintenance1.*.bind_image*
# https://gitlab.freedesktop.org/mesa/mesa/-/issues/15116
dEQP-VK.wsi.xlib.maintenance1.present_modes.*
dEQP-VK.wsi.xlib.maintenance1.deferred_alloc.fifo.*
dEQP-VK.wsi.xlib.maintenance1.present_fence.fifo.*

View file

@ -206,6 +206,10 @@ dEQP-VK.texture.shadow.cube.linear_mipmap_nearest.equal_d24_unorm_s8_uint
# No clue what's happening to these on CI lately
dEQP-VK.wsi.*.swapchain.simulate_oom.*
# https://gerrit.khronos.org/c/vk-gl-cts/+/19859
dEQP-VK.wsi.xcb.maintenance1.present_modes.*
dEQP-VK.wsi.xcb.maintenance1.present_fence.*
# With linux kernel 6.13-rc4 uprev
dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x6_rgba.rgba_astc_8x6_khr_srgb8_alpha8_astc_8x6_khr.texture3d_to_cubemap

View file

@ -8,3 +8,8 @@ dEQP-VK.wsi.wayland.swapchain.simulate_oom.image_extent
asan-dEQP-VK.image.swapchain_mutable.direct_drm.*
asan-dEQP-VK.wsi.acquire_drm_display.*
asan-dEQP-VK.wsi.direct_drm.*
# https://gitlab.freedesktop.org/mesa/mesa/-/issues/15116
dEQP-VK.wsi.xlib.maintenance1.present_modes.*
dEQP-VK.wsi.xlib.maintenance1.deferred_alloc.fifo.*
dEQP-VK.wsi.xlib.maintenance1.present_fence.fifo.*

View file

@ -11,6 +11,9 @@ dEQP-VK.sparse_resources.buffer.ssbo.sparse_residency.non_resident_buffer_copy_s
dEQP-VK.wsi.wayland.swapchain.create.image_extent
dEQP-VK.wsi.wayland.swapchain.simulate_oom.image_extent
# https://gerrit.khronos.org/c/vk-gl-cts/+/19859
dEQP-VK.wsi.xcb.maintenance1.present_modes.*
dEQP-VK.wsi.xcb.maintenance1.present_fence.*
angle-dEQP-GLES3.functional.multisample.fbo_4_samples.proportionality_sample_coverage
angle-dEQP-GLES3.functional.multisample.fbo_max_samples.constancy_alpha_to_coverage

View file

@ -1,3 +1,8 @@
# Slow tests (>= 30s)
dEQP-VK.api.external.fence.sync_fd.export_multiple_times_temporary
dEQP-VK.api.external.semaphore.sync_fd.export_multiple_times_temporary
# https://gitlab.freedesktop.org/mesa/mesa/-/issues/15116
dEQP-VK.wsi.xlib.maintenance1.present_modes.*
dEQP-VK.wsi.xlib.maintenance1.deferred_alloc.fifo.*
dEQP-VK.wsi.xlib.maintenance1.present_fence.fifo.*

View file

@ -100,6 +100,8 @@ static const struct vk_instance_extension_table panvk_instance_extensions = {
#ifdef PANVK_USE_WSI_PLATFORM
.KHR_get_surface_capabilities2 = true,
.KHR_surface = true,
.KHR_surface_maintenance1 = true,
.EXT_surface_maintenance1 = true,
#endif
#ifdef VK_USE_PLATFORM_DISPLAY_KHR
.KHR_display = true,

View file

@ -119,6 +119,7 @@ panvk_per_arch(get_physical_device_extensions)(
.KHR_present_wait2 = true,
.KHR_swapchain = true,
.KHR_swapchain_mutable_format = true,
.KHR_swapchain_maintenance1 = true,
#endif
.KHR_synchronization2 = true,
.KHR_timeline_semaphore = true,
@ -194,6 +195,9 @@ panvk_per_arch(get_physical_device_extensions)(
.EXT_shader_subgroup_ballot = true,
.EXT_shader_subgroup_vote = true,
.EXT_subgroup_size_control = has_vk1_1,
#ifdef PANVK_USE_WSI_PLATFORM
.EXT_swapchain_maintenance1 = true,
#endif
.EXT_texel_buffer_alignment = true,
.EXT_astc_decode_mode = PAN_ARCH >= 9,
.EXT_texture_compression_astc_hdr = true,
@ -616,6 +620,9 @@ panvk_per_arch(get_physical_device_features)(
/* VK_ARM_scheduling_controls */
.schedulingControls = PAN_ARCH >= 10,
/* KHR_swapchain_maintenance1 */
.swapchainMaintenance1 = true,
/* VK_EXT_multisampled_render_to_single_sampled */
.multisampledRenderToSingleSampled = true,