Commit graph

184774 commits

Author SHA1 Message Date
Danylo Piliaiev
e39b6e2b9b freedreno: Make possible to specify A7XX feature flags
Previously the idea was for each generation to have unique list
of feature flags, now it makes more sense for new generation
to have only new flags defined and "inherit" older gen flags.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25086>
2023-10-04 15:51:54 +00:00
Danylo Piliaiev
823b3bfeea ir3,tu: Refactor push consts info plumbing
In preparation for a new way to pass push consts into a shader,
introduced in a7xx.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25086>
2023-10-04 15:51:54 +00:00
Danylo Piliaiev
d5d7631060 freedreno/registers: Refine a7xx push consts registers
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25086>
2023-10-04 15:51:54 +00:00
Samuel Pitoiset
b8ad3ddb1e radv: fix emulated geometry shader primitives/invocations queries
If both are used together, only the geometry shader primitives were
copied.

Found by inspection.

Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25543>
2023-10-04 15:16:36 +00:00
Samuel Pitoiset
c3d823765a radv/ci: rename GFX1100 lists to NAVI31
The chip has been renamed.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25542>
2023-10-04 14:20:34 +00:00
Eric Engestrom
86bdabb4c2 ci: fix shebang in build-deqp-runner.sh
We use bash features such as `pushd`, so be accurate in the shebang,
even though in practice this is sourced not executed so this shebang
only serves our editors.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25430>
2023-10-04 13:39:36 +00:00
Marek Olšák
bc432ab9a0 radeonsi/ci: update navi10 results
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25515>
2023-10-04 12:35:15 +00:00
Marek Olšák
f4d08bf92d Revert "radeonsi: specialize si_draw_rectangle using a C++ template"
This reverts commit cd7e20f513.

Navi1x turns off NGG when streamout queries are active, which breaks
the assumption of specialized si_draw_rectangle that NGG is always
enabled on Navi1x.

Fixes: cd7e20f513

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25515>
2023-10-04 12:35:15 +00:00
Karol Herbst
93d5d85d35 rusticl: fix clippys bool_to_int_with_if
New in clippy-1.65

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25538>
2023-10-04 11:44:51 +00:00
Martin Roukala (né Peres)
cbdd4f5373 zink/ci: remove 19 tests from the zink-radv-polaris10-fails list
It seems that most crashes in glgetteximage-related tests were fixed,
likely by [1] \o/.

[1]: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25460

Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25535>
2023-10-04 11:13:29 +00:00
Georg Lehmann
0e819465b3 aco: print final ir instead if printing asm is unsupported
Not a perfect replacement, but it's better than nothing.

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25522>
2023-10-04 08:35:48 +00:00
Georg Lehmann
73605d46dd aco: assume newer generation will use GFX11 wait_imm packing
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25522>
2023-10-04 08:35:48 +00:00
Georg Lehmann
73e85c6691 aco: assume new generations are unsupported by clrx
clrx hasn't seen any changes since 2021. I guess the only reson to keep it is
GFX6 support.

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25522>
2023-10-04 08:35:48 +00:00
Mike Blumenkrantz
a2641ddf0d gallium: add PIPE_MAP_NONE
not actually used, just for trace printing

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25189>
2023-10-04 02:57:08 +00:00
Mike Blumenkrantz
ef00ea7b50 aux/trace: dump enum names for map usage
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25189>
2023-10-04 02:57:07 +00:00
Mike Blumenkrantz
72323f66d9 zink: guarantee egl syncobj lifetime
according to spec, egl syncobjs can be deleted before they complete,
which means they need to be preserved while they're still in progress

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25460>
2023-10-04 02:27:53 +00:00
Mike Blumenkrantz
4ef2226210 zink: fix end-of-batch barrier pipeline stages
ALL_COMMANDS covers all the layouts used here

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25460>
2023-10-04 02:27:53 +00:00
Mike Blumenkrantz
d0dd973fe2 zink: move v3dv scalarBlockLayout workaround
this isn't actually device-level workaround, it's just error suppression

fixes #9895

Fixes: 2978b85789 ("zink: don't warn about missing scalarBlockLayout on v3dv")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25456>
2023-10-04 02:00:20 +00:00
Mike Blumenkrantz
2531050ec9 zink: move push descriptor disable to driver workarounds
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25456>
2023-10-04 02:00:20 +00:00
Mike Blumenkrantz
c3f5416eaf zink: fix crashing in image rebinds
this is invalid for buffer textures

cc: mesa-stable

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25379>
2023-10-04 01:34:55 +00:00
Benjamin Cheng
9e67866609 radv/video: find SPS with pps_seq_parameter_set_id
Reviewed-by: Lynne <dev@lynne.ee>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25490>
2023-10-04 01:12:34 +00:00
Samuel Pitoiset
60dd34b02a zink/ci: bump zink-anv-tgl-full timeout to 1h45m
It can timeout otherwise. Might be due to recent uprev CTS.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25509>
2023-10-03 19:38:39 +00:00
Samuel Pitoiset
91cb09b236 zink/ci: update list of expectations for zink-anv-tgl
See https://gitlab.freedesktop.org/mesa/mesa/-/pipelines/995410.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25509>
2023-10-03 19:38:39 +00:00
Emma Anholt
57aa6dad16 ci/crocus: Add a related flake to a known one.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25509>
2023-10-03 19:38:39 +00:00
Emma Anholt
e8511d5adb ci/docker: Clear the results file before starting a new deqp test run.
crocus-hsw was failing because results.csv.zst was left around in the
results dir, and then zstd -o complained.  We shouldn't be uploading stale
results files, anyway, so do an rm -rf first to clean up when the docker
container gets reused.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25509>
2023-10-03 19:38:39 +00:00
Emma Anholt
c3c2a8def0 ci/zink: Skip more doubles tests on anv that flake at 3 minute timeouts.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25509>
2023-10-03 19:38:39 +00:00
Emma Anholt
73dd48f3e0 ci/etnaviv: Skip a GLES2 test that times out the asan job.
We could make asan use a toml setup that just skipped this for asan, but
this is quick and easy and I don't think there's too much risk here.  This
would make every asan job I've looked at in the nightlies pass.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25509>
2023-10-03 19:38:39 +00:00
Emma Anholt
1432f7cf4a ci/etnaviv: Minor xfail/flake polishing.
Now that the regular piglit GPU hangs are sorted, we can get some more signal.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25509>
2023-10-03 19:38:39 +00:00
Emma Anholt
77b240a251 ci/anv: Drop the 16bit.scalar.13 skip.
It's now at 1.5 sec on my ADL and CFL systems.

Closes: #4641
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25509>
2023-10-03 19:38:39 +00:00
Emma Anholt
c742cba113 ci/anv: Drop incorrect xfail addition for TGL
This xfails file is for deqp-vk.  The xfail that was added was for
angle-on-anv, which has its own expectations files and has this test
recently listed as a flake already.

Fixes: a217c5c58c ("ci: update to vulkan-cts-1.3.6.3")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25509>
2023-10-03 19:38:39 +00:00
Gert Wollny
16662f8d3a copyimage: check requested slice early when cube maps are involved
The generalized check for the z-slice happens in 'check_region_bounds',
but this function requires the image pointer that is acquired in
`prepare_target_err`, therefore replace the assertion with a proper test.

v2: Also check for negative value (Brian Paul)

CC: mesa-stable

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25507>
2023-10-03 18:50:10 +00:00
Kenneth Graunke
17b8b2cffd anv: Add support for a transfer queue on Alchemist
Alchemist has an improved blitter that's sufficiently powerful to
implement a transfer queue. Tigerlake's blitter lacks compression
handling and other features we need, unfortunately.

Rework (Sagar):
- Check blitter command buffer in EndCommandBuffer

v2: (Lionel)
- Look at image, buffer and memory barriers as well
- Flush cache if there is queue ownership transfer

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18325>
2023-10-03 18:02:52 +00:00
Sagar Ghuge
5112b42146 anv: Handle end of pipe with MI_FLUSH_DW on transfer queue
Blitter command streamer supports MI_FLUSH_DW command so make sure we
don't end up emitting pipe control with CS stall and also handle the end
of pipe timestamp with MI_FLUSH_DW command.

Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18325>
2023-10-03 18:02:52 +00:00
Danylo Piliaiev
b048ba569a ci: Compile Turnip's virtio kmd in debian-arm64
Nothing compiled virtio kmd in CI.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25531>
2023-10-03 17:06:27 +00:00
Danylo Piliaiev
34d436fde2 tu/virtio: Fix incorrect call to tu_perfetto_submit
Virtio backend backend was not updated because it was not
compiled in CI and not compiled locally.

Fixes: 7f59e37233
("tu/perfetto: Allow gpu time to be passed into tu_perfetto_submit")

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25531>
2023-10-03 17:06:26 +00:00
Danylo Piliaiev
ec95573302 tu/a7xx: Correctly record timestamps for u_trace
It was changed how CP_EVENT_WRITE works on A7XX.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25528>
2023-10-03 15:48:12 +00:00
Rob Clark
583c636ea4 freedreno: Add attach-bo debugging
Add asserts to verify that BOs referenced in cmdstream are attached to
the submit.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25465>
2023-10-03 15:18:03 +00:00
Rob Clark
366367eba8 freedreno: Move/add some attach_bo()
In some cases we were missing this, in others we just needed to move it
before the OUT_RELOC().

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25465>
2023-10-03 15:18:03 +00:00
Rob Clark
9870cca6a0 freedreno: Add missing indirect_draw_count tracking
Fixes: f677f64e80 ("freedreno: implement GL_ARB_indirect_parameters")
Fixes: b43e5aec0d ("freedreno/batch: Move submit bo tracking to batch")
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25465>
2023-10-03 15:18:03 +00:00
Rob Clark
8a3b4b69a2 freedreno: Add private-BO tracking
There are some internally used buffers that we should just attach to
every submit up-front.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25465>
2023-10-03 15:18:03 +00:00
Rob Clark
c6f17d89c7 freedreno/batch: Move query_buf allocation
This lets us move fd_batch_update_queries() after resource tracking.
Which will become needed in the next patch which adds validation to
assert needed BOs are attached to the submit.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25465>
2023-10-03 15:18:03 +00:00
Rob Clark
2189920e49 freedreno: Fix user const buffer dirtiness
If we went the upload_user_buffer() path, cb->buffer would be null,
causing fd_dirty_shader_resource() to be a no-op.  What we want to
use is &so->cb[index].

Fixes: b43e5aec0d ("freedreno/batch: Move submit bo tracking to batch")
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25465>
2023-10-03 15:18:03 +00:00
Rob Clark
4c0defda8a freedreno: Fix streamout offset_buf dirtiness
We also need to mark the offset buffer as dirty.

Fixes: b43e5aec0d ("freedreno/batch: Move submit bo tracking to batch")
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25465>
2023-10-03 15:18:03 +00:00
Rob Clark
1f6e20cca6 freedreno/a6xx: Remove dummy packet for globals
Unneeded since commit b43e5aec0d ("freedreno/batch: Move submit bo
tracking to batch")

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25465>
2023-10-03 15:18:03 +00:00
Rob Clark
8c537a35e6 freedreno: Use explicit QCOM_TILED3 modifier
Now that this is in upstream drm_fourcc.h we can drop the private
internal modifier.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25465>
2023-10-03 15:18:03 +00:00
Rob Clark
d0b861200e freedreno: Indentation fix
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25465>
2023-10-03 15:18:03 +00:00
Danylo Piliaiev
ec268fa5b6 tu/kgsl: Support u_trace and perfetto
Raw GPU time is retrieved via kgsl_cmdbatch_profiling_buffer,
offseted GPU time is retrieved via KGSL_PERFCOUNTER_GROUP_ALWAYSON.
This allows to calculate GPU time offset for each submission and
synchronize CPU/GPU time domains.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12805>
2023-10-03 14:19:24 +00:00
Danylo Piliaiev
3ccd199708 tu/kgsl: Fix memory leak of tmp allocations during submissions
cc: mesa-stable

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12805>
2023-10-03 14:19:24 +00:00
Danylo Piliaiev
7f59e37233 tu/perfetto: Allow gpu time to be passed into tu_perfetto_submit
In preparation to support perfetto on KGSL, on KGSL GPU time is
retrieved on submission and requires minimal post-processing.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12805>
2023-10-03 14:19:24 +00:00
Danylo Piliaiev
18a47efb80 tu/perfetto: Remove now unnecessary tu_perfetto_util
Since Turnip now uses C++ we can directly include tu_device.h
into perfetto code.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12805>
2023-10-03 14:19:24 +00:00