Commit Graph

212858 Commits

Author SHA1 Message Date
Boris Brezillon d6dd424b11 panvk: Fix panvk_interleaved_copy() formatting
Switch cases should align with the switch() statement.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Tested-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37473>
2025-09-29 13:59:30 +02:00
Boris Brezillon 27988e9848 vk/meta: Support DS <-> color copies
VK_KHR_maintenance8 allows such copies, but there are a few things we
need to fix to support the case where the destination and source aspects
don't match.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Tested-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37473>
2025-09-29 13:59:30 +02:00
David Rosca 214a431caf gallium/vl: Remove mpeg12 shader decoder
The decoder has been broken for years. It creates 3-plane video
buffer with RGB16 format for all three planes, which hasn't been
working since 243475b96c.
It also doesn't make sense anymore to use shader decoder for a codec
this old.

Acked-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37507>
2025-09-29 10:47:02 +00:00
David Rosca b16910031b nouveau: Remove mpeg12 shader decoder support
Reviewed-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37507>
2025-09-29 10:47:02 +00:00
David Rosca 7d78016cab r300: Remove mpeg12 shader decoder support
Reviewed-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37507>
2025-09-29 10:47:02 +00:00
David Rosca 69aa754547 r600: Remove mpeg12 shader decoder support
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6162
Reviewed-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37507>
2025-09-29 10:47:02 +00:00
Timur Kristóf d3579190d6 ac/nir/ngg: Fix scalarized mesh primitive indices
Take the write_mask into account when storing primitive indices,
otherwise they will end up being stored in the wrong place.

Fixes: 8e24d3426d ("ac/nir/ngg: Refactor MS primitive indices for scalarized IO.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37610>
2025-09-29 08:07:54 +00:00
Timur Kristóf 3dc9c1a91e ac/nir/ngg: Remove dead code for 64-bit mesh shader variables
We already lower all 64-bit I/O to 32-bit before this pass,
and the rest of the code here already asserts that I/O variables
must be 32-bit or smaller.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37610>
2025-09-29 08:07:54 +00:00
Simon Perretta 86557cace1 pco: use nir_unlower_io_to_vars
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37540>
2025-09-27 23:45:54 +01:00
Simon Perretta cd9d55201f pco: use interpolated input intrinsics for shader io
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37540>
2025-09-27 23:45:54 +01:00
Simon Perretta b111b8a844 pvr, pco: implement prerequisites for sampleRateShading
- Implement load_interpolated_input and friends.
- Optimize load_barycentric_* cases that can be simplified.
- Initial support for non-standard sample locations.

Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37540>
2025-09-27 23:45:54 +01:00
Simon Perretta 83aecc8f3f mesa/st, nir: commonize unlower_io_to_vars pass
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37540>
2025-09-27 23:45:54 +01:00
Emma Anholt 4531b8ace4 treewide: Make exported DRM FDs read-write.
Without this, somebody trying to map a buffer for write by the CPU would
fail.  This is not common to do in hardware driver environments, but it
shouldn't be disallowed, and there's no downside to allowing it.

I did skip virgl, because that's one where I don't know for sure if there
wouldn't be a downside to allowing RDWR (there are other virt exports
where RDWR is gated on a mappable flag).

This is a follow-up to !37088 to keep copy and paste from introducing the
same bug anywhere else.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37339>
2025-09-27 19:46:14 +00:00
Faith Ekstrand 8ef811b02a spirv: Add support for OpBitcast in OpSpecConstantOp
This is required for OpenCL but not Vulkan.  This fixes a bunch of
OpenCL CTS fails using the SPIR-V back-end in LLVM as opposed to
SPIRV-LLVM-Translator.

Reviewed-by: Karol Herbst <kherbst@redhat.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37555>
2025-09-27 13:45:12 +00:00
Marek Olšák 7df6431bf7 gallium/u_threaded: remove refcounting for buffer_subdata
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37568>
2025-09-26 23:43:53 +00:00
Marek Olšák 5b688ec078 gallium/u_threaded: remove refcounting for buffer_unmap
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37568>
2025-09-26 23:43:53 +00:00
Marek Olšák 4749325e08 gallium/u_threaded: remove refcounting for get_query_result_resource
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37568>
2025-09-26 23:43:52 +00:00
Marek Olšák 85db3e7de5 gallium/u_threaded: remove refcounting for draw mesh indirect buffers
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37568>
2025-09-26 23:43:52 +00:00
Marek Olšák 381a88fdbd gallium/u_threaded: remove refcounting for clear_buffer
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37568>
2025-09-26 23:43:52 +00:00
Marek Olšák 08c3edac48 gallium/u_threaded: remove refcounting for dispatch compute indirect buffers
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37568>
2025-09-26 23:43:52 +00:00
Marek Olšák 9d15ef96ca gallium/u_threaded: remove refcounting for draw indirect buffers
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37568>
2025-09-26 23:43:52 +00:00
Yiwei Zhang 80126bccf8 panvk: use os_get_option instead of getenv
...so that the options work on Android

Reviewed-by: John Anthony <john.anthony@arm.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37591>
2025-09-26 22:52:38 +00:00
Sergi Blanch Torne 114666733c Revert "ci: Fix for GitLab 18.2.2 upgrade"
This reverts commit ece0d4f998.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37599>
2025-09-26 21:38:36 +00:00
Sergi Blanch Torne d027f1b336 Revert "ci: Temporarily hardcode S3 artifact path"
This reverts commit a693539ff9.

It was modified in 8803388d15

Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37599>
2025-09-26 21:38:36 +00:00
Aleksi Sapon 583526ba2c wsi/metal: fix cleanup on swapchain image creation failure
Reviewed-by: Lucas Fryzek <lfryzek@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33779>
2025-09-26 20:59:35 +00:00
Aleksi Sapon fd045ac99c wsi/metal: add support for color spaces
Reviewed-by: Lucas Fryzek <lfryzek@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33779>
2025-09-26 20:59:35 +00:00
Aleksi Sapon f022754647 wsi/metal: move VkFormat -> MTLPixelFormat conversion to wsi_common_metal_layer.m
Reviewed-by: Lucas Fryzek <lfryzek@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33779>
2025-09-26 20:59:34 +00:00
Mel Henning d32e6f2842 nak: Implement bitfield_extract with OpSgxt
on sm70+ where we don't have a native bfe instruction. This
implementation is fewer instructions than the nir lowering.

This also implements the bfe semantics that vkd3d-proton wants. d3d12
wants specific behavior for out-of-bounds ibfe like
bitfieldExtract(-1, 15, 20) while spirv considers this undefined
behavior. Tested with VKD3D_TEST_FILTER=test_shader_instructions

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13795
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37592>
2025-09-26 20:38:04 +00:00
Mel Henning c8116679c3 nak: Add OpSgxt
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37592>
2025-09-26 20:38:04 +00:00
Mary Guillemard 1c08e7766e nouveau/headers: Handle unbound sub channels in vk_push_print
In case of a unbound subchannel usage, the hardware will route it to the
GPFIFO class.

NVIDIA blobs use this and this was causing an assertion to be fired up
in nv_push_dump.

This adds support for that and also add mapping for cls_gpfifo in
nv_push_dump.

Signed-off-by: Mary Guillemard <mary@mary.zone>
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37475>
2025-09-26 19:40:47 +00:00
Mary Guillemard 03869631db nouveau/headers: Import Blackwell host class headers
From nvidia-open-kernel-modules as they missing on open-gpu-doc at the
moment.

Signed-off-by: Mary Guillemard <mary@mary.zone>
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37475>
2025-09-26 19:40:47 +00:00
Mary Guillemard 5e9ddffd4a nouveau/headers: Properly set subchannel 3 to 2D engine in vk_push_print
Fixes: 4bb256e5ac ("nouveau: Handle subchannels better in nv_push_print()")
Signed-off-by: Mary Guillemard <mary@mary.zone>
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37475>
2025-09-26 19:40:47 +00:00
Mel Henning f8b269e799 nouveau/headers: Use previous method for default
If a given generation hasn't removed any methods, then the default case
can defer to the previous generation without changing the output at all.

Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37475>
2025-09-26 19:40:47 +00:00
Mel Henning 246b96829f nouveau/headers: Deduplicate push dump impls
Note that this changes the output so it lists the method as being in the
class where it most recently changed rather than always in the class of
the running gpu. Personally, I find this more useful than the old
behavior.

Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37475>
2025-09-26 19:40:47 +00:00
Mel Henning e471f20587 nouveau/headers: Split out "cases" in template
Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37475>
2025-09-26 19:40:46 +00:00
Mel Henning 7b8017a4b4 nouveau/headers: Mark vk_push_print as cold
Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37475>
2025-09-26 19:40:45 +00:00
Mel Henning e7a62d5eff util/macros: Add ATTRIBUTE_COLD
Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37475>
2025-09-26 19:40:45 +00:00
Mary Guillemard 7790f98487 nouveau/headers: Add Blackwell support to nv_push_dump
Signed-off-by: Mary Guillemard <mary@mary.zone>
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37475>
2025-09-26 19:40:45 +00:00
Mary Guillemard 9dccedc043 nouveau/headers: Include class headers instead of redefining class ids
Also clean up headers.

Signed-off-by: Mary Guillemard <mary@mary.zone>
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37475>
2025-09-26 19:40:44 +00:00
Mary Guillemard b1f97c2778 nouveau/headers: Handle more gpfifo classes in vk_push_print
A good chunk of it excluding AMPERE B (header have a typo on some struct
making it clash with AMPERE A def)

Signed-off-by: Mary Guillemard <mary@mary.zone>
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37475>
2025-09-26 19:40:44 +00:00
Mary Guillemard fe44e8a7fa nouveau/headers: Handle all 3D classes in vk_push_print
We now handle from BLACKWELL_B down to FERMI_A (FERMI_B is excluded as we are missing the tex header)

Signed-off-by: Mary Guillemard <mary@mary.zone>
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37475>
2025-09-26 19:40:43 +00:00
Mary Guillemard 4b985017dd nouveau/headers: Handle all DMA classes in vk_push_print
We now handle from BLACKWELL_DMA_COPY_B down to GT212_DMA_COPY.

Signed-off-by: Mary Guillemard <mary@mary.zone>
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37475>
2025-09-26 19:40:43 +00:00
Mary Guillemard d7f226a3b2 nouveau/headers: Handle all compute classes in vk_push_print
We now handle from BLACKWELL_COMPUTE_B down to FERMI_COMPUTE_A.

Signed-off-by: Mary Guillemard <mary@mary.zone>
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37475>
2025-09-26 19:40:42 +00:00
Mary Guillemard 3a2b53f47f nouveau/headers: Autogenerate push method dumpers
Instead of typing this in nv_push.c, we now generate it based on the
class headers that are generated.

This makes it that we never have human errors in any of the checks and
allow to just support parsing everything we can.

Signed-off-by: Mary Guillemard <mary@mary.zone>
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37475>
2025-09-26 19:40:42 +00:00
Jordan Justen be61c12f3e anv: Use image view base-layer in can_fast_clear_color_att()
We currently only support fast clearing the first layer of an image.
Attachments use VkImageView which can specify a base-layer of the view
for an image attachment.

Fixes: 44351d67f8 ("anv: Change params of anv_can_fast_clear_color_view")
Ref: https://projects.blender.org/blender/blender/issues/141181
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Rohan Garg <rohan.garg@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37562>
2025-09-26 19:15:22 +00:00
Aleksi Sapon 8949473023 nir: Fix nir.h MSVC compilation for C++ source files
This kind of C initializer is not accepted by MSVC in C++ mode.

Fixed: 75292ae7 ("nir: Fix gnu-empty-initializer warning ")
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37604>
2025-09-26 18:25:22 +00:00
Mel Henning 094804131e nak: Fix divergence test for redux availability
nak's divergence differs slightly from nir's divergence. Fix the test to
match what the backend will use, since we need to allocate a ureg.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13964
Fixes: 295373f29f ("nak: Implement nir_intrinsic_reduce with REDUX")
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37585>
2025-09-26 18:07:04 +00:00
Konstantin Seurer bb3e401cca Revert "lavapipe/ci: Disable stack-use-after-return detection for ASan"
This reverts commit 44d161a7a0.

Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37416>
2025-09-26 17:27:32 +00:00
Konstantin Seurer 9094b404d5 vulkan/cmd_queue: Handle struct arrays with pNext
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37416>
2025-09-26 17:27:32 +00:00
Konstantin Seurer c76da351b0 vulkan/cmd_queue: Handle internal structs
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37416>
2025-09-26 17:27:32 +00:00