Marek Olšák
4d6a90ddac
radeonsi: split image saving/binding/restoring from si_launch_grid_internal_images
...
Since the compute blit can execute multiple dispatches in a loop,
we shouldn't save/bind/restore images for every single dispatch.
This will help move that out of the loop.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31168 >
2024-09-14 11:03:45 -04:00
Marek Olšák
69ad0fc61e
radeonsi: only set need_check_render_feedback if binding textures for PS
...
Other shader stages can't realistically read and render to the same
pixel of the same texture simultaneously.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31168 >
2024-09-14 11:03:45 -04:00
Marek Olšák
d4178e58f7
radeonsi: skip no-op si_compute_blit()
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31168 >
2024-09-14 11:03:45 -04:00
Marek Olšák
ef136ab94e
radeonsi: move barrier code out of si_launch_grid_internal_ssbos/images
...
and into the new si_barrier functions.
The new barrier function parameters might be excessive for now, but they
will be used later, hopefully.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31168 >
2024-09-14 11:03:45 -04:00
Marek Olšák
fd04919f4e
radeonsi: move compute barrier calls up one level
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31168 >
2024-09-14 11:03:45 -04:00
Marek Olšák
797112d1e2
radeonsi: split si_launch_grid_internal to start preparing for barrier rework
...
This moves code from si_launch_grid_internal into 4 new functions:
- si_barrier_before_internal_op
- si_barrier_after_internal_op
- si_compute_begin_internal
- si_compute_end_internal
The goal is to move setting the flush flags into callers, which will
eventually become proper memory barriers.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31168 >
2024-09-14 11:03:45 -04:00
Marek Olšák
465f42e907
radeonsi: inline si_get_flush_flags
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31168 >
2024-09-14 11:03:45 -04:00
Marek Olšák
bf77786b79
radeonsi: replace enum si_cache_policy with cp_dma_has_L2()
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31168 >
2024-09-14 11:03:45 -04:00
Marek Olšák
1ce9729cce
radeonsi: remove L2_STREAM enum
...
never used
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31168 >
2024-09-14 11:03:45 -04:00
Marek Olšák
9ed0530413
radeonsi: move enum si_cache_policy and si_get_flush_flags into si_cp_dma.c
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31168 >
2024-09-14 11:03:45 -04:00
Marek Olšák
b0ee7b0b8f
radeonsi: don't use si_get_flush_flags in si_launch_grid_internal_ssbos
...
It didn't do anything. It only set INV_SCACHE and INV_VCACHE, which are
already set optimally by si_launch_grid_internal.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31168 >
2024-09-14 11:03:45 -04:00
Marek Olšák
cfe1f2b841
radeonsi: remove enum si_coherency
...
SI_COHERENCY_SHADER is the only one that's used.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31168 >
2024-09-14 11:03:45 -04:00
Marek Olšák
a009aa7365
radeonsi: remove all SI_COHERENCY_* flags except SI_COHERENCY_SHADER
...
it will be simplified in the next commit
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31168 >
2024-09-14 11:03:44 -04:00
Marek Olšák
eb52b774e1
radeonsi: don't use SI_COHERENCY_CP
...
It only skips flushing SMEM and VMEM caches.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31168 >
2024-09-14 11:03:44 -04:00
Marek Olšák
d9bfe075a5
radeonsi: don't use SI_COHERENCY_CB_META
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31168 >
2024-09-14 11:03:44 -04:00
Marek Olšák
413bdcd7c3
radeonsi: don't use SI_COHERENCY_NONE in si_compute_shorten_ubyte_buffer
...
This removes the last non-AMD_TEST use of SI_COHERENCY_NONE.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31168 >
2024-09-14 11:03:44 -04:00
Marek Olšák
68adac4d28
radeonsi: move get_cache_policy into si_cp_dma.c
...
it's the only user
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31168 >
2024-09-14 11:03:44 -04:00
Marek Olšák
8c872d46a8
radeonsi: don't use get_cache_policy in si_launch_grid_internal_ssbos
...
This is more correct.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31168 >
2024-09-14 11:03:44 -04:00
Marek Olšák
d04150965b
radeonsi: remove unused size parameter from get_cache_policy
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31168 >
2024-09-14 11:03:44 -04:00
Marek Olšák
fe18c09703
radeonsi: add si_cp_pfp_sync_me
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31168 >
2024-09-14 11:03:44 -04:00
Marek Olšák
2d64e8d333
radeonsi: use the correct cs for SQTT barriers for gfx9
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31168 >
2024-09-14 11:03:44 -04:00
Marek Olšák
862a5f7abe
radeonsi: add gfx10+ support into si_cp_acquire_mem
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31168 >
2024-09-14 11:03:44 -04:00
Marek Olšák
a42d9db1b6
radeonsi: add si_cp_acquire_mem helper and clean up its usage for gfx6-9
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31168 >
2024-09-14 11:03:44 -04:00
Marek Olšák
1d5ffb13d6
radeonsi: add ACQUIRE_MEM, RELEASE_MEM PWS packet helpers
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31168 >
2024-09-14 11:03:44 -04:00
Marek Olšák
9690481535
radeonsi: remove SI_CONTEXT_VGT_STREAMOUT_SYNC, emit it directly
...
It has only 1 use.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31168 >
2024-09-14 11:03:44 -04:00
Marek Olšák
1a1138817c
radeonsi: add a new PM4 helper radeon_event_write
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31168 >
2024-09-14 11:03:44 -04:00
Marek Olšák
434eddd422
radeonsi: tweak si_test_dma_perf for better experience
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31168 >
2024-09-14 11:03:44 -04:00
Marek Olšák
05353cfd4f
radeonsi: use better OREO_MODE programming
...
We have been told to do this instead.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31168 >
2024-09-14 11:03:44 -04:00
Marek Olšák
0c734722a1
radeonsi/gfx11: disable RB+ when blending
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31168 >
2024-09-14 11:03:44 -04:00
Marek Olšák
3de719045a
radeonsi/gfx12: disallow DCC for protected content
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31168 >
2024-09-14 11:03:44 -04:00
Marek Olšák
c90d4e0d57
radeonsi/gfx12: remove CP DMA workarounds because CP DMA is never used on gfx12
...
except for cache prefetches.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31168 >
2024-09-14 11:03:44 -04:00
David Heidelberg
c5ee7ca4d6
ci/freedreno: mark jobs to be retested with patched 6.11 kernel
...
Signed-off-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31177 >
2024-09-14 15:24:04 +09:00
David Heidelberg
52c014a453
ci/freedreno: move disabled a530 entries back to main gitlab-ci.yml
...
Fixes: 9442571664 ("ci: separate hiden jobs to -inc.yml files")
Signed-off-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31177 >
2024-09-14 15:20:47 +09:00
Jami Kettunen
849a496b33
nouveau/headers: Fix build without rustfmt
...
This is optional elsewhere and seemingly the intention was already to
ignore failures, but it didn't catch FileNotFoundError when rustfmt
isn't even available.
Fixes: 591b5da49b ("nouveau/headers: Run rustfmt on generated files")
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30970 >
2024-09-14 04:34:46 +00:00
llyyr
5450306a36
vulkan/wsi/wayland: fix suboptimal flag being ignored with explicit sync
...
Signed-off-by: llyyr <llyyr.public@gmail.com >
Fixes: 5f7a5a27ef ("wsi: Implement linux-drm-syncobj-v1")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31122 >
2024-09-13 20:48:05 +00:00
Dylan Baker
ed8d1d3c9b
anv: if queue is NULL in vm_bind return early
...
In the error handling path we end up creating a vk_sync and then later
we vk_sync_wait() on it. If that wait fails somehow we'll end up calling
vk_queue_set_lost(&queue->vk, ...) which would segfault if queue is
NULL.
If we end up in this situation (no queue), return directly whatever the
backend's vm_bind function returned, propagating the error up if
necessary.
Fixes: dd5362c78a ("anv/xe: try harder when the vm_bind ioctl fails")
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31048 >
2024-09-13 20:17:40 +00:00
Dylan Baker
0422eed255
iris: Run checks that do not require resources before creating them
...
This avoids the need to free the resource if we decide to return early.
Fixes: c8df09ebd4 ("iris: More gracefully fail in resource_from_user_memory")
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/30306 >
2024-09-13 19:26:57 +00:00
Faith Ekstrand
3a9fe645d7
vulkan: Handle variable-length property arrays more generically
...
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31119 >
2024-09-13 18:33:11 +00:00
Lucas Stach
5f6ab7dcdf
etnaviv: limit number of varyings to fit into VS outputs
...
One of the VS output slots is always occupied by the position
output. Limit the number of user visible varyings to fit into
the remaining slots.
This reduces GL_MAX_VARYING_COMPONENTS to 60 on <halti5 GPUs,
which is still enough to meet the GLES3 minimum requirements.
Fixes piglit shaders@glsl-max-varyings.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31032 >
2024-09-13 15:25:07 +00:00
Lucas Stach
dcb61d3da5
etnaviv: validate number of VS outputs against GPU limit
...
All user defined varyings, the position output and possibly the
point size output need to fit into the GPU specific maximum
number of VS outputs. Check this limitation.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31032 >
2024-09-13 15:25:07 +00:00
Lucas Stach
21a5370f9c
etnaviv: fix total varying count assertion
...
We can support up to ETNA_NUM_INPUTS varyings. Make sure the assert
allows up to this number.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31032 >
2024-09-13 15:25:07 +00:00
Lucas Stach
ea34c7972b
etnaviv: support more VS outputs on halti5 GPUs
...
Halti5 GPUs doubled the number of available VS outputs, as documented
in rnndb. Double the size of the driver structure and use the size
defines generated by rnndb to emit the correct number of VS output
states, depending on GPU generation.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31032 >
2024-09-13 15:25:06 +00:00
Lucas Stach
a71003b1b8
etnaviv: emit all PA shader attributes
...
While the rnndb fix increased the size of the driver internal
structures to be able to hold all data for the currently supported
number of varyings, it didn't change the state emission, so only
a subset of the PA shader attribute states was emitted.
Use the define from rnndb to avoid such inconsistencies.
Fixes: 11ffb20b70 ("etnaviv: Update headers from rnndb")
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31032 >
2024-09-13 15:25:06 +00:00
Daniel Stone
f07bfe0b1d
ci: Use new arguments to ci-kdl to avoid child management
...
Instead of using a tee to the log, step the verbosity down - we already
know by this point that it's working pretty well. Passing --output-file
directly also lets us avoid a messy 'mv'.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31110 >
2024-09-13 10:13:06 +01:00
Daniel Stone
c96ee18086
ci: Upgrade ci-kdl
...
https://gitlab.freedesktop.org/gfx-ci/ci-kdl/-/merge_requests/2 brought
a bunch of improvements.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31110 >
2024-09-13 10:13:05 +01:00
Daniel Stone
71c77e0d00
ci/kdl: Fix KDL install location
...
Make sure that ci-kdl is built directly into the destination path; the
venv documentation explicitly states that venvs cannot be relocated.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31110 >
2024-09-13 10:12:09 +01:00
Daniel Stone
f46d022c4b
ci/xorg: Capture Xorg log in results artifacts
...
Because it's really infuriating trying to figure out why it hasn't
started without that.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31110 >
2024-09-13 10:12:09 +01:00
Daniel Stone
7fb2fa0e4b
ci/devcoredump: Use common $RESULTS_DIR
...
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31110 >
2024-09-13 10:12:09 +01:00
Daniel Stone
cf482a4563
ci/kdl: Use common $RESULTS_DIR
...
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31110 >
2024-09-13 10:12:09 +01:00
Daniel Stone
f890d41d46
ci/gtest: Use common $RESULTS_DIR
...
This means that GTEST_RESULTS_DIR no longer works.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31110 >
2024-09-13 10:12:09 +01:00