Charmaine Lee
1b9b060f0e
svga: use upload buffer if texture has pending changes
...
When establishing a texture transfer map, if there is any pending changes on the
texture, instead of trying direct map with DONTBLOCK first, just
use the upload buffer path.
Fixes piglit tests gen-teximages, arb_copy_images-formats
Cc: mesa-stable
Reviewed-by: Neha Bhende <bhenden@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21393 >
2023-02-21 09:48:23 -08:00
Charmaine Lee
3a359385cb
svga: fix compatible formats for shareable surfaces
...
Add typeless format to the compatible format lists for shareable surfaces.
Fixes webgl benchmark crash in eglCreateImage running from firefox on Fedora 37.
Cc: mesa-stable
Reviewed-by: Martin Krastev <krastevm@vmware.com >
Reviewed-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21393 >
2023-02-21 09:48:23 -08:00
Charmaine Lee
75b7296fc3
svga: fix resource_get_handle from resource created without SHARED bind flag
...
When an EGLImage is created from a 2D texture and used for texture sharing,
the texture surface might not have been created with the SHARED bind flag.
To allow these surfaces for sharing, this patch sets the USAGE SHARED bit
for surfaces that can be potentially used for sharing even when the SHARED
bind flag is not originally set. Instead of unconditionally enabling the
SHARED bind flag for all surfaces and unnecessarily bypass the surface cache
optimization, this patch only enables the USAGE SHARED bit for surfaces
that also have the RENDER TARGET bind flag.
When the surface handle is inquired and if the surface is currently
marked as cachable, we will need to unset the cachable bit so
the surface handle will not be recycled again.
This patch fixes an assertion in svga_resource_get_handle() when the
EGL_MESA_image_dma_buf_export extension is used in webgl benchamrk running
from firefox in Fedora 37.
Cc: mesa-stable
Reviewed-by: Martin Krastev <krastevm@vmware.com >
Reviewed-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21393 >
2023-02-21 09:48:23 -08:00
Roland Scheidegger
427ac51c10
llvmpipe: only use accurate_a0 hack if there are no textures bound
...
This hack caused problems with some dx9 tests before (due to mipgen
test using nearest filter sampling with tex coords exactly between two
texels hence being extremely sensitive to arithmetic inaccuracies),
and we can no longer distinguish this by using pixel_offset to not get
it enabled. But to pass other tests we don't really need the hack when
there's texture sampling involved anyway.
Reviewed-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21407 >
2023-02-21 17:15:34 +00:00
Eric Engestrom
9390766b83
broadcom/ci: use weston's xwayland instead of starting X as well
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21449 >
2023-02-21 16:50:54 +00:00
Eric Engestrom
5425064c53
broadcom/ci: group x11 and wayland variant of the same test failing
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21449 >
2023-02-21 16:50:54 +00:00
Konstantin Seurer
af19762935
radv/rt: Skip instances after loading the entire node
...
This avoids waiting for instance_data which can improve performance:
vk_ray_tracing_ao_KHR_app: 0.2% (The TLAS has 2 instances)
Quake II RTX: 1%
Control: 1%
We also have to shuffle around some code to avoid increasing VGPR usage.
That leaves us with the following stats:
Quake II RTX:
Totals from 7 (14.29% of 49) affected shaders:
CodeSize: 165612 -> 165716 (+0.06%)
Instrs: 31446 -> 31460 (+0.04%)
Latency: 596709 -> 554292 (-7.11%)
InvThroughput: 121998 -> 113327 (-7.11%)
VClause: 596 -> 587 (-1.51%)
Copies: 4664 -> 4646 (-0.39%)
PreVGPRs: 620 -> 639 (+3.06%)
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21421 >
2023-02-21 15:51:14 +00:00
Rhys Perry
ab3184c0a2
aco: don't apply modifiers through DPP to unsupported instructions
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21201 >
2023-02-21 14:59:38 +00:00
Georg Lehmann
3bd5b583f9
aco: combine a ^ ~b and ~(a ^ b) to v_xnor_b32
...
Foz-DB Navi21:
Totals from 13 (0.01% of 134913) affected shaders:
CodeSize: 225432 -> 225180 (-0.11%)
Instrs: 41973 -> 41908 (-0.15%)
Latency: 297464 -> 297326 (-0.05%)
InvThroughput: 82536 -> 82467 (-0.08%)
Copies: 2452 -> 2440 (-0.49%)
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21410 >
2023-02-21 13:35:31 +00:00
Illia Abernikhin
dea36fce6a
util: Extend vk_enum_to_str with bitmasks
...
vk_enum_to_str only generates literals for enums with type: @type="enum",
but many enums have type: @type="bitmask" and were not taken into account here.
Main changes:
Empty enums are now always skipped
For bitmasks skipped *MAX_ENUM value
Signed-off-by: Illia Abernikhin <illia.abernikhin@globallogic.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8173
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21146 >
2023-02-21 13:59:19 +02:00
Marcin Ślusarz
e29a964d02
intel/compiler/mesh: follow the type of offset variable
...
This allows copy propagation to kick in, decreasing the overall
number of generated instructions.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21098 >
2023-02-21 11:10:24 +00:00
Marcin Ślusarz
15afb8dcc6
intel/compiler/mesh: apply URB payload mask once per program
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21098 >
2023-02-21 11:10:23 +00:00
Daniel Schürmann
93a47bab04
nir: simplify nir_block_cf_tree_{next|prev}
...
Removes some case distinction by first checking if this is
the first/last block of a cf_node.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13962 >
2023-02-21 10:41:11 +00:00
Daniel Schürmann
2e394b5cc1
nir/lower_continue_targets: only repair SSA when necessary
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13962 >
2023-02-21 10:41:11 +00:00
Daniel Schürmann
7fba5abfd7
nir/lower_continue_constructs: special-case Continue Constructs with zero or one predecessors
...
If a loop has only a single continue, the control flow is already
converged and we can inline the continue construct.
If a loop has no continue statement at all, the Continue Construct
is unreachable and can simply be deleted.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13962 >
2023-02-21 10:41:11 +00:00
Daniel Schürmann
f42eb71df9
spirv: use Loop Continue Construct to emit SPIR-V loops and lower after parsing
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13962 >
2023-02-21 10:41:11 +00:00
Daniel Schürmann
c20751d61d
nir: add lowering for Loop Continue Constructs
...
This pass lowers Loop Continue Constructs to the previous solution
by inserting it at the beginning of the loop:
loop {
if (i != 0) {
continue construct
}
loop body
}
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13962 >
2023-02-21 10:41:11 +00:00
Daniel Schürmann
312510448f
nir: create nir_push_continue() and related helpers
...
nir_control_flow.h:
void nir_loop_add_continue_construct(nir_loop *loop);
void nir_loop_remove_continue_construct(nir_loop *loop);
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13962 >
2023-02-21 10:41:11 +00:00
Daniel Schürmann
2bb369dd8d
nir: add assertions that loops don't have a Continue Construct
...
Hoping that I didn't miss any, this *should* add assertions
to all functions and passes which explicitly handle 'nir_loop'.
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13962 >
2023-02-21 10:41:11 +00:00
Daniel Schürmann
d4b97bf3fa
nir: add Continue Construct to nir_loop
...
The added continue_list corresponds to the SPIR-V
Continue Construct and serves as a converged control-flow
construct and is executed after each continue statement
and before the next iteration of the loop body.
Also adds validation rules for loops with Continue Construct
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13962 >
2023-02-21 10:41:11 +00:00
Caio Oliveira
e0c6ad1ce5
glsl: Account for unsized arrays in NIR linker
...
Follow the same approach as the pre-NIR linker.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5891
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21401 >
2023-02-21 09:08:18 +00:00
Gert Wollny
10f8240caf
zink/kopper: Add extra swapchain images for Venus
...
Together with the previous patch that corrects the number of
swapchain images on Xwayland this gives Zink/Venus a spead
boost in a number of work loads and close the gap or even
surpass VirGL when the benchmark is not GPU bound.
Some numbers:
zink (Virtio-GPU Venus (Host: RADV RENOIR)) / VirGL
Benchmark VirGL baseline Zink/Venus +1
and Xwayland +1
==================================================================
OpenArena (FPS) 63.8 60.1 148.5
Unigine Sancuary (FPS) 129.1 121.4 164.7
Unigine Tropics (FPS) 107.2 85.7 114.3
Unigine Heaven (FPS) 48.5 48.0 51.5
Unigine Valley (FPS) 48.0 45.6 47.4
Xonotic (FPS) 90.5 59.4 89.2
GpuTest/Volcano (Points) 2960 2966 3013
zink (Virtio-GPU Venus (Host: Intel Xe TGL GT2)) / VirGL
Benchmark VirGL baseline Zink/Venus +1
and Xwayland +1
===========================================================
OpenArena (FPS) 95.1 59.8 78.9
Unigine Sancuary (FPS) 85.5 76.6 81.8
Unigine Tropics (FPS) 66.0 59.8 62.7
Unigine Heaven (FPS) 28.8 28.7 28.0
Unigine Valley (FPS) 29.0 28.0 27.0
Xonotic (FPS) 64.2 49.4 51.1
GpuTest/Volcano (Points) 2855 2718 2747
v2: Fix limiting minImageCount (Mike)
Signed-off-by: Gert Wollny <gert.wollny@collabora.co.uk >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21136 >
2023-02-21 08:43:30 +00:00
Gert Wollny
04d654a5d0
vulkan/wsi: Take Xwayland into account for x11_min_image_count
...
For wayland we report a minimum of four swapchain images, so for
Xwayland we should report the same.
v2: Fix typo (Eric)
v3: Make that four images on Xwayland (Daniel)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21136 >
2023-02-21 08:43:30 +00:00
Alyssa Rosenzweig
23ec0d6bb2
asahi: Make shader-db work again
...
We need a nontrivial blend state otherwise the whole frag shader is optimized
out.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21432 >
2023-02-21 08:24:58 +00:00
Alyssa Rosenzweig
029c686c6d
asahi: Implement color masks with masked stores
...
Blend states can require masking colour. Currently, this is handled by
nir_lower_blend, which lowers masks to a read-modify-write operation as required
on Mali hardware. However, our "tilebuffer store" instruction supports a write
mask, allowing us to write only a subset of channels to the tilebuffer. It's
more efficient to use that than to emit pointless tilebuffer loads.
Note that even without tilebuffer loads, non-opaque masks don't work with opaque
pass types. Here, we handle this with a translucent pass type, which gets HSR
to do the right thing and is consistent with the pass type used previously.
However, it's a bit heavy handed -- Apple manages to use an opaque pass type
with masking but with some unknown HSR fields twiddled. IMO reverse-engineering
those details shouldn't block this because this gets us closer to optimal (just
not all the way there) and is strictly better than what we had before.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21431 >
2023-02-21 08:10:15 +00:00
Alyssa Rosenzweig
3084e6e689
agx: Add agx_internal_format_supports_mask helper
...
Not all formats can be masked, add a query to check which can be.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21431 >
2023-02-21 08:10:15 +00:00
Alyssa Rosenzweig
5e031867fe
agx: Handle ssa_undef as zero
...
Masked stores may result in undefs after optimization. Rather than call
lower_undef_to_zero late (but get no benefit), we may as well handle ourselves
to prepare for proper undef support down the line.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21431 >
2023-02-21 08:10:15 +00:00
Alyssa Rosenzweig
eab4d6a96f
agx: Add and use agx_nir_ssa_index helper
...
Common subexpression that we'll repeat once more in the next patch.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21431 >
2023-02-21 08:10:15 +00:00
Samuel Pitoiset
ad459054ed
radv: enable SQTT tracing on GFX11
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20338 >
2023-02-21 07:28:49 +00:00
Samuel Pitoiset
dfa9b5d624
radv: disable SPM counters with RGP on GFX11
...
They are likely different and perfcounters aren't defined on GFX11 yet.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20338 >
2023-02-21 07:28:49 +00:00
Samuel Pitoiset
5fe48baad6
radv: implement a workaround for SQTT on GFX11
...
Found in AMDVLK, see the comment below for an explanation.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20338 >
2023-02-21 07:28:49 +00:00
Samuel Pitoiset
826ae89ba6
radv: make sure to wait for the trace buffer also on GFX11
...
Otherwise, we might get incomplete data.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20338 >
2023-02-21 07:28:49 +00:00
Samuel Pitoiset
c2bc4aff54
radv: only enable SQTT for SE0 on GFX11
...
For weird reasons, the hardware doesn't return any data for other SEs.
RadeonSI is also affected by the same issue, enable only SE0 for now.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20338 >
2023-02-21 07:28:49 +00:00
Samuel Pitoiset
ad4ad2ba84
radv: configure SQ_THREAD_TRACE_CTRL.REG_AT_HWM on GFX11
...
AMDVLK sets this to 2 when the always stall mode is enabled, which is
the default in RADV.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20338 >
2023-02-21 07:28:49 +00:00
Jan Beich
8bc78e8eb9
util/u_process: implement util_get_command_line for BSDs
...
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21052 >
2023-02-20 21:26:49 +00:00
Pierre-Eric Pelloux-Prayer
923758a5c2
winsys/amdgpu: use amdgpu_device_get_fd
...
If radv is initialized before radeonsi, doing:
aws->fd = fd;
is incorrect because the device was initialized using the fd
passed by radv.
libdrm has a helper to query the fd used to create the device,
so use it.
We also need to init the kms_handles table in this case
because we're going to share BOs between radeonsi's fd and
the device fd.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3424
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20983 >
2023-02-20 20:38:17 +00:00
Amber
919c5568bf
freedreno: check for conditional rendering in launch_grid
...
fixes: KHR-GL45.compute_shader.conditional-dispatching
Signed-off-by: Amber Amber <amber@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21428 >
2023-02-20 19:03:25 +00:00
Alyssa Rosenzweig
e93a221024
agx: Handle group_memory_barrier
...
A combination of control_barrier + memory_barrier but it's always seen with
those. This would be safer with scoped barriers...
Fixes dEQP-GLES31.functional.synchronization.inter_invocation.ssbo
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21326 >
2023-02-20 18:50:40 +00:00
Alyssa Rosenzweig
e9cec96633
agx: Implement b2b32
...
Shows up with store_shared.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21326 >
2023-02-20 18:50:40 +00:00
Alyssa Rosenzweig
955797bb00
agx: Pack local atomics
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21326 >
2023-02-20 18:50:39 +00:00
Alyssa Rosenzweig
14f546726e
agx: Lower shared memory offsets to 16-bit
...
Per the hardware requirement. This simplifies instruction selection (it avoids
the need to constant fold u2u16 in the backend).
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21326 >
2023-02-20 18:50:39 +00:00
Alyssa Rosenzweig
a21f6f8cb0
agx: Translate load/store_shared
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21326 >
2023-02-20 18:50:39 +00:00
Alyssa Rosenzweig
f8b9dfbbad
agx: Translate NIR atomics
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21326 >
2023-02-20 18:50:39 +00:00
Alyssa Rosenzweig
2a021b1818
agx: Pack local load/store instructions
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21326 >
2023-02-20 18:50:39 +00:00
Alyssa Rosenzweig
96904f83b4
agx: Pack global atomics
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21326 >
2023-02-20 18:50:39 +00:00
Alyssa Rosenzweig
eea3674f36
agx: Disallow immediate bases to device_load
...
Lina pointed this out in review.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21326 >
2023-02-20 18:50:39 +00:00
Alyssa Rosenzweig
6b0ef2b462
agx: Model local loads/stores
...
Aka shared memory or threadgroup memory.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21326 >
2023-02-20 18:50:39 +00:00
Alyssa Rosenzweig
0d07d27173
agx: Model atomic instructions
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21326 >
2023-02-20 18:50:39 +00:00
José Roberto de Souza
ec7584130f
iris: Export num_fences()
...
This function will be needed by i915 and Xe backends.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21389 >
2023-02-20 18:29:47 +00:00
José Roberto de Souza
780dd291c5
iris: Export update_batch_syncobjs()
...
This function will be needed by i915 and Xe backends.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21389 >
2023-02-20 18:29:47 +00:00