Commit graph

1265 commits

Author SHA1 Message Date
Yiwei Zhang
a7ba1291d2 panvk: fix dependency for EXT_display_control
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
VK_EXT_display_control requires VK_EXT_display_surface_counter, which we
can expose here.

Fixes: f6112a26c5 ("panvk: expose EXT_display_control")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34036>
2025-03-13 16:45:47 -07:00
Yiwei Zhang
305925c439 panvk: disable VK_KHR_shader_quad_control
VK_KHR_shader_quad_control requires VK_KHR_vulkan_memory_model or 1.2,
and neither is there yet.

Fixes: 0c40b1653d ("panvk: Enable VK_KHR_shader_quad_control for v10+")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34036>
2025-03-13 16:44:58 -07:00
Yiwei Zhang
b346d8acfc venus: support VK_EXT_image_sliced_view_of_3d
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34037>
2025-03-13 13:24:48 +00:00
Yiwei Zhang
638341d709 venus: support VK_EXT_pipeline_library_group_handles
This completes the entire series of ray tracing support.

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34037>
2025-03-13 13:24:48 +00:00
Yiwei Zhang
79027caf6f venus: support VK_EXT_debug_report
We use common impl here. Supporting debug utils would require lots of
interceptions in venus, so we'd not go that far but would only expose
debug report. Better than nothing.

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34037>
2025-03-13 13:24:48 +00:00
Yiwei Zhang
cebb8e8c95 venus: back out display control
Venus can only enable VK_EXT_display_control after using common vk_sync,
unless we add new layered implementation in common. Like how I replaced
the common android present impl, but no bandwidth at this point.

Fixes: 89ec6c4d8f ("venus: add a few more trivial extensions")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34037>
2025-03-13 13:24:48 +00:00
Yiwei Zhang
b2040900d0 venus: support VK_EXT_nested_command_buffer
Venus query records have been properly propagated from nested cmds
already, so no special care is needed here for qfb optimizations.

Test:
- dEQP-VK.api.command_buffers.*nested*
- dEQP-VK.conditional_rendering.*nested*
- dEQP-VK.draw.dynamic_rendering.nested_*
- dEQP-VK.multiview.*nested*

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33992>
2025-03-12 19:41:13 +00:00
Yiwei Zhang
7b310cb340 venus: support VK_EXT_attachment_feedback_loop_dynamic_state
Test: dEQP-VK.pipeline.*.attachment_feedback_loop_layout.*

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33992>
2025-03-12 19:41:13 +00:00
Yiwei Zhang
edcc7148ba venus: support VK_EXT_depth_clamp_control
Test: dEQP-VK.draw.*clamp_control*

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33992>
2025-03-12 19:41:13 +00:00
Yiwei Zhang
8914447d9e venus: support VK_EXT_depth_bias_control
Test:
- dEQP-VK.rasterization.depth_bias_control.*
- dEQP-VK.rasterization.depth_bias_control.*_secondary_cmd_buffer_inherit_renderpass
- dEQP-VK.rasterization.depth_bias_control.*_secondary_cmd_buffer_unspecified_fb
- dEQP-VK.pipeline.*.extended_dynamic_state.*depth_bias_repr_info*

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33992>
2025-03-12 19:41:12 +00:00
Yiwei Zhang
b9207d3ad9 venus: support VK_EXT_legacy_dithering
Test: dEQP-VK.*.dithering.v2.*

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33992>
2025-03-12 19:41:12 +00:00
Yiwei Zhang
cb5fa89bc4 venus: support VK_EXT_filter_cubic
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33992>
2025-03-12 19:41:12 +00:00
Yiwei Zhang
89ec6c4d8f venus: add a few more trivial extensions
Below are added:
1. VK_GOOGLE_decorate_string
2. VK_GOOGLE_hlsl_functionality1
3. VK_GOOGLE_user_type
4. VK_EXT_display_control
5. VK_EXT_hdr_metadata

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33992>
2025-03-12 19:41:12 +00:00
Ella Stanforth
332b313547 v3d: enable framebuffer fetch
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33766>
2025-03-12 13:28:16 +00:00
Erik Faye-Lund
f6112a26c5 panvk: expose EXT_display_control
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
We have a common implementation for this, let's just use that.

Similar to the previous commit, this is a bit silly. But if we ever get
in a situation where VK_EXT_display actually makes sense, this stuff
should "just work", so let's enable it for good measure.

Tested-by: Alexandre ARNOUD <aarnoud@me.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33916>
2025-03-11 11:42:08 +00:00
Erik Faye-Lund
8aae7d153d panvk: expose VK_KHR_display
It seems the common WSI code does all that's really needed here for us
already. Enabling this lets me run vkmark on PanVK.

This is a bit silly, because what actually happens here is that we end
up passing -1 as the display_fd to wsi_device_init(). This in turn leads
us to returning zero usable displays, which renders the extension
somewhat useless. But it is better than not supporting the extension, and
not supporting applications who have a hard depdendency on it fail, like
is the case with vkmark.

Tested-by: Alexandre ARNOUD <aarnoud@me.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33916>
2025-03-11 11:42:08 +00:00
Yiwei Zhang
2923945020 venus: support VK_KHR_ray_tracing_maintenance1
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33907>
2025-03-07 22:44:10 +00:00
Yiwei Zhang
7902d9ee32 venus: support VK_KHR_ray_tracing_position_fetch
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33907>
2025-03-07 22:44:10 +00:00
Yiwei Zhang
7cfdd9e8d4 venus: enable VK_KHR_ray_tracing_pipeline
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33907>
2025-03-07 22:44:10 +00:00
Yiwei Zhang
1e526c555b venus: support VK_KHR_ray_query
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33907>
2025-03-07 22:44:10 +00:00
Yiwei Zhang
0deef3d037 venus: enable VK_KHR_acceleration_structure
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33907>
2025-03-07 22:44:10 +00:00
Yiwei Zhang
3eb554a2b5 venus: support VK_KHR_deferred_host_operations
Details are at:
https://gitlab.freedesktop.org/virgl/venus-protocol/-/merge_requests/97

For venus and vkr, we'll use pure driver side impl. Start with (1) and
move towards (2) later as things evolve. We'd like renderer side to be
simple and passive.

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33907>
2025-03-07 22:44:10 +00:00
Erik Faye-Lund
fa91b41f54 docs/features: add VK_EXT_hdr_metadata
This was missed when it was recently added.

Fixes: 4b663d561b ("vulkan/wsi: implement support for VK_EXT_hdr_metadata on Wayland")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33918>
2025-03-07 15:34:02 +00:00
Erik Faye-Lund
1a1412e66e docs/features: add missing panvk feature
I forgot to document this feature when I added it, whoops!

Fixes: ac05c2a2b8 ("panvk: expose subgroup operations")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33918>
2025-03-07 15:34:02 +00:00
Caterina Shablia
a9592a0c15 panvk: enable subgroupExtendedTypes
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33365>
2025-03-05 22:58:15 +00:00
Lucas Fryzek
b37bcd01ed anv: Expose VK_EXT_device_memory_report
Also mark VK_EXT_device_memory_report as supported by anv in
docs/features.txt

Co-authored-by: shenghualin <shenghua.lin@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33767>
2025-03-04 15:24:39 +00:00
Julia Zhang
79bb8e3455 radv: advertise VK_EXT_device_memory_report
Signed-off-by: Julia Zhang <julia.zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33088>
2025-03-03 08:26:51 +00:00
Rebecca Mckeever
0c40b1653d panvk: Enable VK_KHR_shader_quad_control for v10+
Signed-off-by: Rebecca Mckeever <rebecca.mckeever@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33615>
2025-02-28 08:55:32 +00:00
Rebecca Mckeever
13a3d70258 panvk: Enable VK_KHR_shader_maximal_reconvergence for v10+
Signed-off-by: Rebecca Mckeever <rebecca.mckeever@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33615>
2025-02-28 08:55:32 +00:00
Rebecca Mckeever
7d81704640 panvk: Enable VK_KHR_shader_subgroup_uniform_control_flow for v10+
Signed-off-by: Rebecca Mckeever <rebecca.mckeever@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33615>
2025-02-28 08:55:32 +00:00
Yiwei Zhang
af1b4f61b5 venus: added passthrough extension support - Part V
Below extensions are added:
1. VK_KHR_fragment_shader_barycentric
2. VK_EXT_legacy_vertex_attributes
3. VK_EXT_ycbcr_image_arrays

Test:
- dEQP-VK.fragment_shading_barycentric.*
- dEQP-VK.pipeline.*.vertex_input.legacy_vertex_attributes.*
- dEQP-VK.ycbcr.format.*

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33783>
2025-02-27 20:35:36 +00:00
Yiwei Zhang
b02e8a9f1d venus: added passthrough extension support - Part IV
Below extensions are added:
1. VK_EXT_shader_atomic_float
2. VK_EXT_shader_atomic_float2
3. VK_EXT_shader_image_atomic_int64
4. VK_EXT_shader_replicated_composites

Test:
- dEQP-VK.glsl.atomic_operations.*
- dEQP-VK.image.atomic_operations.*

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33783>
2025-02-27 20:35:35 +00:00
Yiwei Zhang
1fe8be9215 venus: added passthrough extension support - Part III
Below are added:
1. VK_KHR_shader_maximal_reconvergence
2. VK_KHR_shader_subgroup_uniform_control_flow
3. VK_KHR_shader_quad_control
4. VK_EXT_shader_subgroup_vote

Test:
- dEQP-VK.reconvergence.*
- dEQP-VK.subgroups.subgroup_uniform_control_flow.*
- dEQP-VK.subgroups.shader_quad_control.*

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33783>
2025-02-27 20:35:35 +00:00
Yiwei Zhang
f16345b2f6 venus: added passthrough extension support - Part II
Below are added:
1. VK_KHR_compute_shader_derivatives
2. VK_NV_compute_shader_derivatives
3. VK_KHR_workgroup_memory_explicit_layout

Test:
- dEQP-VK.compute.*workgroup_memory_explicit_layout.*
- dEQP-VK.spirv_assembly.instruction.compute.compute_shader_derivatives.*

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33783>
2025-02-27 20:35:35 +00:00
Yiwei Zhang
48b50c77df venus: added passthrough extension support - Part I
Below are added:
1. VK_KHR_depth_clamp_zero_one
2. VK_EXT_depth_clamp_zero_one
3. VK_EXT_depth_range_unrestricted
4. VK_EXT_post_depth_coverage
5. VK_ARM_rasterization_order_attachment_access

Test: dEQP-VK.depth.*

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33783>
2025-02-27 20:35:35 +00:00
Yiwei Zhang
acd5497067 venus: support wsi maintenance1 extensions
Venus has long supported creating swapchain image alias via binding. So
below are exposed without extra work needed:
- VK_EXT_surface_maintenance1
- VK_EXT_swapchain_maintenance1

Test: dEQP-VK.wsi.*.maintenance1.*

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33782>
2025-02-27 09:53:57 +00:00
Yiwei Zhang
673a95e5b4 venus: align on wsi frontends support
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33782>
2025-02-27 09:53:57 +00:00
Yiwei Zhang
bef1c23a23 venus: re-enable 1.4 support
Have made core venus protocol update to be able to support host image
copy.

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33757>
2025-02-26 19:16:48 +00:00
Yiwei Zhang
577fa1793d venus: enable VK_EXT_host_image_copy support
Fill the core features and properties properly, and conditionally pass
through support of the extension based on the renderer venus protocol
spec version.

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33757>
2025-02-26 19:16:48 +00:00
Yiwei Zhang
43c3270c26 venus: temporarily disable 1.4 support
Will implement VK_EXT_host_image_copy via custom venus protocol support
and then re-enable 1.4.

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33698>
2025-02-24 00:11:55 +00:00
Yiwei Zhang
a9da750388 venus: advertise 1.4 support
This change:
- adds the core 1.4 support
- handles partially promoted dynamicRenderingLocalRead feature
- properly scrubs host copy related features and properties if needed

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33690>
2025-02-22 21:14:47 +00:00
Yiwei Zhang
d26643c6c2 venus: support VK_KHR_maintenance6
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33690>
2025-02-22 21:14:47 +00:00
Yiwei Zhang
015dd37931 venus: support VK_KHR_dynamic_rendering_local_read
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33690>
2025-02-22 21:14:47 +00:00
Mike Blumenkrantz
d979cd8d9d zink: support cl_gl_sharing if dmabuf is supported
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33652>
2025-02-21 14:18:44 +00:00
Mohamed Ahmed
dfd5e3da7b nvk: Implement VK_MESA_image_alignment_control
This is needed by VKD3D in order to satisfy D3D12's image alignment
requirements.  Otherwise, it has to pad things out weirdly in order to
re-align images behind the app's back.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12637
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33633>
2025-02-20 05:31:08 +00:00
Yiwei Zhang
e488b5e45e venus: support VK_KHR_global_priority
as well as the prior versions promoted from.

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33594>
2025-02-19 04:06:58 +00:00
Yiwei Zhang
696ee859ef venus: support VK_KHR_map_memory2
This is purely on the driver side.

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33594>
2025-02-19 04:06:58 +00:00
Yiwei Zhang
f69a0201da venus: support VK_EXT_pipeline_robustness
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33594>
2025-02-19 04:06:57 +00:00
Yiwei Zhang
e027f2afc1 venus: support VK_EXT_pipeline_protected_access
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33594>
2025-02-19 04:06:57 +00:00
Yiwei Zhang
ea8a396b91 venus: support VK_KHR_shader_float_controls2
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33594>
2025-02-19 04:06:56 +00:00