Boris Brezillon
dd698919ca
panvk/jm: Add a JM barrier on clear AFBC jobs
...
We need to add a JM barrier after the memset(0) COMPUTE job if we want
to ensure the header reset happens before any texturing from this texture
in subsequent COMPUTE/VERTEX jobs.
Fixes: c95f899305 ("panvk: add a meta command for transitioning image layout
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37158 >
2025-09-15 10:59:04 +00:00
Boris Brezillon
b2fabf1ffe
panvk/jm: Automatically open a batch in dispatch_precomp()
...
cmd_clear_afbc_metadata() might be called before any other job, and it's
assuming dispatch_precomp() doesn't fail in that case. We could
explicitly open the batch in cmd_clear_afbc_metadata(), but checking for
cur_batch==NULL and opening a new batch seems to be okay too, and it
allows us to not special case for v7 in cmd_clear_afbc_metadata().
Fixes: c95f899305 ("panvk: add a meta command for transitioning image layout")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37158 >
2025-09-15 10:59:04 +00:00
Boris Brezillon
023972827a
panvk/jm: Preload the FB even if we have no draws queued
...
There seems to be cases where we end up with a depth/stencil preload,
with no draw associated to it, so let's make sure we preload in that
case, otherwise we will write invalid data back.
Fixes: 0bc3502ca3 ("panvk: Implement a custom FB preload logic")
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/37158 >
2025-09-15 10:59:04 +00:00
Boris Brezillon
ec9a5c8278
panvk: Pass a correct aspect to panvk_plane_index()
...
In panvk_vX_cmd_meta.c, panvk_plane_index() is passed the bit position
instead of an aspect in a couple places.
Fixes: c95f899305 ("panvk: add a meta command for transitioning image layout")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37158 >
2025-09-15 10:59:04 +00:00
Boris Brezillon
7943441cad
panvk: Fix panvk_image_can_use_afbc() for GetPhysicalDeviceImageFormatProperties2()
...
Commit 33eff977f6 ("panvk: Use pan_image_test_props() to do our
modifier check") removed the checks that are already done by
pan_image_test_props() from panvk_image_can_use_afbc(), but it didn't
account for the fact panvk_image_can_use_afbc() is also used to
report suboptimal setup when HOST_TRANSFER is set.
Reported-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Fixes: 33eff977f6 ("panvk: Use pan_image_test_props() to do our modifier check")
Closes: https://gitlab.freedesktop.org/panfrost/mesa/-/issues/204
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37158 >
2025-09-15 10:59:04 +00:00
Christian Gmeiner
2a5d515922
etnaviv: Support PIPE_FORMAT_S8_UINT stencil format
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37014 >
2025-09-15 10:45:17 +00:00
Christian Gmeiner
fda092729d
etnaviv: rs: Support 8bpp for clears
...
Needs a GPU with S8 support.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37014 >
2025-09-15 10:45:17 +00:00
Christian Gmeiner
750c2fab76
etnaviv: Update headers from rnndb
...
Update to rnndb commit 2d84bab111c0
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37014 >
2025-09-15 10:45:16 +00:00
Christian Gmeiner
7028b78252
etnaviv: hwdb: Add S8 feature
...
This feature tells if the GPU core supports 8bit stencil.
The bit in the gc_feature_database.h is called REG_RSS8 but lets call it
just S8 to name it more generic.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37014 >
2025-09-15 10:45:16 +00:00
Georg Lehmann
76df6cd321
nir: remove has_ddx_intrinsics option
...
I thought this was already gone but apparently not quite.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37362 >
2025-09-15 10:16:27 +00:00
Daniel Stone
1754bfa94a
ci/freedreno: Skip overly-slow trace
...
The Godot trace has started timing out, taking close to or over 5min to
run. It's been skipped out on zink-tu-a618 for this reason, so do it on
the native driver too.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13894
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37366 >
2025-09-15 10:03:22 +00:00
Qiang Yu
0a266f0256
radeonsi: really support eglExportDMABUFImageQueryMESA
...
Now it should return explicite modifier and plane number.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31658 >
2025-09-15 09:39:19 +00:00
Qiang Yu
f416a52960
egl: refine dma buf export to support multi plane
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31658 >
2025-09-15 09:39:19 +00:00
Qiang Yu
41cde01b0b
gallium: add PIPE_RESOURCE_PARAM_DISJOINT_PLANES
...
To query if a DRI_IMAGE has separate plane buffer handle.
radeonsi's DCC compressed dri image has multiple planes
(compressed data and metadata). But they share the same
buffer with different offsets, so we only need one buffer
handle for them.
This attribute is used to distinguish single buffer multi
plane image from multi buffer multi plane image.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31658 >
2025-09-15 09:39:19 +00:00
Qiang Yu
310cfda034
ac/surface: add ac_compute_surface_modifier
...
Used by radeonsi to export existing texture modifier.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31658 >
2025-09-15 09:39:19 +00:00
Qiang Yu
98cd68ec05
ac/surface: add radeonsi exported modifiers to supported list
...
radeonsi will export texture with these modifiers.
piglit tests:
spec@ext_image_dma_buf_import@ext_image_dma_buf_import-export-tex
spec@ext_image_dma_buf_import@ext_image_dma_buf_import-tex-modifier
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31658 >
2025-09-15 09:39:19 +00:00
Qiang Yu
1b0ec56c40
ac/surface: refine supported modifier list for multi block size
...
Reference KMD convert_tiling_flags_to_modifier(). And we are
going to add 4K block size.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31658 >
2025-09-15 09:39:19 +00:00
Valentine Burley
c00bb4c1fe
zink/ci: Disable ASan leak detection and re-enable zink-anv-cml-asan
...
The CML job runs into leaks in various tests, and the only way to
re-enable the job is to disable leak detection for now.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37330 >
2025-09-15 09:20:14 +00:00
Jose Maria Casanova Crespo
72d7864c6b
v3d: Don't enable Early-z with discards when stencil updates are enabled
...
This fixes font rendering artifacts when Chromium/Firefox use Office365
PowerPoint set into fullscreen presentation mode.
Fixes: 5b951bcdd7 ("v3d: Enable Early-Z with discards when depth updates are disabled")
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37349 >
2025-09-15 09:06:25 +00:00
Valentine Burley
d1ff7cf445
ci/crosvm: Add log sections for crosvm
...
Clean up the GitLab job logs for crosvm jobs by adding a few collapsed
log section.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13882
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37327 >
2025-09-15 08:06:11 +00:00
Qiang Yu
ea5e190b91
panfrost: fix lowered multi plane resource offset/stride param get
...
EGL is going to really export each plane's offset/stride, panfrost
need to fix for passing the piglit test:
spec@ext_image_dma_buf_import@ext_image_dma_buf_import-export
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13853
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37247 >
2025-09-15 06:39:43 +00:00
Qiang Yu
95579b7af6
panfrost: fix image plane array copy
...
Reference the original code, each plane resource have
the same image plane array.
Fixes: 53e5e07c4b ("pan: Add the concept of modifier handler")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Eric R. Smith <eric.smith@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37247 >
2025-09-15 06:39:43 +00:00
Georg Lehmann
5962659c85
radv: remove uses_rt from radv_shader_info
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37294 >
2025-09-14 13:21:21 +00:00
Georg Lehmann
a2d3cbac2a
radv: determine subgroup/wave size early
...
This means we can actually implement varying subgroup size correctly.
It also means that we implement the implicit SPIR-V 1.6 full subgroups
requirement in compute shaders with cswave32/rtwave32.
In the future it will also allow more optimizations that use the subgroup size.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
The only somewhat complex case here is GFX10 geometry shaders, if gewave32 is
used. We then only know the subgroup size when is_ngg is decided, as legacy
GS doesn't support wave32.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37294 >
2025-09-14 13:21:21 +00:00
Georg Lehmann
76a502d75a
ac/nir: set subgroup size for gs copy shader
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37294 >
2025-09-14 13:21:21 +00:00
Georg Lehmann
c4cdbee2e6
radv: remove unused ballot_bit_size from shader info
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37294 >
2025-09-14 13:21:21 +00:00
Georg Lehmann
2cda56e8b7
ac/llvm: remove unused ballot size
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37294 >
2025-09-14 13:21:20 +00:00
Georg Lehmann
f83a6e6389
radv: add varying subgroup size to shader stage key
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37294 >
2025-09-14 13:21:20 +00:00
Mike Blumenkrantz
393958a02e
zink: use a better array loop sizing for gfx descriptor program init
...
this will be more consistent if the array is ever resized
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37358 >
2025-09-14 07:56:15 -04:00
Mike Blumenkrantz
a7c320e652
zink: some minor tweaks to descriptor template code
...
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37358 >
2025-09-14 07:56:15 -04:00
Mike Blumenkrantz
b17235968e
zink: break out setting draw-time dynamic state into separate function
...
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37358 >
2025-09-14 07:56:15 -04:00
Mike Blumenkrantz
2712dc2179
zink: add enum zink_pipeline_idx to distinguish between types of pipelines
...
used for array indexing in many cases
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37358 >
2025-09-14 07:56:15 -04:00
Mike Blumenkrantz
ea4d64531d
zink: unify ntv code for loading shared/scratch memory
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37358 >
2025-09-14 07:56:15 -04:00
Mike Blumenkrantz
d74eff651b
zink: unify ntv code for storing shared/scratch memory
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37358 >
2025-09-14 07:56:15 -04:00
Mike Blumenkrantz
b6f0826ce5
zink: make zink_descriptor_util_push_layouts_get() static
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37358 >
2025-09-14 07:56:15 -04:00
Mike Blumenkrantz
4e50969e83
zink: delete weird prog->pipelines sizing
...
this was a tiny micro-optimization for not allocating hash tables, but
really it just makes the code more confusing for no reason
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37358 >
2025-09-14 07:56:15 -04:00
Mike Blumenkrantz
308744e789
zink: mark dirty_gfx_stages using util function
...
more extensible for mesh
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37358 >
2025-09-14 07:56:05 -04:00
Mike Blumenkrantz
dce29ae35f
Revert "util/vbuf: stop nooping set_vertex_buffers calls"
...
This reverts commit cccca8d140 .
did not mean for this to merge
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37353 >
2025-09-13 11:18:09 -04:00
Mike Blumenkrantz
cccca8d140
util/vbuf: stop nooping set_vertex_buffers calls
...
this sucks, but if the gallium expectation is that changing vertex state
always requires a vb update, vbuf can no longer deduplicate repeated
calls
Fixes: 1638d486ff ("gallium/u_threaded,st/mesa: add a merged set_vertex_elements_and_buffers call")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37277 >
2025-09-13 12:20:31 +00:00
Mike Blumenkrantz
d63374498d
zink: eliminate even more calls to sync functions
...
many times (especially in viewperf), vertex buffers and draw buffers
have no prior access, which means incurring a heavy call to the barrier
function which will just return a no-op anyway
instead, have an inline helper to no-op these cases and just add the
expected access
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37277 >
2025-09-13 12:20:30 +00:00
Mike Blumenkrantz
58ed06ad68
zink: only remove buffer deferred sync on release
...
this is otherwise just a huge amount of overhead whenever
descriptors are unbound
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37277 >
2025-09-13 12:20:29 +00:00
Mike Blumenkrantz
1abc337e94
zink: delete some function decls that no longer exist
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37277 >
2025-09-13 12:20:28 +00:00
Mike Blumenkrantz
5ef8453228
zink: use memcpy for vbo bind
...
there's no more refcounting here so this is fine
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37277 >
2025-09-13 12:20:28 +00:00
Mike Blumenkrantz
aee0379414
zink: rescope some zink_set_vertex_buffers_internal variables
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37277 >
2025-09-13 12:20:27 +00:00
Mike Blumenkrantz
f8c96df9d2
zink: move vbo unbind to bind_vertex_state
...
set_vertex_buffers is required to be called after the bind_state call,
which means some code can be moved out of the higher frequency call site
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37277 >
2025-09-13 12:20:27 +00:00
Mike Blumenkrantz
06a8e7b87e
zink: move zink_bind_vertex_elements_state() to zink_context.c
...
needed in order to handle unbinding
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37277 >
2025-09-13 12:20:26 +00:00
Mike Blumenkrantz
f99503faa2
zink: use velems buffer count in blitter instead of gfx mask
...
small simplification
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37277 >
2025-09-13 12:20:26 +00:00
Mike Blumenkrantz
a730c83dd0
zink: split update_res_bind_count
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37277 >
2025-09-13 12:20:26 +00:00
Mike Blumenkrantz
c96bb8d1c4
zink: ALWAYS_INLINE zink_set_vertex_buffers_internal
...
otherwise the specialization is useless
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37277 >
2025-09-13 12:20:25 +00:00
Mike Blumenkrantz
26f4cc39b5
zink: add a fastpath for nooping vertex and draw buffer barriers
...
even doing this mechanism inside the barrier function doesn't yield
anywhere near the same gains (~15-20% in viewperf catia), mostly for
the draw buffers, so I'd assume it's just added register pressure
from the huge draw function
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37277 >
2025-09-13 12:20:25 +00:00