Daniel Schürmann
1ff9a0fe80
aco: remove Pseudo_instruction::tmp_in_scc
...
This information is redundant, now.
No fossil-changes.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32217 >
2024-11-20 11:04:32 +00:00
Daniel Schürmann
a1a4a6061c
aco/ra: explicitly assign scratch SGPR for linear phis
...
We are about to remove the branch definitions which previously
served this purpose. Also remove Block::scc_live_out.
Some changes due to round-robin RA.
Totals from 939 (1.18% of 79395) affected shaders: (Navi31)
Instrs: 5038786 -> 5038611 (-0.00%); split: -0.01%, +0.00%
CodeSize: 26153412 -> 26152904 (-0.00%); split: -0.00%, +0.00%
Latency: 41649989 -> 41650120 (+0.00%); split: -0.00%, +0.00%
InvThroughput: 6447508 -> 6447536 (+0.00%); split: -0.00%, +0.00%
SClause: 131319 -> 131276 (-0.03%); split: -0.03%, +0.00%
Copies: 359362 -> 359256 (-0.03%); split: -0.05%, +0.02%
SALU: 639275 -> 639169 (-0.02%); split: -0.03%, +0.01%
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32217 >
2024-11-20 11:04:32 +00:00
Daniel Schürmann
17da551133
aco/ra: use bitset for sgpr_operands_alias_defs
...
We cannot rely on SGPR Temps being fully aligned to 64 SGPRs.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32217 >
2024-11-20 11:04:32 +00:00
Daniel Schürmann
a04e096339
aco/ra: set Pseudo_instruction::scratch_sgpr to SCC if it doesn't need to be preserved
...
Also ensure that 'needs_scratch_reg' is always true if SCC might be overwritten.
Few changes, because some p_split_vector get SCC as scratch reg assigned,
and thus, can inhibit some postRA optimizations.
Totals from 3 (0.00% of 79395) affected shaders: (Navi31)
Instrs: 10501 -> 10500 (-0.01%); split: -0.02%, +0.01%
CodeSize: 51580 -> 51520 (-0.12%); split: -0.12%, +0.01%
Latency: 84166 -> 84174 (+0.01%)
InvThroughput: 13109 -> 13111 (+0.02%)
SALU: 859 -> 860 (+0.12%)
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32217 >
2024-11-20 11:04:32 +00:00
Samuel Pitoiset
08c9dca8db
radv: fix skipping on-disk shaders cache when not useful
...
This was just broken because individual shaders were still stored
on-disk in many situations:
- for shader object, all compute/graphics shaders were stored
- for fast-GPL, graphics shaders were stored
- for pipeline binaries, when the create flag was used
- for rt capture/replay and ray history
This should stop storing unused binaries on-disk and save space.
Found this by inspection.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32227 >
2024-11-20 10:01:26 +00:00
Erik Faye-Lund
9c1de5c6b3
panvk: set correct max extents for images
...
We updated maxImageDimension2D etc to report the actual max size, but we
forgot to update GetPhysicalDeviceImageFormatProperties in the same way.
Let's do that to make things consistent.
This fixes the following CTS test-case:
dEQP-VK.wsi.wayland.swapchain.create.image_extent
Fixes: d5ed77800e ("panvk: Fix GetPhysicalDeviceProperties2() to report accurate info")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32221 >
2024-11-20 09:20:17 +00:00
Erik Faye-Lund
00b25ec769
panfrost: use 64-bits for layout calculations
...
On modern Mali GPUs, we can have 16 bits for the X and Y sizes, already
overflowing 32-bit barrier even with a single layer of byte-sized
formats.
So let's make sure we have enough bits to avoid overflows here.
Fixes: d5ed77800e ("panvk: Fix GetPhysicalDeviceProperties2() to report accurate info")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32221 >
2024-11-20 09:20:17 +00:00
Samuel Pitoiset
92446a2dcc
radv: remove VK_VALVE_descriptor_set_host_mapping
...
This extension was only enabled for vkd3d-proton and it's obsolete
since VK_EXT_descriptor_buffer, which landed in September 2022.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32218 >
2024-11-20 08:56:41 +00:00
David Rosca
c3ee2129ae
pipe: Remove video update_decoder_target
...
Not used anymore.
Reviewed-by: Leo Liu <leo.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32095 >
2024-11-20 08:31:00 +00:00
David Rosca
c324364f39
frontends/va: Only use interlaced surfaces when progressive is not supported
...
There is no good reason to use interlaced surfaces when progressive
is supported and it only creates issues when exporting the surface
or trying to do transcoding.
This allows to remove all workarounds that handled reallocating
from interlaced to progressive because a given operation would not
work for interlaced.
Reviewed-by: Leo Liu <leo.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32095 >
2024-11-20 08:31:00 +00:00
Samuel Pitoiset
2abbd361e2
radv,aco: dump LDS from the trap handler
...
Can be useful for debugging.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32182 >
2024-11-20 07:35:47 +00:00
Martin Roukala (né Peres)
2878a1343a
ci: disable mupuf's farm
...
This is the second phase of the electric renocation I'm currently going
through, and hopefully will be the last time the system needs to be
taken down.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32212 >
2024-11-20 06:09:37 +00:00
Lina Versace
56116c4da5
anv: Fix feature pipelineProtectedAccess
...
We enable VK_EXT_pipeline_protected_access only if
anv_physical_device::has_protected_contexts. Therefore we should do the
same for vk_features::pipelineProtectedAccess.
Fixes: 0b5408f ("anv: expose VK_EXT_pipeline_protected_access")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32206 >
2024-11-20 04:31:54 +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
Lina Versace
906b1a0678
anv: Sort extensions in enablement table
...
Several extensions were unsorted in
anv_physical_device.c:get_device_extensions().
The worse was an EXT found between INTEL/NV.
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
Timothy Arceri
e34357015c
glsl: fix compiler global temp collisions
...
glsl ir creates these temps to copy global initialiser values for
example. To avoid collisions during linking due to 2 shaders in the same
stage having temps with the same name we make sure to define these as
function variables not shader globals. This will put the temps into the
global instructions wrapper created in 7c5b21c032 .
Fixes: cbfc225e2b ("glsl: switch to a full nir based linker")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12136
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32202 >
2024-11-20 03:20:47 +00:00
Marek Olšák
25d4943481
nir: make use_interpolated_input_intrinsics a nir_lower_io parameter
...
This will need to be set to true when the GLSL linker lowers IO, which
can later be unlowered by st/mesa, and then drivers can lower it again
without load_interpolated_input. Therefore, it can't be a global
immutable option.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32229 >
2024-11-20 02:45:37 +00:00
Timur Kristóf
c294e7f138
amd: Rename GFX1103_R1/R2 to PHOENIX/2
...
This is to match the code names used in other enums.
Also add comments to separate GFX11.5 and GFX12 chips.
v2 by Marek Olšák:
- Rename GFX1103 to in addrlib also
- Rework ac_get_family_name
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32170 >
2024-11-20 02:14:40 +00:00
Caio Oliveira
d918edaf9a
intel/common: Enable mi_builder test for PTL
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32194 >
2024-11-20 01:47:04 +00:00
Caio Oliveira
6b931a68c7
intel/common: Implement Xe KMD in mi_builder tests
...
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32194 >
2024-11-20 01:47:04 +00:00
Caio Oliveira
3998602d0e
intel/common: Prepare mi_builder tests to support Xe KMD
...
No functional change, just move i915 specific data to a struct
and check for kmd_type where appropriate. This will make the
next patch (which adds Xe KMD support here) cleaner.
This patch had to make intel_kmd.h header C++ friendly so it
can use its symbols.
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32194 >
2024-11-20 01:47:04 +00:00
Caio Oliveira
3735652be8
intel/common: Properly dispose resources in mi_builder tests
...
Since we will already use SetUp()/TearDown(), remove the ctor/dtor
that now would be unused.
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32194 >
2024-11-20 01:47:04 +00:00
Chia-I Wu
1be7e2e89d
panvk: implement check_status on v10+
...
vk_common_*Wait* calls vk_device_check_status to detect device lost.
This allows device lost to be reported more timely.
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/32166 >
2024-11-20 01:19:32 +00:00
Chia-I Wu
a52ffa9f24
panvk: report queue lost timely when PANVK_DEBUG=sync
...
When PANVK_DEBUG=sync detects a failed job, report queue lost
immediately.
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/32166 >
2024-11-20 01:19:32 +00:00
Chia-I Wu
c631f1d1b6
ci: update the comment on MESA_VK_ABORT_ON_DEVICE_LOSS
...
deqp-runner version is 0.20.2 already. But we would like to keep
MESA_VK_ABORT_ON_DEVICE_LOSS globally because, without it, after the
first VK_ERROR_DEVICE_LOST in a test group, the error is sticky and the
remaining tests will be considered failed as well.
deqp-vk gained --deqp-terminate-on-device-lost since 1.3.8.0 and enabled
it by default since 1.3.10.0. But let's prefer our own mechanism.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32228 >
2024-11-20 00:37:28 +00:00
Marek Olšák
3affe3cb17
vc4/lower_blend: don't read non-existent channels
...
nir_lower_texcoord_replace_late had swapped parameters in nir_undef.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32173 >
2024-11-19 23:48:38 +00:00
Marek Olšák
4da5b11ca9
nir: add nir_io_separate_clip_cull_distance_arrays to replace PIPE_CAP
...
to make the flag available in NIR passes
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32173 >
2024-11-19 23:48:38 +00:00
Marek Olšák
23eb4f3454
nir: rename nir_io_glsl_opt_varyings to nir_io_dont_optimize and deprecate it
...
The meaning is negated.
This NIR option is deprecated and shouldn't be used. It means any IO
optimizations can be disabled and it's a currently a workaround for zink,
which is the only driver that asks for it by default. The original option
is replaced by an environment variable for the GLSL linker.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32173 >
2024-11-19 23:48:38 +00:00
Marek Olšák
dacae272bf
nir: add nir_io_semantics::fb_fetch_output_coherent
...
Lowering IO should preserve this. Freedreno needs it.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32173 >
2024-11-19 23:48:38 +00:00
Marek Olšák
5d5a7bd221
nir/lower_two_sided_color: fix for lowered IO
...
1-bit input loads are illegal in NIR.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32173 >
2024-11-19 23:48:38 +00:00
Marek Olšák
65d32b96cf
nir/lower_fragcoord_wtrans: handle trimmed fragcoord loads
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32173 >
2024-11-19 23:48:38 +00:00
Marek Olšák
dcca0e590c
nir/lower_clip: rewrite find_output to handle vec2/3 and make it readable
...
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32173 >
2024-11-19 23:48:38 +00:00
Marek Olšák
45b20c8249
nir/lower_clip: fixes for lowered IO without compact arrays
...
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32173 >
2024-11-19 23:48:38 +00:00
Marek Olšák
878d23e171
nir/lower_pntc_ytransform: handle lowered IO
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32173 >
2024-11-19 23:48:38 +00:00
Marek Olšák
18f3c92b87
nir/print: print fb_fetch_output for variables
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32173 >
2024-11-19 23:48:38 +00:00
Chia-I Wu
3f84573be4
panvk: fix base_workgroup_id sysval
...
Make sure the sysval is pushed.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com >
Reviewed-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/32203 >
2024-11-19 23:13:54 +00:00
Lionel Landwerlin
9b779068c3
anv: prevent access to destroyed vk_sync objects post submission
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 36ea90a361 ("anv: Convert to the common sync and submit framework")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12145
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32219 >
2024-11-19 19:40:03 +00:00
Rhys Perry
6c07c0b862
glsl/list: remove underscores in foreach_list_typed macros
...
I'm not sure why they're here, but I find them to be annoying to read.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32225 >
2024-11-19 18:59:05 +00:00
Rhys Perry
66df291513
glsl/list: remove parenthesis in foreach_list_typed macros
...
These are not necessary because __node is only a single token. The
variable declaration wouldn't work otherwise.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32225 >
2024-11-19 18:59:05 +00:00
Rhys Perry
02e353a066
glsl/list: add and use helpers in foreach_list_typed macros
...
This reduces noise when reading them.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32225 >
2024-11-19 18:59:05 +00:00
Rhys Perry
17045b9465
glsl/list: add comments above foreach macros
...
The _safe suffix is misleading.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32225 >
2024-11-19 18:59:05 +00:00
Rhys Perry
65a54b4ec4
nir/lcssa: fix premature exit of loop after rematerializing derefs
...
If we have NIR such as:
32x4 %48 = @load_vulkan_descriptor (%47) (desc_type=SSBO)
32x4 %76 = deref_cast (tint_symbol_11 *)%48 (ssbo tint_symbol_11) (ptr_stride=0, align_mul=4, align_offset=0)
32x4 %77 = deref_struct &%76->tint_symbol_10 (ssbo int) // &((tint_symbol_11 *)%48)->tint_symbol_10
A single nir_rematerialize_deref_in_use_blocks() will rematerialize the
deref_struct and then it's deref_cast. However,
nir_foreach_instr_reverse_safe is not safe if the next iteration's
instruction is removed. This can result in the instruction loop exiting
and the load_vulkan_descriptor never having an LCSSA phi.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Fixes: 439e8c42cc ("nir/lcssa: Fix rematerializing derefs")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11770
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32225 >
2024-11-19 18:59:05 +00:00
Rhys Perry
327e5465fc
nir/algebraic: check bit sizes in lowered unpack(pack()) optimization
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Fixes: 894f7f4387 ("nir_opt_algebraic: Add a couple optimizations for lowered unpack(pack())")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32157 >
2024-11-19 18:17:18 +00:00
Rhys Perry
ecd6ae12fb
nir/algebraic: fix iabs(ishr(iabs(a), b)) optimization
...
iabs(a) is not positive if "a" is the minimum signed value, so this is
incorrect in that case for some values of "b".
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Fixes: 2b76de9b5d ("nir/algebraic: Add a couple optimizations for iabs and ishr")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32157 >
2024-11-19 18:17:17 +00:00
David Rosca
217d70fc38
frontends/va: Use compositor blit with different number of planes
...
This fixes Y8_U8_V8_444_UNORM -> NV12 conversion for example.
Cc: mesa-stable
Reviewed-by: Leo Liu <leo.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32089 >
2024-11-19 17:24:18 +00:00
David Rosca
6a01102efe
frontends/va: Stop reallocating buffers in EndPicture
...
This is not used anymore and can be removed now.
Reviewed-by: Leo Liu <leo.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32089 >
2024-11-19 17:24:18 +00:00
David Rosca
6bd21e4a06
frontends/va: Check if target buffer is supported in EndPicture
...
Check for all entrypoints, not just encode.
Reviewed-by: Leo Liu <leo.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32089 >
2024-11-19 17:24:18 +00:00
David Rosca
7925f13a41
frontends/va: Stop reallocating according to JPEG sampling factor
...
Tested with FFmpeg 7.1, it uses correct formats for each sampling factor,
so this has been fixed and is not needed anymore.
Reviewed-by: Leo Liu <leo.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32089 >
2024-11-19 17:24:18 +00:00
David Rosca
0df7e80179
frontends/va: Stop reallocating buffers for protected playback
...
Instead set the protected flag on allocation and return error
when the protected state of surface doesn't match context.
Reviewed-by: Leo Liu <leo.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32089 >
2024-11-19 17:24:18 +00:00
David Rosca
63fd685b31
frontends/va: Stop reallocating from progressive to interlaced in EndPicture
...
No driver should be hitting this path anymore.
Reviewed-by: Leo Liu <leo.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32089 >
2024-11-19 17:24:18 +00:00