Commit graph

223309 commits

Author SHA1 Message Date
Emma Anholt
5415e6779c weston: Run at a more reasonable 1920x1080 resolution, not 1024x640.
The headless backend's defaults are quite low, and it was preventing
renderdoc replays from running any larger than that, which in turn cut off
the screenshots we wanted to take.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41662>
2026-05-29 19:05:38 +00:00
Emma Anholt
73234c7d71 screenshot-layer: Log when we can't open the output directory.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41662>
2026-05-29 19:05:38 +00:00
Paulo Zanoni
2d3dc35d55 anv: implement VK_KHR_copy_memory_indirect
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This implements the extension on the Graphics and Compute queues using
Blorp OpenCL compute shaders. Support for the Transfer queue will come
in a later patch. We also don't support 24/48/96 bpp formats yet.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39338>
2026-05-29 18:12:37 +00:00
Paulo Zanoni
a84addd941 libcl/vk: add VkCopyMemoryToImageIndirectCommandKHR and its members
The members are all naturally aligned to 4, but other
naturally-aligned-to-4 structs in this file still have the attribute
declared (such as VkDispatchIndirectCommand), so I'm adding the
attributes to these as well.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39338>
2026-05-29 18:12:37 +00:00
Paulo Zanoni
d3c87303da libcl/vk: add aligned(4) to VkCopyMemoryIndirectCommandKHR
This structure, despite containing 8-bit members, can be 4-byte
aligned:

    "VUID-VkCopyMemoryIndirectInfoKHR-copyAddressRange-10942
     copyAddressRange.address must be 4 byte aligned"

So do it like we do with the other structures.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39338>
2026-05-29 18:12:37 +00:00
Paulo Zanoni
4b58b25e24 intel/blorp: prepare for usage of mi_builder.h
In the next patch we will use mi_builder.h from blorp code, so this
commit prepares the terrain for that by adding the necessary
definitions that the header requires.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39338>
2026-05-29 18:12:37 +00:00
Lionel Landwerlin
e3c00aa2e1 mi_builder: mi_umax2 tests
v2 (From Paulo): add more magic numbers.

Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39338>
2026-05-29 18:12:37 +00:00
Paulo Zanoni
70d22963f4 intel/mi_builder: add mi_umax2()
We're going to use this for indirect copies, as we need to iterate
through the indirect buffer checking the copy sizes, then pick the
maximum copy size in order to launch the indirect compute shader.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39338>
2026-05-29 18:12:37 +00:00
Paulo Zanoni
9f7623723e intel/mi_builder: add mi_ixor()
Just like mi_ior(), but for xor. We're going to use it in one of the
next commits.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39338>
2026-05-29 18:12:37 +00:00
Georg Lehmann
36ad561fec aco/isel: never manually flush denorms after 32bit fma
This option is only meant for min/max, where gfx8 and older
didn't flush denorms. Fma flushes denorms on all hardware
and the optimizer removes the manual flushing again anyway.

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41868>
2026-05-29 17:46:19 +00:00
Jhanani Thiagarajan
2a60e9e769 intel/mda: Change the default output directory
Directories are named using the process name and PID to avoid overwriting dumps from
subsequent runs of the same application.

v2 (Caio): Use util_get_process_name().  Change to be default behavior.
           Old behavior still accessible via MDA_OUTPUT_DIR="." env var.

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39125>
2026-05-29 17:30:38 +00:00
Peyton Lee
04dfd3fe3f radeonsi/vpe: adjust message
Adjust debug message to display the correct format name

Signed-off-by: Peyton Lee <peytolee@amd.com>
Reviewed-by: David Rosca <david.rosca@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41876>
2026-05-29 17:02:06 +00:00
Peyton Lee
5a088b1810 ac/gpu_info: add VPE_2_2 support
enable VPE_2_2 support

Signed-off-by: Peyton Lee <peytolee@amd.com>
Reviewed-by: David Rosca <david.rosca@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41876>
2026-05-29 17:02:05 +00:00
Peyton Lee
99c4cd205e amd/vpelib: support vpe 2.2
Update vpelib to support vpe 2.2.

Signed-off-by: Peyton Lee <peytolee@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41876>
2026-05-29 17:02:05 +00:00
Michel Dänzer
2b2dbcc13a egl/gbm: Eliminate max_age local variable
Use oldest_buffer->age instead.

Cleanup, no functional change intended.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41845>
2026-05-29 16:38:01 +00:00
Michel Dänzer
485919779d egl/gbm: Use local variable for better readability
No functional change intended.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41845>
2026-05-29 16:38:01 +00:00
Michel Dänzer
3999b5d680 egl/gbm: Do not destroy BO of current front buffer
It's not always locked. If it's not, and we destroy its BO,
lock_front_buffer will set dri2_surf->current->locked = true but then
return NULL, so release_buffer will never be called, preventing the
buffer from being used again.

Fixes: dd7ae41091 ("egl/gbm: Destroy excess BOs")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41845>
2026-05-29 16:38:01 +00:00
Eric Engestrom
9be2f6ea57 Revert "drirc: move 00-$drv-defaults.conf to each driver's folder"
This reverts commit 97391328a3.

This broke devenv because DRIRC_CONFIGDIR doesn't point the folder that
contains everything anymore.

DRIRC_CONFIGDIR will be modified to take the standard `:`-separated list
of paths, but until then, revert this.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41890>
2026-05-29 16:01:06 +00:00
Samuel Pitoiset
9dfc83079c radv: enable radv_force_64_byte_sampled_image for Crimson Desert
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Seems the same issue as FH6 after all.

Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/15563
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41851>
2026-05-29 15:36:52 +00:00
Georg Lehmann
0f542c7049 radv: enable fp64 float controls on gfx6-7
There is no reason why these should be disabled.

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41852>
2026-05-29 15:09:20 +00:00
Georg Lehmann
45532ad306 aco/gfx6: always use rtne adds for fround_even lowering
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41852>
2026-05-29 15:09:20 +00:00
Georg Lehmann
a3b4cf9f1f aco/gfx6: fix fround_even(-0.0)
We need to account for the sign bit after the add/sub trick,
otherwise -0.0 gets turned into +0.0.

Cc: mesa-stable
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41852>
2026-05-29 15:09:20 +00:00
Georg Lehmann
ed5ab76879 aco/gfx6: always use rtne for floor/ceil lowering
This fixes floor(-DBL_MIN) and ceil(DBL_MIN) with rtz.

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41852>
2026-05-29 15:09:20 +00:00
Georg Lehmann
cbf3f4220c aco: add rtne pseudo opcodes for fp64 add and fract
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41852>
2026-05-29 15:09:19 +00:00
Georg Lehmann
e0ccd24fb6 aco/gfx6: use shorter lowering for ftrunc
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41852>
2026-05-29 15:09:19 +00:00
Georg Lehmann
843219010f aco/gfx6: fix fceil lowering
The old one wasn't signed zero correct.

Cc: mesa-stable
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41852>
2026-05-29 15:09:19 +00:00
Georg Lehmann
76a68032cb radv: don't lower dfloor in NIR
The aco lowering was fixed in the previous commit.

If v_fract_f64 had precision issues, we would be in bigger trouble.

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41852>
2026-05-29 15:09:19 +00:00
Georg Lehmann
bc639abb04 aco/gfx6: fix fp64 floor lowering
The v_min_f64 was broken, because we needs to allow 1.0 as fract result.

Otherwise floor(-DBL_MIN) will not return -1.0.

NaN also doesn't need any special handling, because fadd(NaN, b) is NaN.

Cc: mesa-stable
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41852>
2026-05-29 15:09:18 +00:00
Caio Oliveira
159dbc40e0 jay: Use TGL_PIPE_NONE when RegDist is zero
Avoids simulator complaining about invalid dependency.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41880>
2026-05-29 14:36:45 +00:00
Romaric Jodin
bb15c00343 anv: Declare 00-mesa-defaults.conf as an input to anv_dricrc_gen.py
The `libanv_drirc` custom target passes `00-mesa-defaults.conf` to the
generator script via the `--validate` flag, but it was hardcoded as a
path rather than being declared as an input dependency.

When translating the build to a hermetic build system, this missing
dependency causes the build to fail because the undeclared file is not
provisioned in the sandboxed build environment.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41886>
2026-05-29 14:05:30 +00:00
Konstantin Seurer
bef2148ab7 llvmpipe: Fix sparse binding large areas
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
The size needs to be taken into account when tracking residency.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41327>
2026-05-29 13:32:23 +00:00
Konstantin Seurer
ac27f93e54 llvmpipe: Implement sparse residency feedback for buffers
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41327>
2026-05-29 13:32:23 +00:00
Konstantin Seurer
6b999c4cab llvmpipe: Use i1 for sparce residency and expand as needed
Avoids potential size mismatch.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41327>
2026-05-29 13:32:23 +00:00
Christian Gmeiner
010678968b lavapipe: Enable extendedDynamicState3ColorBlendAdvanced
Advanced blend with dynamic state is now lowered correctly at draw time, so
advertise the feature. It is required because lavapipe supports VK_EXT_shader_object.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/15564
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41885>
2026-05-29 11:58:34 +00:00
Christian Gmeiner
d80bf97e5e lavapipe: Lower advanced blend at draw time when its state is dynamic
With VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT the advanced blend op and its
parameters are only known at draw time. The static color_blend_op still
carries the pipeline's blend equation op, so lowering advanced blend in the
fragment shader already at pipeline creation used a stale op and, together with
the draw-time lowering, blended the result twice.

Fixes: 0444b5877f ("lavapipe: Implement VK_EXT_blend_operation_advanced")
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41885>
2026-05-29 11:58:34 +00:00
Christian Gmeiner
94299202f9 lavapipe: Skip advanced blend lowering when blending is disabled
When color blending is disabled for an attachment the fragment shader output
is written unmodified, so an advanced blend op on that attachment must have no
effect. lavapipe decided whether to lower advanced blend from the blend op
alone and ignored the blend enable, so the output got blended instead of being
left untouched.

Fixes: 0444b5877f ("lavapipe: Implement VK_EXT_blend_operation_advanced")
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41885>
2026-05-29 11:58:33 +00:00
squidbus
5484e83f4b kk: Handle index robustness for fully bound buffers manually
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
While Apple GPUs do seem to handle robustness for cases where index count
exceeds the actual `MTLBuffer` size, Metal validation complains about it.

In the interest of valid API usage we can handle this case ourselves for
now, and later Metal 4 encoders will do away with the need to handle index
robustness altogether.

Reviewed-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41873>
2026-05-29 04:28:27 -07:00
squidbus
80091d4c2e kk: Do not use image-to-image copies for 1D compressed textures
Metal validation fails if an image-to-image copy is performed with
dimensions that are not a multiple of the block size, which we hit
for 1D compressed images. According to documentation, it should be
fine to clamp the extent to the edge of the image, but it triggers
anyway, so route these to the buffer path to pass validation.

Reviewed-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41873>
2026-05-29 04:28:24 -07:00
squidbus
7c8de173d2 kk: Sanitize image copy through buffer extents
Use `util_format_get_nblocks(x/y/z)` for safer extent division, and
make sure 1D/2D extensions have extent y/z set to 1 as appropriate.

Reviewed-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41873>
2026-05-29 04:28:20 -07:00
squidbus
aeecafff95 kk: Fix precomp data buffer alignment
Metal wants the buffer to be aligned to 8

Reviewed-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41873>
2026-05-29 04:28:17 -07:00
Konstantin Seurer
2fe85f966e radv: Add and use helpers for managing internal allocations
This is code that is duplicated in a whole bunch of cases.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41044>
2026-05-29 10:59:39 +00:00
Konstantin Seurer
6913c9440e radv: Move radv_find_memory_index to radv_debug.c
It's only used for tooling.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41044>
2026-05-29 10:59:39 +00:00
Konstantin Seurer
0b141ba774 radv/tools: Rename radv_debug to radv_debug_hang
It's only for hang debugging.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41044>
2026-05-29 10:59:38 +00:00
Konstantin Seurer
c9b60cfa4f radv: Move a whole bunch of debug/profiling related into a subdir
For slightly better separation of debug and driver code.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41044>
2026-05-29 10:59:38 +00:00
Konstantin Seurer
23677605f2 radv: Move debug options to radv_instance.h
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41044>
2026-05-29 10:59:38 +00:00
Frank Binns
c501f3b4c9 pvr: re-enable {EXT,KHR}_index_type_uint8
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This was originally disabled by a22ad99bdd ("pvr: set device
features/props/extensions to Vulkan 1.0 minimums (unless implemented)") in order
to concentrate efforts on passing "base" Vulkan conformance before layering on
additional functionality. The driver is now Vulkan 1.2 conformant.

As the functionality is already implemented, simply enable the extension.

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Ella Stanforth <ella@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41859>
2026-05-29 09:56:28 +01:00
Samuel Pitoiset
76fdc606c8 ac/nir,radv: lower task payload to zeroes when the mesh shader has no task
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
The Vulkan spec allows this to be used in a mesh shader as long as
it's not accessed, so it can be eliminated.

This fixes dEQP-VK.mesh_shader.ext.misc.payload_not_accessed.

Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41828>
2026-05-29 07:44:40 +02:00
Faith Ekstrand
932ee0f806 etnaviv: Remove f32_to_f16_fallback() in favor of float16::F16
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41375>
2026-05-29 05:13:24 +00:00
Faith Ekstrand
b60694b91e compiler/rust: Add a float16 wrapper
This adds an F16 struct which provides a 16-bit float type using Mesa's
existing half-precision support internally.  Right now, it only contains
the basics but it could be expanded if needed.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41375>
2026-05-29 05:13:24 +00:00
Faith Ekstrand
7e2f41bd8f nouveau: Don't build NAK tests on Android
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41375>
2026-05-29 05:13:24 +00:00