Commit graph

214263 commits

Author SHA1 Message Date
Aitor Camacho
770486e11d docs: Add KosmicKrisp to Vulkan
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38137>
2025-10-29 19:33:35 +00:00
Dmitry Osipenko
bd8377bb04 virtio/vdrm: Fix varying offsets of struct vdrm_device members
Struct virgl_renderer_capset_drm has a varying size depending on whether
AMDGPU driver is enabled or not. This breaks offset of struct vdrm_device
members for non-AMD drivers when Mesa is built with multiple native context
drivers including the AMD driver. Place varying capsets in the end struct
vdrm_device to mitigate the issue.

Fixes: 5736280730 ("virtio/vdrm: add ENABLE_DRM_AMDGPU for c_args")
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38096>
2025-10-29 19:14:25 +00:00
Juan A. Suarez Romero
e8cf90c837 broadcom/ci: adjust fractions for nightly jobs
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Try to coverage as much as possible in a 15 minutes budget.

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38143>
2025-10-29 18:48:28 +00:00
Eric Engestrom
f91949f67a docs: add sha sum for 25.2.6
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38142>
2025-10-29 18:42:59 +00:00
Eric Engestrom
fa92adae55 docs: add release notes for 25.2.6
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38142>
2025-10-29 18:42:59 +00:00
Eric Engestrom
f55ce8b1ac docs: update calendar for 25.2.6
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38142>
2025-10-29 18:42:59 +00:00
Mike Blumenkrantz
e1a4f53680 lavapipe: maintenance10
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38091>
2025-10-29 18:25:42 +00:00
Georg Lehmann
a17afd5edd aco/tests: add some simple fp64 modifier tests
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38011>
2025-10-29 17:57:53 +00:00
Georg Lehmann
a54f95c52f aco/optimizer: apply fp64 modifiers
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38011>
2025-10-29 17:57:53 +00:00
Georg Lehmann
62e664f8c8 aco/optimizer: fix applying 64bit neg/abs
extract is only valid for <=32bit operands.

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38011>
2025-10-29 17:57:53 +00:00
Georg Lehmann
0c8b885e21 aco/isel: emit v_mul_f64 for fp64 fsat
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38011>
2025-10-29 17:57:52 +00:00
Georg Lehmann
9ece74ce79 aco/isel: emit v_mul_f64 with modifiers for fneg/fabs
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38011>
2025-10-29 17:57:52 +00:00
Georg Lehmann
c84f60ef08 aco/optimizer: replace 64bit mul with 1.0/-1.0 with bitwise instruction if possible
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38011>
2025-10-29 17:57:52 +00:00
Mike Blumenkrantz
272cf1db8e zink: don't destroy old push layout when enabling fbfetch descriptor
this may be in use by programs, and adding tracking/refcounting just to
delete a descriptor layout isn't worth the effort

cc: mesa-stable

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38141>
2025-10-29 17:28:50 +00:00
Yiwei Zhang
c6ff8ce373 panvk: support VK_EXT_device_memory_report
This change adds the minimum support for VK_EXT_device_memory_report,
which only reports device memory events at this point. We can make it
more useful later (like what's done in ANV) if desired by some tools.

Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37987>
2025-10-29 17:09:41 +00:00
Gert Wollny
317345cc98 r600/sfn: make sure kill and update_exec don't happen in one group
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
v2: - Correctly test in multi-slot split whether the group has kill if
      we want to add a multi-slot op.
    - update group_has_predicate if an according vector op was added

Fixes: 359bfc3138 ("r600/sfn: make sure that kill and update pred are not in the same group")

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38112>
2025-10-29 16:23:34 +00:00
Gert Wollny
0d065a2421 r600/sfn: Track whether a ALU group has a exec flag update
Fixes: 359bfc3138 ("r600/sfn: make sure that kill and update pred are not in the same group")

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38112>
2025-10-29 16:23:34 +00:00
Gert Wollny
51e7c477d6 r600/sfn: move some common code into try_readport
Fixes: 359bfc3138 ("r600/sfn: make sure that kill and update pred are not in the same group")

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38112>
2025-10-29 16:23:34 +00:00
Gert Wollny
a7f477b51f r600/sfn: extract function to update group after instr insert
Fixes: 359bfc3138 ("r600/sfn: make sure that kill and update pred are not in the same group")

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38112>
2025-10-29 16:23:34 +00:00
Alyssa Rosenzweig
b82044c31b nir/lower_two_sided_color: cleanup
while in the area. no functional change

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38124>
2025-10-29 15:52:27 +00:00
Mike Blumenkrantz
343eef990e zink: collapse mesh pipeline fetching and binding conditionals
this avoids taking the wrong conditional if a pipeline fetch fails

cc: mesa-stable

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38134>
2025-10-29 15:30:47 +00:00
Mike Blumenkrantz
0b24fd174a zink: collapse gfx pipeline fetching and binding conditionals
this avoids taking the wrong conditional if a pipeline fetch fails

cc: mesa-stable

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38134>
2025-10-29 15:30:47 +00:00
Mike Blumenkrantz
b05d93e71e zink: set gfx_pipeline_state::mesh_pipeline when updating pipeline
this otherwise returns null for successive draws without state change

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38134>
2025-10-29 15:30:46 +00:00
Silvio Vilerino
364208f754 pipe: Add PIPE_VIDEO_CAP_ENC_READABLE_RECONSTRUCTED_PICTURE
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38089>
2025-10-29 14:53:47 +00:00
Georg Lehmann
dbc3bbdcef aco/optimizer: rework canonicalized label
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
To not rely on register classes, which are ambiguous.

Stats improvements are coming from the new phi handling.

Foz-DB Navi21:
Totals from 92 (0.12% of 79789) affected shaders:
Instrs: 352577 -> 346634 (-1.69%)
CodeSize: 1941236 -> 1933608 (-0.39%); split: -0.44%, +0.04%
VGPRs: 7888 -> 7832 (-0.71%)
Latency: 4364419 -> 4363894 (-0.01%); split: -0.02%, +0.01%
InvThroughput: 1502867 -> 1501871 (-0.07%); split: -0.07%, +0.00%
SClause: 5021 -> 5005 (-0.32%); split: -0.34%, +0.02%
Copies: 18469 -> 18485 (+0.09%); split: -0.16%, +0.24%
Branches: 6131 -> 6119 (-0.20%)
VALU: 267063 -> 261219 (-2.19%)
SALU: 32294 -> 32228 (-0.20%); split: -0.21%, +0.01%

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37867>
2025-10-29 14:29:21 +00:00
Georg Lehmann
c61ee32034 aco/optimizer: add seperate fp16 abs/neg/fcanonicalize labels
In the future, we can't use the register class to detect fp16 vs fp32
because SALU uses s1 for both.

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37867>
2025-10-29 14:29:21 +00:00
Georg Lehmann
9e9d9c0373 aco/optimizer: re-index labels
Everything after and including the omod labels will be removed soon.

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37867>
2025-10-29 14:29:21 +00:00
Marek Olšák
71f73b21e6 radeonsi/ci: update failures
the failures are not related to ACO

Reviewed-by: Qiang Yu <yuq825@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38070>
2025-10-29 14:11:22 +00:00
Marek Olšák
e26c28f311 radeonsi: enable ACO by default
NIR+ACO is the best SSA-based shader compiler for AMD GPUs that exists.

There are many reasons why NIR+ACO is better than LLVM, and I have a long
list that I've collected over the years, but the major ones are better GPU
performance (faster GPU memory access thanks to better clauses and
scheduling, a lot less SGPR/VGPR spilling, better loop support, slightly
smaller shader binaries), 8x lower shader compile times, and smaller memory
footprint of the IR.

It also shows that NIR is a mature SSA-based shader compiler that helps
drivers generate optimized code very quickly.

And most importantly, radeonsi has slightly better Viewperf performance
with NIR+ACO than LLVM, and that's difficult to ignore.

Reviewed-by: Qiang Yu <yuq825@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38070>
2025-10-29 14:11:22 +00:00
Martin Roukala (né Peres)
4713df944b Revert "ci: disable mupuf's farm during the planned electric outtage"
This reverts commit f108c2339de6bab9596d9cf81f7553f961855dfe now that
my electricity is back.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38133>
2025-10-29 13:54:54 +00:00
Zan Dobersek
dc60216470 tu: remove data size assert in tu_GetQueryPoolResults
tu_GetQueryPoolResults() currently asserts that the passed-in data size is
larger than the multiplication result of the specified stride and query
count. Such assert isn't useful when retrieving results for a single query
since the specified stride isn't important and can be any value.

The assert is removed, incorrect data sizing should be easily detectable by
existing validation tools.

Fixes dEQP-VK.query_pool.occlusion_query.stride_max in VKCTS 1.4.4.0.

Signed-off-by: Zan Dobersek <zdobersek@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38028>
2025-10-29 13:32:03 +00:00
Marek Olšák
4799dc9447 ac/surface: pass all ac_compute_surface info via ac_surf_config, not radeon_surf
radeon_surf stops being an input to ac_compute_surface. It's only an output
now.

This makes it clear which fields affect ac_compute_surface.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38093>
2025-10-29 12:50:44 +00:00
Marek Olšák
966cb36722 amd: constify struct radeon_surf
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38093>
2025-10-29 12:50:44 +00:00
Marek Olšák
feaa359b43 ac/surface: move surf_index and fmask_surf_index into ac_addrlib
They don't have to be in drivers.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38093>
2025-10-29 12:50:43 +00:00
Marek Olšák
6857fbba59 ac/surface: pass ac_addrlib* everywhere instead of ADDR_HANDLE
ac_addrlib will contain more stuff.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38093>
2025-10-29 12:50:42 +00:00
Marek Olšák
0e44a5a1c6 radv: set RADEON_SURF_SHAREABLE for surf_index logic
use_tile_swizzle uses this flag

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38093>
2025-10-29 12:50:42 +00:00
Marek Olšák
2bbc7d1db6 radv: move more surf_index logic to use_tile_swizzle
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38093>
2025-10-29 12:50:41 +00:00
Marek Olšák
ca6ba34669 radv: move VK_IMAGE_USAGE_HOST_TRANSFER_BIT checking to ac_surface.c
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38093>
2025-10-29 12:50:40 +00:00
Marek Olšák
20eada1bc4 radv: don't check vk_format_is_depth_or_stencil for surf_index
already checked by use_tile_swizzle

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38093>
2025-10-29 12:50:39 +00:00
Marek Olšák
1271850b9b radv: don't check VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT for surf_index
already checked by use_tile_swizzle

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38093>
2025-10-29 12:50:39 +00:00
Marek Olšák
f0fde95e20 radv: don't set ac_surf_index::surf_index to NULL
ac_surface.c already checks RADEON_SURF_SCANOUT.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38093>
2025-10-29 12:50:38 +00:00
Marek Olšák
482cc60345 winsys/amdgpu: don't set ac_surf_info::surf_index = NULL
ac_surface.c already checks RADEON_SURF_Z_OR_SBUFFER.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38093>
2025-10-29 12:50:36 +00:00
Marek Olšák
55d222c47b ac/surface: add helper use_tile_swizzle to consolidate that logic
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38093>
2025-10-29 12:50:35 +00:00
Marek Olšák
484a36302d amd: don't use non-existent GL1 packet fields on gfx12
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38093>
2025-10-29 12:50:34 +00:00
Marek Olšák
12062110ab amd: don't use non-existent GLM packet fields on gfx12
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38093>
2025-10-29 12:50:34 +00:00
Zan Dobersek
607aba5697 tu/a7xx: use DI_SRC_SEL_AUTO_XFB for CmdDrawIndirectByteCountEXT
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Use DI_SRC_SEL_AUTO_XFB as the source select mode for
CmdDrawIndirectByteCountEXT. Previously DI_SRC_SEL_AUTO_INDEX was used to
match the proprietary driver, but this mode doesn't correctly utilize the
counter offset value.

Fixes: dEQP-VK.transform_feedback.simple*.*_counter_offset_*

Signed-off-by: Zan Dobersek <zdobersek@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38108>
2025-10-29 11:28:16 +00:00
Zan Dobersek
ba054f1c33 tu: emit PC_DGEN_SO_CNTL for any shader type during streamout setup
During streamout setup, emit PC_DGEN_SO_CNTL for any shader type if
supported, not just tess eval. This avoids excluding degenerate
primitives from stream output.

Fixes: dEQP-VK.transform_feedback.primitive_restart.*

Signed-off-by: Zan Dobersek <zdobersek@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38108>
2025-10-29 11:28:16 +00:00
Juan A. Suarez Romero
44022bc33e v3dv: enable forward facing primitive for lines and points
Otherwise these primitives will be discarded.

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38105>
2025-10-29 11:10:59 +00:00
Juan A. Suarez Romero
2036240b7c v3d: enable forward facing primitive for lines and points
Otherwise these primitives will be discarded.

This fixes `spec@!opengl 1.1@point-line-no-cull`.

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38105>
2025-10-29 11:10:59 +00:00
Job Noorman
e16be20195 rusticl: fix mismatched-lifetime-syntaxes lint warning
This warn-by-default lint introduced in Rust 1.89.0 causes the following
warning:

warning: hiding a lifetime that's elided elsewhere is confusing
   --> ../../src/gallium/frontends/rusticl/core/semaphore.rs:276:14
    |
276 |     fn state(&self) -> MutexGuard<SemaphoreState> {
    |              ^^^^^     -------------------------- the same lifetime is hidden here
    |              |
    |              the lifetime is elided here
    |
    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
help: use `'_` for type paths
    |
276 |     fn state(&self) -> MutexGuard<'_, SemaphoreState> {
    |                                   +++

Follow the compiler's suggestion to fix this.

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38132>
2025-10-29 10:35:29 +00:00