Commit graph

1804 commits

Author SHA1 Message Date
Christian Gmeiner
c12095721c panvk: Advertise VK_EXT_shader_stencil_export
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
The panfrost stack already supports everything needed.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39944>
2026-03-07 01:19:54 +00:00
Christian Gmeiner
266160fe4e panvk: Advertise VK_VALVE_mutable_descriptor_type
Trivial promotion alias of VK_EXT_mutable_descriptor_type which is
already supported on v9+.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40254>
2026-03-06 14:16:00 +00:00
Christian Gmeiner
b442dc23fd panvk: advertise VK_EXT_nested_command_buffer on v10+
The CSF backend's cs_call() is a hardware call/return instruction that
nests naturally. The existing CmdExecuteCommands implementation already
performs caller-callee state merging without checking command buffer
level, so no functional changes are needed.

The hardware call stack has 8 levels. The kernel consumes one for the
ringbuffer CALL, and two are reserved for future internal driver use,
leaving maxCommandBufferNestingLevel at 5.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40120>
2026-03-05 12:06:52 +00:00
Karol Herbst
bba6e40ea7 asahi: support subgroup_rotate
This enables cl_khr_subgroup_rotate

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37169>
2026-03-03 16:31:32 +00:00
Karol Herbst
ca30514389 rusticl: support more subgroup extensions
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37169>
2026-03-03 16:31:32 +00:00
Christian Gmeiner
4a5123241f panvk: Advertise VK_ARM_scheduling_controls on CSF
Expose the extension, feature bit, and properties for
VK_ARM_scheduling_controls on CSF architectures (>= v10).

The only supported scheduling control flag is
VK_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_SHADER_CORE_COUNT_ARM, which
allows applications to limit the number of shader cores used by a
queue via VkDeviceQueueShaderCoreControlCreateInfoARM.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-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/40063>
2026-03-02 20:22:07 +00:00
Leon Perianu
7e3aa7e627 pvr: enable VK_KHR_maintenance4
This commit adds support for VK_KHR_maintenance4 extension by
implementing the required function.

Makes the following tests to pass/be supported:
dEQP-VK.api.info.get_physical_device_properties2.features.maintenance4_features
dEQP-VK.api.info.vulkan1p3_limits_validation.khr_maintenance4
dEQP-VK.api.device_init.create_device_unsupported_features.maintenance4_features
dEQP-VK.memory.requirements.create_info.buffer.regular
dEQP-VK.memory.requirements.create_info.image.regular_tiling_linear
dEQP-VK.memory.requirements.create_info.image.regular_tiling_optimal
dEQP-VK.memory.requirements.create_info.image.transient_tiling_linear
dEQP-VK.memory.requirements.create_info.image.transient_tiling_optimal

Signed-off-by: Leon Perianu <leon.perianu@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39776>
2026-03-02 10:55:45 +00:00
Eric Engestrom
0ea485406c docs: add sha sum for 26.0.1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40100>
2026-02-26 18:17:22 +00:00
Eric Engestrom
b09692bf99 docs: add release notes for 26.0.1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40100>
2026-02-26 18:17:22 +00:00
Juan A. Suarez Romero
675e5527ba v3d: add support for GL_ARB_sample_shading
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Most of the work was already done for the Vulkan driver.

The main difference to handle is that OpenGL request to ignore sample
mask when the framebuffer is non-multisampled, while Vulkan applies it
always.

This also fixes KHR-GL31.frag_coord_conventions.multisample.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40059>
2026-02-25 10:03:39 +00:00
Christian Gmeiner
8dc8a2eec4 panvk: Support VK_EXT_legacy_dithering
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Wire up the existing Panfrost dithering infrastructure to the Vulkan
extension. The library already supports dithered formats via
pan_dithered_format_from_pipe_format(), so this plumbs the
VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT flag through to the blend
descriptor emission and color attachment internal conversion paths.

Dithering is only applied to color attachments, not depth or framebuffer
preloads.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39781>
2026-02-24 11:34:19 +00:00
Georg Lehmann
c6e1c23faf radv: expose VK_VALVE_shader_mixed_float_dot_product on supported hardware
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
In practice this means Vega20, Navi14, and RDNA2+.

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40003>
2026-02-24 08:55:53 +00:00
Christian Gmeiner
086456111f panvk: Support VK_EXT_depth_clamp_control
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
The Mali GPUs have native support for user-defined depth clamp bounds
via the LOW_DEPTH_CLAMP/HIGH_DEPTH_CLAMP registers and the
depth_clamp_mode field. Wire up the existing runtime plumbing to these
registers so applications can specify a custom depth clamp range instead
of always clamping to the viewport's minDepth/maxDepth.

While at it, drop the redundant CLAMP on depth values in the CSF path.
Since VK_EXT_depth_range_unrestricted is not supported, panvk_depth_range()
is already guaranteed to produce values in the 0..1 range.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39925>
2026-02-23 12:15:29 +00:00
Dylan Baker
a93046c898 docs: Fix unescaped * in 25.3.6 release notes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40015>
2026-02-20 12:26:09 -08:00
Dylan Baker
cdae2cc703 docs: Add SHA sums for 25.3.6
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40015>
2026-02-20 11:44:58 -08:00
Dylan Baker
1b4a0a3755 docs: add release notes for 25.3.6
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40015>
2026-02-20 11:44:53 -08:00
Christian Gmeiner
594b1c18bf panvk: implement VK_EXT_image_view_min_lod
Pass the per-image-view minimum LOD clamp from the Vulkan runtime
(vk_image_view::min_lod) through pan_image_view into the Mali texture
descriptor's Minimum LOD field.

Mali v6+ hardware has per-texture-descriptor LOD clamp fields that
operate independently from the sampler's LOD clamps, so no shader
lowering or descriptor merging is needed.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39938>
2026-02-20 12:46:42 +01:00
Christian Gmeiner
0e32fbc305 panvk: Advertise VK_EXT_color_write_enable
The common Vulkan runtime already provides full support for this
extension (pipeline state parsing, dynamic command handler, dirty
tracking), and panvk already consumes color_write_enables in blend
descriptor emission and fs_required() determination. Just advertise
the extension and feature.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39913>
2026-02-20 12:19:10 +01:00
Emma Anholt
7c86acb5e3 docs: Rename the "shading" page to "GLSL" since it's just that.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39741>
2026-02-13 13:38:42 -08:00
Mel Henning
cbec12627b nvk: VK_KHR_copy_memory_indirect
Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39869>
2026-02-13 20:53:47 +00:00
Christian Gmeiner
a16d36304e panvk: Support VK_EXT_astc_decode_mode
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
The Panfrost hardware already supports controlling ASTC decode
precision via the Decode Wide plane descriptor field. Wire up the
Vulkan extension by parsing VkImageViewASTCDecodeModeEXT from the
image view pNext chain and setting astc.narrow when the application
requests VK_FORMAT_R8G8B8A8_UNORM decode mode.

The extension is limited to v9+ since the ASTC plane descriptors
with Decode Wide/HDR fields only exist from Valhall onwards.

decodeModeSharedExponent is not supported.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39799>
2026-02-11 21:13:45 +01:00
Eric Engestrom
2d71850820 docs: add sha sum for 26.0.0
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/39835>
2026-02-11 19:12:06 +00:00
Eric Engestrom
6412b95931 docs: add release notes for 26.0.0
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39835>
2026-02-11 19:12:06 +00:00
Utku Iseri
ac0cec60e2 panvk: expose swapchain_mutable_format support
This should be a freebie since we support mutable formats already.

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39822>
2026-02-11 16:51:14 +00:00
Dylan Baker
69e4163b9e docs: Add 25.3.5 SHA sums
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39746>
2026-02-06 13:54:35 -08:00
Dylan Baker
98a8d8d88c docs: add release notes for 25.3.5
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39746>
2026-02-06 13:54:34 -08:00
Erik Faye-Lund
f894153142 panfrost: expose EXT_shader_image_load_store
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39686>
2026-02-05 15:40:19 +00:00
Christian Gmeiner
9e3967ea9b panvk: Support VK_EXT_zero_initialize_device_memory
Advertise the extension and enable the zeroInitializeDeviceMemory
feature. The panfrost and panthor kernel drivers uses drm_gem_shmem which
gets zeroed pages from the shmem subsystem, so memory is already
zero-initialized by default.

VK_IMAGE_LAYOUT_ZERO_INITIALIZED_EXT is treated the same as
VK_IMAGE_LAYOUT_UNDEFINED. Since panvk doesn't use image layouts
(layout transitions are no-ops), no special barrier handling is
needed for either layout.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39658>
2026-02-05 11:56:38 +00:00
Duncan Brawley
dfddb3fef1 pvr: Add support for VK_KHR_pipeline_executable_properties
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This adds support for receiving additional statistics about PowerVR shaders for
the Rogue architecture.

vkGetPipelineExecutablePropertiesKHR and vkGetPipelineExecutableStatisticsKHR
are fully supported. vkGetPipelineExecutableInternalRepresentationsKHR does not
currently return any internal representations.

Tests used:
dEQP-VK.pipeline.monolithic.executable_properties.*

Signed-off-by: Duncan Brawley <duncan.brawley@imgtec.com>
Reviewed-by: Simon Perretta <simon.perretta@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39607>
2026-02-02 16:55:38 +00:00
Daniel Stone
8cda43497b panvk: Support VK_KHR_present_id and present_wait
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
We already had the 2 variants implemented, but not the original, which
is sadly still in use in some places.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14492
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39553>
2026-02-01 19:22:17 +00:00
Daniel Stone
6e4902855f panvk: Support VK_EXT_acquire_drm_display
This is supported in common WSI code, through callbacks that we already
implement.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39553>
2026-02-01 19:22:16 +00:00
Daniel Stone
b15de1ed97 panvk: Support VK_KHR_get_display_properties2
It's all implemented in common WSI code, and we don't need to override
anything inherently.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39553>
2026-02-01 19:10:28 +00:00
Daniel Stone
3abe9b2445 panvk: Support VK_KHR_get_surface_capabilities2
This is all implemented in common WSI code.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39553>
2026-02-01 19:10:28 +00:00
Christian Gmeiner
0444b5877f lavapipe: Implement VK_EXT_blend_operation_advanced
Advanced blend operations are lowered in the fragment shader using
nir_lower_blend, with the actual blending done via framebuffer fetch.

For monolithic pipelines, lowering happens at pipeline compilation.
For GPL, lowering happens at link time when blend state is known.
For shader objects, lowering happens at draw time with the result
cached until blend parameters, fragment shader, or color write state
changes.

The lvp_nir_lower_blend() helper handles the IO lowering sandwich
required by nir_lower_blend: lower derefs to IO intrinsics, run the
blend lowering, then convert back to derefs for llvmpipe.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39612>
2026-01-30 09:23:01 +00:00
Samuel Pitoiset
50a3699552 radv: advertise VK_KHR_internally_synchronized_queues
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39489>
2026-01-28 15:32:58 +00:00
Icenowy Zheng
bed1576b14 pvr: preliminary EXT_image_drm_format_modifier support
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Adds a trivial EXT_image_drm_format_modifier support that only handles
LINEAR modifier.

Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Acked-by: Luigi Santivetti <luigi.santivetti@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38991>
2026-01-28 14:49:24 +00:00
Ella Stanforth
aad9a26de3 pvr: enable sampler ycbcr conversion
Reviewed-by: Simon Perretta <simon.perretta@imgtec.com>
Tested-by: Icenowy Zheng <zhengxingda@iscas.ac.cn>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39231>
2026-01-28 13:41:28 +00:00
Hans-Kristian Arntzen
27c61f3c0c docs: Add VK_EXT_present_timing to new features.
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38770>
2026-01-27 11:09:53 +00:00
Emma Anholt
72c12f62ff tu: Implement VK_QCOM_image_processing.
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This includes the block matching, box filtering, and weighted sample
features.  Passes all of the dEQP-VK.image_processing.* CTS tests that
were recently landed.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38559>
2026-01-27 02:00:40 +00:00
Dylan Baker
26ecbec8cb docs: Add SHA sums for 25.3.4
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39500>
2026-01-23 23:08:30 +00:00
Dylan Baker
a37947b959 docs: add release notes for 25.3.4
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39500>
2026-01-23 23:08:30 +00:00
Eric Engestrom
5bfd522c9a docs: reset new_features.txt
Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39436>
2026-01-21 17:56:17 +00:00
Piotr Masłowski
28cda1732a lvp: promote VK_EXT_robustness2 to VK_KHR_robustness2
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39340>
2026-01-16 22:39:12 +00:00
Piotr Masłowski
559ef7342f tu: promote VK_EXT_robustness2 to VK_KHR_robustness2
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39340>
2026-01-16 22:39:12 +00:00
Piotr Masłowski
9ae075f38f nvk: promote VK_EXT_robustness2 to VK_KHR_robustness2
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39340>
2026-01-16 22:39:11 +00:00
Piotr Masłowski
4ef73da70e hasvk: promote VK_EXT_robustness2 to VK_KHR_robustness2
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39340>
2026-01-16 22:39:10 +00:00
Piotr Masłowski
c446d55b21 hk: promote VK_EXT_robustness2 to VK_KHR_robustness2
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39340>
2026-01-16 22:39:10 +00:00
Erik Faye-Lund
d4d972d626 panvk: promote VK_EXT_robustness2 to VK_KHR_robustness2
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This is a 1:1 promotion.

Reviewed-by: John Anthony <john.anthony@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39325>
2026-01-15 23:01:02 +00:00
Icenowy Zheng
0837ea14b8 pvr: advertise X11-related WSI instance extensions
Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39014>
2026-01-06 18:45:44 +00:00
Icenowy Zheng
c294b061ad pvr: advertise VK_KHR_incremental_present
The implementation of this extension is part of the common Mesa WSI
code, and it's used by Zink without checking for the presence.

Advertise it for PowerVR open source driver.

With Headless WSI advertised, Tests in Vulkan CTS that is
incremental_present related can pass.

Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39037>
2026-01-06 12:07:29 +00:00