Martin Roukala (né Peres)
78de1e93ee
ci/ci-tron: uprev the job submission template
...
This brings some nice log readability improvements which were asked by
various developers.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36903 >
2025-08-25 12:46:54 +00:00
Samuel Pitoiset
102892a458
radv: clear RADV_CMD_DIRTY_xxx bits outside of the caller in most cases
...
Prevent risks if an early return is added at some point.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36912 >
2025-08-25 12:17:39 +00:00
Samuel Pitoiset
3ecf9a17f8
radv: stop abusing dirty_dynamic when binding a NULL fragment shader
...
RADV_DYNAMIC_RASTERIZATION_SAMPLES triggers the following states:
- FS (not needed when FS is NULL)
- MSAA (already triggered)
- BINNING (use radv_get_ps_iter_samples() on GFX9)
- OCCLUSION_QUERY (doesn't use the PS)
- DB_SHADER_CONTROL (already triggered)
- RAST_SAMPLES (use radv_get_ps_iter_samples())
- NGGC (doesn't use the PS)
So this can be simplified to BINNING (gfx9) | RAST_SAMPLES.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36912 >
2025-08-25 12:17:38 +00:00
Samuel Pitoiset
19c712c8ef
radv: rename rast_prim to vgt_outprim_type everywhere
...
To avoid confusion between the primitive topology and the output
rasterized primitive.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36912 >
2025-08-25 12:17:38 +00:00
Samuel Pitoiset
5dec043cee
radv: dirty the rast samples state when VRS is forced to 1x1
...
Only these two states use force_sample_iter_shading_rate.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36912 >
2025-08-25 12:17:37 +00:00
Samuel Pitoiset
8120d14ee0
radv: dirty RADV_CMD_DIRTY_xx states when binding sample shading state
...
This reduces the number of states that are re-emitted but the logic
is mostly duplicated because sample shading can be set from the
fragment shader or the graphics pipeline. Could be refactored
eventually.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36912 >
2025-08-25 12:17:34 +00:00
Samuel Pitoiset
4afff72e91
radv: dirty the rast sample states for VRS att/OOO rast
...
These fields are only used by radv_emit_rast_samples_state().
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36912 >
2025-08-25 12:17:32 +00:00
Samuel Pitoiset
4dd05c9a91
radv: remove dead code when setting dynamic primitive topology
...
This is already handled slightly above in the same function. Also
state->dirty isn't for RADV_DYNAMIC_xxx and there is no corresponding
RADV_CMD_DIRTY_xxx either.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36912 >
2025-08-25 12:17:31 +00:00
Samuel Pitoiset
dbcc9aa942
radv: remove radv_cmd_buffer_flush_dynamic_state()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36912 >
2025-08-25 12:17:31 +00:00
Samuel Pitoiset
12f8508363
radv: add a new dirty bit for the VGT prim state
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36912 >
2025-08-25 12:17:31 +00:00
Samuel Pitoiset
4096009ea1
radv: add a new dirty bit for the patch control points state
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36912 >
2025-08-25 12:17:30 +00:00
Samuel Pitoiset
0c3680bea3
radv: add a new dirty bit for the tess domain origin state
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36912 >
2025-08-25 12:17:29 +00:00
Boris Brezillon
d0126f5ced
panvk: Fix disjoint image memory binding
...
Right now, we store the last VkDeviceMemory object bound to an image in
panvk_image::mem, but this doesn't work for disjoint images where the mem
object can differ on each plane.
Move panvk_image::mem to panvk_image_plane::mem and prefix the offset
field with mem_, so it's clear the offset refers to the mem object.
Note this should only fix host copy on disjoint images, since the GPU
address was already properly set at bind time.
Fixes: 1cd61ee948 ("panvk: implement VK_EXT_host_image_copy for linear color images")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36926 >
2025-08-25 11:46:48 +00:00
Yiwei Zhang
5349537cb3
meson/android: amend the condition for libbacktrace
...
libbacktrace compatibility has been dropped since Android 14, so the
current flags and deps shall be kept behind api level < 34.
Meanwhile, its successor, libunwindstack, has been available since
Android 11 (api level 31). So one can hook that up if needed.
Reviewed-by: Antonio Ospite <antonio.ospite@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36961 >
2025-08-25 10:47:19 +00:00
Yiwei Zhang
9239160a29
docs/android: default to use -Dandroid-libbacktrace=disabled
...
Since Android 14 (api level 34), libbacktrace has been dropped. The MESA
Android doc has already been updated to use api level 34, so we should
have it disabled accordingly.
Reviewed-by: Antonio Ospite <antonio.ospite@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36961 >
2025-08-25 10:47:19 +00:00
Georg Lehmann
791a57805c
aco: fix ra validation for flat/global/scratch/ds load sbyte_d16
...
Fixes: 18a53230eb ("aco: don't check dst_bitsize in apply_load_extract")
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36964 >
2025-08-25 10:09:16 +00:00
Boris Brezillon
125de6cd63
panvk: Remove leftovers from CPU-side min/max index calculation
...
Commit c11f47481a ("panvk: stop CPU mapping all index buffers on JM")
stopped mapping the buffer objects on v9-, but it forgot to remove
panvk_buffer::host_ptr and panvk_cmd_graphics_state::host_addr.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Olivia Lee <olivia.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36934 >
2025-08-25 11:50:18 +02:00
Yiwei Zhang
050a37c923
panvk: drop an obsolete assert of explicit mod plane count
...
It has become obsolete since the proper support of the external
multi-planar images:
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35299
Test;
- no abort in camera and video use with debug build panvk
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36959 >
2025-08-25 07:47:06 +00:00
Samuel Pitoiset
99b287bde5
radv: add missing L2 invalidate cache flush for non-coherent images
...
Images aren't always coherent with L2 and AMD generations have
different rules, see radv_image_is_l2_coherent() for the full picture.
This fixes a rendering issue on GFX9 because depth/stencil images
aren't coherent, but this also affects color images.
This also fixes a cache coherency issue with an ongoing extension.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12274
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36815 >
2025-08-25 07:28:50 +00:00
Christoph Pillmayer
0bfa01e466
panvk/perfetto: Drop zero duration events
...
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36609 >
2025-08-25 07:08:31 +00:00
Christoph Pillmayer
1d43bfa1cd
panvk/perfetto: Handle re-submittable command buffers
...
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36609 >
2025-08-25 07:08:31 +00:00
Christoph Pillmayer
f37cf63880
panvk/utrace: Remove dynamic alloc from utrace clone builder
...
Based on the previous commit, we can also remove the dynamic allocation
for command memory from the submit path and use the new pool instead.
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36609 >
2025-08-25 07:08:31 +00:00
Christoph Pillmayer
05006c21dd
panvk/utrace: Alloc utrace copy buf from userspace heap
...
utrace requires some memory to allocate buffers for timestamps and
indirect data each submit. It is expensive to allocate it from the
kernel each time. Instead, allocate a big bo upfront and hand it out
in small pieces later using util_vma_heap.
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36609 >
2025-08-25 07:08:30 +00:00
Qiang Yu
c1b9396403
mesa: fix glTexPageCommitmentARB and glTexturePageCommitmentEXT level check
...
gl_texture_object._MaxLevel is not set at this point. Follow the level
check of texsubimage_error_check() now.
Fixes: 90415c1a3a ("mesa: implement glTexPageCommitmentARB/glTexturePageCommitmentEXT")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13730
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36865 >
2025-08-25 01:28:13 +00:00
Emma Anholt
d1a6be75db
util/u_queue: Fix data race on num_threads during finish.
...
This should fix a deadlock I saw on
dEQP-EGL.functional.sharing.gles2.multithread.random.programs.link.7 on
radeonsi, where we were waiting on an invalid fence[1] value. This was
probably because between when we started setting up the fences for
u_queue_finish and when we waited on those fences, a second thread was
created.
Closes : #13738
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36919 >
2025-08-24 19:30:06 +00:00
Sid Pranjale
1f79ba9a51
docs: mark VK_KHR_depth_clamp_zero_one as done for NVK
...
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36962 >
2025-08-24 16:10:33 +00:00
Konstantin Seurer
951b187b95
nir: Use nir_def_block in more places
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36746 >
2025-08-24 14:03:10 +00:00
Konstantin Seurer
9df7b48d2f
nir: Use nir_def_as_* in more places
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36746 >
2025-08-24 14:03:09 +00:00
Konstantin Seurer
906b541567
radv/bvh: Copy parent_id during updates on GFX12
...
Fixes: cc0dc4b5 ("radv: Store parent node IDs inside nodes on GFX12")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13567
Reviewed-by: Natalie Vock <natalie.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36898 >
2025-08-24 13:45:29 +00:00
Thibault Payet
1de30797ae
venus: Use SYS_thr_self on FreeBSD instead of SYS_gettid
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36953 >
2025-08-24 02:15:46 +00:00
Valentine Burley
2595b029fa
tu: Advertise VK_EXT_shader_atomic_float
...
We pass the tests for exchange, load, and store on R32_SFLOAT, including
shared memory (which the proprietary driver does not advertise). The blob
does not support add operations either.
Passes:
dEQP-VK.glsl.atomic_operations.exchange_float*
dEQP-VK.image.atomic_operations.exchange*r32f*
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36907 >
2025-08-23 20:13:44 +00:00
Josh Simmons
922c3c53ce
util: Fix BITSET_EXTRACT out-of-bounds read
...
In some situations the implementation of `BITSET_EXTRACT` would read
beyond the size of the bitset due to an unconditional + 1 in the address
calculation.
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Fixes: 0cc9443e9b ("util: Add BITSET_EXTRACT")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34605 >
2025-08-23 19:46:05 +02:00
Pierre-Eric Pelloux-Prayer
0088fbc3a9
radeonsi/tests: update rasterpos results
...
It's not a Flake anymore: it consistently fails instead of crashing
sometimes.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36411 >
2025-08-23 14:44:29 +00:00
Pierre-Eric Pelloux-Prayer
a3c0632342
mesa/st: check buf before dereferencing it
...
It can be NULL.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36411 >
2025-08-23 14:44:29 +00:00
Pierre-Eric Pelloux-Prayer
e92638b6bf
nir/opt_varyings: fix build with PRINT_RELOCATE_SLOT
...
Fixes: e3d122ed7b ("nir/opt_varyings: completely exclude mediump from type changes")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36411 >
2025-08-23 14:44:29 +00:00
Pierre-Eric Pelloux-Prayer
0e3ec9e82c
mesa/st: always use base_serialized_nir for draw
...
f2f640f35 introduces base variants, so we get 2 NIR shaders:
glsl-to-nir -> base_serialized_nir
-> serialized_nir
Then, depending on who is using the shader the right one would be picked:
* draw uses base_serialized_nir
* hw driver uses serialized_nir
ef0c9231a7 made sure that base wasn't used when the shader is loaded from
the cache because it's missing, so in this case, glsl-to-nir does:
glsl-to-nir -> from-cache -> serialized_nir
The problem is that if draw tries to use this shader it may fail, for
the same reason as the referenced commits were introduced: draw may not
be compatible with some NIR passes used by the driver.
To fix this we need to serialize both NIR shaders, and pick the right
one depending on the user.
Fixes: ef0c9231a7 ("mesa/st: don't use serialized_nir for cached shaders")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36411 >
2025-08-23 14:44:29 +00:00
Karol Herbst
d9c3bbb08c
aux/trace: move fence_server calls outside the locked area
...
Multiple contexts can use those causing deadlocks if e.g. fence_get_fd
gets called before fence_server_signal on another thread on the same
pipe_fence_handle.
Cc: mesa-stable
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36819 >
2025-08-23 13:40:58 +02:00
Karol Herbst
5fe097a844
rusticl: add SPDX tags
...
Using MIT as mesa is MIT by default.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36856 >
2025-08-23 11:19:57 +00:00
Mary Guillemard
9b50cd2f40
nouveau/headers: Add raw INC methods in nv_push rust impl
...
Allows to push new cmd headers explicitly.
Signed-off-by: Mary Guillemard <mary@mary.zone >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36093 >
2025-08-23 10:38:02 +00:00
Mary Guillemard
c64d8a0548
nouveau/headers: Fix nv_push rust push_inline_data implementation
...
Signed-off-by: Mary Guillemard <mary@mary.zone >
Fixes: 66954d997d ("nouveau/headers: Add an nv_push crate in Rust")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36093 >
2025-08-23 10:38:02 +00:00
Mary Guillemard
63cdad6bb7
nouveau/headers: Add missing M2MF parsing and set it for subchan 2
...
Signed-off-by: Mary Guillemard <mary@mary.zone >
Fixes: 4bb256e5ac ("nouveau: Handle subchannels better in nv_push_print()")
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36093 >
2025-08-23 10:38:02 +00:00
Mary Guillemard
2c5abf9512
nouveau/headers: Handle Ampere A GPFIFO in dumper
...
GPFIFO class changed a bit with the years and some
things doesn't parse well on those traces so let's allow to decode with
Ampere A GPFIFO if we are decoding Ampere or later.
Signed-off-by: Mary Guillemard <mary@mary.zone >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36093 >
2025-08-23 10:38:02 +00:00
Mary Guillemard
8b87207135
nouveau/headers: Mark SET_POINT_SIZE as using float
...
Signed-off-by: Mary Guillemard <mary@mary.zone >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36093 >
2025-08-23 10:38:01 +00:00
Mary Guillemard
930e17dfe9
nouveau/headers: Properly parse DMA classes for Turing and Ampere A
...
Signed-off-by: Mary Guillemard <mary@mary.zone >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36093 >
2025-08-23 10:38:01 +00:00
Danylo Piliaiev
3ec7615e54
util/disk_cache: Allow disk cache on Android if explicitly enabled
...
Disk cache is disabled on Android because by default it is
managed by EGL_ANDROID_blob_cache layer. However there are cases
or custom Android builds where disk cache is needed, then it can be
explicitly enabled via `mesa.shader.cache.disable=false` property
and cache path must be set via `mesa.shader.cache.dir`.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36821 >
2025-08-23 10:06:47 +00:00
Danylo Piliaiev
ff9ba2cef0
util/disk_cache: Fallback to ftruncate if posix_fallocate not supported
...
The posix_fallocate itself may be present and callable but filesystem
may not support it. Happens at least on Android.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36821 >
2025-08-23 10:06:47 +00:00
Danylo Piliaiev
d93813c7a0
util/disk_cache: Use os independent functions instead of getenv
...
In preparation to allow disk cache to work on Android.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36821 >
2025-08-23 10:06:46 +00:00
Danylo Piliaiev
1184830f60
util: Add function os_get_option_secure
...
Same as os_get_option() but uses secure_getenv() instead of getenv()
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36821 >
2025-08-23 10:06:46 +00:00
Valentine Burley
59f5f239f6
freedreno/ci: Add missing caching proxy for traces
...
The currently active a618 trace jobs haven’t been using the caching
proxy.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36929 >
2025-08-23 08:02:11 +00:00
Pohsiang (John) Hsu
e76e95e084
gallium/pipebuffer: fix multithread issue on pb_slab_manager_create_buffer
...
This is an issue found in testing multiple mediafoundation MFT
concurrently. Thanks to Jesse for the fix.
cc: mesa-stable
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36923 >
2025-08-23 02:09:15 +00:00