platform/upstream/mesa.git
21 months agofreedreno/a6xx: Update caps
Rob Clark [Sun, 16 Oct 2022 15:35:08 +0000 (08:35 -0700)]
freedreno/a6xx: Update caps

We should be doing all the 64b lowering.. I think that should be enough
to get us at least glsl400.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19100>

21 months agofreedreno/a6xx: Fix primitives-generated query
Rob Clark [Tue, 18 Oct 2022 18:51:49 +0000 (11:51 -0700)]
freedreno/a6xx: Fix primitives-generated query

RBBM_PRIMCTR_7 is pre-clipped, whereas RBBM_PRIMCTR_8 is after clipping.
I believe we want pre-clipping, and this is what tu does.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19100>

21 months agofreedreno/a6xx: Fix MAX_GEOMETRY_OUTPUT_VERTICES cap
Rob Clark [Tue, 18 Oct 2022 17:02:10 +0000 (10:02 -0700)]
freedreno/a6xx: Fix MAX_GEOMETRY_OUTPUT_VERTICES cap

Limited by the size of PC_PRIMITIVE_CNTL_5.GS_VERTICES_OUT

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19100>

21 months agofreedreno/ir3: Lower all the 64b
Rob Clark [Sun, 16 Oct 2022 15:34:42 +0000 (08:34 -0700)]
freedreno/ir3: Lower all the 64b

Just need to enable some existing lowering.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19100>

21 months agofreedreno/ir3: Fix clipvertex with GS+tess
Rob Clark [Mon, 17 Oct 2022 17:25:10 +0000 (10:25 -0700)]
freedreno/ir3: Fix clipvertex with GS+tess

If we have both GS and tess, GS is the stage we should run lower_clip_vs
on.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19100>

21 months agofreedreno/a6xx: Remove unused param
Rob Clark [Sun, 16 Oct 2022 19:45:09 +0000 (12:45 -0700)]
freedreno/a6xx: Remove unused param

Minor cleanup, make it more clear that we aren't actually emitting in
IB2.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19100>

21 months agomesa/st: ARB_vertex_attrib_64bit depend on glsl>=410
Rob Clark [Sun, 16 Oct 2022 16:40:59 +0000 (09:40 -0700)]
mesa/st: ARB_vertex_attrib_64bit depend on glsl>=410

It is possible to expose ARB_gpu_shader_fp64 without supporting
ARB_vertex_attrib_64bit.  The supported GLSL version should tell
us if 64b vertex attribs are also supported or not.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19100>

21 months agodocs: Update freedreno features
Rob Clark [Sun, 16 Oct 2022 16:27:09 +0000 (09:27 -0700)]
docs: Update freedreno features

Another manual re-sync with reality.

There are a few extension, notably GL_ARB_texture_compression_bptc,
which are exposed but mesamatrix doesn't show as supported.  I can't
really figure out why.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19100>

21 months agodriconf: add a workaround for Cossacks 3
Marek Olšák [Tue, 18 Oct 2022 20:49:53 +0000 (16:49 -0400)]
driconf: add a workaround for Cossacks 3

Wine issue: https://bugs.winehq.org/show_bug.cgi?id=44560

Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19147>

21 months agodriconf: add a workaround for a cursor issue with kwin_wayland
Marek Olšák [Tue, 18 Oct 2022 20:49:06 +0000 (16:49 -0400)]
driconf: add a workaround for a cursor issue with kwin_wayland

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7351

Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19147>

21 months agodocs: correct spelling of "freedreno"
Erik Faye-Lund [Wed, 19 Oct 2022 08:20:46 +0000 (10:20 +0200)]
docs: correct spelling of "freedreno"

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139>

21 months agodocs: correct spelling of "traveling"
Erik Faye-Lund [Tue, 18 Oct 2022 15:25:02 +0000 (17:25 +0200)]
docs: correct spelling of "traveling"

While "travelling" isn't incorrect, we generally prefer US english in the
docs, where "traveling" is the common form.

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139>

21 months agodocs: correct spelling of "correctly"
Erik Faye-Lund [Tue, 18 Oct 2022 15:24:04 +0000 (17:24 +0200)]
docs: correct spelling of "correctly"

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139>

21 months agodocs: ie. -> i.e.
Erik Faye-Lund [Tue, 18 Oct 2022 14:52:02 +0000 (16:52 +0200)]
docs: ie. -> i.e.

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139>

21 months agodocs: fractionary -> fractional
Erik Faye-Lund [Tue, 18 Oct 2022 14:41:47 +0000 (16:41 +0200)]
docs: fractionary -> fractional

While "fractionary" isn't incorrect language, it's much less common than
the more modern "fractional" term.

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139>

21 months agodocs: correct spelling of "rasterizer"
Erik Faye-Lund [Tue, 18 Oct 2022 14:58:38 +0000 (16:58 +0200)]
docs: correct spelling of "rasterizer"

We use rasterizer all over the docs, so let's be consistent.

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139>

21 months agodocs: correct spelling of "explicitly"
Erik Faye-Lund [Tue, 18 Oct 2022 14:56:56 +0000 (16:56 +0200)]
docs: correct spelling of "explicitly"

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139>

21 months agodocs: correct spelling of "addition"
Erik Faye-Lund [Tue, 18 Oct 2022 14:49:10 +0000 (16:49 +0200)]
docs: correct spelling of "addition"

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139>

21 months agodocs: correct spelling of "average"
Erik Faye-Lund [Tue, 18 Oct 2022 14:48:46 +0000 (16:48 +0200)]
docs: correct spelling of "average"

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139>

21 months agodocs: correct spelling of "laid"
Erik Faye-Lund [Tue, 18 Oct 2022 14:35:29 +0000 (16:35 +0200)]
docs: correct spelling of "laid"

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139>

21 months agodocs: correct spelling of "compression"
Erik Faye-Lund [Tue, 18 Oct 2022 14:24:43 +0000 (16:24 +0200)]
docs: correct spelling of "compression"

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139>

21 months agodocs: correct spelling of "commutativity"
Erik Faye-Lund [Tue, 18 Oct 2022 14:23:49 +0000 (16:23 +0200)]
docs: correct spelling of "commutativity"

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139>

21 months agodocs: correct spelling of "hierarchy"
Erik Faye-Lund [Tue, 18 Oct 2022 14:15:05 +0000 (16:15 +0200)]
docs: correct spelling of "hierarchy"

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139>

21 months agodocs: correct spelling of "maximum"
Erik Faye-Lund [Tue, 18 Oct 2022 14:07:54 +0000 (16:07 +0200)]
docs: correct spelling of "maximum"

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139>

21 months agodocs: correct spelling of "synced"
Erik Faye-Lund [Tue, 18 Oct 2022 13:56:48 +0000 (15:56 +0200)]
docs: correct spelling of "synced"

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139>

21 months agodocs: correct spelling of "simplification"
Erik Faye-Lund [Tue, 18 Oct 2022 13:39:03 +0000 (15:39 +0200)]
docs: correct spelling of "simplification"

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139>

21 months agodocs: correct spelling of "shareable"
Erik Faye-Lund [Tue, 18 Oct 2022 13:31:29 +0000 (15:31 +0200)]
docs: correct spelling of "shareable"

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139>

21 months agodocs: correct spelling of "Raspbian"
Erik Faye-Lund [Tue, 18 Oct 2022 13:20:57 +0000 (15:20 +0200)]
docs: correct spelling of "Raspbian"

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139>

21 months agodocs: correct spelling of "subtly"
Erik Faye-Lund [Tue, 18 Oct 2022 13:11:12 +0000 (15:11 +0200)]
docs: correct spelling of "subtly"

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139>

21 months agodocs: correct spelling of "choosing"
Erik Faye-Lund [Tue, 18 Oct 2022 13:10:09 +0000 (15:10 +0200)]
docs: correct spelling of "choosing"

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139>

21 months agodocs: correct spelling of "Khronos"
Erik Faye-Lund [Tue, 18 Oct 2022 13:08:08 +0000 (15:08 +0200)]
docs: correct spelling of "Khronos"

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139>

21 months agodocs: correct spelling of "to"
Erik Faye-Lund [Tue, 18 Oct 2022 13:02:11 +0000 (15:02 +0200)]
docs: correct spelling of "to"

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139>

21 months agodocs: correct spelling of "implementation"
Erik Faye-Lund [Tue, 18 Oct 2022 12:57:20 +0000 (14:57 +0200)]
docs: correct spelling of "implementation"

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139>

21 months agodocs: correct spelling of "hierarchical"
Erik Faye-Lund [Tue, 18 Oct 2022 12:46:11 +0000 (14:46 +0200)]
docs: correct spelling of "hierarchical"

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139>

21 months agodocs: correct spelling of "specified"
Erik Faye-Lund [Tue, 18 Oct 2022 12:26:28 +0000 (14:26 +0200)]
docs: correct spelling of "specified"

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139>

21 months agodocs: correct spelling of "bug fixes"
Erik Faye-Lund [Tue, 18 Oct 2022 11:41:37 +0000 (13:41 +0200)]
docs: correct spelling of "bug fixes"

This isn't a compound word in English, and we tend to write it as two
worlds.

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139>

21 months agodocs: correct spelling of "attempts"
Erik Faye-Lund [Tue, 18 Oct 2022 12:11:47 +0000 (14:11 +0200)]
docs: correct spelling of "attempts"

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139>

21 months agodocs: correct spelling of "implemented"
Erik Faye-Lund [Tue, 18 Oct 2022 11:56:32 +0000 (13:56 +0200)]
docs: correct spelling of "implemented"

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139>

21 months agodocs: Remove document about XvMC
Yonggang Luo [Tue, 18 Oct 2022 05:33:29 +0000 (13:33 +0800)]
docs: Remove document about XvMC

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19133>

21 months agonouveau: Remove XVMC_VL environment variable usage
Yonggang Luo [Tue, 18 Oct 2022 05:30:49 +0000 (13:30 +0800)]
nouveau: Remove XVMC_VL environment variable usage

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: David Heidelberg <david.heidelberg@collabora.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19133>

21 months agodocs: Remove rbug related documents
Yonggang Luo [Tue, 18 Oct 2022 12:57:28 +0000 (20:57 +0800)]
docs: Remove rbug related documents

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19138>

21 months agodocs: Remove graw related words
Yonggang Luo [Tue, 18 Oct 2022 12:51:24 +0000 (20:51 +0800)]
docs: Remove graw related words

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19138>

21 months agoci/windows: Update build container image with all deps so wraps can be disabled
Jesse Natalie [Sat, 27 Aug 2022 16:12:34 +0000 (09:12 -0700)]
ci/windows: Update build container image with all deps so wraps can be disabled

Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18287>

21 months agoradeonsi: lower hadd and fisnormal
Karol Herbst [Wed, 28 Sep 2022 17:26:54 +0000 (19:26 +0200)]
radeonsi: lower hadd and fisnormal

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19151>

21 months agonir/lower_cl_images: set binding
Karol Herbst [Wed, 28 Sep 2022 23:10:42 +0000 (01:10 +0200)]
nir/lower_cl_images: set binding

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19151>

21 months agoradeonsi: fail creating textures from user memory
Karol Herbst [Wed, 28 Sep 2022 01:21:05 +0000 (03:21 +0200)]
radeonsi: fail creating textures from user memory

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19151>

21 months agozink: clamp shader bindings for compute descriptors
Mike Blumenkrantz [Tue, 18 Oct 2022 14:08:38 +0000 (10:08 -0400)]
zink: clamp shader bindings for compute descriptors

this uses massively less memory for some drivers

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19140>

21 months agozink: reorder context init to handle COMPUTE_ONLY
Mike Blumenkrantz [Tue, 18 Oct 2022 14:05:29 +0000 (10:05 -0400)]
zink: reorder context init to handle COMPUTE_ONLY

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19140>

21 months agozink: delete some big struct members from zink_context
Mike Blumenkrantz [Tue, 18 Oct 2022 14:04:52 +0000 (10:04 -0400)]
zink: delete some big struct members from zink_context

these were only used by descriptor caching, so now they just take up memory

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19140>

21 months agozink: clamp feedback loop layout to GENERAL if the ext isn't supported
Mike Blumenkrantz [Tue, 18 Oct 2022 15:53:41 +0000 (11:53 -0400)]
zink: clamp feedback loop layout to GENERAL if the ext isn't supported

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19140>

21 months agozink: enable tc cpu storage on some buffers
Mike Blumenkrantz [Tue, 18 Oct 2022 16:25:17 +0000 (12:25 -0400)]
zink: enable tc cpu storage on some buffers

matching freedreno usage

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19142>

21 months agocso: make memcmp and hash computation use a literal key size for blend state
Marek Olšák [Sun, 7 Aug 2022 23:41:16 +0000 (19:41 -0400)]
cso: make memcmp and hash computation use a literal key size for blend state

This results in faster lookups because memcmp and the hash computation
can be unrolled.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19129>

21 months agocso: inline more functions because some parameters like key_size are literals
Marek Olšák [Sun, 7 Aug 2022 23:29:37 +0000 (19:29 -0400)]
cso: inline more functions because some parameters like key_size are literals

One function is moved to the header file, the other two functions are inlined
manually.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19129>

21 months agocso: don't destroy CSOs that are saved
Marek Olšák [Sat, 6 Aug 2022 21:30:02 +0000 (17:30 -0400)]
cso: don't destroy CSOs that are saved

I think this can't happen in practice, but better safe than sorry.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19129>

21 months agocso: fix broken optimization for sampler state lookups
Marek Olšák [Sun, 7 Aug 2022 23:59:48 +0000 (19:59 -0400)]
cso: fix broken optimization for sampler state lookups

Since the key size wasn't a constant expression, all the function inlining
didn't do much. This makes it a constant expression.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Fixes: c4e18cd4dd1 - mesa/st: add PIPE_QUIRK_TEXTURE_BORDER_COLOR_SWIZZLE_FREEDRENO
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19129>

21 months agocso: constify some parameters to remove typecasts
Marek Olšák [Sat, 6 Aug 2022 21:28:34 +0000 (17:28 -0400)]
cso: constify some parameters to remove typecasts

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19129>

21 months agocso: start without u_vbuf by default if it's not always used
Marek Olšák [Sat, 6 Aug 2022 21:28:59 +0000 (17:28 -0400)]
cso: start without u_vbuf by default if it's not always used

no functional change, but it's convenient for future work

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19129>

21 months agoglthread: don't sync for glIsEnabled(GL_BLEND, GL_LIGHTING, GL_POLYGON_STIPPLE)
Marek Olšák [Sat, 27 Aug 2022 22:01:53 +0000 (18:01 -0400)]
glthread: don't sync for glIsEnabled(GL_BLEND, GL_LIGHTING, GL_POLYGON_STIPPLE)

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199>

21 months agoglthread remove the unused *last pointer from unmarshal functions
Marek Olšák [Tue, 27 Sep 2022 00:16:48 +0000 (20:16 -0400)]
glthread remove the unused *last pointer from unmarshal functions

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199>

21 months agoglthread: merge and collapse glBindBuffer calls that unbind and then bind
Marek Olšák [Mon, 22 Aug 2022 00:32:08 +0000 (20:32 -0400)]
glthread: merge and collapse glBindBuffer calls that unbind and then bind

This is a small optimization for viewperf. See the comment in the code.

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199>

21 months agogl_marshal.py: C style fixups
Marek Olšák [Mon, 29 Aug 2022 23:17:33 +0000 (19:17 -0400)]
gl_marshal.py: C style fixups

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199>

21 months agogallium/u_threaded: don't call simplify_draw_info redundantly
Marek Olšák [Sat, 13 Aug 2022 14:04:22 +0000 (10:04 -0400)]
gallium/u_threaded: don't call simplify_draw_info redundantly

It's always called for the first and second draw in a row, and if they
can't be merged, the second draw becomes the first draw in the next call,
and simplify_draw_info is called again on that. Thus, it's called twice
on any draw that isn't merged. To prevent that, call it when we add
the draws.

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199>

21 months agoglthread: rewrite CallList merging and do it in the app thread
Marek Olšák [Mon, 22 Aug 2022 03:49:14 +0000 (23:49 -0400)]
glthread: rewrite CallList merging and do it in the app thread

This looks simpler and hopefully faster, but it may just move the overhead
to the app thread.

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199>

21 months agoglthread: demystify Draw function names
Marek Olšák [Sun, 21 Aug 2022 23:47:32 +0000 (19:47 -0400)]
glthread: demystify Draw function names

Since we had the freedom to write our own marshal and unmarshal Draw
functions, we turned it into a mess by doing whatever we want in those
functions. For example, DrawElementsInstancedBaseVertex actually
implemented DrawArraysInstancedBaseInstanceBaseInstance.

Add 4 internal GL functions that pass user buffers through marshal
/unmarshal functions, and clean up the other names to match their
behavior.

The new functions don't need any parameters in their definitions because
we don't call them directly.

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199>

21 months agoglapi: remove EXT and ARB suffixes from Draw functions
Marek Olšák [Sun, 21 Aug 2022 22:27:08 +0000 (18:27 -0400)]
glapi: remove EXT and ARB suffixes from Draw functions

This swaps the function names with aliased names that don't have those
suffixes.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199>

21 months agoglthread: add more DrawArrays/Elements variants with fewer fields
Marek Olšák [Sun, 21 Aug 2022 22:05:09 +0000 (18:05 -0400)]
glthread: add more DrawArrays/Elements variants with fewer fields

The idea is to save 8 bytes per call by removing 2 fields that are not
specified by the user such as instance_count=1, basevertex=0, and
baseinstance=0.

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199>

21 months agoglthread: use a constant expression instead of cmd_size in custom functions
Marek Olšák [Sat, 13 Aug 2022 05:49:35 +0000 (01:49 -0400)]
glthread: use a constant expression instead of cmd_size in custom functions

cmd_size is constant in these cases

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199>

21 months agogl_marshal.py: simplify print_sync_call and rename to print_call
Marek Olšák [Thu, 11 Aug 2022 15:59:26 +0000 (11:59 -0400)]
gl_marshal.py: simplify print_sync_call and rename to print_call

no spaces around = is a python convention for implicit arguments only

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199>

21 months agogl_marshal.py: inline functions for readability
Marek Olšák [Thu, 11 Aug 2022 15:08:42 +0000 (11:08 -0400)]
gl_marshal.py: inline functions for readability

All functions have only one use. Jumping constantly between functions
in the file is confusing.

No spaces around = is a python convention for implicit arguments only.

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199>

21 months agogl_marshal.py: remove the -O1 hack and manual SET_* inlining
Marek Olšák [Thu, 11 Aug 2022 13:27:52 +0000 (09:27 -0400)]
gl_marshal.py: remove the -O1 hack and manual SET_* inlining

The compile times aren't so bad anymore now that the initialization is
split among all 8 files.

Also add one assertion.

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199>

21 months agogl_marshal.py: rework how the marshal dispatch table is initialized
Marek Olšák [Thu, 11 Aug 2022 13:10:15 +0000 (09:10 -0400)]
gl_marshal.py: rework how the marshal dispatch table is initialized

Instead of setting all function pointers in marshal_generated0.c,
set the function pointers in the file that contains the functions,
and remove all the forward declarations of marshal functions
in marshal_generated.h.

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199>

21 months agogl_marshal.py: move the unmarshal table into a separately generated file
Marek Olšák [Thu, 11 Aug 2022 12:43:54 +0000 (08:43 -0400)]
gl_marshal.py: move the unmarshal table into a separately generated file

It's unrelated to the rest of the script and it's in the way of bigger
changes.

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199>

21 months agogl_marshal.py: remove/simplify parameters
Marek Olšák [Thu, 11 Aug 2022 11:49:58 +0000 (07:49 -0400)]
gl_marshal.py: remove/simplify parameters

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199>

21 months agoglsl: move lower instructions logic inside that pass
Timothy Arceri [Mon, 17 Oct 2022 10:49:44 +0000 (21:49 +1100)]
glsl: move lower instructions logic inside that pass

There is now only a single called of this pass so tidy things up
and move all this logic inside the pass.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19112>

21 months agoglsl: always do {CARRY,BORROW}_TO_ARITH lowering
Timothy Arceri [Mon, 17 Oct 2022 10:36:41 +0000 (21:36 +1100)]
glsl: always do {CARRY,BORROW}_TO_ARITH lowering

The only caller always sets these so here we just remove the
option to disable it.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19112>

21 months agoglsl: drop sub to add neg lowering in GLSL IR
Timothy Arceri [Mon, 17 Oct 2022 10:18:34 +0000 (21:18 +1100)]
glsl: drop sub to add neg lowering in GLSL IR

NIR opt algebraic does this for us so no need to have it
implemented here also.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19112>

21 months agoglsl: move rule inside lower_packing_builtins()
Timothy Arceri [Mon, 17 Oct 2022 04:28:26 +0000 (15:28 +1100)]
glsl: move rule inside lower_packing_builtins()

We only have a single user of this pass so lets tidy things up and
move all the rules in the pass itself.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19112>

21 months agoanv: work around improper buffer usage in hitman3
Mark Janes [Mon, 29 Aug 2022 23:25:30 +0000 (16:25 -0700)]
anv: work around improper buffer usage in hitman3

Avoid memory errors by returning an error immediately instead of
attempting to allocate the buffer view with an unsupported format.

Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6998

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17972>

21 months agoanv: add a layer for hitman3
Lionel Landwerlin [Tue, 23 Aug 2022 07:06:11 +0000 (10:06 +0300)]
anv: add a layer for hitman3

This title is trying to create a buffer view with usage not supported by Anv.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17972>

21 months agoanv: compile anv_acceleration_structure.c
Mark Janes [Tue, 18 Oct 2022 20:07:26 +0000 (13:07 -0700)]
anv: compile anv_acceleration_structure.c

This file was unintentionally excluded from meson build support.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17972>

21 months agoaco: add ACO_DEBUG=force-waitdeps
Rhys Perry [Thu, 25 Aug 2022 18:41:51 +0000 (19:41 +0100)]
aco: add ACO_DEBUG=force-waitdeps

GFX11 has a lot of complicated data dependency hazards.

For debugging GFX10+ data dependency hazards. This creates an excessive
amount of s_waitcnt_depctr.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18273>

21 months agoaco/gfx11: workaround VALUMaskWriteHazard
Rhys Perry [Tue, 27 Sep 2022 14:37:11 +0000 (15:37 +0100)]
aco/gfx11: workaround VALUMaskWriteHazard

fossil-db (gfx1100):
Totals from 62812 (46.52% of 135032) affected shaders:
Instrs: 43971580 -> 44069887 (+0.22%)
CodeSize: 233473420 -> 233866648 (+0.17%)
Latency: 463487489 -> 463520688 (+0.01%); split: -0.00%, +0.01%
InvThroughput: 86505748 -> 86509679 (+0.00%); split: -0.00%, +0.00%

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18273>

21 months agoaco/gfx11: workaround VALUPartialForwardingHazard
Rhys Perry [Thu, 25 Aug 2022 11:34:34 +0000 (12:34 +0100)]
aco/gfx11: workaround VALUPartialForwardingHazard

fossil-db (gfx1100):
Totals from 18121 (13.42% of 135032) affected shaders:
Instrs: 28272367 -> 28323468 (+0.18%)
CodeSize: 152581916 -> 152786320 (+0.13%)
Latency: 366477785 -> 366482318 (+0.00%); split: -0.00%, +0.00%
InvThroughput: 74475188 -> 74475758 (+0.00%); split: -0.00%, +0.00%

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18273>

21 months agoaco/gfx11: workaround VALUTransUseHazard
Rhys Perry [Thu, 13 Oct 2022 16:55:57 +0000 (17:55 +0100)]
aco/gfx11: workaround VALUTransUseHazard

fossil-db (gfx1100):
Totals from 116990 (86.64% of 135032) affected shaders:
Instrs: 67942325 -> 69493991 (+2.28%)
CodeSize: 366448984 -> 372655648 (+1.69%)
Latency: 673236871 -> 673269808 (+0.00%); split: -0.00%, +0.00%
InvThroughput: 128266905 -> 128270175 (+0.00%); split: -0.00%, +0.00%

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18273>

21 months agoaco/gfx11: workaround LdsDirectVMEMHazard
Rhys Perry [Thu, 25 Aug 2022 11:26:06 +0000 (12:26 +0100)]
aco/gfx11: workaround LdsDirectVMEMHazard

fossil-db (gfx1100):
Totals from 27217 (20.16% of 135032) affected shaders:
Instrs: 18010853 -> 18047277 (+0.20%)
CodeSize: 99369568 -> 99515264 (+0.15%)
Latency: 207454040 -> 207464932 (+0.01%); split: -0.00%, +0.01%
InvThroughput: 39810158 -> 39810628 (+0.00%); split: -0.00%, +0.00%

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18273>

21 months agoaco/gfx11: workaround LdsDirectVALUHazard
Rhys Perry [Thu, 25 Aug 2022 11:16:39 +0000 (12:16 +0100)]
aco/gfx11: workaround LdsDirectVALUHazard

fossil-db (gfx1100):
Totals from 57858 (42.85% of 135032) affected shaders:

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18273>

21 months agoaco/gfx11: workaround VcmpxPermlaneHazard
Rhys Perry [Thu, 14 Jul 2022 14:27:57 +0000 (15:27 +0100)]
aco/gfx11: workaround VcmpxPermlaneHazard

Same as GFX10, but in a separate pass because it's the only hazard that's
shared.

No fossil-db changes.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18273>

21 months agoaco: add search_backwards helper
Rhys Perry [Thu, 25 Aug 2022 16:32:49 +0000 (17:32 +0100)]
aco: add search_backwards helper

This will be useful for VALUPartialForwardingHazard.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18273>

21 months agonir2dxil: Lower texture projections
Pedro J. Estébanez [Mon, 17 Oct 2022 11:34:05 +0000 (13:34 +0200)]
nir2dxil: Lower texture projections

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19115>

21 months agomesa/st: remove translate_mode
Erik Faye-Lund [Tue, 11 Oct 2022 14:03:04 +0000 (16:03 +0200)]
mesa/st: remove translate_mode

This no longer does anything useful, so let's just drop it.

Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19034>

21 months agomesa/st: move static asserts out of translate_prim
Erik Faye-Lund [Tue, 11 Oct 2022 14:02:29 +0000 (16:02 +0200)]
mesa/st: move static asserts out of translate_prim

Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19034>

21 months agoCI: Add gallium-va and video-codecs in windows-vs2019 and debian-mingw32-x86_64
Sil Vilerino [Fri, 14 Oct 2022 14:36:58 +0000 (10:36 -0400)]
CI: Add gallium-va and video-codecs in windows-vs2019 and debian-mingw32-x86_64

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19063>

21 months agod3d12: resource_from_handle to validate importing resource ptr from same d3d12 device
Sil Vilerino [Tue, 18 Oct 2022 13:05:24 +0000 (09:05 -0400)]
d3d12: resource_from_handle to validate importing resource ptr from same d3d12 device

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19063>

21 months agofrontends/va: Add windows VA frontend support via vl_winsys_win32 and libva-win32
Sil Vilerino [Wed, 7 Sep 2022 17:42:04 +0000 (13:42 -0400)]
frontends/va: Add windows VA frontend support via vl_winsys_win32 and libva-win32

Acked-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19063>

21 months agogallium/vl: Add vl_winsys_win32 support
Sil Vilerino [Wed, 7 Sep 2022 17:40:44 +0000 (13:40 -0400)]
gallium/vl: Add vl_winsys_win32 support

Acked-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19063>

21 months agohasvk: use DX rules for point rasterization
Iván Briano [Wed, 5 Oct 2022 03:02:25 +0000 (20:02 -0700)]
hasvk: use DX rules for point rasterization

It seems that's what the reference renderer in the CTS expects for
Vulkan. This mostly matters if the edges of a point primitive fall
exactly on a pixel sampling point.

Fixes some upcoming tests under
dEQP-VK.pipeline.monolithic.depth.format.*.point_list*

Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19026>

21 months agoanv: use DX rules for point rasterization
Iván Briano [Wed, 5 Oct 2022 03:02:25 +0000 (20:02 -0700)]
anv: use DX rules for point rasterization

It seems that's what the reference renderer in the CTS expects for
Vulkan. This mostly matters if the edges of a point primitive fall
exactly on a pixel sampling point.

Fixes some upcoming tests under
dEQP-VK.pipeline.monolithic.depth.format.*.point_list*

Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19026>

21 months agoanv: compile_upload_rt_shader expects a valid pointer
Iván Briano [Tue, 18 Oct 2022 00:40:36 +0000 (17:40 -0700)]
anv: compile_upload_rt_shader expects a valid pointer

Fixes crashes on almost every CTS test that uses raytracing pipelines.

Fixes: ff91c5ca42b ("anv: add analysis for push descriptor uses and store it in shader cache")

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19130>

21 months agoutil: Move the implementation of futex_wake and futex_wait from futex.h to futex.c
Yonggang Luo [Sat, 3 Sep 2022 08:58:05 +0000 (16:58 +0800)]
util: Move the implementation of futex_wake and futex_wait from futex.h to futex.c

Doing this is to avoid include bloat on Windows that pulls windows.h,
for other unix platforms, it's also benefit include the used symbols only when use
futex_wake and futex_wait.
No functional change, there is no performance incur because function call is consume
much less time than syscall

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19120>

21 months agofreedreno: Fix fence unref race
Rob Clark [Fri, 14 Oct 2022 18:32:01 +0000 (11:32 -0700)]
freedreno: Fix fence unref race

Destroying a fence that was never flushed could race with the submit
queue, which could cause either an fd leak or closing an fd that the
retire queue would want to use.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19080>