Commit graph

223666 commits

Author SHA1 Message Date
Kenneth Graunke
06c19e86ef jay: Pass proper simd_width to brw_nir_apply_key for fragment shaders
Thanks to Caio Marcelo for noticing this.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:20 +00:00
Kenneth Graunke
bfa07e906a jay: Implement fragment shader barycentrics
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:20 +00:00
Kenneth Graunke
7be50b714c jay: Don't swap FS interpolation .yz deltas
load_fs_interp_deltas wants .yz swapped, but load_input_vertex does not.
For simplicity, keep the payload fields in hardware order and have the
individual intrinsics swap.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:20 +00:00
Kenneth Graunke
d89a0b486a jay: Implement dual color blending (but require SIMD16)
It's mildly tempting to reuse the src0_alpha source for color1 since
the two features should never overlap, but for now we add an extra
optional source.

We require SIMD16 for now as we only have SIMD16 messages.  Eventually,
we're likely to want to support SIMD32 with 2x16 sends, but this gets
us going for now.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:20 +00:00
Kenneth Graunke
79fda8977e jay: Drop render target stores with unconditional discards
Surprisingly, this actually appears to come up.  Two Baldur's Gate 3
shaders optimized away to have unconditional "demote" in a shader with
no other side-effects, meaning no writes occur and we can eliminate the
entire program.  One of the shaders still did a fair amount of math to
produce color values that were never used.

We introduce a pass to detect store_render_target_intel intrinsics
where discard == true and eliminate them.  We then DCE and see if we
eliminated the entire program other than "demote" or "terminate" and
drop those too.  We then add back a Null RT store if needed.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:20 +00:00
Kenneth Graunke
cbd572e8d7 jay: Fix null render target writes
jay_emit_fb_writes recognizes target < 0 to mean a null render target
write, so we want to avoid clamping it here.  We clamp it there already.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:20 +00:00
Kenneth Graunke
b9233e4a35 jay: Implement viewport index FS input
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:20 +00:00
Kenneth Graunke
b1b579293a jay: Handle facing that differs across subspans
Will be useful for multipolygon modes.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:20 +00:00
Kenneth Graunke
e3d7d4a77d jay: Generalize EXTRACT_LAYER to take an arbitrary mask
This will let us use it for the other per-pair-of-subspan fields too.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:20 +00:00
Alyssa Rosenzweig
2c9df4caad jay: workaround the while bug
fixes dEQP-VK.reconvergence.maximal.compute.nesting2.6.2

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:20 +00:00
Alyssa Rosenzweig
ccf936dd9f jay: fix mismatched files with predication
fixes dEQP-VK.rasterization.line_continuity.line-strip

jay shader validation failed (after jay_opt_propagate_backwards):
   invalid instruction in block 7: f281 = (-uf55/uf55)cmp.s32.ne u265, 0xFFFFFFFF
   assertion failed at ../src/intel/compiler/jay/jay_validate.c:233
   jay_inst_get_default(I)->file == dst.file

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:20 +00:00
Alyssa Rosenzweig
31d02365d8 jay/assign_flags: require ballots to be in the balloted src
otherwise we get garbage in the other lanes. this was a pain to debug.
dEQP-VK.subgroups.clustered.compute.subgroupclusteredand_bvec2

this should be optimized (and maybe reworked/simplified too) but now this should
be /correct/ at least.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:19 +00:00
Alyssa Rosenzweig
8ff543ec6a jay: fix 8/16-bit inline_data loads
dEQP-VK.spirv_assembly.instruction.compute.untyped_pointers.vulkan_memory_model.type_punning.load.push_constant.vec4_float16_to_float64

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:19 +00:00
Alyssa Rosenzweig
a110a4a6d6 jay/validate: add validation for bogus uflag cases
this would've caught the previous bug

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:19 +00:00
Alyssa Rosenzweig
8b75e06196 jay: add unit test for bogus copyprop case
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:19 +00:00
Alyssa Rosenzweig
16927d537c jay: avoid bogus copyprop with cmods
fixes dEQP-VK.sparse_resources.shader_intrinsics.3d_sparse_fetch.r16.503_137_3

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:19 +00:00
Kenneth Graunke
65697d6438 jay: Remember sp_delta_B when rematerializing stack pointer lane 0
The stack pointer starts out at b.shader->scratch_size, plus per-lane
offsets.  Every time we spill/fill, we adjust the stack pointer to
the offset for our desired memory location, and leave it there.  Over
the course of each block's spills/fills, we track the current delta from
the original value, and restore it to there at the end of the block.

However, when we started clobbering lane 0 and rematerializing it,
we were recreating it as the original base value (b.shader->scratch_size
+ sizeof(uint32_t) * 0).  We need to include sp_delta_B too, or else we
will calculate our deltas incorrectly for that lane, and restore it
incorrectly at the end of the block too.

Found while debugging the issue fixed by the previous commit.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:19 +00:00
Kenneth Graunke
5e157f3e6a jay: Fix scratch surface address save/restore
The idea here is that the scratch surface address is stored in
ADDRESS_REGISTER, while per-lane offsets are stored in `sp', an
array of UGPR[dispatch_width].  When we encounter an opcode that
needs to clobber the address register, we stash it in the first
UGPR of `sp'.  This clobbers the first lane offset, but that's
easy to reconstruct since it's lane 0.  When we need to spill/fill,
we restore the address register and rematerialize the offset for
lane 0.

This is all good.  However, we were saving the address register
every time we found an opcode that clobbered it...even if we'd
_already_ clobbered it.  So if you had back to back shuffles,
the first would save the scratch surface address, and the second
would save...some part of the first shuffle.  So we'd never get
the scratch address back again.  Easy fix, only save if valid.

Fixes misrendering in Baldurs Gate 3 compute shaders.

Fixes: 64acab1d69 ("jay/lower_spill: use 1 less temporary")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:19 +00:00
Alyssa Rosenzweig
40276305fa jay/to_binary: big clean up post-gen
instead of appending instructions like brw_eu helpers, just construct a single
gen_inst at a time. this involves a lot less indirection.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:19 +00:00
Alyssa Rosenzweig
ee72fcc8fc jay: lower JAY_OPCODE_LOOP_ONCE earlier
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:19 +00:00
Alyssa Rosenzweig
6708364d83 jay/lower_scoreboard: allow multiple jumps
for next commit

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:19 +00:00
Alyssa Rosenzweig
41abff84ec jay: clang-format
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:19 +00:00
Alyssa Rosenzweig
5ff84fedc1 jay: drop dead if
relic from before we had npot stuff wired good.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:19 +00:00
Alyssa Rosenzweig
96c9878153 jay/partition: reduce 16-bit partitioning more
affects conversions etc.

SIMD16:
   Totals from 811 (30.64% of 2647) affected shaders:
   Instrs: 1710558 -> 1709635 (-0.05%); split: -0.17%, +0.12%
   CodeSize: 25412768 -> 25417424 (+0.02%); split: -0.21%, +0.23%

SIMD32:
   Totals from 1070 (40.42% of 2647) affected shaders:
   Instrs: 2368611 -> 2327748 (-1.73%); split: -1.89%, +0.17%
   CodeSize: 35487424 -> 34847968 (-1.80%); split: -1.92%, +0.12%

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:19 +00:00
Alyssa Rosenzweig
1d1598d6d7 jay/register_allocate: don't hang if a block is missing
handle gracefully.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:19 +00:00
Alyssa Rosenzweig
87ce33bbf3 jay: replace BYTE/WORD_PACK with a simple MOV
Equivalent now that the IR allows it.

For the dynamic case:

< (32&W)      mov.u16 g0, g38<16,8,2>                             │ I@1
---
> (32&W)      mov.u16 g0, g38<2>                                  │ I@1

For the constant case it's actually better since copyprop can see through it:

< (1&W)       mov.u32 u0.0, 0xaaaaaaaa                            │
< (32&W)      mov.u16 g1, u0.0                                    │ I@1
---
> (32&W)      mov.u16 g0, 0xaaaa                                  │

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:19 +00:00
Alyssa Rosenzweig
6bf1dc6a48 jay: replace GPR_FROM_UGPRs with a simple CVT
use the new implicit UGPR-vector-source-as-GPR mechanism to avoid the special
op. the new code gen is slightly different but not meaningfully worse:

(32)        mov.u32 g14, g2:u16                                 │
(32)        mov.f32 acc0, g14<4>:u8                             │ I@1
(32)        mul.f32 g18, acc0, 0x3d800000 /* 0.0625 */          │
(32)        mov.u32 g20, g14.1<4>:u8                            │ I@1
(32)        mov.f32 acc0, g20<4>:u8                             │ I@1
(32)        mul.f32 acc0, acc0, 0x3d800000 /* 0.0625 */         │

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:19 +00:00
Alyssa Rosenzweig
1ce2d57a31 jay: rework lane ID calculations
Previously we had special ops doing data model breaking things on GPRs. But
there's no real reason for that, we can calculate lane IDs as UGPR vectors
within the Jay data model just fine. Adjust jay_ir/jay_validate to define packed
16-bit UGPR vectors, giving them the natural semantics, then use that to
calculate lane IDs, peeling back all the hacks we added along the way.

This also unfortunately pessimizes inverse_ballot() but only in a corner case
that could be revisited later. Stats are net positive.

In addition to the code clean up, this has 3 other benefits:

* Now that we can rematerialize the lane ID code anywhere we want, we could
  theoretically reduce register pressure in some scenarios. Stats show this
  doesn't help in the current implementation, though.

* Now that we can calculate lane IDs in control flow, the issues with divergent
  function calls all go away. (Well, the lane ID issue. There are other issues.)

* Now that we use UGPRs for this, we don't need a stride=16 GRF in shaders that
  don't actually use 16-bit math, meaning less shuffling from bad partitions.
  That's reflected in the positive stats here.

SIMD16:
   Totals from 1643 (62.07% of 2647) affected shaders:
   Instrs: 2227750 -> 2221032 (-0.30%); split: -0.44%, +0.14%
   CodeSize: 33138416 -> 33034224 (-0.31%); split: -0.52%, +0.20%

SIMD32:
   Totals from 1643 (62.07% of 2647) affected shaders:
   Instrs: 2864583 -> 2806217 (-2.04%); split: -2.22%, +0.19%
   CodeSize: 43088064 -> 42171504 (-2.13%); split: -2.29%, +0.17%

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:19 +00:00
Alyssa Rosenzweig
3ededec51c jay: generalize jay_extract_range_post_ra
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:19 +00:00
Alyssa Rosenzweig
0adcaeced4 jay/to_binary: relax packed float restriction
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:19 +00:00
Alyssa Rosenzweig
61d65c8055 jay: limit stencil export to simd16
sigh.

fixes dEQP-VK.pipeline.monolithic.shader_stencil_export.s8_uint.op_replace

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:19 +00:00
Alyssa Rosenzweig
c9eb9ea52a jay/partition: pick better partitions
look at what the program actually does instead of hardcoding a worst-case.

SIMD16:
   Totals from 1965 (74.23% of 2647) affected shaders:
   Instrs: 2603230 -> 2539932 (-2.43%); split: -3.44%, +1.01%
   CodeSize: 38826160 -> 37811904 (-2.61%); split: -3.59%, +0.97%
   Number of spill instructions: 1206 -> 555 (-53.98%)
   Number of fill instructions: 1194 -> 551 (-53.85%)

SIMD32:
   Totals from 1974 (74.57% of 2647) affected shaders:
   Instrs: 3998126 -> 3033333 (-24.13%); split: -24.18%, +0.05%
   CodeSize: 59563952 -> 45580448 (-23.48%); split: -23.52%, +0.05%
   Number of spill instructions: 43534 -> 37471 (-13.93%); split: -13.97%, +0.04%
   Number of fill instructions: 43118 -> 36412 (-15.55%)

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:19 +00:00
Alyssa Rosenzweig
7221ef0230 jay/partition: validate we don't generate g127<2>
GPU hangs with a buggy version of the next patch. EU validate misses this :(

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:19 +00:00
Alyssa Rosenzweig
3905c7156d jay/register_allocate: drop #include
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:19 +00:00
Alyssa Rosenzweig
d8b2ba91e8 jay/register_allocate: split out jay_stride.c
These queries need to be used for partitioning too. And also this degunks the
core RA logic in jay_register_allocate.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:19 +00:00
Alyssa Rosenzweig
e900ac1750 jay/register_allocate: remove remnant of old partition code
We no longer delete from num_regs for spilling now.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:19 +00:00
Alyssa Rosenzweig
5cff4cca3a jay/register_allocate: do not treat reserved regs as free
would blow up with partition changes.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:19 +00:00
Alyssa Rosenzweig
712a19bef2 jay/validate_ra: validate against partition
this programatically catches a few more classes of errors.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41872>
2026-06-03 15:23:19 +00:00
squidbus
9631af9ce6 kk: Accurately declare supported samples in image format properties
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This was completed previously for device properties but not image.

Reviewed-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41895>
2026-06-03 15:05:36 +00:00
Mike Blumenkrantz
01cbcdfe2e zink/clear: handle texture clears on current fb texture
need to ensure existing clears are flushed before applying these

cc: mesa-stable

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41967>
2026-06-03 14:43:49 +00:00
Mike Blumenkrantz
6accf9a576 zink/clear: fix full_clear condition in texture clear
cc: mesa-stable

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41967>
2026-06-03 14:43:48 +00:00
gyeyoung
65596f7053 panvk: report DRM format modifiers through List2EXT
panvk previously reported DRM format modifiers only through
VkDrmFormatModifierPropertiesListEXT.

Report them through VkDrmFormatModifierPropertiesList2EXT as well.

Cc: mesa-stable
Signed-off-by: Gyeyoung Baek <gye976@gmail.com>
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41772>
2026-06-03 14:21:00 +00:00
gyeyoung
ff6e4fc335 panvk: fix flags2-only bit leak in legacy format features
VkFormatProperties uses VkFormatFeatureFlags, whose valid bits are limited to
VK_ALL_FORMAT_FEATURE_FLAG_BITS (0x7fffffffu).

Without this mask, the last bit leaks out.

Use vk_format_features2_to_features() helper when filling VkFormatProperties so
flags2-only bits are not leaked through legacy feature fields.

Cc: mesa-stable
Signed-off-by: Gyeyoung Baek <gye976@gmail.com>
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41772>
2026-06-03 14:21:00 +00:00
Mike Blumenkrantz
afad83afed zink: use maint11 for sso shader object compile
this cleans up some vvl errors

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41403>
2026-06-03 13:23:20 +00:00
Erik Faye-Lund
4cebf8af54 pan/ci: recognize flaking test
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This test has been marked as flaking on G925, but I've also seen it
flaking on G610 recently. Let's just move it to the common flake-file
instead. Also drop it from the fails-file on G925, as having it in both
isn't really needed.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40398>
2026-06-03 12:14:08 +00:00
Erik Faye-Lund
9d98d4dd2a pan/ci: move common flake to common flake-file
This test also flakes on G610, let's introduce a common flake-file and
add it there.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40398>
2026-06-03 12:14:08 +00:00
Erik Faye-Lund
18e18613c5 pan/ci: skip slow test
Acked-by: Eric R. Smith <eric.smith@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40398>
2026-06-03 12:14:08 +00:00
Erik Faye-Lund
ecd9bf7969 pan/ci: move skip to flakes
This only fails sometimes, and it doesn't seem to take the whole system
down with it. Let's mark it as a flake instead of skipping it.

Acked-by: Eric R. Smith <eric.smith@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40398>
2026-06-03 12:14:08 +00:00
Erik Faye-Lund
6425c6507e pan/ci: drop needless skips
Skips accumulate over time, but rarely gets reevaluated to see if
they're still relevant. To combat this problem, I've dropped all skips,
and added back those that actually serve a practical use.

The result might be a bit more instability in the short term. But
hopefully this pays off in the long term.

Acked-by: Eric R. Smith <eric.smith@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40398>
2026-06-03 12:14:07 +00:00
Erik Faye-Lund
8484fb89d1 pan/ci: add back missing skip-list heading
We have these in most of the skip-lists, so let's add it to the ones
that are missing it as well.

Acked-by: Eric R. Smith <eric.smith@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40398>
2026-06-03 12:14:07 +00:00