Commit graph

214263 commits

Author SHA1 Message Date
Bas Nieuwenhuizen
00b8b571c6 device-select: Fix error check.
Fixes: 355b96413d ("egl/wayland: Move bind_wayland_display to legacy build option")
Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13931
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37622>
2025-09-29 17:19:34 +02:00
Christoph Neuhauser
5e5bc7a1c7 egl: Fix invalid device UUID returned by EGL_EXT_device_persistent_id
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
MR !36998 / commit 72f2565fc9 introduced
an issue where QueryDeviceInfo is not called in eglQueryDeviceBinaryEXT,
which causes the queried UUID to always be zero.
This commit fixes the issue by adding a call to QueryDeviceInfo.
Also, it refactors the inconsistent function names passed to _eglError.

Signed-off-by: Christoph Neuhauser <christoph.neuhauser@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37616>
2025-09-29 12:56:59 +00:00
Thomas H.P. Andersen
b58026fac9 nvk: allow host image copy on non host visible heaps
According to the comment removing non host visible heaps
was only meant for non-ReBAR. We can detect ReBAR and
allow host image copy on non host visible heaps.

Also drops an old comment from the first rudimentary
implementation of this function.

Results for *host_image_copy* on a Ada gpu with ReBAR.

Test run totals:
  Passed:        51686/149362 (34.6%)
  Failed:        0/149362 (0.0%)
  Not supported: 97676/149362 (65.4%)
  Warnings:      0/149362 (0.0%)
  Waived:        0/149362 (0.0%)

Reviewed-by: Mohamed Ahmed <mohamedahmedegypt2001@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37385>
2025-09-29 12:28:49 +00:00
Boris Brezillon
3d241e69c5 panvk: Only use Z24_UNORM_PACKED for AFBC images
The host copy logic doesn't support unpacking/packing D24X8, and if we
were to support it, it would be inefficient because of the non-32-bit
alignment. Given host copy is not a thing on AFBC resources, and given
the Z24_UNORM_PACKED is mostly beneficial to AFBC(Z) resources, let's
restrict its use to this case only and use Z24X8 otherwise.

Fixes: a620f33b7c ("panvk: Add planar Z24S8 support")
Signed-off-by: Boris Brezillon <boris.brezillon@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
76843c049f panvk: Fix host copies on planar DS resources
We need to split dual-aspect copies into separate copies.

Fixes: a620f33b7c ("panvk: Add planar Z24S8 support")
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
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
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
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
Some checks failed
macOS-CI / macOS-CI (dri) (push) Has been cancelled
macOS-CI / macOS-CI (xlib) (push) Has been cancelled
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.
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
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
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
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
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
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"
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 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
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
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