Commit graph

5500 commits

Author SHA1 Message Date
Job Noorman
757d38a682 ir3/legalize: resolve WAR hazards for stc
Just like scalar ALU, stc writes to the local buffer and needs (ss) to
resolve WAR hazards on its sources.

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31257>
2024-09-19 19:30:05 +00:00
Sergi Blanch Torne
213f5e9152 Uprev Piglit to e9ab30aeaed97b69868cf4d6d6a3f70f3b53c362
93b4bd2e0a...e9ab30aeae

Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Reviewed-by: David Heidelberg <david@ixit.cz>
Acked-by: Daniel Stone <daniels@collabora.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31058>
2024-09-19 15:41:32 +00:00
Valentine Burley
6485a2d1fa freedreno/ci: Uprev kernel for a630 runner
Uprev the kernel for the a630_vk_full manual job to avoid some hangs.

Signed-off-by: Valentine Burley <valentine.burley@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31237>
2024-09-19 06:34:46 +00:00
David Heidelberg
f044756732 ci/freedreno: mark a530_piglit as postmerge job
Fixes: dfc4a68b0a ("ci/freedreno: re-enable piglit tests for Adreno 530 in nightly runs")
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31244>
2024-09-19 12:35:47 +09:00
David Heidelberg
dfc4a68b0a ci/freedreno: re-enable piglit tests for Adreno 530 in nightly runs
Also, document recent Adreno 530 improvements and failures.

Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31183>
2024-09-16 16:30:33 +00:00
Rohan Garg
a03b307eea tu: enable VK_KHR_shader_relaxed_extended_instruction
The extension only affects non semantic instructions that need no
handling in the backend compiler.

Signed-off-by: Rohan Garg <rohan.garg@intel.com>
Acked-by: Connor Abbott <cwabbott0@gmail.com>
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30791>
2024-09-16 15:58:35 +00: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
Martin Roukala (né Peres)
82946dc152 freedreno/ci: fix the stage of the a750 jobs
We were accidentally overriding the job stage in .b2c-freedreno-vk-test,
which ended up moving the a750 jobs to the `freedreno` stage instead of
`freedreno-postmerge`.

Fixes: 25c70888a5 ("ci/broadcom: Move manual/nightly jobs to postmerge stage")
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31142>
2024-09-13 01:51:45 +00:00
David Heidelberg
78a121b8cf freedreno/ir3: Use nir_lower_mem_access_bit_sizes instead custom lowering
- More robust.
 - Handles properly UBO cases, needed for proper OpenCL support (rusticl).
 - Resolved KHR-GL46.gpu_shader_fp64.fp64.max_uniform_components failure.

Fixes: f5ce806ed7 ("freedreno/ir3: Add wide load/store lowering")
Reviewed-by: Rob Clark <robdclark@freedesktop.org>
Co-authored-by: Rob Clark <robclark@freedesktop.org>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30961>
2024-09-12 01:04:58 +09:00
Danylo Piliaiev
127f67a66a ir3: Respect aligment of required consts when allocating ubo,preamble
Optional const allocations (preamble, UBO, etc.) may shift the required
consts (e.g. driver params) more than they expect.
The free space for optional allocations should respect the aligment of
required consts that come after them.

Example: there are maximum 100 vec4 consts, driver params take 4 units,
something else takes 1 unit. Now premable thinks that there is 95 free
units, however driver params cannot start at offset=95 it has higher
aligment.

Fixes some d3d12 games.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31027>
2024-09-09 19:11:40 +00:00
Alyssa Rosenzweig
1753bf599c ci: update traces
🤕

thanks Mike

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30934>
2024-09-07 00:54:35 +00:00
Danylo Piliaiev
3886a3014d tu: Fix ZPASS_DONE having stale value with generic clear+early frag test
If the next renderpass uses the same depth attachment, clears it
with generic clear - ZPASS_DONE may somehow read stale values that
are apparently invalidated by CCU_INVALIDATE_DEPTH.

Fixes:
 dEQP-VK.fragment_operations.early_fragment.sample_count_early_fragment_tests_depth_alpha_to_coverage_samples_2_maintenance5
 dEQP-VK.fragment_operations.early_fragment.sample_count_early_fragment_tests_depth_alpha_to_coverage_samples_4_maintenance5
 dEQP-VK.fragment_operations.early_fragment.sample_count_early_fragment_tests_depth_samples_2_maintenance5
 dEQP-VK.fragment_operations.early_fragment.sample_count_early_fragment_tests_depth_samples_4_maintenance5

When running them with TU_DEBUG=sysmem

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30858>
2024-09-06 10:01:49 +00:00
Rob Clark
0adaf92014 freedreno/drm: Fix ring_heap flags
RING_FLAGS has FD_BO_HINT_COMMAND so we can't mask out the _FD_BO_HINTS.

Fixes: a3fb2b07aa ("freedreno: Add bo usage hints")
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31050>
2024-09-05 21:25:34 +00:00
David Heidelberg
aaa332a751 ci/freedreno: add Adreno 306/307 occasional timeout
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31037>
2024-09-05 17:13:58 +09:00
Zan Dobersek
4c359eae01 tu: use instance indices in RD dump filenames
Until now the RD dumps were stored in files on a per-device basis, using
the device index but assuming only one Vulkan instance is active. With
multiple active instances, different devices separated across those
instances could end up storing RD dumps into files with the same name.

tu_instance struct now has an index member variable that's assigned upon
creation with an incrementally-increasing global counter value. RD dump
output name now also contains this instance index, avoiding the described
naming collisions.

Signed-off-by: Zan Dobersek <zdobersek@igalia.com>
Fixes: f9c4e25483 ("freedreno: add fd_rd_output facilities for gzip-compressed RD dumps")
Reviewed-by: Karmjit Mahil <karmjit.mahil@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30977>
2024-09-05 08:47:27 +02:00
Daniel Stone
2ff28dae94 ci/fdno: Add some flaky tests for a618
It looks like unvanquished is flaky on all freedreno, so just ignore it
for now. One of the SKQP tests equally seems to be pretty enthusiastic
about flipping its status.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30993>
2024-09-03 18:41:49 +00:00
Connor Abbott
5879eaac18 ir3: Increase compute const size on a7xx
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30995>
2024-09-03 14:44:04 +00:00
Connor Abbott
46ad5a01a8 freedreno: Rename CP_SET_CTXSWITCH_IB to CP_SET_AMBLE
To match kgsl. Also make KMD_AMBLE_TYPE match the kgsl name, and invent
some names for the other types to be consistent.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30942>
2024-09-02 18:36:47 +00:00
Eric Engestrom
6c1d0b82fb turnip/ci: add vkd3d job on the a750
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29845>
2024-08-30 05:10:53 +00:00
Valentine Burley
419885e280 tu: Simplify VK_EXT_sample_locations SampleCounts assignment
Use the existing sample_counts variable.

Signed-off-by: Valentine Burley <valentine.burley@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30730>
2024-08-30 00:34:54 +00:00
Valentine Burley
98d52cf292 tu: Fix VK_EXT_extended_dynamic_state3 feature
Don't claim to support extendedDynamicState3SampleLocationsEnable on pre-A650 GPUs,
which can't advertise VK_EXT_sample_locations.

Fixes dEQP-VK.info.device_mandatory_features on A6xx Gen 1 and Gen 2.

Fixes: 84726da2f4 ("tu: Implement extendedDynamicState3SampleLocationsEnable")
Signed-off-by: Valentine Burley <valentine.burley@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30730>
2024-08-30 00:34:54 +00:00
Connor Abbott
630d6d1f2e tu: Add a750 flush workaround and re-enable UBWC for storage images
This is closer to what the blob does.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30896>
2024-08-29 23:52:00 +00:00
Eric Engestrom
f05887a359 freedreno/ci: fix test timeout for a306_piglit
Two issues:
1. this is a baremetal/fastboot job, not a lava job, so JOB_TIMEOUT does
   nothing and TEST_PHASE_TIMEOUT_MINUTES was erroneously removed
   instead.
2. the test timeout needs to be smaller than the job timeout, otherwise
   it can't do anything. 5min is the margin almost every job uses, so
   let's use that.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30928>
2024-08-29 19:21:52 +00:00
Eric Engestrom
8bfd2c083e Revert "freedreno/ci: drop TEST_PHASE_TIMEOUT_MINUTES that match the default value"
This reverts commit 71787885e3.

The last version of the MR, the one that got merged, dropped the
bm/fastboot changes as they were causing issues; I should have dropped
this commit too.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30928>
2024-08-29 19:21:52 +00:00
Job Noorman
b967677d4e ir3/postsched: take WAR ss-delay into account
Waiting for WAR hazards needs (ss) just like waiting for ss-producers.

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30611>
2024-08-29 18:44:14 +00:00
Job Noorman
bb13f30db2 ir3: add is_war_hazard_producer helper
Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30611>
2024-08-29 18:44:14 +00:00
Job Noorman
ce5c0c21c4 ir3/legalize: don't add (ss) for WAR hazards synced with (sy)
(ss) can be used to resolve all tex/sfu/mem WAR hazards. However, when
the reader is a sy-producer, they can also be resolved using (sy). Track
those cases separately and make sure we don't add (ss) when the reader
has already been synced using (sy).

For example, take a sequence like this:
sam rd, rs, ...
(sy)...
(ss)write rs

Before this commit, we would add the (ss) to resolve the WAR hazard
between the consumer (sam) and the writer of rs. However, the consumer
of rs has already been synced using (sy) so has definitely consumed rs.
This commit ensures the unnecessary (ss) for the write is not added
anymore.

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30611>
2024-08-29 18:44:14 +00:00
Job Noorman
6a19274e3d ir3/legalize: add needs_ss_war helper
The condition was getting unwieldy and we will need to add more to it in
the next commit.

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30611>
2024-08-29 18:44:14 +00:00
Job Noorman
6e16dc60a1 ir3: add assert to detect getting reg file of const/imm
ir3_reg_file_offset should only be called for actual registers, not for
const or immediate values. However, this did happens accidentally for
tracking WAR hazards in ir3_legalize. While that case has been fixed,
better to prevent such cases in the future.

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30611>
2024-08-29 18:44:14 +00:00
Job Noorman
523a0e2e39 ir3/legalize: don't add WAR dependencies for const/imm regs
Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30611>
2024-08-29 18:44:14 +00:00
Job Noorman
7cc24aa506 ir3: fix recognizing const/imm registers as a0
Fixes: 72bb4d79dc ("ir3/legalize: handle scalar ALU WAR hazards for a0.x")
Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30611>
2024-08-29 18:44:14 +00:00
Valentine Burley
1ae09c4e79 tu: Use vk_format_get_plane_count for tu6_plane_count
This change simplifies the code by avoiding special casing, making it easier to add support
for formats like P010 with minimal changes.

Inline it on one place where where the difference for VK_FORMAT_D32_SFLOAT_S8_UINT doesn't matter.

Signed-off-by: Valentine Burley <valentine.burley@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30899>
2024-08-29 15:57:51 +00:00
Valentine Burley
29d1cd6e8b tu: Use vk_format_get_plane_width/height to get the plane dimensions
This change simplifies the code by avoiding special casing, making it easier to add support
for formats like P010 with minimal changes.

Signed-off-by: Valentine Burley <valentine.burley@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30899>
2024-08-29 15:57:51 +00:00
Faith Ekstrand
8c60f1461b vulkan: Take a VkPipelineCreateFlags2KHR in vk_pipeline_*shader_stage*()
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30876>
2024-08-29 03:30:31 +00:00
Eric Engestrom
2e389b949b freedreno/ci: add a630 flake
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30800>
2024-08-29 01:03:45 +00:00
Eric Engestrom
71787885e3 freedreno/ci: drop TEST_PHASE_TIMEOUT_MINUTES that match the default value
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30800>
2024-08-29 01:03:45 +00:00
Eric Engestrom
fe075df8d9 freedreno/ci: drop unused TEST_PHASE_TIMEOUT_MINUTES in LAVA jobs
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30800>
2024-08-29 01:03:45 +00:00
Eric Engestrom
4888d39f29 freedreno/ci: fix a630_*_full tests timeout
Setting it to the same value as (or higher than) the job timeout
effectively bypasses the safety mechanism.

Let's change it to `job timeout - 5min`.

Fixes: e61b423074 ("ci/turnip: Extend a630 vk full timeout to 3 hours.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30800>
2024-08-29 01:03:45 +00:00
David Heidelberg
0dc791ed57 freedreno: use unicode © instead of DOS-like (C) copyright sign
Acked-by: Rob Clark <robclark@freedesktop.org>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30721>
2024-08-28 08:54:00 +00:00
David Heidelberg
89366ff523 freedreno: Convert to SPDX-License-Identifier instead of pasting whole license
SPDX is ISO standard now, let's leverage it to cleanup our code.

Acked-by: Rob Clark <robclark@freedesktop.org>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30721>
2024-08-28 08:54:00 +00:00
Konrad Dybcio
d94d152498 freedreno: Add initial A621 support
Baby A650 found in some peculiar SoCs

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30253>
2024-08-27 17:06:55 +00:00
Mike Blumenkrantz
7255c5e108 ci: add a660 flake
https://gitlab.freedesktop.org/mesa/mesa/-/jobs/62739168

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30857>
2024-08-26 20:42:22 +00:00
Eric Engestrom
f79c80e6d6 turnip/ci: document all the a750 flakes seen in the last week
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30856>
2024-08-26 19:41:12 +00:00
Konstantin Seurer
ce24486ee4 nir: Introduce nir_debug_info_instr
Adds a new instruction type that stores metadata that might be useful
for debugging purposes. Passes must ignore these instructions when
making decisions.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18903>
2024-08-25 10:26:33 +00:00
David Heidelberg
a70968c62f freedreno: update night expectations
Acked-by: Rob Clark <robclark@freedesktop.org>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30830>
2024-08-25 04:26:03 +00:00
Timothy Arceri
038b3c24d7 ci: bump piglit version
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30752>
2024-08-23 14:55:21 +10:00
Denis
afb7b17fdd freedreno: Enable A505
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23630>
2024-08-22 19:11:52 +00:00
Connor Abbott
812c8f6abe tu: Treat partially-bound depth/stencil attachments as passthrough
Make sure to preserve the depth or stencil components of D24S8 using the
fixed codepath just added. While we're here, fix the detection of
whether an attachment is bound.

Fixes: cb0f414b ("tu: Add support for suspending and resuming renderpasses")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26154>
2024-08-22 17:43:58 +00:00
Connor Abbott
5377219ca0 tu: Fix passthrough D24S8 attachments
We need to make sure that we don't trash a passthrough depth/stencil
aspect if we need to store the whole attachment by loading it
beforehand.

Fixes: cb0f414b ("tu: Add support for suspending and resuming renderpasses")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26154>
2024-08-22 17:43:58 +00:00