Commit graph

214058 commits

Author SHA1 Message Date
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
Ahmed Hesham
5e24e96a0f panfrost: fix get_image_width for 1D buffer images
Image size queries for buffer images were incorrectly using the
underlying buffer's width instead of the image view's size.

This affected `get_image_width` in OpenCL C for 1Dbuffer images, in
cases where the buffer is larger than the image to account for
padding, breaking the conformance test `test_kernel_image_methods
1Dbuffer`.

Fixes: 0efe7a6eb9 ("panfrost: implement image_size sysval")

Signed-off-by: Ahmed Hesham <ahmed.hesham@arm.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
(cherry picked from commit 95ed8d6638)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39117>
2025-12-19 08:05:07 -08:00
Mel Henning
309184075d nvk: Set maxStorageBufferRange = maxBufferSize
We were previously reporting a larger maxStorageBufferRange than our
maxBufferSize, which is weird. Lower maxStorageBufferRange to match
maxBufferSize.

Fixes crucible stress.limits.buffer-update.range.storage.q0

Fixes: 65f12fde44 ("nvk: Improve address space and buffer size limits")
Reviewed-by: Mary Guillemard <mary@mary.zone>
(cherry picked from commit c9ae59dec5)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39117>
2025-12-19 08:05:06 -08:00
Ian Romanick
a09a9f0234 brw/cmod: Don't propagate between instructions in different groups
The group implicity selects which flags the instruction can write. This
was discovered while working on another set of changes that could change
some logical operations into predicated MOV instructions.

Prevents regressions later in the series in
dEQP-VK.graphicsfuzz.cov-loop-fragcoord-identical-condition.

No shader-db or fossil-db changes on any Intel platform.

v2: Update the comment in the test case. Suggested by Caio.

Fixes: 95ac3b1dae ("i965/fs: don't propagate cmod when the exec sizes differ")
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
(cherry picked from commit ba30794847)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39117>
2025-12-19 08:05:05 -08:00
hwandy
523662d93e anv: fix a memory leak in slab allocator.
An example when the memory leak happens: requested_size = 4 and alignment = 65536 in anv_slab_bo_alloc:

The alloc_size = 65536 and requested = 4 in this case.

The group to allocate the entry is the group of size 65536 based on the entry size,
while the group to reclaim the entry is the group of size 4 due to the bo->size is
registered as the requested_size=4 and used in anv_slab_bo_free.

That means, the entry is allocated in group[order of size 65535]->free,
moved from group[order of size 65535]->free to the user, and then moved
to group[order of size 4]->reclaim, so the entries is accumulated in
group[order of size 4]->reclaim and group[order of size 65535] keeps
allocating new entries and leading to OOM.

The solution is to use `bo->actual_size` to get the group in pb_slab_bo_free using the allocation size.

Fixes: dabb012423 ("anv: Implement anv_slab_bo and enable memory pool")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14396
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Signed-off-by: hwandy <hwandy@google.com>
(cherry picked from commit ffbe6470a2)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39117>
2025-12-19 08:05:05 -08:00
Dylan Baker
2c14b0982e .pick_status.json: Update to 821baac5c3
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39117>
2025-12-19 08:05:02 -08:00
Pierre-Eric Pelloux-Prayer
846a318998 ac/descriptors: account for num_storage_samples for gfx10
This fixes a page fault when nr_samples=4 but nr_storage_samples=2.
Based on si_is_format_supported this is only supported for color
formats and when has_eqaa_surface_allocator is true (< GFX11).

The referenced commit below didn't introduce the issue but it
exposed it by forcing the gfx blit path to be used.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13255
Fixes: 3424e16ece ("radeonsi: add decision code to select when to use CB_RESOLVE for performance")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
(cherry picked from commit 645fff5dae)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39117>
2025-12-18 08:41:57 -08:00
Boris Brezillon
ae1744310e panvk: Fix set_compute_sysval()
BITSET_SET_RANGE() was passed sysval_fau_start() instead of
sysval_fau_end() as a 3rd argument.

Fixes: ae76a6a045 ("panvk: Pack push constants")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14489
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
(cherry picked from commit d7d690b47f)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39117>
2025-12-18 08:41:55 -08:00
Lucas Stach
3e5c3d0dcd etnaviv: blt: fix tile count calculation for in-place resolve
A in-place resolve via the BLT engine is only supposed to fill the
tiles of a single layer of a resource, so the size to calculate the
number of tiles is the layer stride, same as done for the in-place
resolve via the RS engine in
8df11f3fad ("etnaviv: fix in-place resolve tile count.")

CC: mesa-stable
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
(cherry picked from commit 075eefc422)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39117>
2025-12-18 08:41:54 -08:00
Dylan Baker
49ced45772 .pick_status.json: Update to 645fff5dae
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39117>
2025-12-18 08:41:51 -08:00
Tapani Pälli
5ac2605b9d anv/drirc: disable Xe2 CCS drm modifiers for GTK engine
Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
(cherry picked from commit 2418c91537)

Conflicts:
	src/util/driconf.h

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39117>
2025-12-17 14:12:40 -08:00
Lucas Fryzek
cb97aa57e7 Revert "drisw: Copy entire buffer ignoring damage regions"
This reverts commit 755e795e4c.

Cc: mesa-stable
(cherry picked from commit 48799005d7)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39117>
2025-12-17 14:09:50 -08:00
Lucas Fryzek
46155b0576 drisw: Modify drisw_swap_buffers_with_damage to swap entire buffer
When swapping buffer with damage regions, to be strictly correct we
need to swap the entire back buffer to the front buffer. This needs to
be done in case the compositor does not support damage regions. This
means we need to ignore the input damage region and tell drisw to swap
the entire buffer.

Cc: mesa-stable
(cherry picked from commit 17ab0f2ece)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39117>
2025-12-17 14:09:49 -08:00
Dylan Baker
8b3ddaed0b .pick_status.json: Update to c00ebca5c4
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39117>
2025-12-17 14:09:46 -08:00
Dylan Baker
34e3101936 docs: Add checksums for 25.3.2
Some checks failed
macOS-CI / macOS-CI (dri) (push) Has been cancelled
macOS-CI / macOS-CI (xlib) (push) Has been cancelled
2025-12-17 14:06:34 -08:00
Dylan Baker
3848a08053 VERSION: bump for 25.3.2
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>
2025-12-17 13:00:46 -08:00
Dylan Baker
ca4575c936 docs: add release notes for 25.3.2 2025-12-17 13:00:37 -08:00
Dylan Baker
391b31ce88 .pick_status.json: Mark bbc8ce2704 as backported
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39003>
2025-12-17 11:44:08 -08:00
Dylan Baker
4591eeb383 .pick_status.json: Mark 6dff50c8bc as backported
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39003>
2025-12-17 11:44:08 -08:00
Dylan Baker
5e2a06dcc1 .pick_status.json: Update to dfdaee5ca7
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39003>
2025-12-17 11:44:05 -08:00
Boris Brezillon
0bf0f4d3de pan/cs: Don't leak builder resources
cs_finish() is doing two things:

1. wrapping up the CS to prepare for its execution
2. freeing the temporary instrs array and maybe_ctx allocations

Mixing those two things lead to confusion and leaks, so let's split
those into cs_end() and cs_builder_fini(), and make sure panvk/panfrost
call both when appropriate.

Fixes: 50d2396b7e ("pan/cs: add helpers to emit contiguous csf code blocks")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39003>
2025-12-17 16:57:41 +01:00
Lionel Landwerlin
6bc126b86d anv: fix dynamic buffers & independent sets
In 0ca870c6f3 I forgot to fill the bind_map::dynamic_descriptors
array... Duh!

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 0ca870c6f3 ("anv: fix broken ray tracing dynamic descriptors")
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
(cherry picked from commit 6dff50c8bc)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39003>
2025-12-16 12:20:33 -08:00
Lionel Landwerlin
f48d731953 anv: move load_num_workgroups tracking to driver
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
(cherry picked from commit 578d2f0daa)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39003>
2025-12-16 12:20:32 -08:00
Lionel Landwerlin
deaf382293 anv: reintroduce non independent sets dynamic descriptor optimization
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
(cherry picked from commit 36ba2672ca)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39003>
2025-12-16 12:20:32 -08:00
Lionel Landwerlin
bf02a31dd4 vulkan/runtime: add an internal flag for independent sets
Shader objects are by definition I think independents.

But implementation like Anv would like to optimize dynamic descriptors
if possible. It's possible if the sets are not independent.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
(cherry picked from commit 104206fb0f)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39003>
2025-12-16 12:20:32 -08:00
Caio Oliveira
837aa643cf nir/gcm: Consider dead code elimination done by GCM as progress
This will also fix NIR_DEBUG=extended_validation complaining about
invalid loop analysis.  GCM will invalidate loop analysis if progress
was made, and depending on the removed instruction it will affect the
instr_cost.

Cc: mesa-stable
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
(cherry picked from commit a4e84c9244)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39003>
2025-12-16 09:51:58 -08:00
Erik Faye-Lund
7e327e5e31 panfrost: do not over-estimate memory needed for dummy-rt
This matches better what we do in pan_emit_fbd, where we don't increase
the cbuf_offset variable for unused render-targets. This way we simply
make sure we *at least* can fit a dummy-RT (as per the HW spec), but
since we don't write to it we also don't need to give it dedicated
memory beyond that.

This also seemingly fixes a subtle bug where we don't deal with PLS if
there's no active render-targets.

Fixes: 9ec6197a0b ("panfrost: allocate tile-buffer for dummy render-targets")
Fixes: c15a43cce0 ("pan/lib: prepare for pixel local storage support")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
(cherry picked from commit 762fe6e9dc)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39003>
2025-12-16 09:51:57 -08:00
Boris Brezillon
8f15e54119 panvk: Free the decode context in the create_device() error path
If we don't do that and something fails in the middle, we leak
the decode context.

Fixes: d155d6b7a3 ("panvk: Add a decode context at the panvk_device level")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
(cherry picked from commit 55481b6f10)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39003>
2025-12-16 09:51:56 -08:00