Commit graph

3600 commits

Author SHA1 Message Date
Quentin Schulz
e1765a2914 nvk: remove unused relative_dir variable
In commit f35172b6a4 ("meson: make CL args common"), the
fmacro-prefix-map using relative_dir variable was moved from child
meson.build files to the main meson.build file. However, the
relative_dir variable assignment from src/nouveau/vulkan/meson.build
wasn't removed, while src/asahi/libagx's and src/panfrost/libpan's were.
This seems to be an oversight, so let's remove this seemingly now unused
relative_dir meson variable from nvk's meson.build.

This also allows us to remove the use of discouraged global_build_root()
[1] and global_source_root()[2].

[1] https://mesonbuild.com/Reference-manual_builtin_meson.html#mesonglobal_build_root
[2] https://mesonbuild.com/Reference-manual_builtin_meson.html#mesonglobal_source_root

Fixes: f35172b6a4 ("meson: make CL args common")
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36927>
2025-09-15 12:18:37 +00:00
Christian Gmeiner
5977c0026d nak: Move dataflow to compiler crate
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: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37348>
2025-09-13 07:30:50 +00:00
Mel Henning
3c32ff7fa9 nak: Place most Op structs in Box<>
Between this and the previous few commits, the Box<> has moved from
outside of Instr to inside the Op enum. This provides a few benefits:

 1. We no longer need to allocate for the worst-case Op on every
    instruction. For example, OpIAdd3X is 232 bytes and OpBra is 40
    bytes, which means we can save some memory on OpBra if we only
    allocate those 40 bytes.

 2. The Op discriminant is available without chasing a pointer. The type
    of op is probably the most frequently used field, and this should
    benefit most passes that care about what type of Op they're
    handling.

 3. Small Ops don't need any indirection at all. For example, OpPBk is
    only 4 bytes, which means we can just store it directly in less
    space than a pointer.

Compared to Box<Instr>, this is around a 1.4% shader compile time
improvement.

Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Seán de Búrca <leftmostcat@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37315>
2025-09-12 10:33:32 +00:00
Mel Henning
9257f5607f nak: impl SM*Op for Op
We can skip creating an &dyn and instead use a match to dispatch into
the inner type's functions.

Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Seán de Búrca <leftmostcat@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37315>
2025-09-12 10:33:32 +00:00
Mel Henning
6f6c309167 nak: Special case Box in derive_from_variants
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37315>
2025-09-12 10:33:32 +00:00
Seán de Búrca
74696758a2 nak: remove boxing of instructions
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37315>
2025-09-12 10:33:32 +00:00
Mel Henning
a9ea4630d4 nak: Make BindlessSSA store [SSAValue; 2]
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This reduces the size of ir::Src from 40 bytes down to 32 bytes. This
makes the size of ir::Op fall from 272 bytes down to 232 bytes, meaning
we save 40 bytes per instruction.

Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37130>
2025-09-10 22:25:13 +00:00
Mel Henning
8ac9b077b1 nak/assign_regs: Make src_ssa_ref return a slice
Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37130>
2025-09-10 22:25:13 +00:00
Mel Henning
d21a4d9e50 nak: impl HasRegFile for SSARef and &[SSAValue]
Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37130>
2025-09-10 22:25:13 +00:00
Mel Henning
603d7f9413 nak: Remove Option<> from SSARef::file() return
Nothing actually wants to mix register files in a SSARef so in practice
no callers really handled the None return case. Panic on that case
instead.

Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37130>
2025-09-10 22:25:12 +00:00
Eric Engestrom
a5fd6fce4c nvk/ci: document fixed tests
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37217>
2025-09-07 22:25:58 +02:00
Faith Ekstrand
c2a9a33f75 nvk: Use Vulkan formats for SET_ZT_FORMAT instead of NIL
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
The Vulkan format is actually depth/stencil while the NIL format
sometimes has the stencil swapped for X.

Fixes: 89110b8d1d ("nvk: Use the image format for depth views")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37208>
2025-09-06 00:26:48 +00:00
Faith Ekstrand
baeb070a94 nvk: Stop adding Vulkan image usage flags
The sampled and color attachment bits don't actually affect image layout
in any meaningful way.  They just cause us to create extra descriptors
in cases where we may not need them.  However, now that meta always sets
view usage, we always create the usages meta needs, even if the client
doesn't request them.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36957>
2025-09-05 23:34:15 +00:00
Faith Ekstrand
446d5ef103 vulkan: Drop the driver_internal from vk_image_view_init/create()
It alwways comes in through the create flags now.

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36957>
2025-09-05 23:34:14 +00:00
Faith Ekstrand
4eb098a6f1 nvk: Use VK_IMAGE_VIEW_CREATE_DRIVER_INTERNAL_BIT_MESA
Instead of having our own nvk_image_view_init() which passes through a
boolean, just set the create flag.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36957>
2025-09-05 23:34:12 +00:00
Faith Ekstrand
89110b8d1d nvk: Use the image format for depth views
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36957>
2025-09-05 23:34:11 +00:00
Karol Herbst
5bb463bb48 nak/qmd: properly set target shared mem size
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
The shared memory settings in the QMD affect occupancy as the hardware
needs to manage the available shared memory across all workgroups.

We should set the target to the amount of shared memory used by all the
blocks that can run concurrently taking GPR usage and the local size into
account.

E.g. a shader using 88 gprs, 256 threads and a shared memory size of 18944
can have 2 blocks running concurrently, therefore on an Ampere we need to
set the target to 64kB to properly utilize the hardware.

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37135>
2025-09-05 20:01:02 +00:00
Karol Herbst
a0131b53ad nvk: use hardware limits for maxComputeSharedMemorySize
It doesn't change the reported values, but it will allow us to easily
advertise real hardware limits in the future.

Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37135>
2025-09-05 20:01:02 +00:00
Karol Herbst
1d5a1b11db nak/qmd: base shared mem size allocation on hardware limits
We can allocate more than 48k of shared memory, but the limits differ
across hardware, so we need to take it all into account to create the
shared memory splits the hardware can accept.

This does change behavior on Turing, but the assumption is, that the
hardware has simply rounded up. Might need performance testing on Turing
to verify nothing regresses here.

Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37135>
2025-09-05 20:01:02 +00:00
Karol Herbst
b09deba713 nouveau/winsys: add shared memory size tables
It's a bit of a disaster, but each generation supports a different set of
shared memory configurations.

Knowing the maximum is important for compute shader performance, knowing
all the legal sizes for QMD generation.

Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37135>
2025-09-05 20:01:01 +00:00
Karol Herbst
3c9fa18069 nvk: prepare for higher shared memory sizes
On hw we have up to 228k of available Shared memory so a 16 bit int isn't
enough for that.

Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37135>
2025-09-05 20:01:01 +00:00
Mel Henning
1c764357e8 nvk: Only copy 32-bits for cond render operand A
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Now that we're guaranteed the upper 32 bits are zero initialized,
there's no reason we need to do a 64-bit write here.

This is a 0.3% performance improvement on the Sascha Willems
conditionalrender demo with all rendering disabled (638 fps -> 640 fps)

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37187>
2025-09-05 18:57:33 +00:00
Mel Henning
4d8e2f7768 nvk: Don't re-initialize cond rendering operand B
We can initialize this just once from the CPU side instead of
overwriting it each time using the copy engine.

This is a 5% performance improvement on the Sascha Willems
conditionalrender demo with all rendering disabled (607 fps -> 638 fps)

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37187>
2025-09-05 18:57:33 +00:00
Mel Henning
966a1b5380 nvk: Reuse the same cond render temp in a cmd_buf
Within a single command buffer, we know that our operations will happen
sequentially so we don't need to allocate a unique address per
vkCmdBeginConditionalRenderingEXT - we can re-use the same address
instead.

Improves perf on the Sascha Willems conditionalrender demo with all
rendering disabled by about 2% (595 fps -> 607 fps)

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37187>
2025-09-05 18:57:33 +00:00
Mel Henning
64b4e52755 nvk: Move cond rendering memory out of gart
This is a 41% performance improvement on the Sascha Willems
conditionalrender demo with all rendering disabled (422 fps -> 595 fps)

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37187>
2025-09-05 18:57:32 +00:00
Mel Henning
0b43a625f4 nvk: Remove gart from the name of cond_render_mem
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37187>
2025-09-05 18:57:32 +00:00
Mel Henning
90ac7d13dc nvk: Clear second SET_RENDER_ENABLE operand
The hardware actually compares a pair of 64-bit values, rather than
comparing a single value against zero like we previously assumed.

This wasn't an issue in most cases before because if the buffer is
zero-initialized the previous code happens to work. If we get a
buffer with garbage in it though we would run into issues.

Fixes: 80eac1337d ("nvk: Always copy conditional rendering value before compare")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13821
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37153>
2025-09-04 16:27:58 +00:00
Mel Henning
27ca1c28c0 nvk/cmd_pool: NVK_DEBUG=trash_mem for alloc_mem
These buffers get recycled, so we can't rely on their contents.
Unfortunately, conditional rendering was relying on these buffers being
all zero, implicitly, because we didn't fully understand the hardware.
By supporting this debug flag here, we add a way to check for code that
accidentally assumes zero-initialization.

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37153>
2025-09-04 16:27:57 +00:00
Mel Henning
2dbe981513 nak: Add a test to check how RENDER_ENABLE works
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37153>
2025-09-04 16:27:57 +00:00
Mel Henning
27312edaa6 nak/hw_runner: Make a few more items public
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37153>
2025-09-04 16:27:57 +00:00
Mel Henning
eaa547f6f2 nvk: Clear cond_render_gart_* in reset_cmd_buffer
nvk_cmd_pool_free_gart_mem_list frees this buffer, so we need to clear
the pointers to it in order to avoid a use after free.

Fixes: 07c70c77de ("nvk: add cond render upload buffer.")
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37153>
2025-09-04 16:27:57 +00:00
Faith Ekstrand
40aea06bd0 nouveau/push: Fix SET_OBJECT handling
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
My first attempt to fix it ended up stomping classes to zero because it
happened too eary.  Now it happens after we have the whole method parsed
but before we go searching for strings.

Fixes: 8e93a763a3 ("nouveau/push: Handle more recent versions of 6F")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37180>
2025-09-04 15:49:19 +00:00
Thomas H.P. Andersen
93eafbf04f nvk: implement VK_AMD_buffer_marker
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35507>
2025-09-04 15:03:09 +00:00
Yiwei Zhang
611749a7f9 nvk: bind aliased wsi image at memory offset zero
This aligns with common wsi, and also obeys dedicated alloc requirement.

Fixes: 273df23a21 ("nvk: adopt wsi_common_get_memory")
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37152>
2025-09-03 16:29:34 +00:00
Hans-Kristian Arntzen
f28f72a5a2 nvk: Avoid passing garbage data in descriptor buffers for UBOs.
With the existing union setup, only the first 8 bytes are initialized
properly for UBOs, yet the UBO size is 16, and all 16 bytes are copied
to applications. This leads to broken capture-replay since the
descriptor payload is no longer invariant.

Fix this by ensuring all union members are 16 bytes, which then get
properly initialized with the designated initializers.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Fixes: 8b5835af31 ("nvk: Use bindless cbufs on Turing+")
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37053>
2025-09-02 15:24:22 +02:00
Martin Roukala (né Peres)
4a42ea6785 nvk/ci: switch to default kernel to b2c's default kernel
This brings linux v6.16.3 to all CI-tron jobs.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37085>
2025-09-02 07:48:53 +00:00
Martin Roukala (né Peres)
f1ccd93c78 nvk/ci: document some vk3d fails
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37085>
2025-09-02 07:48:53 +00:00
Mohamed Ahmed
af5a7b0ddf nil: Add missing compressible PTE kinds
We were missing compressible PTE kinds for generic on TU102 and GB202.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37094>
2025-08-29 15:27:50 -04:00
Faith Ekstrand
1b6d6f8e03 nil: Delete some useless image alignment code
This was copied+pasted from the old GL driver but we never use any of
those PTE kinds since they're only for compressed depth pre-Turing.
We've also never provied that this is actually good for anything.  Just
delete it for now.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37094>
2025-08-29 15:27:50 -04:00
Faith Ekstrand
c6e831ac44 nak,nir: Use a simpler version of phis_to_regs_block in lower_cf
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
The original lower_phis_to_regs_block() is a little too clever.  It
crawls up the predecessor tree until it finds a cross edge and places
the register writes as deep as it can.  This breaks nak_nir_lower_cf().
Say you have a shader like...

    con %0 = load_uniform()
    con loop {
        if div {
        } else {
        }
        break;
    }
    con %1 = phi %0

The original lower_phis_to_regs_block() will turn it into

    con %0 = load_uniform()
    con %r = decl_reg();
    con loop {
        if div {
           reg_store(%r, %0)
        } else {
           reg_store(%r, %0)
        }
        break;
    }
    con %1 = reg_load(%r)

We then convert it into unstructured control-flow and run regs_to_ssa()
to get our phis back, which lowers each of the registers we inserted to
a phi tree.  When we try to recover divergence information on phis by
looking at their sources, this works fine if each source maps directly
to a reg_store() whic maps directly to a phi in the original IR.
However, because the reg_store() instructions are placed deeper, it may
introduce false divergence.

Switch to the simple version of nir_lower_phis_to_regs_block() which
places reg writes directly in phi predecessor blocks.  We could probably
be more conservative and just avoid placing writes to uniform regs in
divergent control-flow but it's more robust to make the load/store_reg
intrinsics match the original phis directly.

This fixes some shaders in Horizon: Zero Dawn Remastered

Fixes: b013d54e4f ("nak/lower_cf: Flag phis as convergent when possible")
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36914>
2025-08-29 01:24:56 +00:00
Faith Ekstrand
26e32417b9 nir: Add an option to make lower_phis_to_regs_block() less clever
Right now it tries to place reg_write instructions as far up the
predecessor chain as possible.  This is useful for a bunch of the passes
that call it since it ensures they don't get placed in dead blocks or in
single successors and things like that.  But it screws up NAK's control
flow lowering so we need the option to turn it off and make the pass
place the reg_write instructions in the most obvious place possible.

Fixes: b013d54e4f ("nak/lower_cf: Flag phis as convergent when possible")
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36914>
2025-08-29 01:24:56 +00:00
Hans-Kristian Arntzen
6fbe2be7a7 nvk: Return 0 for opaque memory capture replay.
If implementation does not actually replay the VA, it must return 0
to not violate:

"If the memory object was allocated with a non-zero value of
opaqueCaptureAddress, the return value must be the same address."

Fixes RenderDoc capture replay, which asserts on the this spec rule
being followed.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Fixes: ed6d5c33 ("nvk: Implement VK_EXT/KHR_buffer_device_address")
Reviewed-by: Mohamed Ahmed <mohamedahmedegypt2001@gmail.com>
Closes #13784

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37047>
2025-08-28 20:05:51 +00:00
Karol Herbst
26c1ded905 nak: use ldsm
Reviewed-by: Mary Guillemard <mary@mary.zone>
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36363>
2025-08-28 16:09:14 +02:00
Dave Airlie
c38170452d nir: add nir_intrinsic_cmat_load_shared_nv
This maps to NAK's OpLdsm

Reviewed-by: Mary Guillemard <mary@mary.zone>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36363>
2025-08-28 16:09:07 +02:00
Karol Herbst
016159096f nak/hw_runner: add ldsm tests
Reviewed-by: Mary Guillemard <mary@mary.zone>
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36363>
2025-08-28 16:09:03 +02:00
Karol Herbst
ad8df8407e nak/hw_runner: support shared memory
Reviewed-by: Mary Guillemard <mary@mary.zone>
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36363>
2025-08-28 16:09:03 +02:00
Mary Guillemard
0e1761ccbe nak: add Ldsm
v2: Clean up (Karol)

Reviewed-by: Mary Guillemard <mary@mary.zone>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36363>
2025-08-28 16:08:36 +02:00
Karol Herbst
05dca16143 nak: extract nir_intrinsic_cmat_load lowering into a function
Reviewed-by: Mary Guillemard <mary@mary.zone>
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36363>
2025-08-28 16:07:21 +02:00
Mel Henning
fcf136d247 nvk: Expose VK_KHR_maintenance8
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36950>
2025-08-27 21:12:41 -04:00
Mel Henning
bde5e39b41 nvk/copy: Implement CopyImage2 between R and D/S
Following VK_KHR_maintenance8:
> Allow copies between depth/stencil and “matching” color attachments

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36950>
2025-08-27 21:12:41 -04:00