Commit Graph

403 Commits

Author SHA1 Message Date
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
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 cbde0ec2dc panvk: expose textureCompressionBC when supported
We can't guarantee that we always support this feature, because support
for each format can be disabled per SoC. But we can check for this, and
expose it when it's supported.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12598
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Eric R. Smith <eric.smith@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34206>
2025-04-01 14:55:46 +00:00
Rebecca Mckeever 69a08fd9b2 panvk: Support shaderImageGatherExtended
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/34033>
2025-04-01 08:04:32 +00: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
Christian Gmeiner 722ca57619 etnaviv: Add support for KHR_partial_update
The damage region can be useful to optimize the "resolve" step that we have on
imx6q (GC2000) because there isn't any tiling compatible with both render and
scanout or an any GPU when scanning out a linear buffer since we don't support
linear PE.

This improves fps for e.g `weston-simple-egl` by factor 2 (~30 fps -> ~60 fps).

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/33226>
2025-03-25 10:59:58 +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
Rebecca Mckeever 6df35783cc panvk: Enable shaderStorageImageExtendedFormats
Signed-off-by: Rebecca Mckeever <rebecca.mckeever@collabora.com>
Reviewed-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/33459>
2025-03-06 14:45:17 +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
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
Benjamin Lee 55c476efed panvk: advertise shaderFloat16
Signed-off-by: Benjamin Lee <benjamin.lee@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Acked-by: Rebecca Mckeever <rebecca.mckeever@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33637>
2025-02-27 16:49:11 +00:00
Mohamed Ahmed dfd5e3da7b nvk: Implement VK_MESA_image_alignment_control
This is needed by VKD3D in order to satisfy D3D12's image alignment
requirements.  Otherwise, it has to pad things out weirdly in order to
re-align images behind the app's back.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12637
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33633>
2025-02-20 05:31:08 +00:00
lcagustini fb51252953 panvk: Advertise support for VK_EXT_border_color_swizzle
Advertise support for border color swizzle as we support it just fine
Passes all dEQP-VK*border_swizzle*

v2: Added feature to features.txt and vk_features struct

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33232>
2025-02-18 22:13:44 +00:00
Caterina Shablia 94093f58fb panvk: enable uniformBufferStandardLayout
We already implement scalarBlockLayout, which is more general than
uniformBufferStandardLayout, so this is a trivial enable for us.

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33291>
2025-02-14 18:06:44 +00:00
Caterina Shablia 7a7f01bda0 panvk: enable imagelessFramebuffer
This is handled by mesa vk runtime so is a trivial enable for us.

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33291>
2025-02-14 18:06:44 +00:00
Rebecca Mckeever e8c6e22e14 panvk: Enable YCbCr support 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/32563>
2025-02-08 07:48:41 +00:00
Benjamin Lee 08cd331cc0 panvk: implement VK_EXT_separate_stencil_usage
Needed for Vulkan 1.2.

The only real improvement from this is that in some situations we can
skip creating texture descriptors for image views that have a more
restrictive usage for either the depth or stencil aspect.

Signed-off-by: Benjamin Lee <benjamin.lee@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33392>
2025-02-07 12:54:33 -08:00
Benjamin Lee bd32129c1a panvk: document missed extensions in new_features
This should have been included in the commits that introduced the
extensions.

Signed-off-by: Benjamin Lee <benjamin.lee@collabora.com>
Fixes: 00fb0f5ec2 ("panvk: enable KHR_separate_depth_stencil_layouts")
Fixes: 935cadbc2e ("panvk: enable VK_KHR_depth_stencil_resolve")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33394>
2025-02-05 10:46:48 +00:00
Benjamin Lee effa913d16 panvk: advertise storagePushConstant16 and storageInputOutput16
Signed-off-by: Benjamin Lee <benjamin.lee@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33078>
2025-02-04 01:56:01 +00:00
David Tobolik 457b159383 rusticl/feat: LinkOnce ODR
Reviewed-by: Karol Herbst <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33133>
2025-01-31 13:46:41 +00:00
Eric Engestrom ea519cc230 docs: reset new_features.txt
Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33304>
2025-01-30 19:02:37 +00:00
Samuel Pitoiset b3cff84e06 docs: add a note about GFX12 (RDNA4) on RADV
This initial support should be good enough but it's missing two
features (cooperative matrix and video decode/encode) compared to
GFX11 (RDNA3) because lack of time.

DCC is still under active development but it might be possible to
finish it during the RC period.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33281>
2025-01-29 16:24:44 +00:00
Caterina Shablia d46b80249b panvk: enable subgroupSizeControl
This is trivial for us, the hardware only ever supports a single
subgroup size.

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32710>
2025-01-22 21:49:52 +00:00
Erik Faye-Lund 1a81bff6aa panvk: expose vk1.1 on v10 hardware
Subgroup ops were the last bit missing

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32710>
2025-01-22 21:49:52 +00:00
Samuel Pitoiset d4ff011b12 radv: advertise VK_KHR_maintenance8
There is nothing to do for
VK_PIPELINE_CACHE_CREATE_INTERNALLY_SYNCHRONIZED_MERGE_BIT_KHR because
the vulkan/runtime code already locks the dstCache unconditionally.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33091>
2025-01-21 07:28:14 +00:00
Samuel Pitoiset 2ba91d1deb radv: promote VK_EXT_depth_clamp_zero_one to KHR
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33090>
2025-01-17 19:02:02 +00:00
Erik Faye-Lund 4ff5672730 docs: update panvk status
We enabled fragmentStoresAndAtomics, but forgot to update this file.
Also add drawIndirectFirstInstance, which I missed last time I updated
the new features.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32960>
2025-01-10 11:35:56 +00:00
Erik Faye-Lund 2bb6db3fb3 docs: update panvk status
Two things happened since last update; we added support for
VK_KHR_shader_draw_parameters, and we fixed imageCubeArray for Bifrost
GPUs.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32763>
2025-01-02 22:59:36 +00:00
Erik Faye-Lund 336e2c90ce docs: add new panvk features
We're not really in the habit of updating new_features.txt for panvk,
but let's get this up to date.

Acked-by: Eric R. Smith <eric.smith@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32586>
2024-12-16 15:32:20 +01:00
Samuel Pitoiset 00afc4e353 radv: advertise Vulkan 1.4 on GFX8+
GFX6-7 can't support Vulkan 1.4 because indexTypeUint8 isn't supported
in hardware, and emulating features for very old hardware isn't the
option I would personally choose.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32432>
2024-12-03 10:21:55 +00:00
Karol Herbst c0edb9344f rusticl: enable cl_khr_depth_images
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30831>
2024-11-18 17:57:29 +00:00
Dylan Baker d301046eaa docs: reset new_features.txt
Signed-off-by: Dylan Baker <dylan.c.baker@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32040>
2024-11-07 17:57:57 +00:00
Samuel Pitoiset 8300378bf3 radv: advertise VK_EXT_device_generated_commands on GFX8+
GFX6-7 can't really support it and it's not worth the effort anyways.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31383>
2024-10-28 16:27:35 +00:00
Christian Gmeiner fad599a619 etnaviv: Enable ARB_framebuffer_no_attachments
There is not much needed to pass the supported tests.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31578>
2024-10-21 23:27:30 +00:00
Sid Pranjale 21beb7a6bd nvk: implement VK_EXT_depth_clamp_zero_one
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31488>
2024-10-18 00:56:15 +00:00
Christian Gmeiner babeba264b etnaviv: Implement ARB_draw_indirect
Passes all relevant piglits with forced GLSL 330 and GL 3.1.

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/31535>
2024-10-11 07:42:47 +02:00
Faith Ekstrand 2fb4aed9d8 nvk: Advertise VK_KHR_fragment_shading_rate
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31585>
2024-10-10 23:16:57 +00:00
Christian Gmeiner 2675a2fae7 etnaviv: Enable ARB_draw_buffers_blend for HALTI5+
Starting with HALTI5 we have per-buffer blend functions.

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/26565>
2024-10-04 09:48:24 +00:00
Christian Gmeiner acd3faa463 etnaviv: Enable EXT_draw_buffers2 for HALTI5+
Starting with HALTI5 we have per-buffer blend enable and mask.

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/26565>
2024-10-04 09:48:24 +00:00
Faith Ekstrand 7dc6826bc3 nak,nvk: Implement VK_KHR_shader_quad_control
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10687
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31470>
2024-10-02 21:10:32 +00:00
Jules Blok 1c119b1d95 docs: Update status of VK_EXT_depth_clamp_control support
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31411>
2024-09-30 22:18:27 +00:00
Mohamed Ahmed d5df263ac9 nvk: Enable VK_EXT_host_image_copy
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30044>
2024-09-28 02:46:28 +00:00
Faith Ekstrand 83b220f833 nvk: Advertise VK_EXT_device_generated_commands
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31394>
2024-09-26 17:18:26 +00:00
Faith Ekstrand f36e5dbe60 nvk: Advertise VK_KHR_shader_float_controls2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31170>
2024-09-20 17:09:14 +00:00
Georg Lehmann bc3b8c3a13 radv: advertise VK_KHR_shader_float_controls2
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31172>
2024-09-18 20:46:17 +00:00