Commit graph

214085 commits

Author SHA1 Message Date
Yiwei Zhang
f510613ca7 zink: tighten up export paths that require true dmabuf support
The users of exportable might have different expectations for what can
be exported, and some are more tight. So we need a new exportable_dmabuf
flag to track where dmabuf is actually needed.

If the underlying driver does not advertise dmabuf extension, requesting
dmabuf export violates the spec VU:

> VUID-VkMemoryGetFdInfoKHR-handleType-00671
>
> handleType must have been included in
> VkExportMemoryAllocateInfo::handleTypes when memory was created

Cc: mesa-stable
(cherry picked from commit 4f53828aa6)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39462>
2026-01-09 12:40:33 -08:00
Dylan Baker
12bee84e79 .pick_status.json: Update to d160b7726a
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39462>
2026-01-09 12:40:33 -08:00
Lionel Landwerlin
b80b02f33f anv: missing device_memory_report shader free
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 98293eb81e ("anv: add missing device_memory_report for shaders")
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39462>
2026-01-08 17:10:59 +00:00
Eric Engestrom
83c16c3803 vk/runtime,zink: only integrate renderdoc on supported platforms
It is not actually available to all the platforms mesa can be compiled
to, so let's keep an opt-in list of supported platforms instead, and
compile it out on all other platforms.

Fixes: 48a0478126 ("zink: add renderdoc handling")
(cherry picked from commit 93390d4b73)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39462>
2026-01-08 07:49:54 -08:00
Mel Henning
46130bc721 util/rmq: Fix uninitialized read in preprocess
We were previously always reading table->width elements from the previous
row in this loop, but we write fewer entries than that to the current
row. Fix this by adjusting the element count.

Fixes: 0d07b86073 ("util: Add range_minimum_query")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14593
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
(cherry picked from commit 4171161227)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39462>
2026-01-08 07:49:53 -08:00
Dylan Baker
3a24ffc6e9 .pick_status.json: Update to f8634fe5e6
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39462>
2026-01-08 07:49:50 -08:00
Georg Lehmann
979118dcd8 nir/opcodes: fix fsat signed zero correctness
fsat(-0.0) must return +0.0.

Cc: mesa-stable

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
(cherry picked from commit 026d4cd200)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39462>
2026-01-06 08:09:51 -08:00
Georg Lehmann
769f6674af util: add IEEE 754-2019 min/max number
fmin/fmax are not signed zero correct.

The name is taken from RDNA4's ISA, because the full IEEE name is a bit long.

Cc: mesa-stable

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
(cherry picked from commit f68b891a81)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39462>
2026-01-06 08:09:50 -08:00
Rhys Perry
df61fd1611 ac/nir: don't vectorize 16-bit shared loads to 8-bit
Fixes an issue where a 2x16 load was vectorized with a 1x16 load into a
8x8 load. This became possible after 49d923078f increased
aligned_new_size from 6 bytes to 8 bytes.

fossil-db (navi31):
Totals from 5 (0.01% of 79825) affected shaders:
Instrs: 6994 -> 6257 (-10.54%)
CodeSize: 44000 -> 39464 (-10.31%)
Latency: 90482 -> 89795 (-0.76%)
InvThroughput: 202955 -> 201926 (-0.51%)
VClause: 560 -> 565 (+0.89%)
Copies: 1135 -> 1108 (-2.38%); split: -2.82%, +0.44%
PreVGPRs: 201 -> 199 (-1.00%)
VALU: 3882 -> 3201 (-17.54%)
SALU: 493 -> 479 (-2.84%)
VOPD: 262 -> 258 (-1.53%)

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Fixes: 49d923078f ("ac/nir: fix calculation of aligned_new_size")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14500
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
(cherry picked from commit 614437ead5)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39462>
2026-01-06 08:09:49 -08:00
Tapani Pälli
423f3e514b crocus: make sure we have at least 1x1 surface to create null surf
Otherwise we will have width of -1 later in null_fill_state_s.

Fixes: 2eb45daa9c ("gallium: de-pointerize pipe_surface")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
(cherry picked from commit 4ac7bbb1d1)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39462>
2026-01-06 08:09:48 -08:00
Dave Airlie
6d3eb4cfa6 zink: use device select layer settings to disable device selection
In the case where we have a device that we want to choose after
probing, there is no point in asking the device select layer to do
any reordering at all.

This helps avoid a deadlock inside compositors where we don't need
device selection anyways.

Cc: mesa-stable
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
(cherry picked from commit 04071c5f9a)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39462>
2026-01-06 08:09:47 -08:00
Dave Airlie
ed2e176073 device-select: add a layer setting to disable device selection logic
There are cases like zink where we have a file descriptors we are searching
for devices for, so we don't need device selecting reordering, we just want
the fastest path to get the devices so we can match them.

This also helps avoid some cases of deadlock inside compositors where
zink/vulkan initialises later and tries to connect to the compositor.

This uses a VK_EXT_layer_setting to add a bypass setting.

Cc: mesa-stable
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
(cherry picked from commit 833706e381)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39462>
2026-01-06 08:09:45 -08:00
Marek Olšák
31424748ed radeonsi: fix incorrect PS shader key with sample shading
discovered when writing a sample shading test

Fixes: 65398d571b - radeonsi: ignore pipe_rasterizer_state::force_persample_interp

Reviewed-by: Qiang Yu <yuq825@gmail.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
(cherry picked from commit cf333ae9a2)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39462>
2026-01-06 08:09:44 -08:00
Marek Olšák
c1b4d9740c radeonsi: fix slightly incorrect assertions in si_shader_ps
Fixes: 5be9d76861 - radeonsi: fix an assertion failure in si_shader_ps with AMD_DEBUG=mono

Reviewed-by: Qiang Yu <yuq825@gmail.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
(cherry picked from commit c49d1bbea9)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39462>
2026-01-06 08:09:43 -08:00
Marek Olšák
8adb18ad2e ac/lower_ngg_mesh: fix a segfault accessing out_variables out of bounds
component_addr_off (in bytes) was used to offset a component index (in dwords).

Cc: mesa-stable

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
(cherry picked from commit 3552028e87)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39462>
2026-01-06 08:09:41 -08:00
Eric Engestrom
fe887afa44 rusticl: fix 'enable-drivers' meson option
Fixes: 1301d61de4 ("rusticl: allow devices to be enabled by default")
Fixes: 9cdf897c5e ("rusticl: allow asahi to be enabled by default")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14302
(cherry picked from commit 5a917f035c)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39462>
2026-01-06 08:09:39 -08:00
Icenowy Zheng
e300719298 vulkan/wsi/headless: do not destroy images that are never created
Currently the image creation failure handling codepath of
wsi_headless_surface_create_swapchain() just calls
wsi_headless_swapchain_destroy() , which will try to destroy all
`image_count` of images. However, some of these images might never be
successfully created because of the failure, which leads to double-free.

Set image_count to the number of successfully created images before
calling wsi_headless_swapchin_destroy() to prevent over-destroying.

Fixes dEQP-VK.wsi.headless.swapchain.simulate_oom.* on lavapipe and pvr,
although some of the tests got QualityWarning saying "Creating swapchain
did not succeed, callback limit exceeded" on lavapipe (Pass on pvr).

Cc: mesa-stable
Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
(cherry picked from commit e8c81652c9)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39462>
2026-01-06 08:09:37 -08:00
Anna Maniscalco
e335212d83 zink: fix use_reusable_pool condition
The code originally disabled reuse whenever a pNext was passed to
`bo_create_internal`, however code has been added before it that messed
with the pointer disabling it more often that necessary.

Rearrange code to restore the original check.

cc: mesa-stable

(cherry picked from commit 6a68542167)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39462>
2026-01-06 08:09:36 -08:00
Daniel Schürmann
0107186f1c aco/lower_to_hw: Fix SGPR Operand RegClasses for pack_2x16
Cc: mesa-stable
(cherry picked from commit b087bf2fbf)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39462>
2026-01-06 08:09:35 -08:00
Daniel Schürmann
fb1bd8bdf4 aco/lower_to_hw: Don't use 2 SGPR operands before GFX10 in a single VOP3 instruction in do_pack_2x16()
Cc: mesa-stable
(cherry picked from commit 9f5996ae8a)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39462>
2026-01-06 08:09:34 -08:00
Daniel Schürmann
5407c3924e aco/lower_to_hw: Fix SGPR Operand RegClasses of subdword copies
Extracting from an SGPR could cause a wrong RegClass on
the operand which could later lead to selecting VOPD
instructions which falsely operate on the corresponding
VGPR.

Cc: mesa-stable
(cherry picked from commit d8481fd7cc)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39462>
2026-01-06 08:09:33 -08:00
Vinson Lee
a96da583fa util/blob: Fix const correctness warning in blob_read_string
Fix compiler error:

  ../src/util/blob.c:344:8: error: assigning to 'uint8_t *' from
  'const void *' discards qualifiers
  [-Werror,-Wincompatible-pointer-types-discards-qualifiers]

glibc now provides C23-style type-generic string functions. memchr
returns const void * when passed a const void * argument. Update nul
declaration to const since it's only used to find the null terminator
position and calculate a size.

Fixes: 1c9877327e ("glsl: Add blob.c---a simple interface for serializing data")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
(cherry picked from commit b40850b24a)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39462>
2026-01-06 08:09:32 -08:00
Calder Young
35251391c8 anv/rt: Disable compaction for updatable acceleration structures
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
CC: mesa-stable
(cherry picked from commit 8134e1aad0)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39462>
2026-01-06 08:09:31 -08:00
Samuel Pitoiset
8ce3e30dd8 ac/spm: fix GRBM broadcasting for global blocks
They should broadcast SE and SA.

Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
(cherry picked from commit c8cb0f5941)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39462>
2026-01-06 08:09:30 -08:00
Timur Kristóf
e82b446a32 nir/opt_vectorize_io: Fix allow_holes option
Only allow holes between the first and last used component.
Do not load unused components before the first used component.

This fixes test failures with a bunch of VK CTS tests
with allow_holes enabled on RADV:
dEQP-VK.tessellation.tess_io.max_in_out.with_f16.*

Fixes: 6286c1c66f
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
(cherry picked from commit 1981b9836b)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39462>
2026-01-06 08:09:26 -08:00
Marek Olšák
dfb6ec7f93 radeonsi: fix color interpolation when finalize_nir is called twice
Calling finalize_nir twice causes si_nir_lower_color_inputs_to_sysvals
to be called twice. The pass always sets color interpolation to FLAT
at the beginning, and then lowers color input loads and sets the correct
interpolation mode. However, when the pass is called for the second time,
it just sets color interpolation to flat and does nothing, which overrides
the original interpolation mode.

This fixes color interpolation for those cases. This only happens with
ATI_fragment_shader AFAIK.

Fixes: deda05e2b7 - nir: move nir_lower_color_inputs into radeonsi

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
(cherry picked from commit e5b1c568b9)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39462>
2026-01-06 08:09:05 -08:00
Dylan Baker
13c336900a .pick_status.json: Update to 65c2dc5a63
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39462>
2026-01-06 08:09:01 -08:00
Dylan Baker
ad3759f342 docs: Add 25.3.3 checksums
Some checks failed
macOS-CI / macOS-CI (dri) (push) Has been cancelled
macOS-CI / macOS-CI (xlib) (push) Has been cancelled
2026-01-01 12:39:10 -08:00
Dylan Baker
a9c6420d8c VERSION: bump for 25.3.3
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Signed-off-by: Dylan Baker <dylan.c.baker@intel.com>
2026-01-01 10:34:04 -08:00
Dylan Baker
87cf61401b docs: add release notes for 25.3.3 2026-01-01 10:33:50 -08:00
Marek Olšák
c16527fa76 mesa: allow pipeline statistics in glCreateQueries
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
All other functions use get_query_binding_point to validate the target.

Cc: mesa-stable

Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
(cherry picked from commit 7ed6679361)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39117>
2026-01-01 03:26:37 -08:00
Alyssa Rosenzweig
88eb8921d4 asahi: fix garbage with query reads
no, I don't know how this worked before.

fixes

KHR-GL45.conditional_render_inverted.functional
KHR-GL46.transform_feedback_overflow_query_ARB.*

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Cc: mesa-stable
Reviewed-by: Mary Guillemard <mary@mary.zone>
(cherry picked from commit 56b90a70b3)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39117>
2026-01-01 03:26:35 -08:00
Sviatoslav Peleshko
1137dc9321 mesa/main/ff_frag: Don't generate the projector for cubemap sampling
Per current OpenGL spec: When a cube map texture is sampled, the (s t r)
texture coordinates are treated as a direction vector (rx ry rz)
emanating from the center of a cube. The q coordinate is ignored.

Older spec had slightly different wording that allowed projecting the
coordinates, but to be consistent with GLSL/SPIRV and the expectations
of the real-world applications it's better to ignore the projector.

Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14235
Signed-off-by: Sviatoslav Peleshko <sviatoslav.peleshko@globallogic.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
(cherry picked from commit d8e524cd6b)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39117>
2026-01-01 03:26:34 -08:00
Sviatoslav Peleshko
51f725b25a nir/normalize_cubemap_coords: Handle the projector before the normalization
Applying the projector after the normalization breaks the coordinates, so
apply it early. Usually it's not even necessary for the cubemaps anyway,
but ARB_fragment_program and TGSI allow it.

Fixes: 52e71809 ("nir: Add a cubemap normalizing pass")
Signed-off-by: Sviatoslav Peleshko <sviatoslav.peleshko@globallogic.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
(cherry picked from commit f3eb98ec57)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39117>
2026-01-01 03:26:33 -08:00
Georg Lehmann
daa2b253f4 ac/nir/cull: do not reuse variables if subgroup ops are used
Subgroup ops make divergence information useless for our purpose,
we would need workgroup divergence.

The game affected here has control flow dependent on vote_any,
so it's possible that a wave only executes the code after culling/reordering
invocations.
That means we can't reuse the maybe undefined value from before culling.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14459
Cc: mesa-stable
(cherry picked from commit cbedced5e8)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39117>
2026-01-01 03:26:32 -08:00
Emma Anholt
bca2cddaf8 freedreno/a3xx-a5xx: restore cbuf0 direct upload.
This broke a number of dEQP tests, for reasons that are unclear -- in
looking at cffdumps, the const setup looks appropriate, just changing from
e.g:

VS_CTRL_REG1(CONSTLEN=2)
FS_CTRL_REG1(CONSTLEN=1)
LOAD_STATE6(VERT, DIRECT, DST_OFF=2, NUM_UNIT=2)
LOAD_STATE6(FRAG, DIRECT, DST_OFF=0, NUM_UNIT=2)

to:

VS_CTRL_REG1(CONSTLEN=2)
FS_CTRL_REG1(CONSTLEN=1)
LOAD_STATE6(VERT, DIRECT, DST_OFF=2, NUM_UNIT=2)
LOAD_STATE6(FRAG, INDIRECT, DST_OFF=0, NUM_UNIT=2)

Fixes: 203ac73374 ("gallium: set prefer_real_buffer_in_constbuf0 for all drivers using tc")
(cherry picked from commit 974ca32643)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39117>
2026-01-01 03:26:31 -08:00
Dylan Baker
50b98e302a .pick_status.json: Update to 369a3b22b4
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39117>
2026-01-01 03:26:27 -08:00
Dylan Baker
8d7064c02d .pick_status.json: Mark 044e7f6017 as backported
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39117>
2025-12-28 20:15:37 -08:00
Samuel Pitoiset
6f8287efc7 radv/nir: fix front_face opts for points/lines and unknown prim
Fixes new VKCTS coverage dEQP-VK.glsl.builtin_var.frontfacing.*.

Fixes: af375c6756 ("radv: Optimize fs builtins using static gfx state")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39117>
2025-12-29 03:43:36 +00:00
Calder Young
be087a4a83 anv: Fix load factor for batch buffer allocation
The entire range of the allocated bo up to bo->size will be used, even if
alloc_size was way less, so to track the growth precisely for load factoring,
the allocated_batch_size should increase by bo->size.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
(cherry picked from commit 7b74321640)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39117>
2025-12-28 19:02:12 -08:00
Calder Young
ec7757eafe anv: Fix valgrind errors on batch buffers allocated from bo_pool
Although a specific size is requested, the entire range of the returned bo up
to bo->size may end up being used by anv_batch_chain, spamming memcheck errors.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
(cherry picked from commit 4de00e01dd)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39117>
2025-12-28 19:02:12 -08:00
André
9ef2d1f8ed nouveau: fix memory leak by freeing drm version before returning
Fixes: 821f4c8d ("nouveau: import libdrm_nouveau")
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Signed-off-by: André Costa <andre_miguel_costa@hotmail.com>
(cherry picked from commit 7219411f78)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39117>
2025-12-28 18:58:38 -08:00
Linus Karl
3ca5a85565 ethos: fix build on non LP64 architectures
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14310
Signed-off-by: Linus Karl <linus@lotz.li>
(cherry picked from commit 7700ba28f5)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39117>
2025-12-28 18:58:37 -08:00
Linus Karl
ee41f1ef9f rocket: fix build on non LP64 architectures
Cc: mesa-stable
Signed-off-by: Linus Karl <linus@lotz.li>
(cherry picked from commit 01cb7d7fd1)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39117>
2025-12-28 18:58:35 -08:00
Juan A. Suarez Romero
bff3239a67 v3d: don't build disk cache access on shader disablement
Don't build shader cache related functions when shader cache is disabled
on compile time.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14512
Backport-to: 25.3
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
(cherry picked from commit 0cab626014)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39117>
2025-12-28 18:58:31 -08:00
Yuxuan Shui
d83987ecef wsi/display: Set atomic client cap in Acquire{Drm,Xlib}DisplayEXT as well.
Since we use atomic mode setting now, the wsi->fd we use needs to have
the atomic client cap.

There are several different code paths where wsi can acquire a file
descriptor. For drm masters, the atomic client cap is set in
wsi_display_init_wsi. For leased drm fds, there are AcquireDrmDisplayEXT
and AcquireXlibDisplayEXT.

According to a comment we previously assumed wsi_display_get_connector
is common among all code paths, and that's why the atomic client cap was
set there. But that assumption can be broken based on the particular
order which the application invokes vulkan APIs in.

This commit simply push the drmSetClientCap to all entrypoints where a
drm fd comes through.

Fixes: 513ffea1d3 ("wsi/display: use atomic mode setting")
Signed-off-by: Yuxuan Shui <yshui@codeweavers.com>
(cherry picked from commit e0fbf9a908)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39117>
2025-12-28 18:58:28 -08:00
Samuel Pitoiset
1842e17e8b radv: add the SQTT relocated shaders BO to the cmdbuf list
Found this while debugging another thing with amdgpu.debug_mask=0x1 (VM).

Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
(cherry picked from commit 045b778ed6)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39117>
2025-12-28 18:58:26 -08:00
Vinson Lee
283cb22720 util/u_printf: Fix const correctness in util_printf_next_spec_pos
Fix compiler error:

../src/util/u_printf.c:75:13: error: initializing 'char *' with an
expression of type 'const char *' discards qualifiers
[-Werror,-Wincompatible-pointer-types-discards-qualifiers]
   75 |       char *spec_pos = strpbrk(str_found, "cdieEfFgGaAosuxXp%");
      |             ^          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

glibc now provides C23-style type-generic string functions. strpbrk
returns const char * when passed a const char * argument. Update
spec_pos declaration to match.

Fixes: 6d263ff5a3 ("util: Convert util/u_printf.cpp to util/u_printf.c")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
(cherry picked from commit c576d64801)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39117>
2025-12-28 18:58:25 -08:00
Vinson Lee
b8f5e721f0 bin/symbols-check: Fix undefined symbol detection on macOS
Commit e626636e90 ("bin/symbols-check: fix fields length condition
before accessing fields") changed the condition from `or` to `and`
to prevent potential IndexError when accessing fields[1].

However, this broke macOS because `nm -gP` outputs different field
counts for undefined symbols:
- Linux:  `_symbol U`           (2 fields)
- macOS:  `_symbol U 0 0`       (4 fields)

The condition `len(fields) == 2 and fields[1] == 'U'` only matched
the Linux format, causing undefined symbols like
_mesa_glapi_tls_Dispatch to be incorrectly reported as
"unknown symbol exported" on macOS.

Fix by using `len(fields) >= 2` to handle both platforms while still
guarding against IndexError.

Fixes: e626636e90 ("bin/symbols-check: fix fields length condition before accessing fields")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13451
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
(cherry picked from commit 191e4b8fe0)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39117>
2025-12-28 18:58:23 -08:00
Dylan Baker
a2290167f1 .pick_status.json: Update to ea4dedde8f
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39117>
2025-12-28 18:58:19 -08:00