Kenneth Graunke [Thu, 17 Nov 2022 20:20:30 +0000 (12:20 -0800)]
iris: Increase the maximum grid size
I had simply copied these values from another driver when adding initial
compute support to iris. The actual hardware limit is UINT32_MAX (see
the GPGPU_WALKER/COMPUTE_WALKER ThreadGroupID{X,Y,Z}Dimension fields).
Thanks to Karol Herbst for noticing the unnecessarily low limit.
References: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7676
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Tested-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19826>
Chia-I Wu [Tue, 8 Nov 2022 19:59:43 +0000 (11:59 -0800)]
turnip: set ycbcr feature bits properly
Set ycbcr feature bits only for ycbcr formats. Besides, we can control
chroma locations only for planar formats and we support
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT
on newer gens.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19609>
Chia-I Wu [Tue, 8 Nov 2022 19:15:54 +0000 (11:15 -0800)]
freedreno: add has_separate_chroma_filter to fd_dev_info
The blob driver does not support
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT
before a6xx_gen3. It still sets CHROMA_LINEAR bit according to
chromaFilter, but the bit has no effect before a6xx_gen3 (confirmed on
a618 with blob version 512.490.0).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19609>
Jami Kettunen [Thu, 10 Nov 2022 23:46:10 +0000 (01:46 +0200)]
freedreno: Find curses properly for building fdperf
Upstream ncurses doesn't ship any legacy ncurses.pc pkg-config symlinks
(just ncursesw.pc) which Void Linux strictly follows[1] for example.
Meson (since 0.54) has a generic curses dependency which works perfectly
in this case[2], thus also bump the toplevel minimum meson version from
0.53.
[1] https://github.com/void-linux/void-packages/tree/master/srcpkgs/ncurses
[2] https://mesonbuild.com/Dependencies.html#curses
Signed-off-by: Jami Kettunen <jami.kettunen@protonmail.com>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19664>
Yonggang Luo [Thu, 17 Nov 2022 20:47:36 +0000 (04:47 +0800)]
ci: Update dozen flakes
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7549
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19824>
Yonggang Luo [Fri, 4 Nov 2022 11:31:22 +0000 (19:31 +0800)]
svga: Fixes -Werror,-Wunused-but-set-variable for clang-15 in svga/svga_tgsi_vgpu10.c
error message:
../../src/gallium/drivers/svga/svga_tgsi_vgpu10.c:5199:13: error: variable 'indicesMask' set but not used [-Werror,-Wunused-but-set-variable] unsigned indicesMask = 0;
^
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19527>
Yonggang Luo [Fri, 4 Nov 2022 12:45:44 +0000 (20:45 +0800)]
softpipe: fixes -Werror,-Wunused-but-set-variable for clang-15 in sp_tile_cache.c
error message:
../../src/gallium/drivers/softpipe/sp_tile_cache.c:346:9: error: variable 'numCleared' set but not used [-Werror,-Wunused-but-set-variable]
uint numCleared = 0;
^
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19527>
Yonggang Luo [Fri, 4 Nov 2022 13:40:31 +0000 (21:40 +0800)]
radv: fixes -Werror,-Wunused-but-set-variable for clang-15 in radv_shader_args.c
error message:
../../src/amd/vulkan/radv_shader_args.c:457:16: error: variable 'arg_count' set but not used [-Werror,-Wunused-but-set-variable]
unsigned arg_count = 0;
^
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19527>
Yonggang Luo [Fri, 4 Nov 2022 13:38:37 +0000 (21:38 +0800)]
intel: fixes -Werror,-Wunused-but-set-variable for clang-15
one of those error message:
../../src/intel/compiler/brw_vec4_cmod_propagation.cpp:53:8: error: variable 'ip' set but not used [-Werror,-Wunused-but-set-variable]
int ip = block->end_ip + 1;
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19527>
Yonggang Luo [Fri, 4 Nov 2022 11:26:45 +0000 (19:26 +0800)]
intel: Fixes -Werror,-Wbitwise-instead-of-logical for clang-15 in brw_nir_lower_shader_calls.c
error message:
error: use of bitwise '|' with boolean operands [-Werror,-Wbitwise-instead-of-logical]
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19527>
Filip Gawin [Thu, 17 Nov 2022 12:50:44 +0000 (13:50 +0100)]
r300: don't use abs twice in transform_TRUNC on older hardware
r400:
total instructions in shared programs: 27594 -> 27523 (-0.26%)
instructions in affected programs: 3594 -> 3523 (-1.98%)
helped: 61
HURT: 0
helped stats (abs) min: 1 max: 4 x̄: 1.16 x̃: 1
helped stats (rel) min: 1.16% max: 8.70% x̄: 2.55% x̃: 1.64%
95% mean confidence interval for instructions value: -1.29 -1.04
95% mean confidence interval for instructions %-change: -3.13% -1.97%
Instructions are helped.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19807>
Jesse Natalie [Wed, 16 Nov 2022 23:34:46 +0000 (15:34 -0800)]
meson: Enable initialized-but-unused warning for MSVC
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19792>
Jesse Natalie [Thu, 17 Nov 2022 17:04:52 +0000 (09:04 -0800)]
gallium/vl: Remove unused win32 screen var
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19792>
Eric Engestrom [Thu, 17 Nov 2022 17:19:24 +0000 (17:19 +0000)]
docs: update calendar for 22.3.0-rc3
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19822>
Tomeu Vizoso [Mon, 7 Nov 2022 12:15:06 +0000 (13:15 +0100)]
zink/ci: Add automatic test on Adreno 618 with Turnip
Make the existing manual test automatic, sharding to 3 boards.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19071>
Tomeu Vizoso [Mon, 14 Nov 2022 10:47:53 +0000 (11:47 +0100)]
ci/freedreno: Test on a618
Do the same testing we currently do on a630.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19071>
Tomeu Vizoso [Mon, 14 Nov 2022 10:42:40 +0000 (11:42 +0100)]
ci/turnip: Shard the tests on a618 over more boards
12 kingoftown Chromebooks have been added to Collabora's LAVA lab.
Use them to run the same tests as before, as the jobs never take less
than 10 minutes.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19071>
Konstantin Seurer [Wed, 16 Nov 2022 09:31:20 +0000 (10:31 +0100)]
radv/rra: Fix copying accel structs that were not built yet
In the case that radv_GetEventStatus always returns true, the loop will
never exit.
Fixes: 5749806 ("radv: Add Radeon Raytracing Analyzer trace dumping utilities")
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19772>
Jason Ekstrand [Thu, 17 Nov 2022 16:00:21 +0000 (10:00 -0600)]
vulkan: Update the XML and headers to 1.3.235
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19815>
Sil Vilerino [Wed, 16 Nov 2022 17:01:21 +0000 (12:01 -0500)]
d3d12: Video Screen - Do not crash if HEVC not supported, return no support instead
Fixes:
8f654b90 ("d3d12: Fix HEVC wrong caps detection due to bad parenthesis in condition")
Signed-off-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19813>
José Roberto de Souza [Wed, 2 Nov 2022 13:33:43 +0000 (06:33 -0700)]
iris: Get VM id from iris_bufmgr's fd
iris_bufmgr_init_global_vm() was getting the VM id from the callers
fd not the iris_bufmgr's duplicated fd.
If i915 driver decides to always return unique vm ids, like a counter
that is initialized per device. So fd0 would have vm id = 0 by
default, fd1(dup of fd0) would have vm id = 1... in this scenario it
would cause a mismatch. But it is not the current i915 implementation.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19467>
Lionel Landwerlin [Thu, 29 Sep 2022 16:04:31 +0000 (19:04 +0300)]
intel/perf: add ACM/DG2 performance metrics
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18893>
Lionel Landwerlin [Fri, 25 Jun 2021 10:08:47 +0000 (13:08 +0300)]
intel/perf: use the new OA format for Gfx12.5+
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18893>
Lionel Landwerlin [Thu, 29 Sep 2022 16:24:34 +0000 (19:24 +0300)]
drm-uapi: import i915_drm.h changes for the new OA report type
To be replace by a proper drm-next update.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18893>
Lionel Landwerlin [Tue, 28 Jun 2022 14:20:02 +0000 (14:20 +0000)]
intel/perf: fix B/C counters accumulation in non query mode
When we're not using queries, all the counters from the
MI_REPORT_PERF_COUNT are available. This is the case when using
perfetto with the global pps datasource that capture global counter
values.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes:
8750f43a9077 ("intel/perf: add performance query layout using MI_SRM")
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18893>
Lionel Landwerlin [Mon, 1 Aug 2022 14:49:39 +0000 (17:49 +0300)]
anv: tweak performance query timeout based on number of passes
This avoids device lost events when we replay a command buffer 1k
times on DG2.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18893>
Lionel Landwerlin [Wed, 27 Jul 2022 08:51:29 +0000 (08:51 +0000)]
anv/perf: fixup counter/query mapping
The intel_perf_counter_pass::pass field is actually useless and
invalid.
Once you have mapped all the counters to all the metrics, the order of
the metrics capture is dictated by intel_perf_get_n_passes().
When reading values that is the order we should follow.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes:
2001a80d4a81 ("anv: Implement VK_KHR_performance_query")
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18893>
Lionel Landwerlin [Thu, 21 Jul 2022 07:51:03 +0000 (07:51 +0000)]
intel/perf: simplify pass computation loop
We don't need to go through all the metric sets as we're already built
a bitset matching per counter to figure out in which metric set a
particular counter is.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18893>
Lionel Landwerlin [Thu, 21 Jul 2022 07:50:37 +0000 (07:50 +0000)]
intel/perf: don't ralloc on perf context a temporary hash table
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18893>
Lionel Landwerlin [Thu, 21 Jul 2022 07:46:50 +0000 (07:46 +0000)]
intel/perf: allocate cleared counter infos
This array of structure needs to be initialized to 0 as it contains a
bitset we don't explicitly clear.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes:
3144bc1d3369 ("intel/perf: move query_mask and location out of gen_perf_query_counter")
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18893>
Lionel Landwerlin [Tue, 13 Oct 2020 09:34:43 +0000 (12:34 +0300)]
intel/perf: add a non installable tool to print metrics
Useful to look at the layout of the queries.
v2: Rework based on Marcin's comment
v3: Rebase
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18893>
Mark Janes [Fri, 17 Jun 2022 17:42:34 +0000 (10:42 -0700)]
intel/perf: fix overflow in index types
With DG2, the number of perf groups and metrics climbs into the
thousands. 16bit fields are not sufficient for storing metrics
indices, and the build throws warnings when compiling the generated
intel_perf_metrics.c
Use a 32bit integer for these values.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18893>
Lionel Landwerlin [Mon, 27 Jun 2022 08:39:37 +0000 (11:39 +0300)]
intel/perf: support new variable names
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18893>
Lionel Landwerlin [Tue, 31 Aug 2021 08:55:25 +0000 (11:55 +0300)]
intel/perf: support new operators for upcoming metrics
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18893>
Lionel Landwerlin [Tue, 31 Aug 2021 08:54:41 +0000 (11:54 +0300)]
intel/perf: support more than 64 queries
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18893>
Lionel Landwerlin [Mon, 27 Jun 2022 08:39:09 +0000 (11:39 +0300)]
intel/perf: fix variable type assumption error
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18893>
Sergi Blanch Torne [Wed, 16 Nov 2022 14:56:08 +0000 (15:56 +0100)]
ci: don't remove wget from the packages of debian/x86_test-vk
The 'wget' package was in the list of ephemeral packages used only during the
build. 'Wget' installation comes from the build for the 'x86_build-base', and
the inclusion on this list only affects its purge. Jobs that use this image,
like 'venus-lavapipe' in 'virglrenderer', cannot use it as other GL jobs can.
So, please don't consider this package ephemeral when it comes from the upper
layer builder.
This 'wget' package is a known dependency on a job that uses this image. So,
even if this package is installed in the base image, it is good to have it
explicitly mentioned in the packages to install.
Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19784>
Sergi Blanch Torne [Wed, 16 Nov 2022 14:41:15 +0000 (15:41 +0100)]
ci: insert debian/x86_test-vk in image tags
Using the variable DEBIAN_X86_TEST_IMAGE_PATH in a Vulkan test, we realize the
reference to the Vulkan one is missing. Even more, hardcoded within mesa. With
this, a variable for Vulkan image has a reference VK on it, as well as the GL
one. But the old variable is still there, pointing to the value that can be
expected to avoid any brake on other CI elements.
Also, updated the build tag to regenerate the image.
Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19784>
Lionel Landwerlin [Wed, 16 Nov 2022 18:34:24 +0000 (20:34 +0200)]
anv: get rid of ilog2_round_up
__builtin_clz(value - 1) is undefined for with value=1 (because
__builtin_clz(0) is undefined).
Because we set rt_pipeline->stack_size = 1 when a ray tracing pipeline
doesn't need any stack allocation to differentiate from a dynamic size
(rt_pipeline->stack_size = 0) we can run into this undefinied behavior
issue.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes:
f68d64dac015 ("anv: Add support for vkCmdSetRayTracingPipelineStackSizeKHR")
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19781>
David Heidelberg [Wed, 16 Nov 2022 18:17:22 +0000 (19:17 +0100)]
ci/alpine: rename job to alpine-build-testing
Better describes what the job does.
@thx to MrCooper for suggestion.
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19789>
Leo Liu [Wed, 16 Nov 2022 14:50:14 +0000 (09:50 -0500)]
frontends/va: Use YUV400 YUY2 444P for JPEG only
Since these formats are only for JPEG, and not all the backend driver
supports these format. Eg radeonsi does, virgl doesn't, they should
be used only for JPEG profile.
Fixes
d2c0ff1caf (frontends/va: add support for yuv400 and yuv444)
Signed-off-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19787>
Samuel Pitoiset [Wed, 16 Nov 2022 14:49:24 +0000 (15:49 +0100)]
radv: suspend/resume XFB queries with NGG for meta operations
XFB queries enable primitives generated queries with NGG and meta
operations shouldn't be counted.
Reproduced on GFX10.3 by forcing NGG streamout.
Cc: 22.3 mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19785>
Samuel Pitoiset [Wed, 16 Nov 2022 10:35:19 +0000 (10:35 +0000)]
aco: fix FS inputs loads in WQM with 16-bit
p_wqm needs to use the same size.
Fixes:
16d2c7ad557 ("aco/gfx11: perform FS input loads in WQM")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19788>
Alyssa Rosenzweig [Wed, 9 Nov 2022 01:38:40 +0000 (20:38 -0500)]
asahi: Unset PIPE_CAP_POINT_SIZE_FIXED
We do not support glPointSize(), we need point size lowered to gl_PointSize
writes in the frontend so we can use the GLES pat.
Fixes glamor.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
Alyssa Rosenzweig [Tue, 8 Nov 2022 21:19:47 +0000 (16:19 -0500)]
asahi: Set data_valid with PERSISTENT or COHERENT
We won't get an unmap/flush but we could have had data already.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
Asahi Lina [Tue, 8 Nov 2022 21:17:36 +0000 (16:17 -0500)]
asahi: Make resource creation code modifier-aware
Needed for WSI.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
Alyssa Rosenzweig [Tue, 8 Nov 2022 20:07:24 +0000 (15:07 -0500)]
asahi: Fix indexed draw decode
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
Asahi Lina [Tue, 8 Nov 2022 15:35:27 +0000 (10:35 -0500)]
asahi: Add render scanout to resource
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
Asahi Lina [Tue, 8 Nov 2022 15:35:00 +0000 (10:35 -0500)]
asahi: Set cfg.levels for linear framebuffers
Otherwise we will crash in GenXML, which does not specify a default here.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
Asahi Lina [Tue, 8 Nov 2022 15:34:17 +0000 (10:34 -0500)]
asahi: Set fd/ro appropriately
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
Asahi Lina [Tue, 8 Nov 2022 15:32:56 +0000 (10:32 -0500)]
asahi: Implement agx_resource_get_param
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
Asahi Lina [Tue, 8 Nov 2022 15:31:26 +0000 (10:31 -0500)]
asahi: Implement agx_resource_get_handle
Only useful on Linux.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
Asahi Lina [Tue, 8 Nov 2022 15:31:02 +0000 (10:31 -0500)]
asahi: Implement agx_resource_from_handle
Only used on Linux, but can compile anywhere.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
Asahi Lina [Tue, 8 Nov 2022 15:20:03 +0000 (10:20 -0500)]
asahi: Stub import/export code
It will be used on Linux, and it is convenient to be able to compile the same
code on macOS in the mean time.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
Asahi Lina [Tue, 8 Nov 2022 15:10:12 +0000 (10:10 -0500)]
asahi: Implement dmabuf modifier queries
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
Asahi Lina [Sat, 18 Jun 2022 19:02:24 +0000 (04:02 +0900)]
asahi: Support XRGB formats
Just treat them like ARGB. Not sure if this is sane, but it works for now...
Signed-off-by: Asahi Lina <lina@asahilina.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
Asahi Lina [Tue, 8 Nov 2022 15:06:23 +0000 (10:06 -0500)]
asahi: Add renderonly to device
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
Alyssa Rosenzweig [Tue, 8 Nov 2022 15:37:13 +0000 (10:37 -0500)]
asahi: Remove index_bias assert
Index bias works okay already, tested against dEQP-GLES31 on agx/next.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
Alyssa Rosenzweig [Tue, 8 Nov 2022 22:13:10 +0000 (17:13 -0500)]
asahi: Localize the modifier #define hack for macOS
This reduces the burden of synchronizing the values between Linux and macOS and
provides fewer ways to shoot ourselves in the foot.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
Alyssa Rosenzweig [Tue, 8 Nov 2022 22:10:51 +0000 (17:10 -0500)]
asahi: Use AIL tiling instead of DRM modifiers
...for internal parts of the driver that are unrelated to UAPI. This makes the
ail representation canonical and the modifier a mere UAPI detail.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
Alyssa Rosenzweig [Tue, 8 Nov 2022 16:33:00 +0000 (11:33 -0500)]
asahi: Handle synchronized transfers better
We need to flush the appropriate batch(es in the future) before a synchronized
transfer for correct results. To do so without major performance regressions, we
need to do extra bookkeeping about which batches write which resources. We
already know about reads via the BO list.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
Alyssa Rosenzweig [Tue, 8 Nov 2022 16:54:11 +0000 (11:54 -0500)]
ail: Add get_wsi_stride_B helper
Centralize the logic around WSI strides, which are a software convention made
into UAPI rather than something set in silicon.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19606>
Jesse Natalie [Fri, 3 Jun 2022 14:38:40 +0000 (07:38 -0700)]
meson: Enable SSE4.1 for MSVC
Modern MSVC always supports compiling with the SSE4.1 intrinsics with
no additional command line options, but doesn't have any options for
auto-vectorizing into SSE4.1.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16840>
Yonggang Luo [Sun, 13 Nov 2022 02:41:59 +0000 (10:41 +0800)]
glsl: Use DETECT_CC_GCC_VERSION in glsl/builtin_functions.cpp
The expression "(__GNUC__ * 100) + __GNUC_MINOR" is invalid
because __GNUC_MINOR is not defined by the compiler
This can not fixes the previous version because DETECT_CC_GCC_VERSION is not available
in previous released version
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19771>
Michel Dänzer [Fri, 11 Nov 2022 15:33:12 +0000 (16:33 +0100)]
Revert "egl/glx: add fallback for zink loading"
This reverts commit
2569215f43f6ce71fb8eb2181b36c6cf976bce2a.
Conflicts:
src/egl/main/eglapi.c
src/glx/glxext.c
It broke the fallback to swrast in some cases where zink can't work.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7333
Fixes:
2569215f43f6 ("egl/glx: add fallback for zink loading")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19681>
Dylan Baker [Thu, 17 Nov 2022 00:19:14 +0000 (16:19 -0800)]
docs: update calendar and link releases notes for 22.2.4
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19793>
Dylan Baker [Wed, 16 Nov 2022 23:22:17 +0000 (15:22 -0800)]
docs: Add sha256 sum for 22.2.4
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19793>
Dylan Baker [Wed, 16 Nov 2022 23:02:11 +0000 (15:02 -0800)]
docs: add release notes for 22.2.4
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19793>
Jesse Natalie [Fri, 4 Nov 2022 20:01:08 +0000 (13:01 -0700)]
dzn: Ensure SRV ResourceMinLODClamp is set to 0.0
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19537>
Jesse Natalie [Fri, 4 Nov 2022 17:58:34 +0000 (10:58 -0700)]
dzn: Use cube-array views for misaligned cubes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19537>
Jesse Natalie [Fri, 26 Aug 2022 17:14:26 +0000 (10:14 -0700)]
dzn: Use DEPTH_STENCIL_DESC2 for front/back stencil read/write masks
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19537>
Jesse Natalie [Fri, 26 Aug 2022 16:49:52 +0000 (09:49 -0700)]
dzn: Use ID3D12GraphicsCommandList8 for front/back stencil ref
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19537>
Jesse Natalie [Fri, 26 Aug 2022 17:11:53 +0000 (10:11 -0700)]
dzn: Get options14
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19537>
Jesse Natalie [Fri, 26 Aug 2022 16:47:17 +0000 (09:47 -0700)]
dzn: Use CreateCommandList1
We don't need to do the command list destroy/re-create dance if the
only reference to an allocator is a *closed* command list. Using
CreateCommandList1 gives us a closed command list to start with,
which better matches the semantics of Vulkan's begin/end for
command buffers.
Now that dzn's cmdbuf reset logic puts the cmdbuf back to the
*initial* state, move the command list reset to BeginCommandBuffer.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19537>
Jesse Natalie [Tue, 15 Nov 2022 23:31:09 +0000 (15:31 -0800)]
dzn: Use common command buffer state tracking
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19537>
Jesse Natalie [Fri, 26 Aug 2022 16:46:33 +0000 (09:46 -0700)]
dzn: Upgrade baseline from ID3D12Device2 to 4
This is pretty old already and we'll want to use CreateCommandList1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19537>
Jesse Natalie [Fri, 26 Aug 2022 15:53:46 +0000 (08:53 -0700)]
microsoft/compiler: Emit sampleCmpLevel when needed
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19537>
Dave Airlie [Mon, 14 Nov 2022 08:00:10 +0000 (18:00 +1000)]
gallivm: use masked intrinsics for global and scratch access.
This seems to improve luxmark scores for me on the luxball scene
from numbers in the 4-500 range to 5-700 range.
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Tested-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19736>
Daniel Schürmann [Fri, 4 Nov 2022 12:23:45 +0000 (13:23 +0100)]
radv/rt: move Ray Tracing shader creation into separate file
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19525>
Sajeesh Sidharthan [Fri, 11 Nov 2022 15:17:56 +0000 (07:17 -0800)]
frontends/va: set vbv buffer size same as target bitrate in cbr mode
video buffering verifier (vbv) buffer size must be set same as
target bitrate to achieve constant bitrate.
Signed-off-by: Sajeesh Sidharthan <sajeesh.sidharthan@amd.com>
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Reviewed-by: Veerabadhran Gopalakrishnan <Veerabadhran.Gopalakrishnan@amd.com>
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19695>
Pavel Ondračka [Tue, 15 Nov 2022 21:35:05 +0000 (22:35 +0100)]
r300: respect extra presubtract swizzle limitations during regalloc
Regalloc was not aware of the extra limitations and in some cases could
convert native swizzle into non-native.
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Filip Gawin <filip@gawin.net>
Tested-by: Filip Gawin <filip@gawin.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19764>
Pavel Ondračka [Tue, 15 Nov 2022 20:50:51 +0000 (21:50 +0100)]
r300: handle presubtract when rewriting non-native swizzles
The extra presubtract limitations were completelly ignored.
Fixes 4 dEQP asin and atan tests.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7554
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Filip Gawin <filip@gawin.net>
Tested-by: Filip Gawin <filip@gawin.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19764>
Pavel Ondračka [Tue, 15 Nov 2022 21:35:32 +0000 (22:35 +0100)]
r300: don't allow constant swizzles from presubtract sources
It is not possible to rewrite it to a native swizzle later on R300/R400.
The way the native rewrite currently works, it will create bunch of
movs with the given presubtract and partial swizzles, however no
constant swizzle for presubtract source exists so it is just not
possible to rewrite it.
This prevents an infinite loop in supertuxkart shader when we really
start enforcing the presubtract swizzle limitations during native
swizzle rewrite in the next commit.
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Filip Gawin <filip@gawin.net>
Tested-by: Filip Gawin <filip@gawin.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19764>
Pavel Ondračka [Tue, 15 Nov 2022 15:43:25 +0000 (16:43 +0100)]
r300: be more careful with presubtract and non-native swizzles
The problematic scenario is when we have the same source used by both
normal and presubtract argument. We check that case currently and count
the source only once. However if one of the arguments uses a non-native
swizzle, we have to rewrite it later and the source changes. Therefore
we end with too many sources and fail later during pair translation.
Example:
ADD temp[21].xy, temp[20].xy__, temp[17].xy__;
MAD temp[22].xy, temp[17].zw__, temp[11].xy__, temp[21].xy__;
will get converted to
MAD temp[22].xy, temp[17].zw__, temp[11].xy__, (temp[17] + temp[20]).xy__;
however after dataflow swizzles pass we end with
MOV temp[3].x, temp[17].z___;
MOV temp[3].y, temp[17]._w__;
MAD temp[22].xy, temp[3].xy__, temp[11].xy__, (temp[17] + temp[20]).xy__;
Just skip the "don't count the same source twice" optimization when a
non-native swizzle is used to fix 2 dEQP atan2 tests.
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Filip Gawin <filip@gawin.net>
Tested-by: Filip Gawin <filip@gawin.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19764>
Jonathan Gray [Tue, 15 Nov 2022 04:20:57 +0000 (15:20 +1100)]
util: include sys/time.h for timespec functions
When the futex code moved it removed an include which broke the build
on OpenBSD.
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Fixes:
095dfc6caa2 ("util: Move the implementation of futex_wake and futex_wait from futex.h to futex.c")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19735>
Samuel Pitoiset [Wed, 16 Nov 2022 14:19:32 +0000 (15:19 +0100)]
aco: fix dual source blending on GFX11
Assembly looks similar to LLVM.
Cc: 22.3 mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19643>
Samuel Pitoiset [Wed, 16 Nov 2022 14:18:54 +0000 (15:18 +0100)]
aco: add p_dual_src_export_gfx11 for dual source blending on GFX11
Dual source blending must be in strict WQM mode.
Cc: 22.3 mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19643>
David Heidelberg [Wed, 16 Nov 2022 13:23:16 +0000 (14:23 +0100)]
dzn: add triangle_strip flake
Reference: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7672
Acked-by: Boris Brezillon <boris.brezillon@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19782>
Gert Wollny [Tue, 15 Nov 2022 11:50:00 +0000 (12:50 +0100)]
r600/sfn: Fix location for reading cube array image dimensions
Fixes:
79ca456b4837b3bc21cf9ef3c03c505c4b4909f6
r600/sfn: rewrite NIR backend
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19755>
Gert Wollny [Tue, 15 Nov 2022 11:03:22 +0000 (12:03 +0100)]
r600/sfn: set finalize_nir after reading debug flags
Fixes:
a81c50a21447a95e05f73badf6e4e7bfe734f7a8 (upstream/main)
r600/sfn: implement finalize_nir
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19755>
Gert Wollny [Tue, 15 Nov 2022 10:48:24 +0000 (11:48 +0100)]
r600/sfn: Honor shader key w.r.t. atomic counter layout
Fixes:
79ca456b4837b3bc21cf9ef3c03c505c4b4909f6
r600/sfn: rewrite NIR backend
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19755>
Georg Lehmann [Thu, 8 Sep 2022 09:24:27 +0000 (11:24 +0200)]
aco: Combine v_cvt_u32_f32 with insert to v_cvt_pk_u8_f32.
No Foz-DB difference on Navi21.
Foz-DB GFX11:
Totals from 746 (0.55% of 134913) affected shaders:
CodeSize: 8430248 -> 8416128 (-0.17%); split: -0.17%, +0.00%
Instrs: 1617202 -> 1614707 (-0.15%)
Latency:
13943398 ->
13934161 (-0.07%); split: -0.07%, +0.00%
InvThroughput: 2601620 -> 2596624 (-0.19%); split: -0.20%, +0.01%
Copies: 114346 -> 114334 (-0.01%); split: -0.01%, +0.00%
PreVGPRs: 48314 -> 48312 (-0.00%)
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18492>
Samuel Pitoiset [Wed, 16 Nov 2022 10:20:22 +0000 (11:20 +0100)]
aco: fix missing SCC for p_interp_gfx11 in emit_interp_mov_instr()
Fixes:
369c9b64252 ("aco: fix p_interp_gfx11 to not overwrite SCC")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19777>
Alyssa Rosenzweig [Mon, 31 Oct 2022 01:24:34 +0000 (21:24 -0400)]
panfrost: Use PIPE_CAP_VERTEX_ATTRIB_ELEMENT_ALIGNED_ONLY
..instead of 4BYTE_ALIGNED_ONLY. This is more correct and avoids
needless repacking. Noticed in Firefox, which was hitting the vbuf
translate path.
Fixes:
e03622e50fc ("panfrost: Set STRIDE_4BYTE_ALIGNED_ONLY")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19761>
Alyssa Rosenzweig [Tue, 15 Nov 2022 16:16:15 +0000 (11:16 -0500)]
panfrost: Fix reference counting with batch->resources
Refactor accesses to batch->resources to happen through safe helpers
that update the appropriate bookkeeping. This makes it obvious that (in
particular) reference counts are updated when they should be.
The functional change is that we are now correctly unreferencing
resources during shadowing, fixing a leak of shadowed resources.
Closes: #7362
Fixes:
2d8f28df731 ("panfrost: Replace resource shadowing flush")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reported-by: Mastodon, apparently
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19753>
Pavel Ondračka [Mon, 2 May 2022 18:54:08 +0000 (20:54 +0200)]
ci: improve run-shader-db and add r300 testing
Original author of r300 patch: Pavel Ondračka <pavel.ondracka@gmail.com>
Co-author: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19692>
David Heidelberg [Mon, 14 Nov 2022 21:16:35 +0000 (22:16 +0100)]
r300: use drm_shim_override
Acked-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19692>
David Heidelberg [Fri, 11 Nov 2022 20:07:40 +0000 (21:07 +0100)]
ci/build: bump LLVM to 13 for debian-build-testing
Acked-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19692>
Pavel Ondračka [Tue, 3 May 2022 06:17:57 +0000 (08:17 +0200)]
meson: build radeon drm-shim also for r300 and r600
Right now the drm-shim is build only when one also builds radeonsi
or radv.
Acked-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19692>
Joshua Ashton [Mon, 14 Nov 2022 12:18:58 +0000 (12:18 +0000)]
turnip: Enable EXT_swapchain_colorspace
This extension is basically a no-op exposing some new enums.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19726>