Ashley Smith
6d69a8eb9a
panfrost: Fix shader_clock support for v6+
...
This code sets PANFROST_JD_REQ_CYCLE_COUNT when using LD_GCLK to enable
shader_clock
Fixes: c1ce2dcc ("pan/bi: Enable ARB_shader_clock extension support")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Signed-off-by: Ashley Smith <ashley.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35363 >
(cherry picked from commit 95c508d950 )
2025-06-18 17:55:44 +02:00
Erik Faye-Lund
7926758a78
panvk: support vulkan 1.2 on v10+
...
While not yet officially conformant, we support all the required
features, and we pass the CTS. Let's mark off Vulkan 1.2, to make things
easier for applications.
Backport-to: 25.1
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34512 >
(cherry picked from commit b3fd8ddf6a )
2025-04-27 11:51:59 +02:00
John Anthony
a9b90aa1ce
panvk: Enable VK_EXT_direct_mode_display
...
Panvk already enables VK_EXT_acquire_xlib_display, but not
VK_EXT_direct_mode_display which is a dependency. This causes a failure
in dEQP-VK.info.instance_extensions.
Fixes: 8c2bfa279d ("panvk: support x11 wsi")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34672 >
(cherry picked from commit 8dd578e2a4 )
2025-04-27 11:51:34 +02:00
Ryan Mckeever
70b8056df1
panvk: Enable KHR_format_feature_flags2 and use them
...
We need to enable this to use
VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT and
VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT.
Signed-off-by: Ryan Mckeever <ryan.mckeever@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33787 >
2025-04-15 21:30:41 +00:00
Erik Faye-Lund
26a4a2ee18
docs/panvk: add missing new features
...
We missed these from the release notes, let's add them.
Fixes: fbb2805575 ("panvk: Advertise KHR_dynamic_rendering_local_read support")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34525 >
2025-04-15 20:54:09 +02:00
Erik Faye-Lund
d5fce25fb0
docs/panvk: fixup docs around float controls
...
We both misnamed the extension, and missed the v10+ detail for the
second version.
Fixes: 22fa3e88dd ("panvk: advertise VK_KHR_float_controls2")
Fixes: 7612dc4713 ("panvk: advertise VK_KHR_shader_float_controls")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34525 >
2025-04-15 20:53:55 +02:00
Erik Faye-Lund
68669ba0c1
docs/panvk: remove disabled extension
...
We ended up reverting this one, let's remove it from the release notes
and features.txt.
Fixes: 305925c439 ("panvk: disable VK_KHR_shader_quad_control")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34525 >
2025-04-15 20:53:55 +02:00
Erik Faye-Lund
4efb1dac6b
docs/panvk: fixup extension support
...
This extension is now only supported on PanVK/v10+
Fixes: 23c0d64e24 ("panvk: disable VK_EXT_image_drm_format_modifier for arch < 10")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34525 >
2025-04-15 20:53:55 +02:00
Erik Faye-Lund
d4797b8ab7
panvk: enable KHR_spirv_1_4 on v10+
...
The previous fix seems to be all that was needed to enable this, so
let's flip the switch.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34514 >
2025-04-15 09:15:29 +00:00
Benjamin Lee
22fa3e88dd
panvk: advertise VK_KHR_float_controls2
...
This is all supported by the common nir code, no changes needed on our
end.
Signed-off-by: Benjamin Lee <benjamin.lee@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33660 >
2025-04-10 16:21:09 +00:00
Benjamin Lee
7612dc4713
panvk: advertise VK_KHR_shader_float_controls
...
Signed-off-by: Benjamin Lee <benjamin.lee@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33660 >
2025-04-10 16:21:09 +00:00
Erik Faye-Lund
5c11b4a039
docs/features: update panvk support
...
We were missing panvk in two places here, and missing that one ext is
only supported on v10 and later.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34310 >
2025-04-08 16:44:27 +00:00
Patrick Lerda
bd88a92dde
r600: enable ARB_compute_variable_group_size
...
This change was tested and passes the piglit tests (20/20)
on cypress, palm and cayman.
Signed-off-by: Patrick Lerda <patrick9876@free.fr >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34404 >
2025-04-08 13:04:17 +00:00
Ashley Smith
c1ce2dcc66
pan/bi: Enable ARB_shader_clock extension support
...
Introduces GCLK instruction to read the system timer/counter. Currently
only counter is supported.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34342 >
2025-04-07 15:58:45 +00:00
Danylo Piliaiev
c496774c35
freedreno/a6xx: Implement ARB_shader_clock
...
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29860 >
2025-04-04 18:22:49 +00:00
Danylo Piliaiev
0e9854a894
tu: Implement VK_KHR_shader_clock
...
There is a special address defined in kernel from which ALWAYSON
counter could be read.
Blob uses this sequence to read it:
getone #l15
mov.s32s32 r2.y, -4096
mov.s32s32 r2.z, 131071
(rpt5)nop
ldg.u32 r2.w, g[r2.y], 1
ldg.u32 r2.y, g[r2.y+4], 1
(sy)(ss)mov.s32s32 r48.x, (last)r2.w
mov.s32s32 r48.y, (last)r2.y
l15:
Passes:
dEQP-VK.glsl.shader_clock.*
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29860 >
2025-04-04 18:22:49 +00:00
Connor Abbott
75178c4655
tu: Implement VK_QCOM_fragment_density_map_offset
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33500 >
2025-04-03 05:37:56 +00:00
Autumn Ashton
693e3b47f7
radv: Expose EXT_sample_locations everywhere
...
This works and passes CTS now!
Signed-off-by: Autumn Ashton <misyl@froggi.es >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28237 >
2025-04-01 21:15:31 +01:00
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