Commit graph

1312 commits

Author SHA1 Message Date
Karmjit Mahil
01d1748130 tu: Add VK_EXT_zero_initialize_device_memory
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14023
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37662>
2025-10-08 10:13:35 +00:00
Frank Binns
793abd9741 pvr: advertise VK_EXT_zero_initialize_device_memory
The kernel driver zero initialises device memory allocations for us, so all that
needs to be done is to advertise support for the extension.

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Karmjit Mahil <karmjit.mahil@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37732>
2025-10-08 08:25:20 +01:00
Simon Perretta
a1acd6f8d1 pvr, pco: add primitive support for VK_KHR_robustness2.nullDescriptor
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37512>
2025-09-30 12:15:54 +00:00
Simon Perretta
63c4ecfae0 pvr, pco: add remaining support for eds2 & 3
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37512>
2025-09-30 12:15:53 +00:00
James Fitzpatrick
17468aee4b pvr: add support for (EXT|KHR)_line_rasterization
Signed-off-by: James Fitzpatrick <james.fitzpatrick@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37512>
2025-09-30 12:15:52 +00:00
leonperianu
9ab273f5ab pvr: add support for VK_KHR_depth_stencil_resolve
This commit enables the VK_KHR_depth_stencil_resolve extension in the PVR
Vulkan driver. Only worth to note that this implementation is based on the
renderpass driver path and it will need a rework as part of the dynamic
rendering enablement.

Signed-off-by: leonperianu <leon.perianu@imgtec.com>
Co-authored-by: Luigi Santivetti <luigi.santivetti@imgtec.com>
Co-authored-by: Ashish Chauhan <ashish.chauhan@imgtec.com>
Co-authored-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37512>
2025-09-30 12:15:51 +00:00
Frank Binns
b1cb11337a pvr: advertise KHR_spirv_1_4
Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37512>
2025-09-30 12:15:50 +00:00
Simon Perretta
27b329eea3 pvr: add support for VK_KHR_shader_draw_parameters, drawIndirectFirstInstance
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37512>
2025-09-30 12:15:49 +00:00
Frank Binns
80609b35e1 pvr: advertise KHR_shader_subgroup_extended_types
Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37512>
2025-09-30 12:15:49 +00:00
Frank Binns
c0df962fa0 pvr: enable KHR_create_renderpass2
The driver already implements the regular render pass functions in terms of the
VK_KHR_create_renderpass2 functions. However, the extension couldn't be
advertised due to missing support for VK_KHR_multiview. Now multiview is
supported, renderpass2 can be advertised as well.

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37512>
2025-09-30 12:15:46 +00:00
Simon Perretta
cb6c921502 pvr, pco: add multiview compiler support, advertise extension
- Pass view index to fragment shader via linked flat varying.
- Use view index instead of layer id for input attachments when required.

Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37512>
2025-09-30 12:15:46 +00:00
Lewis Cooper
8eb26e4986 pvr: Implement VK_KHR_dedicated_allocation
Signed-off-by: Lewis Cooper <lewis.cooper@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37512>
2025-09-30 12:15:44 +00:00
Roland Scheidegger
7e0c0ba08c lavapipe: implement VK_EXT_sample_locations
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Seems to pass all relevant lavapipe vk cts tests
zink-lavapipe fails, but it's broken in zink, update ci expectation

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37603>
2025-09-30 01:13:29 +00:00
Christian Gmeiner
2a14b7224b etnaviv: Support ARB_stencil_texturing
The hardware support for stencil texturing is unclear from RE and
the feature databases. Enable this extension on halti5 GPUs as a
conservative starting point.

This also enables ARB_texture_stencil8.

Passes:
 - dEQP-GLES31.functional.stencil_texturing.format.stencil_index8*
 - dEQP-GLES31.functional.stencil_texturing.format.depth24_*
 - arb_texture_stencil8 piglit
 - arb_stencil_texture piglit

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37578>
2025-09-26 10:30:16 +00:00
Christian Gmeiner
d5606141eb docs/features: Mark GL_EXT_transform_feedback as done for etnaviv/HWTFB
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37579>
2025-09-26 08:11:10 +00:00
Erico Nunes
5120a91c82 pvr: add VK_EXT_physical_device_drm support
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This is notably required by Wayland compositors with a Vulkan renderer.
This implementation exposes the primary (cardN) node of the render
device as its the primary node, as the preferred way of implementing
this in Mesa.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Reviewed-by: Simon Perretta <simon.perretta@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25431>
2025-09-25 17:57:15 +00:00
Connor Abbott
c2eb768eb2 tu: Expose VK_EXT_dynamic_rendering_unused_attachments
We only use attachment formats for things used by the pipeline, so we
can trivially enable this.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37529>
2025-09-23 17:33:19 +00:00
sarbes
2f99f95288 lima: wire up anisotropic filtering
v2:
- AF seems to be log2 based, so convert accordingly

v3:
- actually expose AF

v4:
- REALLY expose AF
- remove log2 modifier assert
- use log2 modifier
- rename AF field
- advertise AF support in features

Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37189>
2025-09-22 19:40:31 +00:00
Roland Scheidegger
b0be900f93 llvmpipe: implement GL_ARB_sample_locations
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Needing the positions both in the scene for rasterization (in fixed point)
and in the fs (as floats) is a bit awkward, for now just put it in fs key.
Otherwise pretty straight forward.

Reviewed-by: Michal Krol <michal.krol@broadcom.com>
Reviewed-by: Brian Paul <brian.paul@broadcom.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37181>
2025-09-20 01:57:05 +00:00
Roland Scheidegger
762fd255d8 docs: fix up old comment about fake msaa for llvmpipe
llvmpipe has supported real msaa for quite some time.

Reviewed-by: Brian Paul <brian.paul@broadcom.com>
Reviewed-by: Michal Krol <michal.krol@broadcom.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37181>
2025-09-20 01:57:03 +00:00
Tapani Pälli
59a4f53b95 iris: setup bits for ARB_texture_filter_minmax with gfx9+
Tested with: KHR-GL46.texture_filter_minmax_tests.*

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37451>
2025-09-19 05:29:35 +00:00
Eric Engestrom
144879ca40 doc/features.txt: add missing supported dzn extensions
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37404>
2025-09-17 16:09:29 +00:00
Eric Engestrom
055f8ebf96 doc/features.txt: add missing supported nvk extensions
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37401>
2025-09-16 21:43:49 +00:00
Eric Engestrom
03ff586c18 doc/features.txt: add missing supported v3dv extensions
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37403>
2025-09-16 19:23:00 +00:00
Frank Binns
e306abc6e6 pvr: implement KHR_shader_float_controls
Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
2025-09-16 18:26:37 +00:00
leonperianu
6c0e26b002 pvr: Advertise KHR_separate_depth_stencil_layouts
No specific driver changes are required.

Signed-off-by: leonperianu <leon.perianu@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
2025-09-16 18:26:36 +00:00
Vlad Schiller
63844cd531 pvr: Implement EXT_separate_stencil_usage
Signed-off-by: Vlad Schiller <vlad-radu.schiller@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
2025-09-16 18:26:35 +00:00
Lewis Cooper
3f4803a852 pvr: Implement VK_KHR_maintenance3
Signed-off-by: Lewis Cooper <lewis.cooper@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
2025-09-16 18:26:34 +00:00
Frank Binns
df5152bda3 pvr: Implement VK_KHR_descriptor_update_template
Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
2025-09-16 18:26:29 +00:00
Frank Binns
6b00301c04 pvr: implement VK_EXT_depth_clip_enable
Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
2025-09-16 18:26:28 +00:00
Frank Binns
fb1f900537 pvr: advertise VK_EXT_queue_family_foreign
This is needed in order for Zink to advertise DRM_PRIME_CAP_IMPORT &
DRM_PRIME_CAP_EXPORT for PIPE_CAP_DMABUF.

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
2025-09-16 18:26:27 +00:00
Vlad Schiller
03f02a4655 pvr: Implement VK_KHR_imageless_framebuffer
Signed-off-by: Vlad Schiller <vlad-radu.schiller@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
2025-09-16 18:26:24 +00:00
Vlad Schiller
a7e9e61873 pvr: Enable KHR_swapchain_mutable_format
Because this extension is fully implemented, all that needs to be
done is to enable it.

Signed-off-by: Vlad Schiller <vlad-radu.schiller@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
2025-09-16 18:26:23 +00:00
Matt Coster
bf9c84991f pvr: Add support for custom border colors
This includes EXT_custom_border_color and EXT_border_color_swizzle.

Test coverage is:
 - dEQP-VK.pipeline.*.sampler.border_swizzle.*
 - dEQP-VK.pipeline.*.sampler.view_type.*.format.*.address_modes
     .*_clamp_to_border_custom_*

Co-authored-by: Luigi Santivetti <luigi.santivetti@imgtec.com>
Signed-off-by: Matt Coster <matt.coster@imgtec.com>
Signed-off-by: Luigi Santivetti <luigi.santivetti@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
2025-09-16 18:26:23 +00:00
Luigi Santivetti
fdc641c154 pvr: add support for VK_KHR_maintenance2
Make the required driver changes to support and advertise this extension.
The rest of the required changes are already handled by the Vulkan
runtime.

Signed-off-by: Luigi Santivetti <luigi.santivetti@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
2025-09-16 18:26:23 +00:00
Simon Perretta
18ab2d2cbb pvr: enable VK_EXT_extended_dynamic_state
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
2025-09-16 18:26:20 +00:00
Simon Perretta
fc651f3a8c pvr, pco: implement VK_EXT_color_write_enable
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
2025-09-16 18:26:19 +00:00
Frank Binns
88027da710 pvr: implement VK_(EXT|KHR)_vertex_attribute_divisor
Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Co-authored-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
2025-09-16 18:26:17 +00:00
Simon Perretta
92c5945060 pvr, pco: implement VK_EXT_depth_clamp_zero_one
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
2025-09-16 18:26:16 +00:00
Simon Perretta
33620688a7 pvr: add support for VK_EXT_provoking_vertex
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
2025-09-16 18:26:16 +00:00
Simon Perretta
7b28b6c43d pvr, pco: implement VK_EXT_image_2d_view_of_3d
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
2025-09-16 18:26:14 +00:00
Luigi Santivetti
b461335f64 pvr: add support for VK_KHR_maintenance1
VK_KHR_maintenance1 is a collection of several tweaks and additions to the 1.0
version of the Vulkan spec, promoted to core in more recent versions.

This change exposes the extension and only adds what was missing from our
implementation, however the driver largely already had support for what is
required by this extension.

Signed-off-by: Luigi Santivetti <luigi.santivetti@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
2025-09-16 18:26:13 +00:00
Mary Guillemard
f7b953c916 hk: Advertise VK_KHR_maintenance9
Signed-off-by: Mary Guillemard <mary@mary.zone>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37380>
2025-09-16 17:36:58 +00:00
Mary Guillemard
9cc639efd9 docs/features: Mark VK_KHR_maintenance9 as done for ANV
Seems that it was missing from the initial MR.
Also fix ordering of drivers on that line.

Signed-off-by: Mary Guillemard <mary@mary.zone>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37380>
2025-09-16 17:36:57 +00:00
Eric Engestrom
95f549007a doc/features.txt: add missing supported lvp extensions
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37400>
2025-09-16 15:13:31 +00:00
Eric Engestrom
974a79074b doc/features.txt: add missing supported tu extensions
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37402>
2025-09-16 12:28:43 +00:00
Eric Engestrom
9e8e1d7515 doc/features.txt: add missing supported anv extensions
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37399>
2025-09-16 12:23:05 +00:00
David Rosca
c9b2c00de6 radv: Enable VK_EXT_ycbcr_2plane_444_formats
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9486
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37174>
2025-09-08 11:59:37 +00:00
Thomas H.P. Andersen
93eafbf04f nvk: implement VK_AMD_buffer_marker
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35507>
2025-09-04 15:03:09 +00:00
Alejandro Piñeiro
388f9ccd97 docs: GL_ARB_compute_shader is not a ES extension
Without this commit, GL_ARB_compute_shader appears as both an OpenGL
and an OpenGL ES extension.

But this is not an OpenGL ES extension. One of the main differences is
that the minimum value for WORK_GROUP_INVOCATIONS on
GL_ARB_compute_shader is 1024, while the minimum value required for
the OpenGL ES 3.1 spec is 128. So for example, both v3d and panfrost
doesn't expose ARB_compute_shader, while it supports compute shader on
OpenGL 3.1, so the docs are wrong.

I guess that the reason of re-using ARB_compute_shader is because
there isn't an OES compute shader extension. There was an EXT
extension though, so this is similar to geometry shader, where there
you had ARB_geometry_shader4, but it was superseded by OpenGL
3.2. This commit follows geometry shader approach, and just adds a
"Compute shader" feature on OpenGL ES 3.1

Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37131>
2025-09-04 14:26:21 +02:00