Commit graph

205360 commits

Author SHA1 Message Date
Valentine Burley
c276e0b29a ci/crosvm: Use structured tagging for crosvm
Structured tagging captures a checksum of the component we think we're
building, and verifies this through the chain.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34813>
2025-05-07 12:13:24 +00:00
Valentine Burley
f2c68b2ea9 ci/crosvm: Collapse build section
Make the container build more readable and easier to follow in CI logs.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34813>
2025-05-07 12:13:24 +00:00
Valentine Burley
d847d553ca ci/crosvm: Fix image tags in build-crosvm.sh header
Bumping DEBIAN_BASE_TAG already triggers a rebuild of the test-gl and
test-vk containers, so their tags don’t need to be updated manually.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34813>
2025-05-07 12:13:24 +00:00
Valentine Burley
c3313257ca zink/ci: Properly source setup-test-env.sh in zink-venus-lvp
The zink-venus-lvp job wasn’t sourcing setup-test-env.sh like the other
Xvfb jobs, which will be necessary for an upcoming change.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34813>
2025-05-07 12:13:24 +00:00
Eric Engestrom
cfbc20c755 lavapipe/ci: add recent flakes
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/34857>
2025-05-07 10:20:20 +00:00
Eric Engestrom
98a1eddaeb r300/ci: add recent flakes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34857>
2025-05-07 10:20:20 +00:00
Eric Engestrom
dd69e34afc etnaviv/ci: add recent flakes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34857>
2025-05-07 10:20:20 +00:00
Eric Engestrom
4fb425c197 radv/ci: add recent flakes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34857>
2025-05-07 10:20:20 +00:00
Eric Engestrom
f96f416b80 turnip/ci: document a750 fixed tests
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34857>
2025-05-07 10:20:20 +00:00
Valentine Burley
d1b42e6f3a freedreno/ci: Disable a630 jobs
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
The cheza runners are offline.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34835>
2025-05-07 08:20:19 +00:00
Kai Wasserbäch
531c6696d4 fix(FTBFS): clc: switch to new non-owned TargetOptions for LLVM 21
Upstream hid the `TargetOptions` in commit 985410f87f2d19910a8d327527fd30062b042b63

Use the new `getTargetOpts()` to obtain the `TargetOptions` for
`setTarget()`.

Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13079
Reference: 985410f87f
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34835>
2025-05-07 08:20:19 +00:00
Olivia Lee
04bbe45b76 panfrost: upload blend shaders to bin pool
Instead of reuploading them to a fresh BO every time the blend state
changes. This allows us to drop the separate blend shader cache for the
fb preload shaders.

This improves gfxbench gl_driver FPS on G610 from 42.39 to 61.94,
which is now slightly faster than the DDK (57.76).

Signed-off-by: Olivia Lee <olivia.lee@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Acked-by: Ryan Mckeever <ryan.mckeever@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34666>
2025-05-07 07:55:44 +00:00
Olivia Lee
7fe842663e pan/bi: push blend constants to FAU
This improves blend shader performance slightly over loading the
constants from the sysval UBO. On bifrost, we have 128 FAU words, so
reserving 4 words for blend constants is not a significant cost. On
midgard, register mapped uniforms share space with working registers.
With high working register pressure, we only allocate 32 uniform
registers, and so would lose 1/8 of available space to blend constants
if we implemented the same optimization.

This improves gfxbench gl_driver FPS on G610 from 40.48 to 42.39. I did
not measure any regressions on benchmarks I tested that did not use
blend shaders.

Signed-off-by: Olivia Lee <olivia.lee@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Acked-by: Ryan Mckeever <ryan.mckeever@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34666>
2025-05-07 07:55:44 +00:00
Olivia Lee
781d3162e4 panfrost: pass blend constants to blend shaders dynamically
This is similar to the approach in panvk, where we pass blend constants
to the blend shader in fixed FAU slots instead of specializing the
shader on blend constants. TODO: explain midgard stuff

This eliminates the blend shader variant cache, which performed very
badly when the working set of blend constants in an application was >32
(the maximum number of variants stored). Just increasing the cache size
like we did in f1f39fa645 ("panfrost: Increase the limit for blend
shader variants") would help for applications with a larger static set,
but we would still have cache thrashing on applications which change the
blend constants dynamically.

For gfxbench gl_driver, which uses 386 blend constant values, this
improves FPS on a G610 from 6.06 to 40.48. Most applications are
unaffected, because they don't use enough constant values to cause
thrashing.

Signed-off-by: Olivia Lee <olivia.lee@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Acked-by: Ryan Mckeever <ryan.mckeever@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34666>
2025-05-07 07:55:44 +00:00
Olivia Lee
def9af0255 panfrost: map sysval UBO to a fixed index
We want the sysval UBO at a fixed index in order to pass dynamic blend
constants to blend shaders, which share UBOs with the fragment shader.
This requires shifting the existing UBOs to make space for a new UBO at
a low index. This remapping happens late, once we know whether sysvals
are actually used by a variant, so applications still use the original
indices.

Signed-off-by: Olivia Lee <olivia.lee@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Acked-by: Ryan Mckeever <ryan.mckeever@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34666>
2025-05-07 07:55:44 +00:00
Olivia Lee
b6d0fdf556 panfrost: move some blend shader infrastructure into gallium driver
The blend shader cache from pan_blend.h is not used in panvk, which has
it's own blend shader cache and compilation entrypoint. Moving this
allows us to use gallium-specific things in the cache.

Signed-off-by: Olivia Lee <olivia.lee@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Acked-by: Ryan Mckeever <ryan.mckeever@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34666>
2025-05-07 07:55:44 +00:00
Konstantin Seurer
84b9c281fe radv: Return VK_ERROR_INCOMPATIBLE_DRIVER for unsupported devices
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
VK_ERROR_INITIALIZATION_FAILED will fail physical device enumeration.
Returning VK_ERROR_INCOMPATIBLE_DRIVER means that the driver can still
be used on supported GPUs when multiple GPUs are installed.

cc: mesa-stable

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34783>
2025-05-07 08:26:33 +02:00
Faith Ekstrand
5d72ebf3e7 nvk: Stop printing errors for invalid dma-buf image queries
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This warning message has been annoying people for a long time.  Let's
just get rid of it.  I don't think it's really helping anyone with
anything and it's just burning logging space.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34853>
2025-05-07 00:33:43 +00:00
Olivia Lee
63557a03df mailmap: update my name and email
Signed-off-by: Olivia Lee <olivia.lee@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34852>
2025-05-07 00:26:45 +00:00
Faith Ekstrand
e3e7dad82d nak: Stop relying on nir_lower_pack
We represent vectors as packed anyway so all these ops are just data
motion that we already know how to do.  Calling into NIR for these
doesn't really help.  It also avoids potential optimization loops in NIR
where pack op lowering conflicts with itself.  It's simpler just to
handle it all in the back-end and trust our prmt optimization and copy
propagation to clean it all up.

Reviewed-by: Mel Henning <drawoc@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34849>
2025-05-07 00:08:05 +00:00
Faith Ekstrand
efd1cddbe9 nak: Set lower_pack_64_4x16
Otherwise, these can cause infinite loops in optimization because there
aren't _split variants and the optimizer tries to combine and split
things infinitely.

Reviewed-by: Mel Henning <drawoc@darkrefraction.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34849>
2025-05-07 00:08:05 +00:00
Eric Engestrom
140cd7c4f4 v3dv/ci: document flakes seen over the last 7 days
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/34848>
2025-05-06 21:53:15 +00:00
Eric Engestrom
6a18569aa5 v3d/ci: document flakes seen over the last 7 days
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34848>
2025-05-06 21:53:15 +00:00
Eric Engestrom
bf643bbcf6 vc4/ci: document flakes seen over the last 7 days
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34848>
2025-05-06 21:53:15 +00:00
Eric Engestrom
df3618edc2 v3dv/ci: fix malformatted flakes line
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34848>
2025-05-06 21:53:15 +00:00
Dmitry Osipenko
daad392d5c virtio/vpipe: Correct vdrm_vpipe_connect() definition
The vdrm_vpipe_connect() prototype defined in vdrm.c doesn't match
vdrm_vpipe_connect() defined in vdrm_vpipe.c. This leads to a compilation
warning about the wrong proto when Mesa linked with enabled LTO. Fix the
vdrm_vpipe_connect() definition.

Fixes: bf0e3d6274 ("virtio/vdrm: Add vtest backend")
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34819>
2025-05-06 21:36:16 +00:00
Rhys Perry
9ca71b52aa aco: swap the correct v_mov_b32 if there are two of them
Previously, this function tried to swap the instruction which is not
v_mov_b32, so that it doesn't introduce any new OPY-only instructions. If
both were v_mov_b32, it swapped Y. Since this makes Y opy-only, this can't
be done if X is also opy-only.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Fixes: 408fa33c09 ("aco/gfx12: don't use second VALU for VOPD's OPX if there is a WaR")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13101
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34841>
2025-05-06 21:04:28 +00:00
Sasha Finkelstein
2f4f9f0b98 hk: Implement VK_EXT_map_memory_placed
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: Sasha Finkelstein <fnkl.kernel@gmail.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13008
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34789>
2025-05-06 18:41:08 +00:00
Alyssa Rosenzweig
0acb34b065 hk: use nir_lower_default_point_size
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34762>
2025-05-06 17:07:00 +00:00
Alyssa Rosenzweig
a49403f4ac agx/nir_lower_tess: use nir_lower_default_point_size
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34762>
2025-05-06 17:07:00 +00:00
Alyssa Rosenzweig
d53a3a081b agx/nir_lower_gs: use nir_lower_default_point_size
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34762>
2025-05-06 17:07:00 +00:00
Alyssa Rosenzweig
5788770d91 nir: add nir_lower_default_point_size pass
this is useful across drivers for maint5 semantics on mobile hw.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34762>
2025-05-06 17:07:00 +00:00
Mel Henning
9ce14a5787 nak: Remove #![allow(unstable_name_collisions)]
Removing this doesn't trigger any warnings, so I assume it's been fixed
in the meantime.

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34591>
2025-05-06 16:48:34 +00:00
Mel Henning
7edb086685 nak: Call nir_opt_phi_to_bool
This opt seems to be somewhat sensitive to pass order - it really wants
to run somewhere between nir_opt_loop and nir_opt_remove_phis. (radv,
the only other backend that calls this pass, also matches that
ordering).

shader-db stats:

Totals:
CodeSize: 29166032 -> 29034608 (-0.45%); split: -0.46%, +0.01%
Number of GPRs: 156968 -> 156969 (+0.00%)
SLM Size: 147360 -> 147316 (-0.03%)
Static cycle count: 9126931 -> 9158663 (+0.35%); split: -0.07%, +0.42%
Spills to memory: 173573 -> 170288 (-1.89%)
Fills from memory: 173573 -> 170288 (-1.89%)
Spills to reg: 17838 -> 17111 (-4.08%); split: -4.09%, +0.01%
Fills from reg: 13089 -> 13090 (+0.01%)

Totals from 45 (0.69% of 6568) affected shaders:
CodeSize: 8993312 -> 8861888 (-1.46%); split: -1.49%, +0.03%
Number of GPRs: 4978 -> 4979 (+0.02%)
SLM Size: 93596 -> 93552 (-0.05%)
Static cycle count: 4703524 -> 4735256 (+0.67%); split: -0.14%, +0.81%
Spills to memory: 107785 -> 104500 (-3.05%)
Fills from memory: 107785 -> 104500 (-3.05%)
Spills to reg: 5667 -> 4940 (-12.83%); split: -12.86%, +0.04%
Fills from reg: 4131 -> 4132 (+0.02%)

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34591>
2025-05-06 16:48:34 +00:00
Zan Dobersek
c0dfdc907b tu: allow bigger block sizes when copying between buffers
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
When copying between buffers, find the biggest possible block size usable
for all copy regions. A common block size is used since using different
block sizes can require additional flushing between different blocks.

Besides the single-byte and 4-byte block sizes, also allow for 16-byte
block size and the appropriate corresponding format. Using bigger block
size when possible helps potentially reduce the number of required
CP_BLIT operations. Tested on the Crucible benchmarks, especially for
larger copy regions this can improve throughput up to 3x.

Signed-off-by: Zan Dobersek <zdobersek@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34587>
2025-05-06 16:29:48 +00:00
Juan A. Suarez Romero
ae51c59663 broadcom/ci: update expected results
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34837>
2025-05-06 15:02:56 +00:00
Lionel Landwerlin
c434050a00 brw: add pre ray trace intrinsic moves
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Some intrinsics are implemented by reading memory location that could
be rewritten by a further tracing calls. So we need to move those
reads prior to tracing operations in the shaders.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8979
Tested-by: Sviatoslav Peleshko <sviatoslav.peleshko@globallogic.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34214>
2025-05-06 13:34:53 +00:00
Lionel Landwerlin
37608c075f anv: promote VK_EXT_robustness2 to VK_KHR_robustness2
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/34821>
2025-05-06 13:16:13 +00:00
Danylo Piliaiev
f03be478a9 tu/lrz: Add tu_ignore_frag_depth_direction driconf
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Will be useful if app doesn't specify depth direction correctly.
E.g. the capture of "Sons of The Forest" I have has a shader
where `gl_FragDepth` has `layout(depth_less)`, but the output for different
fragments is actually sometimes less, sometimes more than the original depth
by a tiny margin.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34423>
2025-05-06 11:21:17 +00:00
Danylo Piliaiev
847ad80e03 tu/lrz: Consider FS depth layout when gl_FragDepth is written
Specifying depth write direction in shader may help us. E.g.
If depth test is GREATER and FS specifies FRAG_DEPTH_LAYOUT_LESS
it means that LRZ won't kill any fragment that shouldn't be killed,
in other words, FS can only reduce the depth value which could
make fragment to NOT pass with GREATER depth test. We just have to
enable late Z test.

There is the same concept in D3D11 and it is seen e.g. in "Stray" game.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34423>
2025-05-06 11:21:17 +00:00
Karmjit Mahil
d05b92d720 tu: Add "check_cmd_buffer_status" debug option
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Add a debug option which checks the status of a command buffer, if
it has completed execution on the GPU, before it's reset or
destroyed.

This works by getting the GPU to write to a specific memory address
on vkBeginCommandBuffer and vkEndCommandBuffer, so the CPU can check
that the GPU has written the TU_CMD_BUFFER_STATUS_IDLE to the slot
before actually resetting or freeing the command buffer.

This can to help in debugging sync issues within the driver.

Signed-off-by: Karmjit Mahil <karmjit.mahil@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34383>
2025-05-06 08:47:18 +00:00
Hyunjun Ko
86d21fd2cf anv: Set tc/beta offset according to the flag from PPS.
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Consider the flag from PPS when setting tc/beta offset.

This fixes some artifacts when decoding a hevc video,
hevc_scaling_list4.mkv from Lynne.

Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34782>
2025-05-06 04:24:22 +00:00
Hyunjun Ko
7998106355 vulkan/video: Fix wrong parsing for H265 decoding
Not found real issues yet related to this though,
this is apparently wrong.

Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34782>
2025-05-06 04:24:22 +00:00
Faith Ekstrand
20543981b5 nak: Print the % for SSA predicates
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
I don't remember why we special-cased predicates.  There isn't a
particularly good reason.  This lets us drop the weird fmt_plain()
and just use fmt() for everything.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34794>
2025-05-05 23:08:02 +00:00
Faith Ekstrand
56bdf9043b nak: Move SSAValue and friends to a new ssa_value.rs file
This is getting complicated and depends on some inter-linked details for
safety such as values being in-range. It's safer if the rest of the IR
is forced to use public interfaces.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34794>
2025-05-05 23:08:02 +00:00
Mel Henning
9d1c38ddf1 nak: Check that swizzles are none
wherever we check that src_mod is none.

This commit simply does:
s/src_mod.is_none()/is_unmodified()/
across all of nak except the definition of is_unmodified() itself.

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Fixes: bad23ddb48 ("nak: Add F16 and F16v2 sources")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34794>
2025-05-05 23:08:02 +00:00
Mel Henning
6e72f0f81b nak: Add Src::is_unmodified() helper
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Fixes: bad23ddb48 ("nak: Add F16 and F16v2 sources")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34794>
2025-05-05 23:08:02 +00:00
Mel Henning
d91ba8f36d nak: Mark Large SSARef paths as cold
This hints to the optimizer that these paths are less commonly executed.

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34794>
2025-05-05 23:08:02 +00:00
Mel Henning
2f44970b68 nak: Support large SSARef
This lets us store up to 16 SSAValues in an SSARef, while keeping the
common case of 4-or-fewer SSAValues allocation-free.

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34794>
2025-05-05 23:08:02 +00:00
Mel Henning
dee3a0aa58 nak: CBuf and SSARef are no longer Copy
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34794>
2025-05-05 23:08:02 +00:00