Commit graph

220696 commits

Author SHA1 Message Date
Mauro Rossi
1f6f978323 vulkan/runtime: Fix gnu-empty-initializer error in vk_shader.c
Fixes the following building error happening with clang:

FAILED: src/vulkan/runtime/libvulkan_runtime.a.p/vk_shader.c.o
...
../src/vulkan/runtime/vk_shader.c:622:63: error: use of GNU empty initializer extension [-Werror,-Wgnu-empty-initializer]
            struct vk_sampler_state_array embedded_samplers = {};
                                                              ^
1 error generated.

Fixes: e8558de1 ("vulkan/shader: Call vk_nir_lower_descriptor_heaps()")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40772>
2026-04-04 19:33:33 +00:00
Job Noorman
cc6eec79c2 nir/opt_uniform_subgroup: fix ballot_bit_count components
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
ballot_bit_count_reduce expects the ballot to have 4 components causing
validation failures on targets where 1 < ballot_components < 4. Fix this
by padding the ballot to 4 components.

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Fixes: ae66bd1c00 ("nir/opt_uniform_subgroup: use ballot_bit_count")
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40792>
2026-04-04 17:48:34 +00:00
Karol Herbst
02679a51fd radeonsi: set valid_buffer_range for CL buffers
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Seems like we never set the range for CL buffers which caused spurious
test fails in the CL CTS.

Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40683>
2026-04-04 14:54:40 +00:00
Georg Lehmann
8730c039bf nir/opt_algebraic: move some lower_lerp patterns
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
If we rely on the pattern order here, we don't need to duplicate per bit size.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40730>
2026-04-04 10:44:09 +00:00
Georg Lehmann
f192fe99eb nir/opt_algebraic: update open coded flerp(..., b2f(c)) to bcsel patterns
We remove 1.0 - b2f(a) since 6a662a59b7.

Foz-DB Navi48:
Totals from 200 (0.10% of 205032) affected shaders:

Instrs: 410309 -> 409750 (-0.14%); split: -0.18%, +0.05%
CodeSize: 2140424 -> 2136956 (-0.16%); split: -0.21%, +0.05%
Latency: 5834394 -> 5834042 (-0.01%); split: -0.02%, +0.01%
InvThroughput: 906879 -> 906374 (-0.06%); split: -0.06%, +0.01%
VClause: 8247 -> 8244 (-0.04%)
SClause: 7721 -> 7723 (+0.03%); split: -0.03%, +0.05%
Copies: 20515 -> 20487 (-0.14%); split: -0.29%, +0.16%
PreVGPRs: 14510 -> 14481 (-0.20%)
VALU: 228703 -> 228235 (-0.20%); split: -0.28%, +0.07%
SALU: 62832 -> 62914 (+0.13%); split: -0.18%, +0.31%
VOPD: 929 -> 927 (-0.22%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40730>
2026-04-04 10:44:09 +00:00
Georg Lehmann
fc19ce6c17 nir/opt_load_skip_helpers: don't skip helpers for store_scratch data
Scratch stores store data for helper lanes that might be used later by an
instruction that cares about helpers, or even by control flow.

Fixes: a65009e808 ("nir: Add a nir_opt_tex_skip_helpers optimization")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/14965
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40770>
2026-04-04 09:41:00 +00:00
Vinson Lee
7f07783569 llvmpipe: fix build on macOS due to st_mtim
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
macOS struct stat uses st_mtimespec instead of st_mtim. Use
st_mtimespec on Apple platforms to get nanosecond file modification
time.

Fixes: e68a0dfb12 ("llvmpipe: Implement manual context resets")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40791>
2026-04-03 22:17:12 -07:00
Lionel Landwerlin
21952ffb07 anv: don't relocate memory from blob
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This could override data allocated by the application when shader code
is loaded from binary in vkCreateShaderObjectEXT().

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: d39e443ef8 ("anv: add infrastructure for common vk_pipeline")
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40727>
2026-04-03 20:01:49 +00:00
Silvio Vilerino
283f07f13e mediafoundation: Use WaitForMultipleObjects for AUTO slices wait in sliced encode mode
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40764>
2026-04-03 17:24:25 +00:00
Silvio Vilerino
9246c66c61 d3d12: Implement pipe_screen::fence_get_win32_event
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40764>
2026-04-03 17:24:25 +00:00
Silvio Vilerino
47ac871e84 pipe: Add fence_get_win32_event since fence_get_fd return int type is smaller than HANDLE/void*
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40764>
2026-04-03 17:24:25 +00:00
Samuel Pitoiset
eff4c00112 vulkan: update spec to 1.4.348
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: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40774>
2026-04-03 16:03:02 +00:00
Robert Mader
e68a0dfb12 llvmpipe: Implement manual context resets
Make it possible to trigger a emulated GPU reset by creating a file at
the path of the `LP_CONTEXT_RESET_FILE` env var. All llvmpipe contexts
using the `LOSE_CONTEXT_ON_RESET` strategy that where created before
the that file will start returning `PIPE_UNKNOWN_CONTEXT_RESET` in
`get_device_reset_status()`, while newer contexts - most notably those
created by apps in reaction to the device reset - continue to return
`PIPE_NO_RESET`.

Note that, because we're dealing with files, rtime is used instead of
mtime as the later

Usage:
```
LP_CONTEXT_RESET_FILE=~/llvmpipe_reset LIBGL_ALWAYS_SOFTWARE=1
someapp
touch ~/llvmpipe_reset
```

Signed-off-by: Robert Mader <robert.mader@collabora.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40681>
2026-04-03 15:40:50 +00:00
Lionel Landwerlin
c32015da05 anv: bump MAX_SETS to 32
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/work_items/7684
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/14677
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40744>
2026-04-03 15:12:05 +00:00
Lionel Landwerlin
e8c2491664 anv: use arrays instead of vectors for descriptor set mapping
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40744>
2026-04-03 15:12:05 +00:00
Aitor Camacho
24b14fd095 kk: Clean up gfx state flushing
Signed-off-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40763>
2026-04-03 14:54:14 +00:00
Aitor Camacho
fa240cec0b kk: Rework command buffers' graphics shader state tracking
Signed-off-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40763>
2026-04-03 14:54:14 +00:00
Aitor Camacho
2952ae2861 kk: Rework command buffers' compute shader state tracking
Signed-off-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40763>
2026-04-03 14:54:14 +00:00
Valentine Burley
8444723c6a pan/ci: Document recent flakes and timeouts
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
These have blocked Marge multiple times recently.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Acked-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40779>
2026-04-03 14:25:39 +00:00
Eric Engestrom
aa2d16c80a docs: add sha sum for 26.0.4
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40780>
2026-04-03 14:18:06 +00:00
Eric Engestrom
902f016612 docs: add release notes for 26.0.4
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40780>
2026-04-03 14:18:06 +00:00
Eric Engestrom
c4bd563e6e docs: update calendar for 26.0.4
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40780>
2026-04-03 14:18:06 +00:00
Arkady Shlykov
b1d379eeba anv: Add control over divergent atomics fusion opt via driconf
anv_enable_opt_divergent_atomics dricong option supported values:
   1 - fuse buffer divergent atomics
   2 - fuse image divergent atomics

Enabled for titles:
   Total War: WARHAMMER III
   The Elder Scrolls IV: Oblivion Remastered
   Call of Duty: Black Ops III

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40631>
2026-04-03 12:17:01 +00:00
Arkady Shlykov
7f7ba20cca brw: Implement divergent atomics fusion optimization (single message approach)
For an atomic with a divergent addr generates a CFG grouping the same addrs
values together and emits a single atomic with fused data covering
the subgroup. Lanes with other addr values perform a default atomic.

Co-authored-by: Jhanani Thiagarajan <jhanani.thiagarajan@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40631>
2026-04-03 12:17:01 +00:00
Lionel Landwerlin
fab6f84126 brw: make the program key available on pass_tracker
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40631>
2026-04-03 12:17:01 +00:00
Valentine Burley
d15ba8d14a turnip/ci: Add Android job with ANGLE on a618
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This is a Cuttlefish-based Android job running with DRM native context,
using Turnip and ANGLE.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40010>
2026-04-03 09:25:14 +00:00
Valentine Burley
57d55f8c09 ci/android: Update Cuttlefish build
The new version updates the default Mesa version to 26.1.0-devel.
This is used for booting the VM, after which point the drivers are
replaced by the ones built in the Mesa CI pipeline.

Fixes GPU faults with ANGLE on Turnip.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40010>
2026-04-03 09:25:14 +00:00
Valentine Burley
1b8018389b ci/android: Enable virtio freedreno KMD support
Enable the virtio freedreno kernel mode driver in the debian-android
build. This will be used by Cuttlefish virtual machines.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40010>
2026-04-03 09:25:14 +00:00
Valentine Burley
d4cd93854a ci/android: Refactor replacing Vulkan drivers
Setting the VK_DRIVER variable for lavapipe jobs simplifies the driver
replacement logic while keeping all existing paths working.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40010>
2026-04-03 09:25:14 +00:00
Valentine Burley
9548bf86f4 ci/android: Add 5-minute timeout to Cuttlefish launch
Cuttlefish usually boots within 2-3 minutes, and this ensures logs are
saved if the boot process hangs or fails.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40010>
2026-04-03 09:25:14 +00:00
Valentine Burley
338a96f0a0 venus/ci: Move android-angle-venus-tu-a618 to sc7180-trogdor-kingoftown
Huge thanks to Laura and Doug for updating the EC and AP firmware, and
for switching the network adapter across all trogdor Chromebooks,
enabling them to boot Cuttlefish.

Also limit the concurrency to 6 for now.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40010>
2026-04-03 09:25:14 +00:00
Lionel Landwerlin
30fda4488f nir: divergence analysis support for image_heap_load_param_intel
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: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 22b16d54ab ("nir: add heap variant of load_param_intel")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40777>
2026-04-03 07:49:24 +00:00
Job Noorman
893d3caf7b tu: use nir_opt_varyings_bulk for linking
Replace the use of nir_link_opt_varyings/nir_compact_varyings for
linking with the new nir_opt_varyings linker using the
nir_opt_varyings_bulk helper.

This moves all the NIR lowering up to nir_lower_io (tu_lower_nir) to the
pre-linking stage since nir_opt_varyings expects lowered IO.

Totals from 38233 (21.69% of 176258) affected shaders:
MaxWaves: 522636 -> 522578 (-0.01%); split: +0.14%, -0.15%
Instrs: 15111014 -> 15062812 (-0.32%); split: -0.71%, +0.39%
CodeSize: 31555448 -> 31530676 (-0.08%); split: -0.70%, +0.62%
NOPs: 2605163 -> 2582030 (-0.89%); split: -2.38%, +1.49%
MOVs: 519056 -> 511167 (-1.52%); split: -4.88%, +3.36%
COVs: 244091 -> 243317 (-0.32%); split: -0.55%, +0.23%
Full: 463796 -> 463307 (-0.11%); split: -0.47%, +0.36%
(ss): 390558 -> 386374 (-1.07%); split: -3.07%, +2.00%
(sy): 180298 -> 179347 (-0.53%); split: -1.55%, +1.02%
(ss)-stall: 1485337 -> 1473362 (-0.81%); split: -3.92%, +3.11%
(sy)-stall: 5441818 -> 5375690 (-1.22%); split: -2.99%, +1.78%
Preamble Instrs: 3707325 -> 3724339 (+0.46%); split: -0.38%, +0.84%
Early Preamble: 29397 -> 29392 (-0.02%); split: +0.10%, -0.12%
Cat0: 2883908 -> 2860585 (-0.81%); split: -2.16%, +1.35%
Cat1: 765447 -> 757066 (-1.09%); split: -3.46%, +2.36%
Cat2: 5664380 -> 5663562 (-0.01%); split: -0.51%, +0.49%
Cat3: 4393358 -> 4386474 (-0.16%); split: -0.27%, +0.12%
Cat4: 443624 -> 443546 (-0.02%); split: -0.03%, +0.01%
Cat5: 427389 -> 427239 (-0.04%); split: -0.27%, +0.24%
Cat6: 173632 -> 164362 (-5.34%); split: -5.36%, +0.02%
Cat7: 359276 -> 359978 (+0.20%); split: -1.33%, +1.53%

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40651>
2026-04-03 08:18:08 +02:00
Job Noorman
99713d0c53 tu: extract NIR lowering to a separate function
As a preparation for a later commit moving NIR lowering to before shader
linking.

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40651>
2026-04-03 08:18:08 +02:00
Job Noorman
59a547cba4 ir3: call nir_io_add_intrinsic_xfb_info after IO lowering
Needed by nir_opt_varyings.

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40651>
2026-04-03 08:18:08 +02:00
Job Noorman
3ae9f0cd0a ir3: call nir_lower_io_vars_to_temporaries for GS outputs
Divergence analysis doesn't allow load_output on GS outputs so make sure
they are lowered away.

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40651>
2026-04-03 08:18:08 +02:00
Job Noorman
c27f0406b0 ir3: fix handle_partial_const with vectorized src
Signed-off-by: Job Noorman <jnoorman@igalia.com>
Fixes: 50a91fbf87 ("freedreno/ir3: cleanup "partially const" ubo srcs")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40651>
2026-04-03 08:18:08 +02:00
Job Noorman
adfc1086c9 nir/recompute_io_bases: fix num_slots for per_view outputs
per_view outputs use one slot per enabled view.

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40651>
2026-04-03 08:18:08 +02:00
Job Noorman
a72704d0fb nir/gather_info: clear interpolation qualifiers before gathering
Signed-off-by: Job Noorman <jnoorman@igalia.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Fixes: 66740d9c91 ("nir: gather interpolation qualifiers")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40651>
2026-04-03 08:18:08 +02:00
Job Noorman
2403e88a76 nir/gather_info: gather per_view info
Signed-off-by: Job Noorman <jnoorman@igalia.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40651>
2026-04-03 08:18:08 +02:00
Job Noorman
273fd18b89 nir/opt_varyings: fix alu def cloning
nir_builder_alu_instr_finish_and_insert initialized the def's bit_size
and num_components so we should set them afterwards.

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Fixes: c66967b5cb ("nir: add nir_opt_varyings, new pass optimizing and compacting varyings")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40651>
2026-04-03 08:18:08 +02:00
Job Noorman
d56d35aa76 nir/opt_varyings_bulk: add data parameter to optimize callback
Signed-off-by: Job Noorman <jnoorman@igalia.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40651>
2026-04-03 08:18:08 +02:00
Timothy Arceri
27b56314ee radeonsi: add Gun Godz workaround
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This is another game based on the old YoYo engine

Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/15209

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40757>
2026-04-03 00:01:32 +00:00
Sagar Ghuge
19f39910a9 anv/bvh: Drop atomic on instance_count
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Thanks to Konstantin for pointing out that we really don't need atomics
here. We can use the IR offset to get the slot and keep stuffing the
instance address in it. Header already writes the instance count for us.

Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40734>
2026-04-02 22:14:11 +00:00
Rob Herring (Arm)
e100ca7c86 ethosu: Move ethosu_allocate_feature_map() to ethosu_lower.c
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Now that all callers of ethosu_allocate_feature_map() are in ethosu_lower.c,
move it there too.

Reviewed-by: Tomeu Vizoso <tomeu@tomeuvizoso.net>
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40719>
2026-04-02 21:04:25 +00:00
Rob Herring (Arm)
dd10897c5d ethosu: Drop 2nd allocation of IFM and OFM
The IFM and OFM were already allocated by the call to allocate_feature_maps()
in ethosu_lower_convolution().

Reviewed-by: Tomeu Vizoso <tomeu@tomeuvizoso.net>
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40719>
2026-04-02 21:04:25 +00:00
Rob Herring (Arm)
e89a672ab7 ethosu: Fix U85 AvgPool for greater than 8x8 kernel sizes
The U85 uses average mode for kernel sizes less than or equal to 8x8 and
sum mode for larger (in either dimension) kernel sizes. According to the
U85 TRM, the average and sum modes have the following constraints:

average - Average pooling up to 8x8, inbuilt scale only
sum - Sum or average pooling, per-channel, or global scale

Reviewed-by: Tomeu Vizoso <tomeu@tomeuvizoso.net>
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40719>
2026-04-02 21:04:25 +00:00
Jason Macnak
cabc55e9a5 gfxstream: fix submit to not hold lock when calling into encoder
... as this can lead to a deadlock with the following sequence:

Time1: guest-thread-1: vkDestroyImageView() called
Time2:                 VkEncoder grabs seqno 1

Time3: guest-thread-2: vkQueueSubmit() called
Time4:                 ResourceTracker::on_vkQueueSubmitTemplate() locks
                       mLock for using `info_VkFence`
Time5:                 ResourceTracker::on_vkQueueSubmitTemplate() calls
                       enc->vkQueueWaitIdle()
Time6:                 VkEncoder grabs seqno 2
Time7:                 VkEncoder sends the vkQueueWaitIdle with seqno
                       2 via ASG to host
Time8:                 VkEncoder waits for the `VkResult` from the
                       host via `stream->read()`

Time9: guest-thread-1: VkEncoder calls sResourceTracker->destroyMapping()
                       ->mapHandles_VkImageView((VkBuffer*)&buffer);
                       which calls
		       ResourceTracker::unregister_VkImageView()

                       ResourceTracker::unregister_VkImageView() tries to
                       lock mLock to erase the info struct

!!! DEADLOCKED HERE !!!

guest-thread-1 is stuck waiting on mLock (currently locked by
guest-thread-2) before it would `stream->flush();` to finishing
sending the vkDestroyImageView() command to the host and potentially
ping its corresponding host-render-thread-1.

guest-thread-2 is stuck waiting on the result from host-render-thread-2
but host-render-thread-2 won't progress until host-render-thread-1
finishes seqno 1 which needs guest-thread-1 to finish sending/pinging.

Android equivalent change ag/39258728 for b/498964194

Test: cvd create --gpu_mode=gfxstream_guest_angle_host_swiftshader
      open maps
      pan/zoom/etc for a couple minutes

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40767>
2026-04-02 20:20:52 +00:00
Casey Bowman
007be58ade intel/ds: Modify rejection threshold to scale with requested sample period
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Previously, we only checked if the hardware duration was greater
than the requested sample period by 1000 ns. This can lead the
hardware duration to be rejected and use the next cycle, which
is double the size of the current duration.

At larger requested sample size, this can mean getting a hardware
duration of 1.7 ms for a requested sample period of 1 ms.

To fix this, we'll scale the check so that it uses 67% of the
requested sample period as the reject threshold. This way, if the
hardware duration is below 67%, it's guaranteed to be within
100%-133% of the requested sample period on the next hardware interval.

Signed-off-by: Casey Bowman <casey.g.bowman@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40735>
2026-04-02 18:56:16 +00:00
Caio Oliveira
0bf3aaedb1 brw: Always use split send in generator
Instead of generating special single source send in some cases, always
use the split send (called SENDS pre-Xe, and the only option in Xe).
Having code-path for single source was relevant for old Gfx versions,
but for Gfx9+ split send is always available.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40755>
2026-04-02 18:31:02 +00:00