Commit Graph

811 Commits

Author SHA1 Message Date
Georg Lehmann
a3a1a8b1d0 radv: enable VK_KHR_shader_subgroup_rotate
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27269>
2024-01-25 16:09:42 +01:00
Faith Ekstrand
cfba24ccb5 nvk: Add a couple more features to features.txt
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10429
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27061>
2024-01-14 18:36:45 +00:00
Iago Toral Quiroga
f37bb34d86 v3dv: expose VK_EXT_subgroup_size_control
This is trivial for us since we don't support variable subgroup sizes.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26968>
2024-01-11 07:21:36 +00:00
Alyssa Rosenzweig
1006e27627 asahi: implement xfb overflow queries
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963>
2024-01-10 08:44:38 -04:00
Thomas H.P. Andersen
745d7b63eb docs: update features.txt for nvk
Advertise:
VK_EXT_pipeline_creation_cache_control
VK_EXT_pipeline_creation_feedback
VK_EXT_shader_module_identifier

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25550>
2024-01-09 20:27:27 +00:00
Mike Blumenkrantz
ec656e1984 lavapipe: maint6
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26881>
2024-01-09 15:24:12 +00:00
Iago Toral Quiroga
5c42d6c62f v3dv: implement VK_EXT_shader_demote_to_helper_invocation
Demoting means that we don't execute any writes to memory but
otherwise the invocation continues to execute. Particularly,
subgroup operations and derivatives must work.

Our implementation of discard does exactly this by using
setmsf to prevent writes for the affected invocations, the
only difference for us is that with discard/terminate we
want to be more careful with emitting quad loads for tmu
operations, since the invocations are not supposed to be
running any more and load offsets may not be valid, but with
demote the invocations are not terminated and thus we should
emit memory reads for them to ensure quad operations and
derivatives from invocations that have not been demoted still
work.

Since we use the sample mask to implement demotes we can't tell
whether a particular helper invocation was originally such
(gl_HelperInvocation in GLSL) or was later demoted
(OpIsHelperInvocationEXT added with SPV_EXT_demote_to_helper_invocation),
so we use nir_lower_is_helper_invocation to take care of this.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26949>
2024-01-09 13:22:37 +00:00
Konstantin Seurer
c511b8968a radv: Implement VK_KHR_ray_tracing_position_fetch
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26895>
2024-01-05 18:20:20 +00:00
Faith Ekstrand
5d937f09b2 nvk: Advertise VK_KHR_vulkan_memory_model
Now that the NAK barrier bugs seem fixed and we're passing all the
tests, we can turn this on.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9608
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26716>
2023-12-15 22:38:45 +00:00
Iago Toral Quiroga
5057eb90a1 v3dv: implement VK_KHR_shader_terminate_invocation
The semantics for this matches those of discard.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26683>
2023-12-15 16:35:50 +00:00
Thomas H.P. Andersen
487837c0bf docs: update features.txt for nvk
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26676>
2023-12-14 22:41:37 +00:00
Samuel Pitoiset
f576ce3340 radv: advertise VK_KHR_vertex_attribute_divisor
This is a promotion from the EXT, except the new property
supportsNonZeroFirstInstance which should already be supported.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26595>
2023-12-13 08:08:21 +00:00
Thomas H.P. Andersen
afbaeee358 nvk: VK_EXT_color_write_enable
A write mask based on the pipeline creation input is stored in scratch. Another
similar mask is also stored for the dynamic color_write_enable. These can then
be updated individually, and will be combined in MME macro before use.

Each attachment has a mask for rgba. The max number of attachments in 8 so
we can fit the write mask in a single 32bit scratch.

color_write_enable is a single bit per attachment. To make it easier to combine
in with the write mask it is stored in scratch with a separate rgba bits.

The layout of the both scratch values are:
Attachment index 88887777666655554444333322221111
Component        abgrabgrabgrabgrabgrabgrabgrabgr

dEQP-VK.pipeline.monolithic.color_write_enable.*

Test run totals:
  Passed:        576/576 (100.0%)
  Failed:        0/576 (0.0%)
  Not supported: 0/576 (0.0%)
  Warnings:      0/576 (0.0%)
  Waived:        0/576 (0.0%)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26211>
2023-12-13 00:48:54 +00:00
Samuel Pitoiset
86ab29a4d4 docs: update features.txt for RADV
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26646>
2023-12-12 12:34:03 +00:00
Karol Herbst
e6249f97f1 rusticl: implement cl_khr_subgroup_shuffle and shuffle_relative
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26504>
2023-12-11 23:08:51 +00:00
Alyssa Rosenzweig
17f348f73a asahi: Implement ARB_viewport_array
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26614>
2023-12-09 12:08:39 -04:00
Alyssa Rosenzweig
0fa7252d8a asahi: Implement multidraw indirect
GS only for now (inserting a passthru GS if needed). This should be optimized
later, but it's ~correct.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26614>
2023-12-09 12:08:39 -04:00
Alyssa Rosenzweig
5382f57e81 asahi: advertise ARB_shader_texture_image_samples
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26614>
2023-12-09 10:56:45 -04:00
Alyssa Rosenzweig
a0485292af asahi: bump glsl version
should work and fixes a buggy test falling over due to missing gpu_shader5

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26614>
2023-12-09 10:56:37 -04:00
Faith Ekstrand
61dd82ccab nvk: Advertise VK_KHR_shader_float_controls
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9605
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26557>
2023-12-07 16:21:14 +00:00
Faith Ekstrand
03ae261183 nvk: Advertise KHR_shader_integer_dot_product
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26533>
2023-12-06 23:15:33 +00:00
Faith Ekstrand
a3159bab98 nvk: Advertise VK_EXT_scalar_block_layout
https://gitlab.freedesktop.org/mesa/mesa/-/issues/9653

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26530>
2023-12-06 05:18:30 +00:00
Samuel Pitoiset
949fdc9a73 radv: advertise VK_EXT_depth_clamp_zero_one
RADV already implements this behavior, so enabling this extension is
a no-op.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26443>
2023-12-05 18:10:31 +00:00
Faith Ekstrand
1d10de539c nvk: Implement VK_EXT_shader_image_atomic_int64
The compiler work is done but we still need to advertise formats and
deal with clears.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9647
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26246>
2023-12-05 11:24:51 +00:00
Faith Ekstrand
9b60a1c00e nvk: Advertise VK_KHR_shader_atomic_int64
Everything should be mostly wired up. Shared atomics don't seem to work,
though, for some reason.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9603
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26246>
2023-12-05 11:24:51 +00:00
Faith Ekstrand
2655607983 nvk: Advertise VK_EXT_shader_subgroup_ballot/vote
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26246>
2023-12-05 11:24:51 +00:00
Faith Ekstrand
bd667acb35 nvk: Advertise VK_EXT_subgroup_size_control
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9617
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26503>
2023-12-05 02:32:00 +00:00
Rohan Garg
8cfae77439 anv: enable VK_EXT_depth_range_unrestricted
Signed-off-by: Rohan Garg <rohan.garg@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26426>
2023-12-01 13:23:54 +00:00
Faith Ekstrand
f9c7f33613 nvk: Enable 8 and 16-bit integer types
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26348>
2023-11-29 02:01:35 +00:00
Christian Gmeiner
0d6803feb0 docs: Update etnaviv extensions
Next round of feature updates.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26189>
2023-11-28 16:55:51 +00:00
Mary Guillemard
5b45304624 nvk: Implement VK_EXT_primitives_generated_query
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26324>
2023-11-21 23:50:41 +00:00
Thomas H.P. Andersen
5ec6dcce5f docs: update nvk extensions
I compared the output of vulkaninfo with this list. These are enabled in
the driver but missing here.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26319>
2023-11-21 19:55:52 +00:00
Mary Guillemard
275afe73f7 nvk: Implement VK_KHR_fragment_shader_barycentric
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9619

Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26224>
2023-11-18 02:46:47 +00:00
Jesse Natalie
cb019ff926 d3d12: GL4.6
This enables pipeline stats and SO overflow queries

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26210>
2023-11-17 19:19:11 +00:00
Faith Ekstrand
cd543c94fd nvk: Advertise VK_KHR_synchronization2
We've already got everything, we just need to turn it on.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9657
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26245>
2023-11-17 05:32:55 +00:00
Juston Li
49e5b58315 venus: enable VK_EXT_extended_dynamic_state3
Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25921>
2023-11-15 23:30:14 +00:00
Jesse Natalie
2f1cb79968 d3d12: GL4.5
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26180>
2023-11-14 16:04:58 +00:00
Maíra Canal
4d95b4861e v3dv: implement VK_EXT_multi_draw
Implement the Vulkan extension VK_EXT_multi_draw. It was tested with
deqp-vk -n dEQP-VK.draw.*multi_draw*.

Signed-off-by: Maíra Canal <mcanal@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26138>
2023-11-14 06:20:21 +00:00
Jesse Natalie
9ef621ec2e d3d12: ARB_query_buffer_object and GL4.4
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26156>
2023-11-14 00:18:53 +00:00
Jesse Natalie
9caea4c3e9 d3d12: Enable ARB_enhanced_layouts and ARB_texture_mirror_clamp_to_edge
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26156>
2023-11-14 00:18:53 +00:00
Jesse Natalie
e61287888d d3d12: GL4.3
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26108>
2023-11-07 23:56:23 +00:00
Jesse Natalie
438be4f9a0 d3d12: Support ARB_texture_view
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26104>
2023-11-07 22:31:20 +00:00
Alyssa Rosenzweig
ea6502d7cc asahi: Implement ARB_base_instance
Now that load_base_instance is wired up (as part of the indirect GS
implementation), this is really easy. Validated with Piglit.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26056>
2023-11-07 00:05:55 +00:00
Alyssa Rosenzweig
67d0f035ae docs: Mark timer queries as done on asahi
Strictly needs uapi support that's not upstream, but so does the rest of the
driver (-:

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26056>
2023-11-07 00:05:55 +00:00
Alyssa Rosenzweig
5d279ecd04 asahi: Advertise ARB_clip_control
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26056>
2023-11-07 00:05:55 +00:00
Alyssa Rosenzweig
3270556eaa asahi: Advertise geometry shaders
and cube arrays.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26056>
2023-11-07 00:05:55 +00:00
Alyssa Rosenzweig
3b84f371a8 docs/features: Mark ARB_mdi done on asahi
Sync with reality.

I think all gallium drivers support, it's a cpu-only thing unlike gl4.6's
indirect multidraws or the similarly named vk feature.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26056>
2023-11-07 00:05:55 +00:00
Karol Herbst
655cbf203d docs/features: mark rusticl gl_sharing as done
It seems at the moment only iris and radeonsi expose other drivers aren't
fulfilling all prerequisites.

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26044>
2023-11-04 10:30:56 +01:00
Karol Herbst
6aef22af77 docs/features: remove empty lines confusing mesamatrix
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25886>
2023-10-25 16:23:55 +00:00
Vlad Schiller
c70687afe7 pvr: Implement VK_EXT_host_query_reset
Signed-off-by: Vlad Schiller <vlad-radu.schiller@imgtec.com>
Reviewed-by: Matt Coster <matt.coster@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25783>
2023-10-20 14:58:12 +00:00