Commit graph

213653 commits

Author SHA1 Message Date
Emma Anholt
5dcc65643c nir/shrink_stores: Don't shrink stores to an invalid num_components.
Avoids a regression in the CL CTS on the next commit.

Fixes: 2dba7e6056 ("nir: split nir_opt_shrink_stores from nir_opt_shrink_vectors")
(cherry picked from commit 537cc4e0ff)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38010>
2025-10-21 14:42:47 -07:00
Yiwei Zhang
ab7bda0a1b panvk: fix to advance vs res_table properly
Fix a regression from an unfortunate typo.

Fixes: 48e8d6d207 ("panfrost, panvk: The size of resource tables needs to be a multiple of 4.")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
(cherry picked from commit 387f75f43d)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38010>
2025-10-21 14:42:29 -07:00
Yiwei Zhang
a02d8d5767 panvk: fix to advance vs driver_set properly
Should only set once outside the multidraw loop so that per draw can
patch its own own desc attribs when needed.

Fixes: a5a0dd3ccc ("panvk: Implement multiDrawIndirect for v10+")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Acked-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
(cherry picked from commit 800c4d3430)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38010>
2025-10-21 14:42:29 -07:00
Timur Kristóf
13fa1460dd ac/nir/ngg_mesh: Lower num_subgroups to constant
Mesh shader workgroups always have the same amount of subgroups.

When the API workgroup size is the same as the real workgroup
size, this is a small optimization (using a constant instead of
a shader arg).

When the API workgroup size is smaller than the real workgroup
size (eg. when the number of output vertices or primitves is
greater than the API workgroup size on RDNA 2), this fixes a
potential bug because num_subgroups would return the "real"
workgroup size instead of the API one.

Cc: mesa-stable
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
(cherry picked from commit d20049b430)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38010>
2025-10-21 14:42:29 -07:00
Patrick Lerda
14544ef278 r600: update nplanes support
This change fixes "piglit/bin/ext_image_dma_buf_import-export -auto".

Fixes: 02aaf360ae ("r600: Implement resource_get_param")
Signed-off-by: Patrick Lerda <patrick9876@free.fr>
(cherry picked from commit 84dc9af3d4)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38010>
2025-10-21 14:42:28 -07:00
Patrick Lerda
602b4a2924 r600: fix r600_draw_rectangle refcnt imbalance
The object buf is referenced at the beginning of the
r600_draw_rectangle() function and should be freed
at the end. This issue was introduced with cbb6e0277f.

Fixes: cbb6e0277f ("r600: stop using util_set_vertex_buffers")
Signed-off-by: Patrick Lerda <patrick9876@free.fr>
(cherry picked from commit 3b1e3a40a8)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38010>
2025-10-21 14:42:28 -07:00
Jose Maria Casanova Crespo
717e8a8caf v3d: mark FRAG_RESULT_COLOR as output_written on SAND blits FS
With the introduction of "v3d: Add support for 16bit normalised
formats" https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35820
nir_lower_fragcolor is always called if shaders outputs_written shows
that FRAG_RESULT_COLOR is used.

But on SAND8/30 blit fragment shaders although the FRAG_RESULT_COLOR
is used, it was not marked as output_written so the lowering was not
applied.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14141
Fixes: ee48e81b26 ("v3d: Always lower frag color")
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
(cherry picked from commit a131530dd1)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38010>
2025-10-21 14:42:27 -07:00
Emma Anholt
40ff53c5b8 wsi: Fix the flagging of dma_buf_sync_file for the amdgpu workaround.
In my regression fix, I covered one of the two paths that had stopped
setting the implicit_sync flag and thus triggered the amdgpu behavior we
don't want, but probably the less common one.

Fixes: f7cbc7b1c5 ("radv: Allocate BOs as implicit sync even if the WSI is doing implicit sync.")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13942
(cherry picked from commit aa96444149)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38010>
2025-10-21 14:42:27 -07:00
Marek Olšák
bf9e1f2e37 winsys/radeon: fix completely broken tessellation for gfx6-7
The info was moved to radeon_info, but it was only set for the amdgpu
kernel driver. It was uninitialized for radeon.

Fixes: d82eda72a1 - ac/gpu_info: move HS info into radeon_info

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

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38010>
2025-10-21 14:42:26 -07:00
Benjamin Cheng
c3cf272a04 radv/video: Fill maxCodedExtent caps first
Later code (i.e. max qp map extent filling) depends on this.

Fixes: ae6ea69c85 ("radv: Implement VK_KHR_video_encode_quantization_map")
Reviewed-by: David Rosca <david.rosca@amd.com>
(cherry picked from commit b1370e1935)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38010>
2025-10-21 14:42:25 -07:00
Dylan Baker
30ba8880b4 .pick_status.json: Update to 28fbc6addb
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38010>
2025-10-21 14:42:24 -07:00
Job Noorman
42ab1c6f3c nir: mark fneg distribution through fadd/ffma as nsz
df1876f615 ("nir: Mark negative re-distribution on fadd as imprecise")
fixed the fadd case by marking it as imprecise. This commit fixes the
ffma case for the same reason.

However, "imprecise" isn't necessary and nowadays we have "nsz" which is
more accurate here. Use that for both fadd and ffma.

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Fixes: 62795475e8 ("nir/algebraic: Distribute source modifiers into instructions")
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
(cherry picked from commit ad421cdf2e)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38010>
2025-10-17 07:41:30 -07:00
Josh Simmons
674e2a702a radv: Fix crash in sqtt due to uninitalized value
Fixes: 772b9ce411 ("radv: Remove qf from radv_spm/sqtt/perfcounter where applicable")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
(cherry picked from commit b10c1a1952)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38010>
2025-10-17 07:41:29 -07:00
Mike Blumenkrantz
756618ee3b zink: consistently set/unset msrtss in begin_rendering
this has to always be set or unset, never persistent from previous renderpass

Fixes: 5080f2b6f5 ("zink: disable msrtss handling when blitting")
(cherry picked from commit f74cf45078)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38010>
2025-10-17 07:41:28 -07:00
Marek Olšák
ca7d2daf5f r300: fix DXTC blits
Fixes: 9d359c6d10 - gallium: delete pipe_surface::width and pipe_surface::height
(cherry picked from commit 733ba77bfe)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38010>
2025-10-17 07:41:27 -07:00
Xaver Hugl
45aafef631 vulkan/wsi: require extended target volume support for scRGB
It's hardly going to be useful without that

Signed-off-by: Xaver Hugl <xaver.hugl@kde.org>
Fixes: 4b663d56 ("vulkan/wsi: implement support for VK_EXT_hdr_metadata on Wayland")
(cherry picked from commit 892cf427a0)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38010>
2025-10-17 07:41:25 -07:00
Dylan Baker
8711394383 .pick_status.json: Mark c20e2733bf as denominated
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38010>
2025-10-17 07:41:23 -07:00
Dylan Baker
289c768e88 .pick_status.json: Update to ad421cdf2e
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38010>
2025-10-17 07:40:05 -07:00
Lionel Landwerlin
84655b4b5d anv: fix image-to-image copies of TileW images
The intermediate buffer between the 2 images is linear, its stride
should be a function of the tile's logical width.

Normally this should map to the values reported by ISL except for
TileW where for some reason it was decided to report 128 for TileW
instead of the actual 64 size (see isl_tiling_get_info() ISL_TILING_W
case)

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
(cherry picked from commit 77fb8fb062)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38010>
2025-10-16 11:37:38 -07:00
Valentine Burley
fd6b9c70b6 docs: Update LAVA caching setup
After a recent change, `piglit-traces.sh` automatically sets the caching
proxy, so update the docs to reflect this.

Also update the name of the variable from `FDO_HTTP_CACHE_URI` to
`LAVA_HTTP_CACHE_URI`.

Fixes: fa74e939bf ("ci/piglit: automatically use LAVA proxy")

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
(cherry picked from commit 28e73a6239)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38010>
2025-10-16 11:37:37 -07:00
Lionel Landwerlin
9bb7bf9c66 Revert "wsi: Implements scaling controls for DRI3 presentation."
This reverts commit a219308867.

It's failing most of the tests on Anv :

$ ./deqp-vk -n dEQP-VK.wsi.xlib.maintenance1.scaling.*

Test run totals:
  Passed:        88/2422 (3.6%)
  Failed:        576/2422 (23.8%)
  Not supported: 1758/2422 (72.6%)
  Warnings:      0/2422 (0.0%)
  Waived:        0/2422 (0.0%)

The only passing tests seem to be with this pattern :

 dEQP-VK.wsi.xlib.maintenance1.scaling.*.same_size_and_aspect

(cherry picked from commit 2baa3b8c06)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38010>
2025-10-16 11:37:36 -07:00
Dylan Baker
f510e6a1bd .pick_status.json: Update to 3b2f7ed918
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38010>
2025-10-16 11:37:29 -07:00
Dylan Baker
40f7bef16c VERSION: bump for 25.3.0-rc1
Signed-off-by: Dylan Baker <dylan.c.baker@intel.com>
2025-10-15 20:56:25 -07:00
Faith Ekstrand
cb8cca0145 nvk: Expose cached and coherent as separate types on Tegra
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33959>
2025-10-15 23:03:19 -04:00
Faith Ekstrand
72c1c52b1d nvk/query: Handle non-coherent query pool memory
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33959>
2025-10-15 22:05:54 -04:00
Faith Ekstrand
35540f769d nvk/query: Rework query waits
Mostly, this is just a code restructure.  The two biggest changes are
that we now have one timeout for all query waits and that we wait for
all of them up-front instead of waiting per-query.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33959>
2025-10-15 22:05:54 -04:00
Faith Ekstrand
36fa755b19 nvk/query: Add an interleaved query layout
This gives us two options for how to layout queries.  One is optimized
for space while the other is optimized for safely touching from the CPU
with cached maps.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33959>
2025-10-15 22:05:54 -04:00
Faith Ekstrand
65642d9e81 nvk/query: Add a vk_query_pool_report_count() helper
This lets us simplify a bit of the GetQueryPoolResults() code and make
it look more like the CL code.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33959>
2025-10-15 22:05:54 -04:00
Faith Ekstrand
519c4c10f3 nvk/query: Pass an IS_TIMESTAMP flag explicitly to the CL kernel
This is more robust than looking at the report stride.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33959>
2025-10-15 22:05:54 -04:00
Faith Ekstrand
98b6b47599 nvk/query: Rework offset helpers
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33959>
2025-10-15 22:05:54 -04:00
Faith Ekstrand
a5e87d06c6 nvk: Flush indirect execution set maps
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33959>
2025-10-15 22:05:54 -04:00
Faith Ekstrand
1f0fda22f7 nvk: Flush descriptor set maps
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33959>
2025-10-15 22:05:54 -04:00
Faith Ekstrand
14bad31608 nvk: Route more descriptor types through write_desc()
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33959>
2025-10-15 22:05:54 -04:00
Faith Ekstrand
f184dfee10 nvk: Add an nvk_descriptor_writer
This cleans things up a bit and will make it way easier to track memory
ranges in the next commit.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33959>
2025-10-15 22:05:54 -04:00
Faith Ekstrand
21d53bfdef nvk: Use a pool offset instead of an address in nvk_descriptor_set
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33959>
2025-10-15 22:05:53 -04:00
Faith Ekstrand
48f5a8d947 nvk: Use _B suffixes in descriptor sets
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33959>
2025-10-15 22:05:53 -04:00
Faith Ekstrand
a7e79f7839 nvk: Flush/invalidate around host image copies
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33959>
2025-10-15 22:05:53 -04:00
Faith Ekstrand
2f6a137ede nvk: Flush the zero page
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33959>
2025-10-15 22:05:53 -04:00
Faith Ekstrand
cd78989681 nvk: Flush after zeroing memory
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33959>
2025-10-15 22:05:53 -04:00
Faith Ekstrand
247ebf61cb nvk/mem_stream: Flush maps in nvk_mem_stream_flush()
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33959>
2025-10-15 22:05:53 -04:00
Faith Ekstrand
01e56f408b nvk: Flush descriptor tables and heap maps on submit
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33959>
2025-10-15 22:05:53 -04:00
Faith Ekstrand
4d04baba7d nvk: Use a coherent map for the event heap
Events are synchronization objects.  They really need to be coherent.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33959>
2025-10-15 22:05:53 -04:00
Faith Ekstrand
870d3f1636 nvk/nvkmd: Invalidate maps before dumping pushbufs
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33959>
2025-10-15 22:05:53 -04:00
Faith Ekstrand
c04dacb42c nvk: Flush pushbufs in EndCommandBuffer()
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33959>
2025-10-15 22:05:53 -04:00
Faith Ekstrand
fac856112e nvk: Implement Flush/InvalidateMappedMemoryRanges()
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33959>
2025-10-15 22:05:53 -04:00
Faith Ekstrand
986c2cfed9 nvk/nvkmd: Add map sync to/from GPU helpers
If we have the ability to do cache ops from userspace (true on x86 and
aarch64), that's preferred.  Otherwise, we call into a back-end hook to
trap through to the kernel.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33959>
2025-10-15 22:05:53 -04:00
Faith Ekstrand
fcb6c5c7a6 nvk/nvkmd: Add an NVKMD_MEM_COHERENT flag
All discrete GPU maps are coherent but that's not true on Tegra.  We
need a way to request coherent memory and also to ask for it.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33959>
2025-10-15 22:05:53 -04:00
Faith Ekstrand
dd53232667 nouveau/winsys: Add a NOUVEAU_WS_BO_COHERENT flag
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33959>
2025-10-15 22:05:53 -04:00
Faith Ekstrand
72c9256d8f turnip: Use the util cache helpers
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37803>
2025-10-16 01:19:45 +00:00
Faith Ekstrand
1fbc73836e intel: Drop intel_mem.c/h
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37803>
2025-10-16 01:19:45 +00:00