Erik Faye-Lund
4fabd37a3c
panvk: enable KHR_line_rasterization support
...
This allows users to toggle between rectangular and bresenham style
rasterization.
The bresenham style rasterization is performed by disabling
multisampling and changing the end-points to be axis-aligned. This is
similar to what we already do in Gallium.
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Benjamin Lee <benjamin.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33844 >
2025-03-31 09:03:05 +00:00
Yiwei Zhang
315d55db79
venus: support VK_EXT_multisampled_render_to_single_sampled
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34207 >
2025-03-27 00:52:17 +00:00
Yiwei Zhang
8e173230b6
venus: support VK_KHR_shader_relaxed_extended_instruction
...
This is missed from earlier batches as it was falsely grouped under 1.3
core exts that have been recently fixed.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34207 >
2025-03-27 00:52:17 +00:00
Yiwei Zhang
5227398a6c
venus: support VK_EXT_buffer_device_address
...
Need a separate feature struct as the capture/replay bit means different
things.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34207 >
2025-03-27 00:52:17 +00:00
Yiwei Zhang
8c6a5250ec
venus: support VK_KHR_maintenance7
...
Need to properly fill layered api properties while adjusting query
wrapping based on maint7 feature enablement. Venus has to conditionally
advertise maint7 support only when renderer side vk is 1.2 or supports
VK_KHR_driver_properties.
Acked-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33960 >
2025-03-26 00:26:22 +00:00
Yiwei Zhang
25556de759
venus: enable VK_EXT_debug_utils
...
After adopting common command buffers, venus can safely enable the
extension leveraging the common implementation.
Acked-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34135 >
2025-03-24 21:58:10 +00:00
Yiwei Zhang
d2a7c1c452
docs: demote VK_KHR_shader_relaxed_extended_instruction
...
It's not part of core 1.3.
Fixes: 8b272c8d8c
("docs: update feature matrix for VK_KHR_shader_relaxed_extended_instruction")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34104 >
2025-03-24 20:34:58 +00:00
Connor Abbott
3800f4c199
tu: Implement VK_KHR_maintenance7
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33780 >
2025-03-14 21:27:04 +00:00
Yiwei Zhang
a7ba1291d2
panvk: fix dependency for EXT_display_control
...
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
...
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