Commit Graph

214390 Commits

Author SHA1 Message Date
Danylo Piliaiev 2798ef7bfd vulkan: Always fill DS state for EXT_dynamic_rendering_unused_attachments
If renderpass has D/S attachment, but pipeline has D/S as UNDEFINED,
D/S should be properly disabled for the pipeline. The easiest way is to
ensure that D/S state is valid when pipeline's D/S format is UNDEFINED.
So we always create VkPipelineDepthStencilStateCreateInfo.

CC: mesa-stable

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37550>
2025-11-04 12:03:11 +01:00
Georg Lehmann 22dc06798b aco/optimizer: never unfuse fma
This shouldn't change anything in practice, and reducing precision
if precise isn't set is weird.

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38183>
2025-11-04 07:54:02 +00:00
Georg Lehmann 6610905b43 aco: allow v_fma_mix with denorms for gfx9 chips where it's fused
Only unfused mad unconditionally flushes denorms.

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38183>
2025-11-04 07:54:02 +00:00
Georg Lehmann 75e7fb03a5 aco: fix v_mad_mix denorm behavior
It also flushes fp32 denorms, just like v_mad_f32.

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38183>
2025-11-04 07:54:02 +00:00
Samuel Pitoiset 95b9801ad2 radv/sqtt: do not try to resize the SQTT buffer for per-submit captures
Doesn't make sense to try that and it will fail later anyways.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38188>
2025-11-04 06:57:38 +00:00
Andy Hsu be9e0f2f6a meson: Support intel tools on Android.
Signed-off-by: Andy Hsu <hwandy@google.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38131>
2025-11-04 06:18:19 +00:00
Tapani Pälli ed34f91545 anv: implement autostrip disable for Wa_14024997852
Note that currently autostrip is disabled globally with
Wa_14021490052 for some gfx versions and steppings.

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37975>
2025-11-04 05:17:30 +00:00
Tapani Pälli 7d9cf48fd7 iris: implement autostrip disable for Wa_14024997852
Note that currently autostrip is disabled globally with
Wa_14021490052 for some gfx versions and steppings.

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37975>
2025-11-04 05:17:30 +00:00
Tapani Pälli 0ff1dd9e0c intel/genxml: add registers handling autostrip for gfx200
These registers need to be whitelisted by kernel so that we can use
it to disable autostrip at will. This is about Wa_14024997852.

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37975>
2025-11-04 05:17:30 +00:00
Tapani Pälli 9a71dcde1b intel/dev: update mesa_defs.json from internal database
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37975>
2025-11-04 05:17:30 +00:00
Ryan Houdek 455eb2c751 freedreno/fdl: Fix typo in tiled_to_linear_2cpp
The non-aarch64 path was copying in the wrong direction.

Fixes: 7a5a33e0e3 ("freedreno/fdl: Add tiling/untiling implementation for a6xx/a7xx")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38226>
2025-11-04 02:48:35 +00:00
stefan11111 37f1d19a68 glx: Add some NULL pointer checks
This prevents mesa from segfaulting if GLX is working on some screens, but not all screens.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38201>
2025-11-04 00:21:19 +00:00
Mel Henning 041216e605 nak/opt_lop: Don't handle modifiers in dedup_srcs
The handling in dedup_srcs was incorrect because it would apply the
modifier from srcs[i] to the LUT without removing the modifier from the
instruction. We can fix and simplify this code by removing all modifiers
before the dedup_srcs() call, which we were doing immediately after the
call anyway.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13966
Fixes: 66c9c40f68 ("nak: Handle modifiers in dedup_srcs() in opt_lop()")
Reviewed-by: Seán de Búrca <sdeburca@fastmail.net>
Reviewed-by: Lorenzo Rossi <git@rossilorenzo.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38220>
2025-11-03 22:46:11 +00:00
Mel Henning 4b1303e29d nak/nvdisasm_tests: Test plop3
Reviewed-by: Seán de Búrca <sdeburca@fastmail.net>
Reviewed-by: Lorenzo Rossi <git@rossilorenzo.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38220>
2025-11-03 22:46:11 +00:00
Ryan Mckeever f43e1fe603 people: update my name/email
Signed-off-by: Ryan Mckeever <ryan.mckeever@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38225>
2025-11-03 22:08:48 +00:00
Ryan Mckeever dac4322b47 mailmap: update my name and email
Signed-off-by: Ryan Mckeever <ryan.mckeever@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38225>
2025-11-03 22:08:48 +00:00
Lionel Landwerlin 53834ccb6a brw: disable io_semantic validation for mesh intrinsics
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 2f6b4803ab ("nir/validate: expand IO intrinsic validation with nir_io_semantics")
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38222>
2025-11-03 21:28:22 +00:00
Dylan Baker 74018f41ab anv: try to help coverity understand we're not racing
Coverity notices that in this case part of the decision to go down the
locked path invovles reading a flag, which is turn set inside the
protected code. Additional threads can decide they need to go down the
locked path, and then wait on the lock, even though the first thread
willse the device_registered to true, which would have otherwise
prevented them from going down the locked path.

What Coverity doesn't know, is that it is a violation of the Vulkan API
contract to call this function from two different threads, so in
practice that cann't happen. We'll move the setting of the
image_device_registered out of the locked area to see if that pacifies
Coverity, and if not then we'll just ignore it.

CID: 1662067
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37582>
2025-11-03 20:00:31 +00:00
Konstantin Seurer aa28fcb610 llvmpipe: Always recompute 1/w
The value depends on the tgsi_interpolate_loc which is not constant for
the loop. llvm should be able to cse in cases where they are the same.

cc: mesa-stable

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38197>
2025-11-03 19:45:29 +01:00
Konstantin Seurer 4d30da6599 gallivm/nir/soa: Use the sign of src1 for imod
This is the behavior specified by the nir opcode, the spirv spec and
required by maintenance8.

cc: mesa-stable

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38197>
2025-11-03 19:45:25 +01:00
Konstantin Seurer 25e678a37d lavapipe: Bump MAX_DESCRIPTOR_UNIFORM_BLOCK_SIZE
cc: mesa-stable

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38197>
2025-11-03 19:45:21 +01:00
Konstantin Seurer d6dd96e1c7 lavapipe: Zero image null descriptors
The size queries for images do not use function pointers so we need to
be careful that width, height and depth are 0.

cc: mesa-stable

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38197>
2025-11-03 19:45:17 +01:00
Konstantin Seurer ff145d2ddc lavapipe: Bump maxPrimitiveCount
The vulkan spec requires at least 2^29-1.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14212
cc: mesa-stable

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38197>
2025-11-03 19:44:46 +01:00
David Heidelberg 9334b5659c ci: implement debian-cross-riscv64
Revival of my old effort to get riscv64 testing in!
Now we're at Debian 13 (trixie), we can support RISC-V builds!

Disable llvmpipe suite because of lp_test_arit failure, see
https://gitlab.freedesktop.org/mesa/mesa/-/issues/14123

Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37445>
2025-11-03 15:04:57 +01:00
Daniel Schürmann 43f1ad308a radv/shader_info: repack and compact struct radv_shader_info
using pahole.

Reduces the size of radv_shader_info from 760 bytes to 640 bytes.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37931>
2025-11-03 13:38:38 +01:00
Daniel Schürmann e1bcbbf3dd radv/shader_info: rename gs_ring_info -> legacy_gs_info and use union with ngg_info
Reduces the size of radv_shader_info from 784 bytes to 760 bytes.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37931>
2025-11-03 13:38:38 +01:00
Daniel Schürmann 9b34da3da8 radv/shader_info: use union for precomputed register values of non-overlapping stages
Reduces the size of radv_shader_info from 872 bytes to 784 bytes.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37931>
2025-11-03 13:38:38 +01:00
Daniel Schürmann 68ab01b2f2 radv/shader_info: remove unused output_usage_mask
Reduces the size of radv_shader_info from 1000 bytes to 872 bytes.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37931>
2025-11-03 13:38:37 +01:00
Karmjit Mahil 9a6ab041fd tu: Use TU_BREADCRUMBS_ENABLED value
The code was checking for the define to exists, which it always
does, and is set to 0, where it should instead have checked its
value.

Signed-off-by: Karmjit Mahil <karmjit.mahil@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38210>
2025-11-03 10:11:41 +00:00
David Rosca 502f7e85e5 radv/ci: Enable video tests on navi21 and navi31
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38184>
2025-11-03 08:39:59 +00:00
David Rosca 874e02003a radv/video: Only use write_memory for encode feedback with full support
write_memory is used after encoding every frame to mark the feedback
buffer as ready. Only use it when write_memory can work without PCIe
atomics support.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38184>
2025-11-03 08:39:59 +00:00
David Rosca 8e1d74bbb4 radv/video: Introduce two levels of write_memory support
Print warning when using write_memory with firmwares that require
PCIe atomics support.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38184>
2025-11-03 08:39:59 +00:00
Samuel Pitoiset f91e5c9cb7 radv: use radv_get_shader_layout() more with ESO
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38106>
2025-11-03 08:00:35 +00:00
Samuel Pitoiset e5513826aa radv: fix creating linked graphics ESOs with a compute shader
It's valid to create shader objects with linked VS/FS and with a
compute shader.

This reworks radv_CreateShadersEXT() completely to allow this. Unlinked
shaders are created first, then linked shaders.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14193
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38106>
2025-11-03 08:00:35 +00:00
Valentine Burley 69ddb910e0 panfrost/ci: Enable G610 piglit job
Make `panfrost-g610-piglit:arm64` a pre-merge job.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Acked-by: Boris Brezillon <boris.brezillon@collabora.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38182>
2025-11-03 07:24:17 +00:00
Valentine Burley d11d83dee6 panfrost: Don't dump shader disassembly by default on CSF
Dumping disassembly when not explicitly requested to do so was probably
helpful during early CSF bringup. But the CSF code is relatively robust
now, so let's move this to only happen if PAN_DBG_TRACE is set, similar
to what we do in the JM backend.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38182>
2025-11-03 07:24:17 +00:00
Valentine Burley 74d9a90546 panfrost/ci: Drop redundant PAN_MESA_DEBUG variables
This is already set in `.panfrost-test`.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Acked-by: Boris Brezillon <boris.brezillon@collabora.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38182>
2025-11-03 07:24:17 +00:00
Janne Grunau 83b97379dc hk: Report the correct plane count in VkDrmFormatModifierProperties2?EXT
Fixes import of planar formats like NV12 in gtk4. Allows
`gst-launch-1.0 v4l2src ! gtk4paintablesink` to use vulkan instead of
falling back to OpenGL.

Closes: #14217
Cc: mesa-stable
Signed-off-by: Janne Grunau <j@jannau.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38200>
2025-11-03 07:09:36 +00:00
spencer-lunarg 943d7b246e llvmpipe: Fix warning casting 32-bit int to 8-bit
Signed-off-by: spencer-lunarg <spencer@lunarg.com>
Acked-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38207>
2025-11-02 22:42:19 -05:00
Marek Olšák 5d92c92ce5 Revert ABI breakage "amd: Add user queue HQD count to hw_ip info"
This reverts commit 56d758d321.

It broke ABI between Mesa and libdrm, causing crashes due to stack smashing.

See: https://gitlab.freedesktop.org/mesa/libdrm/-/issues/121#note_3172362

Fixes: 56d758d321
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38203>
2025-11-02 02:54:59 +00:00
Marek Olšák 2f6b4803ab nir/validate: expand IO intrinsic validation with nir_io_semantics
There are many workarounds.

v2: add more validation

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com> (v1)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38113>
2025-11-02 02:21:46 +00:00
Marek Olšák 390023f9fd nir/lower_io: force src offset=0 for any indirect access with num_slots == 1
This reduces indirect indexing of 1-element arrays to indexing with 0.
Without this, we fail an assertion later.

Discovered when writing a test.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38113>
2025-11-02 02:21:46 +00:00
Marek Olšák 9125e34372 amd: lower get_ssbo_size in ac_nir_lower_resinfo
The code for lowering get_ssbo_size will be different in future chips,
so do it in common code to reduce duplication in the future.

Lower get_ssbo_size to ssbo_descriptor_amd + nir_channel.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38097>
2025-11-02 01:42:07 +00:00
Marek Olšák 3e2c11597a nir: add nir_intrinsic_ssbo_descriptor_amd for lowering get_ssbo_size
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38097>
2025-11-02 01:42:07 +00:00
Dave Airlie 6a70406bb2 lavapipe: use vk_query_pool as the base for lvp_query_pool
This just moves to the common code.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38198>
2025-11-02 06:14:22 +10:00
Dave Airlie 3fc9c072b2 lavapipe: drop instance pointer from lvp_device.
This can be gotten elsewhere.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38198>
2025-11-02 06:00:38 +10:00
Dave Airlie f819e269f6 lavapipe: drop physical device pointer from lvp_device
Use the base pointer.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38198>
2025-11-02 05:53:02 +10:00
Dave Airlie b2db496ea3 lavapipe: drop unneeded physical device in sparse image format props
This isn't used here.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38198>
2025-11-02 05:50:47 +10:00
Dave Airlie 7aef746de6 lavapipe: drop device pointer from pipeline cache
This is unused

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38198>
2025-11-02 05:43:51 +10:00
Dave Airlie 5875d6cf93 lavapipe: drop device pointer from queue
Just use the copy in the base

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38198>
2025-11-02 05:42:31 +10:00