Commit Graph

1036 Commits

Author SHA1 Message Date
Erik Faye-Lund d1357b1e9a panvk: expose scalarBlockLayout
This just works on Mali, nothing fancy needed.

Unfortunately, this triggers a lot of timeouts, presumably due to
uncached CPU access to memory. So lots of extra skips here.

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32562>
2024-12-11 13:19:19 +00:00
Erik Faye-Lund 03fc483813 panvk: expose EXT_4444_formats
We already have all the bits wired up to support both
VK_FORMAT_A4R4G4B4_UNORM_PACK16 and VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT
from VK_EXT_4444_formats, and were already setting the feature-flags for
them.

Let's also expose the extension, which should just work.

Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32083>
2024-12-09 21:16:04 +00:00
Benjamin Lee e8d67f1f6a panvk: advertise multiview support on v10+
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/31704>
2024-12-09 20:31:49 +00:00
Benjamin Lee 7a9f14d3c2 panvk: advertise VK_EXT_provoking_vertex
Signed-off-by: Benjamin Lee <benjamin.lee@collabora.com>
Reviewed-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/32273>
2024-12-06 10:40:03 +00:00
Erik Faye-Lund 1f294e808c panvk: expose KHR_dedicated_allocation
Caterina already implemented this in ed64fa034b ("panvk: never prefer or
require dedicated allocation for buffers") and dbdaefb6ed ("panvk: never
require dedicated allocation for images"), so let's flip the switch.

We pass 4505 of the CTS tests, and fail a single one. Let's mark that
one as an expected failure and move on for now.

Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32466>
2024-12-04 21:34:59 +00:00
Caterina Shablia 2cac1389e5 panvk: enable shaderInt8, VK_KHR_8bit_storage and VK_KHR_shader_float16_int8
We already could handle int8 load/stores and arithmetic.

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32361>
2024-12-02 20:58:23 +00:00
Mary Guillemard dec5523e33 panvk: Advertise VK_EXT_pipeline_robustness
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32331>
2024-11-25 18:33:40 +00:00
Mary Guillemard 8485b3fcff panvk: Advertise VK_EXT_image_robustness
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32331>
2024-11-25 18:33:40 +00:00
Erik Faye-Lund ad8da772ab docs: add missing panfrost extensions
We've supported GL_ARB_transform_feedback3 since 2019,
GL_ARB_draw_indirect and GL_ARB_texture_cube_map_array since 2021.

...you get the picture. There's more, and they've all been around for a
good while. But it seems we forgot to tell features.txt about them.

Reviewed-by: Eric R. Smith <eric.smith@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32300>
2024-11-25 18:19:58 +01:00
Erik Faye-Lund 75fbf492ac docs: fixup a few mistakes with panfrost
Both of GL_OES_sample_shading and GL_OES_shader_multisample_interpolation
are enabled on panfrost when GL_OES_gpu_shader5 is enabled. And that's
the case on Bifrost and later, but not Midgard.

Let's fix up features.txt to match reality here.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32300>
2024-11-25 18:19:58 +01:00
Erik Faye-Lund d7342a0179 docs: refer to panfrost by version
The different Mali architecture versions are an easier way of reasoning
about what is and what isn't supported, so let's switch to that.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32300>
2024-11-25 18:19:57 +01:00
Erik Faye-Lund dc8c6d9978 docs: update GL_ARB_multi_draw_indirect support
This is always supported when GL_ARB_draw_indirect is supported, so
let's not needlessly repeat drivers here.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32300>
2024-11-25 18:19:56 +01:00
Erik Faye-Lund dcf380d1b6 docs: update GL_OES_shader_image_atomic support
This is always supported on GLES 3.1 now, so let's update features.txt
with that.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32300>
2024-11-25 18:19:56 +01:00
Erik Faye-Lund a9b662908c docs: mark GL_ARB_get_program_binary as always supported
We always support the extension. Wether we support any formats or not
depends on one of two conditions:

1. If Mesa is built with shader-cache support or not, which is not a
   driver decision.
2. If GL_ARB_gl_spirv is supported or not, which is covered elsewhere.

So there's no reason to list individual drivers here, as that doesn't
really change anything.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32300>
2024-11-25 18:19:55 +01:00
Erik Faye-Lund 71b9848c07 docs: mark GL_ARB_shader_subroutine as always supported
This extension is always supported, no need to maintain a list of
drivers that support it.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32300>
2024-11-25 18:19:55 +01:00
Danylo Piliaiev 2ab8eff511 tu/a7xx: Implement VK_KHR_fragment_shading_rate
- A650+ - should be able to support pipelineFragmentShadingRate
          but in some other way than A7XX. Not implemented here.
- A7XX  - support pipelineFragmentShadingRate and attachmentFragmentShadingRate
- A740+ - support primitiveFragmentShadingRate

layeredShadingRateAttachments is unsupported at the moment due to tests
failure, but prop driver supports it.

Passes:
  dEQP-VK.fragment_shading_rate.*
On A750/A740

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30905>
2024-11-21 17:59:09 +00:00
John Anthony 653808c209 panvk: Enable VK_KHR_vertex_attribute_divisor
Panvk currently enables VK_EXT_vertex_attribute_divisor, but Mali HW
does not support a non-zero firstInstance when a divisor is used.
supportsNonZeroFirstInstance is correctly set to false to advertise
this, however this property was only added when the extension was
promoted. Thus we need to remove support for
VK_EXT_vertex_attribute_divisor and enable
VK_KHR_vertex_attribute_divisor instead.

Also fixes an issue with non-zero divisor for v10.

Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32137>
2024-11-21 06:02:13 +00:00
Mary Guillemard 83c2d82637 panvk: Advertise VK_KHR_map_memory2
Already supported.

Signed-off-by: Mary Guillemard <mary.guillemard@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/32248>
2024-11-20 14:45:14 +00:00
Mary Guillemard 6ffde9294e panvk: Advertise VK_KHR_index_type_uint8
We already support VK_EXT_index_type_uint8 and this is the promoted
version of it.

Signed-off-by: Mary Guillemard <mary.guillemard@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/32248>
2024-11-20 14:45:14 +00:00
Lina Versace 4743695e91 anv: Update features.txt
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32205>
2024-11-20 03:53:19 +00:00
Mary Guillemard 957db02fed panvk: Advertise VK_EXT_host_query_reset
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.cim>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31843>
2024-11-19 13:40:07 +01:00
Mary Guillemard 1fc454673a panvk: Implement VK_EXT_sampler_filter_minmax for v10
This is supported by the hardware since v10.

Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
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/32215>
2024-11-19 11:55:05 +01:00
Chia-I Wu 0fb4609d94 panvk: add support for VK_EXT_queue_family_foreign
We can treat VK_QUEUE_FAMILY_FOREIGN_EXT as the host,  This makes sure
that, on release, all subqueues self-wait and all caches are flushed.
On acquire, all caches are invalidated.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32164>
2024-11-18 23:06:43 +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
Mary Guillemard 98cff2e098 panvk: Implement VK_KHR_zero_initialize_workgroup_memory
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: John Anthony <john.anthony@arm.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32131>
2024-11-18 09:05:31 +01:00
Mary Guillemard f88ecf6bb1 panvk: Advertise VK_KHR_shader_relaxed_extended_instruction
Handled by common code.

Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: John Anthony <john.anthony@arm.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32131>
2024-11-18 09:05:31 +01:00
Mary Guillemard 3478f01b0d panvk: Advertise VK_KHR_shader_non_semantic_info
Handled by common code.

Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: John Anthony <john.anthony@arm.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32131>
2024-11-18 09:05:31 +01:00
Mary Guillemard b13643f16e panvk: Advertise VK_EXT_tooling_info
Already implemented in common code.

Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: John Anthony <john.anthony@arm.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32131>
2024-11-18 09:05:31 +01:00
Alejandro Piñeiro 7c3e2927fe docs/features: mark VK_EXT_scalar_block_layout as supported for vc7+
This feature is available on vc7+ (rpi5) since commit
3b9aaf25a0

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32072>
2024-11-14 11:38:37 +00:00
Mary Guillemard bad38c1e76 panvk: Implement global priority extensions
Wire up with common kmod code.

On JM, this is a no-op implementation only allowing medium priority.

Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31961>
2024-11-12 08:46:22 +00:00
Erik Faye-Lund 94cf47e43f docs/features: mark off missing panvk feature
This was recenctly wired up, but we forgot to expose it in features.txt.
Let's add it!

Fixes: e474d4ebee ("panvk: add support for VK_KHR_timeline_semaphore")
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31932>
2024-11-04 10:13:00 +01:00
Erik Faye-Lund 62622c6523 panvk: enable KHR_16bit_storage
This enables the 16bit storage extensions, with the
uniformAndStorageBuffer16BitAccess feature-bit.

This seems to already be implemented, so let's just expose it!

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31907>
2024-10-31 11:06:28 +00:00
Erik Faye-Lund c245609b64 docs/features: mark off more panvk extensions
These are already implemented, let's check them off.

Acked-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31887>
2024-10-30 15:23:29 +00:00
Erik Faye-Lund c987a2a3dd docs/features: claim vk 1.0 for panvk
We're not yet fully conformant to Vulkan 1.0, but we are getting
reasonably close. But this document isn't about conformance, it's
documenting what features are implemented, and we currently support all
Vulkan 1.0 features on PanVK.

So let's toggle this switch.

Acked-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31887>
2024-10-30 15:23:29 +00:00
Erik Faye-Lund b63dab29f0 panvk: expose EXT_depth_clip_enable
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31886>
2024-10-30 09:55:56 +01: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
Chia-I Wu ea478efa2e panvk: advertise VK_EXT_image_drm_format_modifier
The extension is supported despite we only support
DRM_FORMAT_MOD_LINEAR.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31719>
2024-10-22 00:47:47 +00:00
Chia-I Wu b7bc7852d7 panvk: advertise VK_KHR_image_format_list
Since panvk does not treat VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT specially,
we can just advertise the extension.  When AFBC is supported in the
future, we will want to check the list to see if we can keep AFBC even
when VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT is set.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31719>
2024-10-22 00:47:47 +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
Amber 9ace01edbe tu, ir3: Implement VK_KHR_shader_atomic_int64 for a7xx.
Passes dEQP-VK.glsl.atomic_operations.*64bit*

Signed-off-by: Amber Harmonia <amber@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27776>
2024-10-21 21:47:44 +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
Connor Abbott e9bb906a32 tu: Implement VK_EXT_pipeline_robustness
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31687>
2024-10-17 16:16:05 +00:00
Connor Abbott e6c5dcd295 tu: Expose VK_KHR_dynamic_rendering_local_read
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31261>
2024-10-17 00:30:45 +00:00
Chia-I Wu 7f4f20c811 panvk: advertise VK_KHR_external_{fence,semaphore}_fd
Remove panvk_GetPhysicalDeviceExternal{Fence,Semaphore}Properties and
let vk_common_GetPhysicalDeviceExternal{Fence,Semaphore}Properties
handle them.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31647>
2024-10-16 16:48:09 +00:00
Chia-I Wu da80d7dc86 panvk: advertise VK_EXT_external_memory_dma_buf
It is already supported.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31649>
2024-10-16 15:19:25 +00:00
Chia-I Wu a78b7d3c52 panvk: advertise VK_KHR_external_memory_fd
It is already supported.

Also remove an outdated TODO because pan_kmod_bo_import supports
reference counting.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31649>
2024-10-16 15:19:25 +00:00
Karol Herbst ff2c4e8f11 zink: add CL CTS result
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31614>
2024-10-15 21:07:07 +00:00
Boris Brezillon e9462e77d8 panvk: Advertise dynamic rendering support
This was already supported, but not yet exposed.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31625>
2024-10-15 13:16:07 +00:00
Chia-I Wu b0a378374b panvk: advertise VK_EXT_physical_device_drm
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31635>
2024-10-15 00:34:04 +00:00
Erik Faye-Lund 620739ebc4 panvk: expose KHR_external_fence and KHR_external_fence_capabilities
These seems to already be implemented, let's expose them!

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31487>
2024-10-14 18:33:29 +00:00