Commit Graph

1192 Commits

Author SHA1 Message Date
Olivia Lee 5fe5e3176f panvk: advertise descriptor indexing on valhall
Our existing descriptor implementation already supports
update-after-bind on both bifrost and valhall, but on bifrost the some
of the descriptor limits are lower than the minimum required by the
extension.

Signed-off-by: Olivia Lee <olivia.lee@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35408>
2025-06-13 19:02:19 +00:00
Derek Foreman 07881b085e vulkan: Enable PresentWait2 on many physical devices
PresentWait2 should be possible on any physical device, as it adds a
surface capability query that depends on common wsi code.

Signed-off-by: Derek Foreman <derek.foreman@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35414>
2025-06-13 15:52:02 +00:00
Lionel Landwerlin 854298e033 docs/features: update anv support
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35426>
2025-06-13 17:25:59 +03:00
Erik Faye-Lund 1145cac490 docs/features: mark vk 1.3 as complete on panvk/v10+
This already landed upstream, I just forgot to update this file.

While we're at it, update the vk 1.2-entry to only list V10+, to match
reality.

Fixes: 8ec846407d ("panvk: expose vulkan 1.3 support")
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35513>
2025-06-13 13:13:43 +02:00
Erik Faye-Lund 8426973ad6 panvk: enable KHR_vulkan_memory_model
We have all the pieces lined up now, so let's enable the memory model
extension.

Reviewed-by: Caterina Shablia <caterina.shablia@collabora.com>
Reviewed-by: Olivia Lee <olivia.lee@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35502>
2025-06-13 12:05:25 +02:00
Samuel Pitoiset 8dd496955d radv: advertise VK_KHR_unified_image_layouts on GFX11+
On GFX12, everything is compressed with DCC and it's completely
transparent to the userspace driver.

On GFX11-GFX11.5, DCC can compress everything with GENERAL and FMASK
has been merged with DCC.

On GFX10-GFX10.3, MSAA through FMASK can't be compressed with GENERAL
and this will hurt performance.

On GFX6-9, DCC can't be supported with GENERAL because no DCC stores,
so this will destroy performance.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35424>
2025-06-13 08:12:04 +00:00
Samuel Pitoiset d5da47f831 radv: advertise VK_KHR_maintenance9
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35423>
2025-06-13 07:33:03 +00:00
Olivia Lee 0034fec71d panvk: implement VK_EXT_depth_clip_control
Signed-off-by: Olivia Lee <olivia.lee@collabora.com>
Reviewed-by: Eric R. Smith <eric.smith@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35224>
2025-06-13 02:19:21 +00:00
Olivia Lee f44a824541 panvk: advertise VK_KHR_depth_clamp_zero_one
This matches our existing behavior on both JM and CSF, where when
depthClamp is disabled, we clamp to [0,1].

Signed-off-by: Olivia Lee <olivia.lee@collabora.com>
Reviewed-by: Eric R. Smith <eric.smith@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35224>
2025-06-13 02:19:20 +00:00
Karol Herbst ee1fe1a1e5 rusticl: implement cl_khr_spirv_queries
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35439>
2025-06-12 12:41:48 +00:00
Erik Faye-Lund 90b92aaf26 docs/features: add GL_EXT_shader_realtime_clock
This should've been done when we wired up the core-bits, but better late
than never.

Fixes: c5500cd12f ("mesa: Add support for GL_EXT_shader_realtime_clock")
Reviewed-by: Ashley Smith <ashley.smith@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35349>
2025-06-10 18:40:58 +00:00
Patrick Lerda 9e1180b335 r600: implement ARB_indirect_parameters
This change extends the ARB_shader_draw_parameters
algorithm to support ARB_indirect_parameters.

The linux kernel needs to be updated to support
the following PM4 commands: COND_EXEC and COND_WRITE.
Without the update, this extension is disabled.

This change was tested on cypress, palm, barts and cayman.
It passes all the piglit tests (6/6) and all the khr-gl45
tests (3/3).

Signed-off-by: Patrick Lerda <patrick9876@free.fr>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34726>
2025-06-10 17:30:24 +00:00
Patrick Lerda f66f5d1cd5 r600: implement ARB_shader_draw_parameters
This implementation is aimed at compatibility. The
new multi draw indirect mode is unrolled at the
command stream level.

This change was tested on cypress, palm, barts and cayman.
It passes all the piglit tests (23/23) and all the khr-gl45
tests (11/11).

Signed-off-by: Patrick Lerda <patrick9876@free.fr>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34726>
2025-06-10 17:30:24 +00:00
Patrick Lerda 7947fba185 r600: enable trivial ARB_shader_group_vote
This change was tested on rv770, palm and cayman.

Signed-off-by: Patrick Lerda <patrick9876@free.fr>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34726>
2025-06-10 17:30:24 +00:00
Adam Jackson 0f05988640 rusticl: Implement cl_intel_required_subgroup_size
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35133>
2025-06-10 15:53:39 +00:00
Karol Herbst 13e47cde01 iris: implement SVM interfaces
Acked-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35174>
2025-06-10 12:17:39 +00:00
Karol Herbst a34a8fc0cd iris: implement resource_get_address
Acked-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35174>
2025-06-10 12:17:39 +00:00
Rob Clark 242f677d20 freedreno: A couple features.txt updates
Just catching up with reality.

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35371>
2025-06-06 21:15:21 +00:00
Erik Faye-Lund ad6e1afe74 panvk: add EXT_texture_compression_astc_hdr support
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34828>
2025-06-06 06:40:59 +00:00
Ashley Smith 95c508d950 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>
2025-06-05 14:57:20 +00:00
Karol Herbst cf3ec8d3b9 rusticl: enable proper fp16 support
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34053>
2025-06-05 13:17:27 +00:00
Christoph Pillmayer 0440d1dd03 panvk: Advertise VK_EXT_inline_uniform_block
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35178>
2025-06-05 11:18:29 +00:00
Georg Lehmann c27cdaac70 radv: expose scalarBlockLayout on GFX6
Scalar block layout doesn't allow anything that our memory load/store vectorizer
couldn't create on its own. So I assume whatever reason there was to only
expose this feature on GFX7+ was incorrect or ended up being fixed.

Passes vkcts in CI on tahiti.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35279>
2025-06-04 08:49:57 +00:00
Ryan Mckeever b69dcd8d33 panvk: Enable VK_EXT_load_store_op_none
Signed-off-by: Ryan Mckeever <ryan.mckeever@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Olivia Lee <olivia.lee@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32915>
2025-06-02 22:01:11 +00:00
Olivia Lee 97e54511a5 panvk: advertise VK_EXT_shader_subgroup_vote and VK_EXT_shader_subgroup_ballot
These are already supported in the compiler.

Signed-off-by: Olivia Lee <olivia.lee@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35218>
2025-05-28 23:20:09 +00:00
Karol Herbst da4de8d7e3 rusticl: add support for coarse-grain buffer SVM
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32942>
2025-05-28 19:21:46 +00:00
Karol Herbst b65652b4be rusticl: implement cl_ext_buffer_device_address
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32942>
2025-05-28 19:21:46 +00:00
Alyssa Rosenzweig d7c0355725 asahi: advertise ASTC HDR formats
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35132>
2025-05-28 14:49:06 +00:00
Erik Faye-Lund be74e9ffaf pan/lib: wire up ASTC HDR formats
This exposes GL_KHR_texture_compression_astc_hdr, which makes a few
piglit tests go from fail to pass.

Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35132>
2025-05-28 14:49:06 +00:00
Karol Herbst 0a9b871b9e rusticl: support cl_khr_kernel_clock
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35179>
2025-05-27 19:57:28 +00:00
Adam Jackson 2249ba9fa3 rusticl: Enable cl_intel_subgroups if you ask nicely
Definitely not fully working yet but works well when it does.

Acked-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31772>
2025-05-27 15:20:17 +00:00
Erik Faye-Lund 2ec3b83f99 panvk: expose EXT_texel_buffer_alignment support
This was mostly wired up, but we currently require an alignment of 64
for uniform texel buffers, because we're currently using
plane-descriptors for this.

We could lift that limitation by switching to buffer descriptors and use
LD_CVT for the format-conversion, but that's a bigger change.

Let's just fix up the aligntment and enable the extension for now.

Reviewed-by: Olivia Lee <benjamin.lee@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34826>
2025-05-27 11:31:55 +02:00
Alyssa Rosenzweig 8e9d7c3a84 docs/features: add honeykrisp
I'm tired.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35108>
2025-05-22 15:32:48 +00:00
Mary Guillemard 8a3b89db95 panvk: Advertise support for VK_EXT_image_2d_view_of_3d
This is already supported, we just need to toggle the switch.

Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35065>
2025-05-20 14:20:23 +00:00
Mary Guillemard 43d84078e6 panvk: Advertise support for VK_EXT_primitive_topology_list_restart
This is already supported, we just need to toggle the switch.

Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35065>
2025-05-20 14:20:23 +00:00
Faith Ekstrand d808870d49 nvk: Implement VK_EXT_zero_initialize_device_memory
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13159
Reviewed-By: Thomas H.P. Andersen <phomes@gmail.com>
Reviewed-By: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34968>
2025-05-15 03:20:12 +00:00
Samuel Pitoiset 21badbf336 radv: advertise VK_EXT_zero_initialize_device_memory
Only expose this extension when AMDGPU supports zerovram allocations.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34896>
2025-05-12 06:53:55 +00:00
Georg Lehmann 6f4e26e54d radv/gfx12+: enable VK_KHR_shader_bfloat16
GFX11 seems to have precision issues, so don't enable the extension there for now.

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34768>
2025-05-09 11:20:26 +00:00
Rohan Garg b9fe5aad37 anv: enable VK_KHR_shader_bfloat16
Signed-off-by: Rohan Garg <rohan.garg@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34105>
2025-04-29 16:29:37 +00:00
Erik Faye-Lund 87e143b053 docs/features: mark off missing panvk extensions
Seems we forgot to check these two off.

Fixes: 5ed79c2d2b ("panvk: Advertise support for VK_KHR_shader_terminate_invocation")
Fixes: d4998f7ff3 ("panvk: Advertise VK_EXT_shader_demote_to_helper_invocation support")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34747>
2025-04-29 14:35:20 +00:00
Mary Guillemard f23f8c2826 panvk: Advertise VK_EXT_depth_bias_control
This gives more details on the hardware depth bias implementation details.

Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34745>
2025-04-29 14:08:37 +00:00
Mary Guillemard 970bdecb50 panvk: Advertise VK_EXT_shader_replicated_composites
This is handled by common code.

Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34745>
2025-04-29 14:08:36 +00:00
Romaric Jodin 7112c606ef panvk: Advertise support for VK_KHR_shader_integer_dot_product
This is already supported, we just need to toggle the switch.

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34695>
2025-04-28 13:17:31 +02:00
Ryan Mckeever 2a16422fab panvk: Advertise KHR_draw_indirect_count for v10+
Signed-off-by: Ryan Mckeever <ryan.mckeever@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34571>
2025-04-28 10:33:32 +00:00
Erik Faye-Lund d39e2869a8 panvk: re-enable KHR_shader_quad_control on v10+
Now that we support Vulkan 1.2, we can expose KHR_shader_quad_control
again.

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34512>
2025-04-25 22:31:34 +00:00
Erik Faye-Lund b3fd8ddf6a 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>
2025-04-25 22:31:34 +00:00
Boris Brezillon d432fd9e32 panvk: Advertise support for VK_EXT_extended_dynamic_state[2]
We added CmdBindVertexBuffers2(), the rest is handled by the core.

Advertising this feature also works around a CTS bug that was
calling CmdSetPatchControlPointsEXT() without checking for this
extension.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Olivia Lee <benjamin.lee@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34696>
2025-04-25 09:04:55 +02:00
John Anthony 8dd578e2a4 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>
2025-04-24 12:11:32 +00:00
Boris Brezillon 85b6bd989e panvk: Advertise support for VK_KHR_maintenance5
This is already supported, all we have to do is advertise it.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34648>
2025-04-23 11:31:40 +00:00
Boris Brezillon b632ac7e3b panvk: Advertise support for VK_KHR_maintenance4
This is already supported, all we have to do is advertise it.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34648>
2025-04-23 11:31:40 +00:00