platform/upstream/mesa.git
9 months agotu: Add push_consts_per_stage debug option
Danylo Piliaiev [Tue, 5 Sep 2023 17:32:43 +0000 (19:32 +0200)]
tu: Add push_consts_per_stage debug option

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25086>

9 months agoturnip,ir3: Implement A7XX push consts load via preamble
Danylo Piliaiev [Tue, 5 Sep 2023 16:24:03 +0000 (18:24 +0200)]
turnip,ir3: Implement A7XX push consts load via preamble

New push consts loading consist of:
- Push consts are set for the entire pipeline via HLSQ_SHARED_CONSTS_IMM
  array which could fit up to 256b of push consts.
- For each shader stage that uses push consts READ_IMM_SHARED_CONSTS
  should be set in HLSQ_*_CNTL, otherwise push consts may get overwritten
  by new push consts that are set after the draw.
- Push consts are loaded into consts reg file in a shader preamble via
  stsc at the very start of the preamble.

OPC_PUSH_CONSTS_LOAD_MACRO is used instead of directly translating NIR
intrinsic into stsc because: we don't want to teach legalize pass how
to set (ss) between stores and loads of consts reg file, don't want for
stsc to be reordered, etc.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25086>

9 months agofreedreno: Make possible to specify A7XX feature flags
Danylo Piliaiev [Tue, 5 Sep 2023 13:44:49 +0000 (15:44 +0200)]
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>

9 months agoir3,tu: Refactor push consts info plumbing
Danylo Piliaiev [Tue, 5 Sep 2023 09:26:16 +0000 (11:26 +0200)]
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>

9 months agofreedreno/registers: Refine a7xx push consts registers
Danylo Piliaiev [Tue, 5 Sep 2023 09:10:58 +0000 (11:10 +0200)]
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>

9 months agoradv: fix emulated geometry shader primitives/invocations queries
Samuel Pitoiset [Thu, 28 Sep 2023 12:51:37 +0000 (14:51 +0200)]
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>

9 months agoradv/ci: rename GFX1100 lists to NAVI31
Samuel Pitoiset [Wed, 4 Oct 2023 10:32:27 +0000 (12:32 +0200)]
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>

9 months agoci: fix shebang in build-deqp-runner.sh
Eric Engestrom [Wed, 27 Sep 2023 14:12:59 +0000 (15:12 +0100)]
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>

9 months agoradeonsi/ci: update navi10 results
Marek Olšák [Tue, 3 Oct 2023 02:38:16 +0000 (22:38 -0400)]
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>

9 months agoRevert "radeonsi: specialize si_draw_rectangle using a C++ template"
Marek Olšák [Tue, 3 Oct 2023 02:21:35 +0000 (22:21 -0400)]
Revert "radeonsi: specialize si_draw_rectangle using a C++ template"

This reverts commit cd7e20f51388b29c3fb6c5ec5e3ffd860052e7f7.

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: cd7e20f51388

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25515>

9 months agorusticl: fix clippys bool_to_int_with_if
Karol Herbst [Mon, 2 Oct 2023 21:33:54 +0000 (23:33 +0200)]
rusticl: fix clippys bool_to_int_with_if

New in clippy-1.65

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25538>

9 months agozink/ci: remove 19 tests from the zink-radv-polaris10-fails list
Martin Roukala (né Peres) [Wed, 4 Oct 2023 04:47:30 +0000 (07:47 +0300)]
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>

9 months agoaco: print final ir instead if printing asm is unsupported
Georg Lehmann [Tue, 3 Oct 2023 09:55:03 +0000 (11:55 +0200)]
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>

9 months agoaco: assume newer generation will use GFX11 wait_imm packing
Georg Lehmann [Tue, 3 Oct 2023 09:41:44 +0000 (11:41 +0200)]
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>

9 months agoaco: assume new generations are unsupported by clrx
Georg Lehmann [Tue, 3 Oct 2023 09:31:14 +0000 (11:31 +0200)]
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>

9 months agogallium: add PIPE_MAP_NONE
Mike Blumenkrantz [Mon, 11 Sep 2023 16:22:10 +0000 (12:22 -0400)]
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>

9 months agoaux/trace: dump enum names for map usage
Mike Blumenkrantz [Mon, 11 Sep 2023 16:20:59 +0000 (12:20 -0400)]
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>

9 months agozink: guarantee egl syncobj lifetime
Mike Blumenkrantz [Thu, 28 Sep 2023 17:35:12 +0000 (13:35 -0400)]
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>

9 months agozink: fix end-of-batch barrier pipeline stages
Mike Blumenkrantz [Thu, 28 Sep 2023 17:33:49 +0000 (13:33 -0400)]
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>

9 months agozink: move v3dv scalarBlockLayout workaround
Mike Blumenkrantz [Thu, 28 Sep 2023 12:14:28 +0000 (08:14 -0400)]
zink: move v3dv scalarBlockLayout workaround

this isn't actually device-level workaround, it's just error suppression

fixes #9895

Fixes: 2978b85789c ("zink: don't warn about missing scalarBlockLayout on v3dv")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25456>

9 months agozink: move push descriptor disable to driver workarounds
Mike Blumenkrantz [Thu, 28 Sep 2023 12:13:04 +0000 (08:13 -0400)]
zink: move push descriptor disable to driver workarounds

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25456>

9 months agozink: fix crashing in image rebinds
Mike Blumenkrantz [Mon, 25 Sep 2023 19:30:11 +0000 (15:30 -0400)]
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>

9 months agoradv/video: find SPS with pps_seq_parameter_set_id
Benjamin Cheng [Sat, 30 Sep 2023 16:37:50 +0000 (12:37 -0400)]
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>

9 months agozink/ci: bump zink-anv-tgl-full timeout to 1h45m
Samuel Pitoiset [Wed, 27 Sep 2023 16:25:09 +0000 (18:25 +0200)]
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>

9 months agozink/ci: update list of expectations for zink-anv-tgl
Samuel Pitoiset [Wed, 27 Sep 2023 09:56:47 +0000 (11:56 +0200)]
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>

9 months agoci/crocus: Add a related flake to a known one.
Emma Anholt [Mon, 2 Oct 2023 17:16:40 +0000 (10:16 -0700)]
ci/crocus: Add a related flake to a known one.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25509>

9 months agoci/docker: Clear the results file before starting a new deqp test run.
Emma Anholt [Mon, 2 Oct 2023 17:15:06 +0000 (10:15 -0700)]
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>

9 months agoci/zink: Skip more doubles tests on anv that flake at 3 minute timeouts.
Emma Anholt [Mon, 2 Oct 2023 17:01:54 +0000 (10:01 -0700)]
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>

9 months agoci/etnaviv: Skip a GLES2 test that times out the asan job.
Emma Anholt [Mon, 2 Oct 2023 16:59:14 +0000 (09:59 -0700)]
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>

9 months agoci/etnaviv: Minor xfail/flake polishing.
Emma Anholt [Mon, 2 Oct 2023 16:56:40 +0000 (09:56 -0700)]
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>

9 months agoci/anv: Drop the 16bit.scalar.13 skip.
Emma Anholt [Mon, 2 Oct 2023 16:48:50 +0000 (09:48 -0700)]
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>

9 months agoci/anv: Drop incorrect xfail addition for TGL
Emma Anholt [Mon, 25 Sep 2023 18:33:50 +0000 (11:33 -0700)]
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: a217c5c58c53 ("ci: update to vulkan-cts-1.3.6.3")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25509>

9 months agocopyimage: check requested slice early when cube maps are involved
Gert Wollny [Mon, 2 Oct 2023 13:38:19 +0000 (15:38 +0200)]
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>

9 months agoanv: Add support for a transfer queue on Alchemist
Kenneth Graunke [Thu, 16 Jun 2022 16:05:30 +0000 (09:05 -0700)]
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>

9 months agoanv: Handle end of pipe with MI_FLUSH_DW on transfer queue
Sagar Ghuge [Thu, 7 Sep 2023 23:01:57 +0000 (16:01 -0700)]
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>

9 months agoci: Compile Turnip's virtio kmd in debian-arm64
Danylo Piliaiev [Tue, 3 Oct 2023 16:30:13 +0000 (18:30 +0200)]
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>

9 months agotu/virtio: Fix incorrect call to tu_perfetto_submit
Danylo Piliaiev [Tue, 3 Oct 2023 16:25:34 +0000 (18:25 +0200)]
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: 7f59e3723380e7ed72588040e4f496733ac5ec83
("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>

9 months agotu/a7xx: Correctly record timestamps for u_trace
Danylo Piliaiev [Tue, 3 Oct 2023 12:17:07 +0000 (14:17 +0200)]
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>

9 months agofreedreno: Add attach-bo debugging
Rob Clark [Mon, 2 Oct 2023 18:05:39 +0000 (11:05 -0700)]
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>

9 months agofreedreno: Move/add some attach_bo()
Rob Clark [Mon, 2 Oct 2023 18:03:35 +0000 (11:03 -0700)]
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>

9 months agofreedreno: Add missing indirect_draw_count tracking
Rob Clark [Mon, 2 Oct 2023 19:45:10 +0000 (12:45 -0700)]
freedreno: Add missing indirect_draw_count tracking

Fixes: f677f64e80c4 ("freedreno: implement GL_ARB_indirect_parameters")
Fixes: b43e5aec0d2c ("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>

9 months agofreedreno: Add private-BO tracking
Rob Clark [Mon, 2 Oct 2023 17:53:54 +0000 (10:53 -0700)]
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>

9 months agofreedreno/batch: Move query_buf allocation
Rob Clark [Tue, 26 Sep 2023 19:51:53 +0000 (12:51 -0700)]
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>

9 months agofreedreno: Fix user const buffer dirtiness
Rob Clark [Wed, 27 Sep 2023 17:24:13 +0000 (10:24 -0700)]
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: b43e5aec0d2c ("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>

9 months agofreedreno: Fix streamout offset_buf dirtiness
Rob Clark [Thu, 28 Sep 2023 19:43:33 +0000 (12:43 -0700)]
freedreno: Fix streamout offset_buf dirtiness

We also need to mark the offset buffer as dirty.

Fixes: b43e5aec0d2c ("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>

9 months agofreedreno/a6xx: Remove dummy packet for globals
Rob Clark [Mon, 25 Sep 2023 19:51:08 +0000 (12:51 -0700)]
freedreno/a6xx: Remove dummy packet for globals

Unneeded since commit b43e5aec0d2c ("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>

9 months agofreedreno: Use explicit QCOM_TILED3 modifier
Rob Clark [Thu, 28 Sep 2023 18:40:09 +0000 (11:40 -0700)]
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>

9 months agofreedreno: Indentation fix
Rob Clark [Wed, 27 Sep 2023 17:27:15 +0000 (10:27 -0700)]
freedreno: Indentation fix

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25465>

9 months agotu/kgsl: Support u_trace and perfetto
Danylo Piliaiev [Thu, 10 Aug 2023 09:54:44 +0000 (11:54 +0200)]
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>

9 months agotu/kgsl: Fix memory leak of tmp allocations during submissions
Danylo Piliaiev [Thu, 10 Aug 2023 13:36:33 +0000 (15:36 +0200)]
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>

9 months agotu/perfetto: Allow gpu time to be passed into tu_perfetto_submit
Danylo Piliaiev [Wed, 9 Aug 2023 14:14:07 +0000 (16:14 +0200)]
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>

9 months agotu/perfetto: Remove now unnecessary tu_perfetto_util
Danylo Piliaiev [Wed, 9 Aug 2023 12:06:24 +0000 (14:06 +0200)]
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>

9 months agonir/lower_subgroups: use intrinsic builder more
Georg Lehmann [Mon, 2 Oct 2023 11:02:14 +0000 (13:02 +0200)]
nir/lower_subgroups: use intrinsic builder more

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25501>

9 months agonir: make quad intrinsic dst bit size match src0
Georg Lehmann [Mon, 2 Oct 2023 10:53:49 +0000 (12:53 +0200)]
nir: make quad intrinsic dst bit size match src0

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25501>

9 months agoisaspec: Add BitSetEnumValue object
Christian Gmeiner [Mon, 4 Sep 2023 13:18:15 +0000 (15:18 +0200)]
isaspec: Add BitSetEnumValue object

There might be cases where you describe an enum in isaspec and want it to use
for decoding but also for codegen with e.g. mako.

Lets have a look at the following exmaple:

<enum name="#cond">
<value val="0" display=""/>    <!-- always: display nothing -->
<value val="1" display=".gt"/>
...
</enum>

In the decoding case we want that nothing gets displayed if #cond has the value of "0". For
codegen with mako this could result in the following C code:

enum PACKED cond {
   COND_ = 0,
   COND_GT = 1,
   ...
};

What you really want is this:

enum PACKED cond {
   COND_ALWAYS = 0,
   COND_GT = 1,
   ...
};

To make this possible introduce BitSetEnumValue class which represents
an isaspec xml enum. It holds the value, displayname and now a name.

With the  __str__ method the old behaviour is still intact.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25451>

9 months agoisaspec: Add support for custom meta information
Christian Gmeiner [Tue, 29 Aug 2023 10:49:08 +0000 (12:49 +0200)]
isaspec: Add support for custom meta information

Allows every user of isaspec to add custom meta information
to any bitset. This can be quite handy if you want to know
how many sources your instruction have, if this instruction has
a dest or provide some names for sources that can be used
by some debug tools.

All you need is to sprinkle <meta> tags in the xml file and
provide custom attributes.
  <meta has_dest="1" num_sources="3" .. />

With get_meta() method of any bitset you can get access to
the dict with all the attributes. get_meta() walks the whole
tree to collect all <meta> tags on the way to the root node.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25451>

9 months agoisaspec: Add method to get all instrustions
Christian Gmeiner [Mon, 28 Aug 2023 14:40:16 +0000 (16:40 +0200)]
isaspec: Add method to get all instrustions

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25451>

9 months agoisaspec: encode: Correct used regex
Christian Gmeiner [Wed, 30 Aug 2023 15:12:16 +0000 (17:12 +0200)]
isaspec: encode: Correct used regex

The current regex misses the = sign and therefore fails to match
DST:align=16.

Fixes: 9e56f69edf5 ("isaspec: encode: handle special fieldname properties")
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25451>

9 months agoisaspec: Add support for templates
Christian Gmeiner [Wed, 16 Aug 2023 09:56:03 +0000 (11:56 +0200)]
isaspec: Add support for templates

If you have a repeating <display> substring you can replace this
substring with a template and reference the template name instead.

Saves from doing lot of copy&paste and makes general changes to the
substring much easier.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25451>

9 months agov3dv/ci: update expected list
Juan A. Suarez Romero [Tue, 3 Oct 2023 07:20:33 +0000 (09:20 +0200)]
v3dv/ci: update expected list

Remove dEQP-VK.api.driver_properties.conformance_version, as the version
it required is now the one used in the CI.

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25518>

9 months agoradv: enable DCC for MSAA images on GFX11
Samuel Pitoiset [Thu, 28 Sep 2023 08:23:20 +0000 (10:23 +0200)]
radv: enable DCC for MSAA images on GFX11

This seems to be working now! I suspect either the "recent" addrlib
update fixed it or recent comp-to-single fast clear fixes.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8326
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25448>

9 months agotu: add a TU_DEBUG=rd option for cmdstream dumping
Jonathan Marek [Fri, 15 Sep 2023 13:18:22 +0000 (09:18 -0400)]
tu: add a TU_DEBUG=rd option for cmdstream dumping

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25246>

9 months agofreedreno: move redump.h to common code + cleanup
Jonathan Marek [Fri, 15 Sep 2023 15:29:55 +0000 (11:29 -0400)]
freedreno: move redump.h to common code + cleanup

remove the unused parts and add an implementation of rd_write_section

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25246>

9 months agoRevert "ci: disable Collabora's LAVA lab for maintance"
Sergi Blanch Torne [Mon, 25 Sep 2023 07:36:22 +0000 (09:36 +0200)]
Revert "ci: disable Collabora's LAVA lab for maintance"

This reverts commit https://gitlab.freedesktop.org/mesa/mesa/-/commit/ccd3e68146fd7ee8732d497f367a0574e4cf84a8

Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25369>

9 months agoisl: Use 16-bit instead of 8-bits for surface format info fields
Sagar Ghuge [Fri, 29 Sep 2023 05:52:48 +0000 (22:52 -0700)]
isl: Use 16-bit instead of 8-bits for surface format info fields

Comparing uint8_t max value 255 with devinfo->verx10 will work fine for
now but for future platforms, comparison will fail. To avoid this
let's switch the field data type from 8-bits to 16-bits.

v1: (Jordan)
- Use 16 bits instead of 32 and add assertion.

Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25478>

9 months agoradv/amdgpu: fix alignment of command buffers
Samuel Pitoiset [Mon, 2 Oct 2023 11:53:33 +0000 (13:53 +0200)]
radv/amdgpu: fix alignment of command buffers

Fixes other recent regressions.

Fixes: 4f660f99 ("ac/gpu_info: pad IBs according to ib_size_alignment")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25502>

9 months agoci: make B2C_JOB_VOLUME_EXCLUSIONS to all .b2c-test jobs
Martin Roukala (né Peres) [Tue, 8 Aug 2023 18:57:12 +0000 (21:57 +0300)]
ci: make B2C_JOB_VOLUME_EXCLUSIONS to all .b2c-test jobs

Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25429>

9 months agoaco: remove -0.0 for 32 bit fsign with mul_legacy/omod when denorms are flushed
Georg Lehmann [Fri, 22 Sep 2023 11:48:43 +0000 (13:48 +0200)]
aco: remove -0.0 for 32 bit fsign with mul_legacy/omod when denorms are flushed

v_mul_legacy_f32 and omod return +0.0 if any operand is +0.0/-0.0.

Foz-DB Navi21:
Totals from 4289 (5.60% of 76572) affected shaders:
Instrs: 8100571 -> 8099319 (-0.02%); split: -0.02%, +0.00%
CodeSize: 43433200 -> 43435088 (+0.00%); split: -0.01%, +0.01%
Latency: 88151566 -> 88147232 (-0.00%); split: -0.00%, +0.00%
InvThroughput: 22966705 -> 22965192 (-0.01%); split: -0.01%, +0.00%
VClause: 190010 -> 190009 (-0.00%)
SClause: 269697 -> 269689 (-0.00%)
Copies: 687294 -> 687296 (+0.00%); split: -0.00%, +0.00%

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25347>

9 months agoaco/optimizer: copy propagate to output modifier instructions
Georg Lehmann [Fri, 22 Sep 2023 17:08:18 +0000 (19:08 +0200)]
aco/optimizer: copy propagate to output modifier instructions

Foz-DB Navi21:
Totals from 847 (1.11% of 76572) affected shaders:
Instrs: 2331245 -> 2330335 (-0.04%); split: -0.04%, +0.00%
CodeSize: 12451040 -> 12451736 (+0.01%); split: -0.00%, +0.01%
Latency: 26230953 -> 26229153 (-0.01%); split: -0.01%, +0.00%
InvThroughput: 6297802 -> 6296788 (-0.02%); split: -0.02%, +0.00%
VClause: 64527 -> 64528 (+0.00%); split: -0.00%, +0.01%
SClause: 73150 -> 73121 (-0.04%); split: -0.06%, +0.02%
Copies: 180083 -> 179172 (-0.51%); split: -0.53%, +0.02%
PreSGPRs: 62311 -> 62316 (+0.01%)
PreVGPRs: 51720 -> 51710 (-0.02%)

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25347>

9 months agoaco/optimizer: check if we can use omod before labeling it
Georg Lehmann [Fri, 22 Sep 2023 12:10:52 +0000 (14:10 +0200)]
aco/optimizer: check if we can use omod before labeling it

Allows to use omod for v_mul_legacy_f32 regardless of signedZeroInfNaNPreserve

Foz-DB Navi21:
Totals from 15 (0.02% of 76572) affected shaders:
Instrs: 20131 -> 20113 (-0.09%)
CodeSize: 107100 -> 107144 (+0.04%)
Latency: 400789 -> 400470 (-0.08%)
InvThroughput: 62342 -> 62278 (-0.10%)
Copies: 1194 -> 1176 (-1.51%)
PreVGPRs: 787 -> 785 (-0.25%)

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25347>

9 months agoradv/ci: update list of flakes for NAVI10/VEGA10
Samuel Pitoiset [Mon, 2 Oct 2023 12:44:58 +0000 (14:44 +0200)]
radv/ci: update list of flakes for NAVI10/VEGA10

This one is fixed since CTS 1.3.6.3.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25505>

9 months agoradv/ci: update list of expected failures on PITCAIRN
Samuel Pitoiset [Mon, 2 Oct 2023 12:44:35 +0000 (14:44 +0200)]
radv/ci: update list of expected failures on PITCAIRN

This one is fixed since CTS 1.3.6.3.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25505>

9 months agoradv: fix alignment of DGC command buffers
Samuel Pitoiset [Mon, 2 Oct 2023 09:37:45 +0000 (11:37 +0200)]
radv: fix alignment of DGC command buffers

Otherwise, DGC command buffers might not be correctly aligned.

This fixes a regression with the vkd3d-proton DGC tests.

Fixes: 4f660f99378 ("ac/gpu_info: pad IBs according to ib_size_alignment")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25500>

9 months agointel/genxml: remove HDC from gen11.xml, it is not available
Tapani Pälli [Thu, 28 Sep 2023 10:17:47 +0000 (13:17 +0300)]
intel/genxml: remove HDC from gen11.xml, it is not available

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25399>

9 months agoiris: HDC flush is available only for GFX_VER 12+
Tapani Pälli [Thu, 28 Sep 2023 10:17:17 +0000 (13:17 +0300)]
iris: HDC flush is available only for GFX_VER 12+

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25399>

9 months agoanv: HDC flush is available only for GFX_VER 12+
Tapani Pälli [Thu, 28 Sep 2023 10:16:00 +0000 (13:16 +0300)]
anv: HDC flush is available only for GFX_VER 12+

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25399>

9 months agoiris: flush data cache when flushing HDC on GFX < 12
Tapani Pälli [Tue, 26 Sep 2023 09:25:42 +0000 (12:25 +0300)]
iris: flush data cache when flushing HDC on GFX < 12

This matches what anv driver does.

Fixes: a969ad1d ("iris: Demote DC flush to HDC flush in cache tracker")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6314
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25399>

9 months agoaco: remove zero offset optimization
Rhys Perry [Fri, 29 Sep 2023 15:35:20 +0000 (16:35 +0100)]
aco: remove zero offset optimization

This is done in nir_opt_constant_folding now.

No fossil-db changes on navi31.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25477>

9 months agonir/constant_folding: remove zero texel offset
Rhys Perry [Fri, 29 Sep 2023 15:33:50 +0000 (16:33 +0100)]
nir/constant_folding: remove zero texel offset

fossil-db (navi31):
Totals from 7 (0.01% of 79330) affected shaders:
Instrs: 7001 -> 6993 (-0.11%)
CodeSize: 35736 -> 35692 (-0.12%)
InvThroughput: 3232 -> 3229 (-0.09%)
Copies: 552 -> 549 (-0.54%)
PreSGPRs: 277 -> 273 (-1.44%)

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25477>

9 months agoaco: disable zero offset optimization for strict WQM coords
Rhys Perry [Fri, 29 Sep 2023 15:12:09 +0000 (16:12 +0100)]
aco: disable zero offset optimization for strict WQM coords

If we try to do this, we end up using {undef,coordx} as the coordinates
for an image_sample instruction, because we can't shrink the linear VGPR.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9767
Fixes: 859e059aa912 ("radv: use fix_derivs_in_divergent_cf")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25477>

9 months agonir: scalarize masked_swizzle_amd created from shuffle_xor
Georg Lehmann [Fri, 29 Sep 2023 06:08:15 +0000 (08:08 +0200)]
nir: scalarize masked_swizzle_amd created from shuffle_xor

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9901
Fixes: 0ef87f148df ("nir/lower_subgroups: Don't do multiple lowerings at once")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25468>

9 months agoiris/anv: move Wa_14018912822 as a drirc workaround
Tapani Pälli [Wed, 27 Sep 2023 09:04:18 +0000 (12:04 +0300)]
iris/anv: move Wa_14018912822 as a drirc workaround

This should be toggled on only for applications that hit the issue.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9886
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/25424>

9 months agoiris: correct dst alpha blend factor in Wa_14018912822
Tapani Pälli [Wed, 27 Sep 2023 08:54:26 +0000 (11:54 +0300)]
iris: correct dst alpha blend factor in Wa_14018912822

Fixes: 0e9a26372bb4 ("iris: implement Wa_14018912822")
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/25424>

9 months agoanv: fix internal compute copy shader build
Lionel Landwerlin [Fri, 29 Sep 2023 22:29:41 +0000 (01:29 +0300)]
anv: fix internal compute copy shader build

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9907
Fixes: 2cc5b3b1e0 ("anv: add a memcpy compute internal kernel")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25480>

9 months agodocs: Move isaspec out of drivers/freedreno
Christian Gmeiner [Thu, 28 Sep 2023 10:15:29 +0000 (12:15 +0200)]
docs: Move isaspec out of drivers/freedreno

Lets put it under 'Developer Topics'.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Acked-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25452>

9 months agov3d: get rid of shader_state pointer in v3d_key
Iago Toral Quiroga [Wed, 27 Sep 2023 07:19:33 +0000 (09:19 +0200)]
v3d: get rid of shader_state pointer in v3d_key

Having this pointer in the key is undesirable since it makes
copying keys difficult and error prone (as seen in previous
patches), also, it is only there for convenience and we don't
strictly need it (in fact the vulkan driver doesn't use it at
all), so let's just get rid of it so our v3d_key is fully
static.

Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25418>

9 months agov3d: fix RAM shader cache
Iago Toral Quiroga [Tue, 26 Sep 2023 11:50:09 +0000 (12:50 +0100)]
v3d: fix RAM shader cache

The RAM shader cache was using the v3d_key for hashes and
comparisons which is not correct. Particularly, this struct
has a void pointer where we store a reference to an uncompiled
shader with the NIR code, and that is of course not accounted
for when hashing and comparing keys, which can lead to bogus
cache hits.

This patch introduces a v3d_cache_key that has both the v3d key
and a sha1 of the uncompiled NIR. Now key hashing and comparison
is done on the static part of the v3d key (that is, excluding the
uncompiled shader pointer, which may be invalid in the cache if
the original shader was deleted) and taking the sha1 from the
uncompiled shader. This also makes sure the shader key we store
in the cache has a NULL shader_state pointer to make it more
clear that this field may not be used at all for caching purposes.

This fixes GPU hangs with some OpenCL tests (through Rusticl)
caused by incorrect RAM cache hits.

Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25418>

9 months agov3d: use pre-computed shader sha1 for disk cache
Iago Toral Quiroga [Tue, 26 Sep 2023 11:11:39 +0000 (12:11 +0100)]
v3d: use pre-computed shader sha1 for disk cache

Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25418>

9 months agov3d: compute nir sha1 for uncompiled shader state
Iago Toral Quiroga [Tue, 26 Sep 2023 08:17:24 +0000 (09:17 +0100)]
v3d: compute nir sha1 for uncompiled shader state

Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25418>

9 months agobroadcom/compiler: add a couple of shader key helpers
Iago Toral Quiroga [Tue, 26 Sep 2023 08:15:17 +0000 (09:15 +0100)]
broadcom/compiler: add a couple of shader key helpers

Our shader key includes a void pointer that we can't just memcmp,
so add helpers that allow us toget the 'static' portion and size
of a key. We will use this to fix up the shader cache in v3d in
a later patch.

Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25418>

9 months agoci: disable Collabora's LAVA lab for maintance
Sergi Blanch Torne [Mon, 25 Sep 2023 07:32:10 +0000 (09:32 +0200)]
ci: disable Collabora's LAVA lab for maintance

This is to inform you of some planned downtime in the LAVA lab as follows:
* Start: 2023-10-02 08:00 BST (07:00 UTC)
* End: 2023-10-02 12:00 BST (11:00 UTC)

Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25368>

9 months agoci/vkcts-navi21: mark more of the RT handles checks as flakes
Martin Roukala (né Peres) [Sun, 1 Oct 2023 06:38:06 +0000 (09:38 +0300)]
ci/vkcts-navi21: mark more of the RT handles checks as flakes

We keep hitting more and more of them, so let's be more inclusive.

Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25495>

9 months agoci/vkcts-vangogh: mark dEQP-VK.dynamic_rendering.primary_cmd_buff.basic.* as flake
Martin Roukala (né Peres) [Sun, 1 Oct 2023 06:34:00 +0000 (09:34 +0300)]
ci/vkcts-vangogh: mark dEQP-VK.dynamic_rendering.primary_cmd_buff.basic.* as flake

This mirrors what we did on navi21, as there are just too many of these tests.

Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25495>

9 months agoasahi: decode: Fix uint64_t format modifiers in agxdecode_stateful()
Janne Grunau [Sun, 17 Sep 2023 08:42:15 +0000 (10:42 +0200)]
asahi: decode: Fix uint64_t format modifiers in agxdecode_stateful()

Fixes i386 build.

Fixes: acd5ed0451d6 ("asahi: decode: Implement VDM call/ret")
Signed-off-by: Janne Grunau <j@jannau.net>
9 months agoasahi: Handle layered background programs
Alyssa Rosenzweig [Mon, 28 Aug 2023 15:41:16 +0000 (11:41 -0400)]
asahi: Handle layered background programs

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
9 months agoasahi: Generate layered EOT programs
Alyssa Rosenzweig [Mon, 28 Aug 2023 13:43:56 +0000 (09:43 -0400)]
asahi: Generate layered EOT programs

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
9 months agoasahi: Use a 2D Array texture for array render targets
Alyssa Rosenzweig [Wed, 16 Aug 2023 19:53:13 +0000 (15:53 -0400)]
asahi: Use a 2D Array texture for array render targets

Fixes KHR-GLES31.core.geometry_shader.layered_framebuffer.blending_support with
eMRT forced.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
9 months agoasahi: Write to cubes/etc attachments as 2D array
Alyssa Rosenzweig [Thu, 17 Aug 2023 16:51:45 +0000 (12:51 -0400)]
asahi: Write to cubes/etc attachments as 2D array

To reduce shader variants, the tilebuffer lowering code does not know the
actual texture targets of the spilled render targets, only whether they are
layered or not. As such, all layered targets (3D, cube map, etc) get written out
uniformly as 2D Arrays. For that to work, the driver needs to do the
corresponding transform.

Regular imageStore() instructions are not affected by any of this.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
9 months agoasahi: Predicate layer ID reads
Alyssa Rosenzweig [Wed, 16 Aug 2023 21:58:48 +0000 (17:58 -0400)]
asahi: Predicate layer ID reads

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
9 months agoasahi: Add pass to predicate layer ID reads
Alyssa Rosenzweig [Wed, 16 Aug 2023 21:58:06 +0000 (17:58 -0400)]
asahi: Add pass to predicate layer ID reads

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>