Commit graph

224188 commits

Author SHA1 Message Date
Faith Ekstrand
4379dc141d compiler/rust/bitset: Implement Eq and PartialEq for ConstBitSet
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42200>
2026-06-12 02:52:04 +00:00
Caio Oliveira
42fd600dc0 brw: Remove the brw assembler tests
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
These cases are now covered in the round-trip tests in
src/intel/compiler/gen, where encoding and parsing logic for assembly
lives.

Assisted-by: Pi coding agent (GPT-5.5)
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41920>
2026-06-12 01:32:12 +00:00
Caio Oliveira
9108fdac10 intel/gen: Import test cases from the brw assembler tests
All the relevant pieces live in gen now, so pull the tests.  Most of them now
are bidirectional: like before they test that assembler produces the expected
bytes, but now also that bytes will decode into the same assembler.

Some of the assembly was tweaked to be in verbose mode so that it can
round-trip correctly.  The bytes in the files are the same as they were
in expected files from brw.

Assisted-by: Pi coding agent (GPT-5.5)
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41920>
2026-06-12 01:32:12 +00:00
Caio Oliveira
1a85b74147 intel/gen: Replace gen_parse_print_test.cpp with text tests
They now check round-trip up to encode/decode.  Some tests were
dropped because they don't validate, so we don't really care
they round-trip just at parser/printer level.

Assisted-by: Pi coding agent (GPT-5.5)
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41920>
2026-06-12 01:32:12 +00:00
Caio Oliveira
fb4e94c045 intel/gen: Add a gentool 'check-roundtrip' subcommand
Add a round-trip checker as a gentool subcommand: it reads one or
more case files of the form 'platform | bytes | assembly' and, per line,
checks that the bytes decode to the assembly and/or the assembly encodes to
the bytes.  For example:

```
tgl | 40 00 03 00 20 82 05 05 04 06 10 02 2a 00 00 00 |         add (8)                   r5            r6                0x0000002a
```

The second separator picks the directions ('|' both, '<' encode-only, '>'
decode-only) and the disassembly print mode follows the file-name suffix
(_verbose.txt, _translated.txt).

Also add the two bits the checker depends on: GEN_PRINT_NO_LABELS, so a lone
branch prints numeric jip/uip deltas rather than a synthesized label, and a
'gentool disasm --program-subset' option that decodes a program fragment.

Suggested by Alyssa.

Assisted-by: Pi coding agent (GPT-5.5)
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41920>
2026-06-12 01:32:10 +00:00
Caio Oliveira
10f0fef955 intel/gen: Don't encode zero exec_size
Some formats don't care about execution size, so parser may produce
exec_size 0 for instructions like NOP.  Avoid using cvt()-1 in this
case because it would generate a bad value for the encoder, which
would assert.

Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41920>
2026-06-12 01:32:08 +00:00
Caio Oliveira
1f83be5edd intel/gen: Drop unused format parameter from gen_inst_has_dst
Assisted-by: Pi coding agent (GPT-5.5)
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42156>
2026-06-12 01:10:22 +00:00
Caio Oliveira
0585f49157 intel/gen: Generate opcodes and their metadata
Use a scheme similar to NIR and Jay.

Assisted-by: Pi coding agent (GPT-5.5)
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42156>
2026-06-12 01:10:22 +00:00
Caio Oliveira
b4ad14d062 intel: build compiler before blorp
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42156>
2026-06-12 01:10:22 +00:00
Dave Airlie
b7e55fc889 nir: remove a lot of nir_cf_node_get_function calls.
Now that block has impl just access it directly from a block.

Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41950>
2026-06-12 00:19:48 +00:00
Dave Airlie
4102501171 nir: add impl pointer to block to avoid recursive linked list
This just adds impl to the block, and then tries really hard
to conserve it across inlining and cf movements.

Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41950>
2026-06-12 00:19:48 +00:00
Dave Airlie
0e2e2dedf0 ir3: use the correct builder for adding preamble to main.
ir3 switches builder from main to preamble, but then adds
instructions to main using the preamble builder.

This wasn't a problem before, but we now store function impl
in blocks and this breaks that.

Reviewed-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41950>
2026-06-12 00:19:48 +00:00
Christian Gmeiner
67ded3d079 panvk: Advertise VK_KHR_compute_shader_derivatives
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Compute derivatives can use the same lane based path as fragment shaders
because a workgroup's invocations map to subgroup lanes in order. This
gives correct derivative quads on Valhall.

Advertise the extension for PAN_ARCH >= 9 with both derivative groups.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Jakob Sinclair <jakob.sinclair@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42142>
2026-06-11 23:58:56 +00:00
Christian Gmeiner
23c09e89d9 panvk: Shuffle local ids for quad derivatives
In QUADS mode the four invocations of a derivative quad must land in the
same subgroup quad. On Valhall the quad comes from consecutive lanes, but
local invocation ids are laid out row by row, so they do not match and the
y derivative reads the wrong neighbor.

shuffle_local_ids_for_quad_derivatives reorders the ids to fit the lane
layout. It only changes QUADS mode.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Jakob Sinclair <jakob.sinclair@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42142>
2026-06-11 23:58:56 +00:00
Ian Romanick
d5ff8ed798 brw: Use nir_opt_shrink_vectors
Even in scalar shader stages, some things are vectors. This tries to
shrink them. On DG2 and newer platforms, this is a pretty big help. On
older platforms, it is a disaster for spills (+10% across all of
fossil-db on TGL) and fills (+18% across all of fossil-db on TGL). The
pass is disabled on those platforms.

I have an unconfirmed hypothesis that this causes a bunch of extra
copies of SEND results to create the shrunk vectors on old platforms,
but new platforms can just have a smaller SEND destination.

Calling this once after the loop had negligible affect. Only calling
it inside the loop is effective.

shader-db:

Lunar Lake
total instructions in shared programs: 17092168 -> 17090738 (<.01%)
instructions in affected programs: 153196 -> 151766 (-0.93%)
helped: 804 / HURT: 58

total cycles in shared programs: 864408968 -> 864393158 (<.01%)
cycles in affected programs: 7727364 -> 7711554 (-0.20%)
helped: 624 / HURT: 264

total fills in shared programs: 1604 -> 1606 (0.12%)
fills in affected programs: 140 -> 142 (1.43%)
helped: 0 / HURT: 2

total sends in shared programs: 876960 -> 876422 (-0.06%)
sends in affected programs: 5421 -> 4883 (-9.92%)
helped: 388 / HURT: 42

LOST:   1
GAINED: 1

Meteor Lake and DG2 had similar results. (Meteor Lake shown)
total instructions in shared programs: 20008794 -> 20007561 (<.01%)
instructions in affected programs: 233049 -> 231816 (-0.53%)
helped: 855 / HURT: 108

total cycles in shared programs: 882324073 -> 882292946 (<.01%)
cycles in affected programs: 18182637 -> 18151510 (-0.17%)
helped: 665 / HURT: 343

total spills in shared programs: 4663 -> 4655 (-0.17%)
spills in affected programs: 130 -> 122 (-6.15%)
helped: 2 / HURT: 0

total fills in shared programs: 3990 -> 3984 (-0.15%)
fills in affected programs: 282 -> 276 (-2.13%)
helped: 2 / HURT: 2

total sends in shared programs: 1054303 -> 1053899 (-0.04%)
sends in affected programs: 5820 -> 5416 (-6.94%)
helped: 424 / HURT: 52

LOST:   0
GAINED: 4

No changes on Tiger Lake, Ice Lake, or Skylake because the pass is
disabled on those platforms.

fossil-db:

Lunar Lake, Meteor Lake, and DG2 had similar results. (Lunar Lake shown)
Totals:
Instrs: 914338134 -> 913822786 (-0.06%); split: -0.08%, +0.02%
CodeSize: 12884121056 -> 12875340544 (-0.07%); split: -0.15%, +0.08%
Subgroup size: 40514864 -> 40515040 (+0.00%)
Send messages: 40209899 -> 40209119 (-0.00%); split: -0.02%, +0.01%
Cycle count: 100085655414 -> 100071607083 (-0.01%); split: -0.18%, +0.16%
Spill count: 3459692 -> 3425132 (-1.00%); split: -1.33%, +0.33%
Fill count: 4909516 -> 4895879 (-0.28%); split: -1.09%, +0.81%
Max live registers: 191771666 -> 191693372 (-0.04%); split: -0.08%, +0.04%
Max dispatch width: 48502272 -> 48505424 (+0.01%); split: +0.02%, -0.01%
Non SSA regs after NIR: 136096908 -> 132514357 (-2.63%); split: -2.66%, +0.03%

Totals from 824156 (41.14% of 2003111) affected shaders:
Instrs: 609620701 -> 609105353 (-0.08%); split: -0.12%, +0.04%
CodeSize: 8652537232 -> 8643756720 (-0.10%); split: -0.22%, +0.12%
Subgroup size: 176 -> 352 (+100.00%)
Send messages: 24713957 -> 24713177 (-0.00%); split: -0.03%, +0.02%
Cycle count: 57143649989 -> 57129601658 (-0.02%); split: -0.31%, +0.28%
Spill count: 2919242 -> 2884682 (-1.18%); split: -1.58%, +0.40%
Fill count: 4407886 -> 4394249 (-0.31%); split: -1.21%, +0.90%
Max live registers: 94599082 -> 94520788 (-0.08%); split: -0.16%, +0.08%
Max dispatch width: 21189696 -> 21192848 (+0.01%); split: +0.04%, -0.03%
Non SSA regs after NIR: 90194236 -> 86611685 (-3.97%); split: -4.01%, +0.04%

No changes on Tiger Lake, Ice Lake, or Skylake because the pass is
disabled on those platforms.

Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41940>
2026-06-11 23:25:44 +00:00
Ian Romanick
5588cfe5d1 brw: Use nir_opt_shrink_stores
We never called this for scalar shader stages, and nobody is quite sure
why. Some speculation is that there was no benefit before load / store
merging was added. There was also some speculation that it was harmful
before load / store merging could handle holes.

Given that only ~20 shaders in shader-db were affected, it's also
possible that no shaders were affected in scalar in scalar stages at the
time it was first added.

We may never know. ¯\_(ツ)_/¯

Calling it inside the loop had no impact, so call it once after the
loop.

I don't know why this hurts Ice Lake but helps every other platform.

shader-db:

All Iris platforms had similar results. (Lunar Lake shown)
total instructions in shared programs: 17089936 -> 17089861 (<.01%)
instructions in affected programs: 23685 -> 23610 (-0.32%)
helped: 19 / HURT: 0

total cycles in shared programs: 864096306 -> 864099466 (<.01%)
cycles in affected programs: 1981658 -> 1984818 (0.16%)
helped: 12 / HURT: 7

LOST:   0
GAINED: 2

fossil-db:

Lunar Lake
Totals:
Instrs: 914554524 -> 914548221 (-0.00%); split: -0.00%, +0.00%
CodeSize: 12887150560 -> 12887094496 (-0.00%); split: -0.00%, +0.00%
Cycle count: 100103979198 -> 100103691332 (-0.00%); split: -0.00%, +0.00%
Spill count: 3459811 -> 3459692 (-0.00%)
Fill count: 4909786 -> 4909516 (-0.01%)
Max live registers: 191838197 -> 191831367 (-0.00%); split: -0.00%, +0.00%
Max dispatch width: 48514528 -> 48514576 (+0.00%)
Non SSA regs after NIR: 136347693 -> 136146918 (-0.15%); split: -0.15%, +0.00%

Totals from 17915 (0.89% of 2003490) affected shaders:
Instrs: 4205005 -> 4198702 (-0.15%); split: -0.15%, +0.00%
CodeSize: 57002192 -> 56946128 (-0.10%); split: -0.14%, +0.05%
Cycle count: 253980589 -> 253692723 (-0.11%); split: -0.26%, +0.14%
Spill count: 2026 -> 1907 (-5.87%)
Fill count: 2636 -> 2366 (-10.24%)
Max live registers: 1174571 -> 1167741 (-0.58%); split: -0.59%, +0.01%
Max dispatch width: 430368 -> 430416 (+0.01%)
Non SSA regs after NIR: 1005266 -> 804491 (-19.97%); split: -19.97%, +0.00%

Meteor Lake, DG2, Tiger Lake, Ice Lake, and Skylake had similar results. (Meteor Lake shown)
Totals:
Instrs: 989799269 -> 989778469 (-0.00%); split: -0.00%, +0.00%
CodeSize: 16516706896 -> 16516376256 (-0.00%); split: -0.00%, +0.00%
Subgroup size: 27542464 -> 27542528 (+0.00%)
Send messages: 44446154 -> 44446153 (-0.00%)
Cycle count: 91362833728 -> 91362723256 (-0.00%); split: -0.00%, +0.00%
Spill count: 3713932 -> 3713758 (-0.00%)
Fill count: 5001432 -> 5001144 (-0.01%)
Max live registers: 121358101 -> 121356271 (-0.00%); split: -0.00%, +0.00%
Max dispatch width: 38061600 -> 38060544 (-0.00%); split: +0.00%, -0.00%
Non SSA regs after NIR: 161013837 -> 160662598 (-0.22%); split: -0.22%, +0.00%

Totals from 22841 (1.00% of 2278082) affected shaders:
Instrs: 4974061 -> 4953261 (-0.42%); split: -0.42%, +0.00%
CodeSize: 77949200 -> 77618560 (-0.42%); split: -0.44%, +0.02%
Subgroup size: 64 -> 128 (+100.00%)
Send messages: 279204 -> 279203 (-0.00%)
Cycle count: 176737437 -> 176626965 (-0.06%); split: -0.29%, +0.23%
Spill count: 2362 -> 2188 (-7.37%)
Fill count: 3162 -> 2874 (-9.11%)
Max live registers: 906456 -> 904626 (-0.20%); split: -0.21%, +0.01%
Max dispatch width: 451784 -> 450728 (-0.23%); split: +0.01%, -0.24%
Non SSA regs after NIR: 1477247 -> 1126008 (-23.78%); split: -23.78%, +0.00%

Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41940>
2026-06-11 23:25:44 +00:00
Ian Romanick
213ca7d8e8 nir/opt_shrink_stores: Don't shrink ivec2 stores to int64 images
This prevents regressions in r64 image store tests when the Intel
compilers enable the use of nir_opt_shrink_stores. On all platforms, ANV
lower stores in r64 image stores to write an ivec2 instead of an int64.

As an alternative, I did consider adding a callback. This would have
been very invasive, and it seemed really heavy handed.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41940>
2026-06-11 23:25:44 +00:00
Mel Henning
41b4e04c76 nak: Fix encoding of f16x2 min/max on sm90+
Fixes illegal instruction encoding errors on
dEQP-VK.glsl.atomic_operations.min_f16vec2_fragment
and others.

Fixes: a3fcccb47b ("nak/from_nir: Handle f16v2 atomics")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42196>
2026-06-11 22:59:07 +00:00
Mel Henning
542e050ec5 nak/nvdisasm_tests: Fix expected value of F16v2
This was mistakenly changed when renaming the enum.

Fixes: b1fe47e944 ("nak: Rename AtomType::F16x2 to F16v2")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42196>
2026-06-11 22:59:07 +00:00
Rob Herring (Arm)
924ccc2f6c teflon: Ensure all TfLiteRegistration fields are 0
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
The TfLiteRegistration.async_kernel field is missing initialization. Rather
than add explicit init for it, clear the whole struct to avoid future
issues. Newer versions of TFLite have added more fields.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42160>
2026-06-11 20:12:52 +00:00
Eric Engestrom
62b90b0829 meson: drop non-existent platforms=xcb check
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Checking for it was added in 3de62b2f9a but the value was
never added, so it could never be true; remove it.

Reported-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Fixes: 3de62b2f9a ("gallium/dril: Compatibility stub for the legacy DRI loader interface")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42143>
2026-06-11 18:14:54 +00:00
Caio Oliveira
b941dd736f util: Fix float8 denorm rounding to min-normal
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
When rounding the largest FP8 denorm up, the code ignored the updated
exponent and returned zero instead of the minimum normal value.  Pack
the updated exponent in those cases.

Fixes: 2237c022a2 ("util: add float8 conversion functions")
Assisted-by: Pi coding agent (GPT-5.5)
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42155>
2026-06-11 17:13:04 +00:00
Mary Guillemard
b3f7f40b13 nvk/nvkmd: Do not merge bind operations across VA mappings
We were allowing a possible merge of operation across VA mappings.

This is not a valid usage and will cause a ENOSPC to be returned by the
kernel side.

This fixes Forza Horizon 6 device lost when trying to enter in-game or
benchmark mode with VK_EXT_descriptor_heap MR.

Signed-off-by: Mary Guillemard <mary@mary.zone>
Fixes: 053b7f0f30 ("nvk/nvkmd: Implement nvkmd_ctx for nouveau")
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42183>
2026-06-11 16:56:20 +00:00
Yogesh Mohan Marimuthu
bb32d88c6f ac: set has_desc_resource_level to true for gfx1156
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41969>
2026-06-11 16:36:21 +00:00
Yogesh Mohan Marimuthu
7a9e17eecc ac: set has_smem_with_null_prt_bug to false for gfx1156
verified vulkan cts
dEQP-VK.sparse_resources.buffer.misc.null_address_read*
tests are passing.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41969>
2026-06-11 16:36:21 +00:00
Yogesh Mohan Marimuthu
0223da0a06 amd: add initial code for gfx1156
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41969>
2026-06-11 16:36:20 +00:00
Yogesh Mohan Marimuthu
66284bfe0a radv: Program RESOURCE_LEVEL bit in descriptor for dgc
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41969>
2026-06-11 16:36:20 +00:00
Yogesh Mohan Marimuthu
418c4cfa67 ac,radeonsi,radv: add has_desc_resource_level var instead of gfx_level check
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41969>
2026-06-11 16:36:19 +00:00
Allen Ballway
6ff16a87ae vulkan/android: Map AHARDWAREBUFFER_FORMAT_Y8 to VK_FORMAT_R8_UNORM
Map the format AHARDWAREBUFFER_FORMAT_Y8 directly to
VK_FORMAT_R8_UNORM.

Y8 was previously missing from the mapping list, forcing it to be
imported as an external format. This routed MSAA resolves through
the External Format Resolve path, causing driver assertions  due
to missing YCbCr metadata.

Direct mapping allows Y8 to be imported as a standard color format,
bypassing EFR and using the standard color resolve path instead.

Signed-off-by: Allen Ballway <ballway@chromium.org>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42057>
2026-06-11 15:48:37 +00:00
Konstantin Seurer
e68358756c lavapipe: Ignore src_plane for samplers
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/42098>
2026-06-11 15:32:22 +00:00
Georg Lehmann
6cb9aaa2b7 aco/sched_vopd: fix v_dual_dot2acc_f32_f16 created from VOP2 with inline constant
Fixes: 3238e64d3c ("aco/ra: create v_dot2c_f32_f16")
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42151>
2026-06-11 14:46:38 +00:00
Georg Lehmann
3f2759af6c aco/ra: fix inline constants with v_dot2c_f32_f16
Unlike for v_pk_fmac_f16 and v_dual_dot2acc_f32_f16, opsel_hi is
implicitly true even for inline constants operands of v_dot2c_f32_f16 on GFX11.

Fixes: 3238e64d3c ("aco/ra: create v_dot2c_f32_f16")
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42151>
2026-06-11 14:46:38 +00:00
Raviraj Uppal
3a8360b2ac radv: app workaround implemented using internal layers for GFXBench 5.0
Just overrided the needed entrypoint.
GFXBench 5.0 uses VK_IMAGE_LAYOUT_PREINITIALIZED as the old
layout when transitioning optimally-tiled depth images. Per the Vulkan
spec, PREINITIALIZED is only meaningful for linear tiling and is
semantically equivalent to UNDEFINED for optimal tiling. Replace it with
VK_IMAGE_LAYOUT_UNDEFINED to avoid hitting unhandled layout cases.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41943>
2026-06-11 14:09:41 +00:00
David Rosca
390d3fee04 radeonsi/mm: Select DPB format independently from decode surface format
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Needed for 10 to 8 bit decoding.

Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41993>
2026-06-11 13:35:58 +00:00
David Rosca
8b9d272e04 ac/vcn_dec: Add 10 to 8 bit dithering support
This was removed in recent rework, but there are apps depending on it.

Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41993>
2026-06-11 13:35:58 +00:00
Danylo Piliaiev
38a10950e3 tu: Match SW color clear value packing with HW
Color clears may happen via different paths: BLIT_EVENT_CLEAR, R2D, or a
draw call. And which path to take may depend sysmem/gmem selection.

The "Appendix I: Invariance" of the Vulkan spec encourages implementations
to produce the same results for the same operation.

Unfortunately I haven't found any ready-made packing functions in
the common utils.

Tested by writing edge-case color values through Vulkan ways of
clearing color, and from fragment shader.

E5B9G9R9, B10G11R11, B5G5R5, A2R10G10B10 are not handled due to
complexity.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Assisted-by: OpenAI Codex (GPT-5.5)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41972>
2026-06-11 13:07:37 +00:00
Danylo Piliaiev
6a7d3020a7 tu: Match SW depth clear value packing with HW
Depth clears may happen via different paths: BLIT_EVENT_CLEAR, R2D, or a
draw call. And which path to take may depend sysmem/gmem selection.

The "Appendix I: Invariance" of the Vulkan spec encourages implementations
to produce the same results for the same operation.
Color clears have the same issue, but with depth it's much easier to
imagine a case where this may visibly affect rendering.

Note, depth and color values have different rounding rules.

Unfortunately I haven't found any ready-made packing functions in
the common utils.

Tested by writing edge-case depth values through Vulkan ways of
clearing depth, and from vertex shader.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Assisted-by: OpenAI Codex (GPT-5.5)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41972>
2026-06-11 13:07:37 +00:00
Grant Nichol
9268636165 ethosu: Fix -Werror=format build error on 32-bit
Fix a -Werror=format build error caused by the difference of %lu between
x86_64 and x86. For uint64_t, the solution is to use PRIu64 from
inttypes.h.

Fixes: 0972ef7d33 ("ethosu: Add performance counter debug output")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/15631
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42120>
2026-06-11 12:52:14 +00:00
Philipp Zabel
3099c839f3 etnaviv/isa: Fix Meson warning about etnaviv_isa_rs dummy library
Fix a Meson warning when building etnaviv without etnaviv tools:

  WARNING: Build target etnaviv_isa_rs has no sources. This was never supposed to be allowed but did because of a bug, support will be removed in a future release of Meson

Arrays passed to the executable() link_with parameter are
flattened, so setting libetnaviv_isa_rs to an empty array
allows to link the etnaviv_disasm executable in the
etnaviv_isa_disasm test against only libetnaviv_encode,
as intended, but without the warning.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/11626
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42173>
2026-06-11 12:05:59 +00:00
Juan A. Suarez Romero
3ae175d484 Revert "ci: igalia farm maintenance"
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This reverts commit 78038ff287.

Farm is up again.

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42174>
2026-06-11 12:48:17 +02:00
Julien Schueller
366022458b egl: fix _EGL_NATIVE_PLATFORM fallback for unrecognized native displays
When _eglNativePlatformDetectNativeDisplay fails to recognize a non-NULL
nativeDisplay pointer (e.g. an X11 Display* when Mesa was built without
HAVE_X11_PLATFORM), the old code unconditionally fell back to the
build-time _EGL_NATIVE_PLATFORM default. This could select a platform
that does not match the actual native display (e.g. Wayland for an X11
pointer), causing a crash when the wrong DRI driver tries to use the
native display as its own type.

Restructure the logic so that:
- For EGL_DEFAULT_DISPLAY: fall back to the build-time _EGL_NATIVE_PLATFORM
- For non-default displays that can't be detected: return _EGL_INVALID_PLATFORM
  so that eglGetDisplay returns EGL_NO_DISPLAY instead of crashing

Assisted-by: DeepSeek V4 Flash

Closes #151

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42130>
2026-06-11 10:00:34 +00:00
Jose Maria Casanova Crespo
78038ff287 ci: igalia farm maintenance
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42170>
2026-06-11 09:54:50 +00:00
Lionel Landwerlin
351c5d889c anv: fix assert/crash in import of compressed local memory on xe2+
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
There is no requirement that imported compressed memory is tied to an
image.

In practice it's unlikely to happen since unless drirc
anv_enable_buffer_comp is enabled we don't list the compressed memory
typed for anything but images. But you can build a case hitting the
assert without even creating an image.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 5a05a39e56 ("anv: Limit the SCANOUT flag to color images")
Fixes: b7f7f1c74f ("anv: Treat imported compressed buffers as displayable (xe2)")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/15578
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42121>
2026-06-11 09:25:06 +00:00
Samuel Pitoiset
73017ea86a ac/video: drop an useless drm_minor check
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
The required DRM version is 3.54.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42148>
2026-06-11 07:06:20 +00:00
Samuel Pitoiset
e0fdaf04de hasvk: use drirc_gen
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42150>
2026-06-11 06:27:21 +00:00
Samuel Pitoiset
6ebf22db18 util: remove useless entries for Intel hasvk
All these options aren't declared/implemented at all.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42150>
2026-06-11 06:27:21 +00:00
Valentine Burley
cc8a53393c ci/android: Update Cuttlefish build
- Switch 'drm_nctx_guest_angle' GPU mode to skiavk, as Turnip now
  supports multiple graphics queues
- Update Mesa to latest main, 1a9a0a15f7 ("ir3: lower undef booleans to
  zero")
- Update virglrenderer to latest main, d2357f2a ("amend missing line
  breaks")

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42152>
2026-06-11 05:50:11 +00:00
Jianxun Zhang
2a681c4f8b intel/decoder: Print more information in shader's headline
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Print out the kernel start pointer (KSP) and the hash of
referenced shader in its headline. This saves some search
in GPU hang dumps,  base on the work of

72bc74f0be and
fd11e4b4d3

An example from a decoded GPU hang dump:

0xeffeffefe19c:  0x10000002:  MI_STORE_DATA_IMM
0xeffeffefe19c:  0x10000002 : Dword 0
    DWord Length: 2
    Force Write Completion Check : false
    Store Qword: 0
    Use Global GTT: false
0xeffeffefe1a0:  0xffe000c0 : Dword 1
    Core Mode Enable: 0
0xeffeffefe1a4:  0x0000effe : Dword 2
    Address: 0xeffeffe000c0
0xeffeffefe1a8:  0x82f94895 : Dword 3 <--- No need to search here
0xeffeffefe1ac:  0x72080025 : Dword 4
    Immediate Data: 2197375125
0xeffeffefe1ac:  0x72080025:  COMPUTE_WALKER
0xeffeffefe1ac:  0x72080025 : Dword 0
...
    body: <struct COMPUTE_WALKER_BODY>
...
    Interface Descriptor: <struct INTERFACE_DESCRIPTOR_DATA>
...
0xeffeffefe1f4:  0x00001f40 : Dword 0
    Kernel Start Pointer: 0x00001f40 <--- No need to search here
...
0xeffeffefe244:  0x00000000 : Dword 37
    Inline Data[7]: 0

Referenced compute shader (ksp: 0x1f40 hash: 0x7208002582f94895): <- ksp & hash printed here
send(1)         g3UD            g2UD            nullUD ...
                ugm MsgDesc: ( load, a64, d32, V64, ...
add(1)          g16<2>UD        g2<0,1,0>UD     0x00000100UD

Note: Shader hash output rquires 'ANV_DEBUG=shader-hash' when running
the workload.

Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40418>
2026-06-11 03:28:29 +00:00
Faith Ekstrand
e74b92b3da kraid/v9: Allow immediates in logic ops
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/42154>
2026-06-11 03:12:39 +00:00
Faith Ekstrand
1ef1039d77 kraid: Add None logic and shift ops
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42154>
2026-06-11 03:12:39 +00:00