Commit Graph

192732 Commits

Author SHA1 Message Date
Eric Engestrom
deb1d1f9c3 pick-ui: move NominationType values around so that None is 0
This keeps tripping me up when reading the `.pick_status.json`, so let's
change it around so that starting in the next release cycle, `NONE = 0`.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30427>
2024-07-30 21:54:01 +00:00
Eric Engestrom
057b77d2a3 ci/vkd3d: add support for *-flakes.txt list files
We still print them in the job log to not completely ignore them, but
they don't break the jobs anymore.

Additionally, we use the same format as deqp-runner for reporting
flakes, so that existing tools can pick up this new information without
requiring any change.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30413>
2024-07-30 18:47:52 +00:00
Eric Engestrom
f54cb2476f ci/vkd3d: add support for *-skips.txt list files
Allows annotating the skips to document them, and avoids running the
entire CI for that driver when changing the skips for one device.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30413>
2024-07-30 18:47:52 +00:00
Eric Engestrom
ab1e99de62 ci/vkd3d: rename vkd3d expected failures list to be more explicit
And allow for something other than just "failures", such as...
skips and flakes (see next commits).

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30413>
2024-07-30 18:47:52 +00:00
Eric Engestrom
642409bc19 ci/vkd3d: be more specific for what to grep
Sometimes, some other output gets added at the begining

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30413>
2024-07-30 18:47:52 +00:00
Eric Engestrom
1b8533a7f4 ci/vkd3d: move expectation file creation logic out of the test results handling
The next commit will add checks before we start running the tests.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30413>
2024-07-30 18:47:52 +00:00
Eric Engestrom
cfc8bb3b42 ci/vkd3d: move test expectations file to the results folder
Makes it easier to see after the fact what went wrong.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30413>
2024-07-30 18:47:52 +00:00
Eric Engestrom
50139426e2 ci/vkd3d: use GPU_VERSION to identify the list of failures, unifying with deqp-runner.sh
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30413>
2024-07-30 18:47:52 +00:00
Eric Engestrom
aacef87848 ci/vkd3d: store vkd3d "errors" in the results file instead of spamming the job log
We have a limited number of bytes we can output (500 KiB) and still have
the job log visible in the web UI, so let's avoid a very spammy output
(vkd3d outputs a ton of information about each test in stderr) that
can't even be correlated with the regular output, and instead store it
together with the test results.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30413>
2024-07-30 18:47:51 +00:00
Eric Engestrom
af56a84616 ci/vkd3d: rename vkd3d runner script to vkd3d-runner.sh to match the other ones
Moving it out of an otherwise-empty folder.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30413>
2024-07-30 18:47:51 +00:00
Eric Engestrom
f90b10ab8f ci: drop dead VKD3D_CONFIG
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30413>
2024-07-30 18:47:51 +00:00
Jesse Natalie
d4faab9331 mr-label-maker: Add d3d10umd label rules
Reviewed-by: Max Ramanouski <max8rr8@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30371>
2024-07-30 17:46:47 +00:00
Juston Li
34031e3e3b anv/android: remove unneeded ANB implicit import flags
ANB is only used by Android WSI which uses explicit sync so these
flags can be dropped.

Signed-off-by: Juston Li <justonli@google.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29883>
2024-07-30 09:27:28 -07:00
Juan A. Suarez Romero
9b1302f80a v3d/ci: enable full run jobs for rpi5
Now that there are more rpi5 devices in the CI, run all the GL/GLES
tests and CL tests nightly.

Reviewed-by: Eric Engestrom <eric@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30349>
2024-07-30 15:50:30 +00:00
Juan A. Suarez Romero
3c61489a3e v3d/vc4/ci: add address sanitizer jobs
This runs part of GL and Vulkan tests in vc4/v3d/v3dv with the address
sanitizer enabled to detect memory issues and leaks.

Reviewed-by: Eric Engestrom <eric@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30349>
2024-07-30 15:50:30 +00:00
Georg Lehmann
bee487df48 aco/gfx11.5+: use vinterp for fddx/fddy
Since GFX11.5 VINTERP can be dual issued, DPP cannot.

Foz-DB GFX11.5:
Totals from 8401 (10.58% of 79395) affected shaders:
MaxWaves: 247880 -> 247848 (-0.01%)
Instrs: 6802675 -> 6815061 (+0.18%); split: -0.08%, +0.26%
CodeSize: 36539444 -> 36500948 (-0.11%); split: -0.22%, +0.11%
VGPRs: 444324 -> 445932 (+0.36%); split: -0.01%, +0.37%
SpillSGPRs: 1350 -> 1346 (-0.30%)
Latency: 63628380 -> 63523687 (-0.16%); split: -0.20%, +0.04%
InvThroughput: 10566750 -> 10486009 (-0.76%); split: -0.77%, +0.01%
VClause: 100171 -> 100248 (+0.08%); split: -0.08%, +0.16%
SClause: 175467 -> 176208 (+0.42%); split: -0.05%, +0.47%
Copies: 356817 -> 356935 (+0.03%); split: -0.17%, +0.20%
PreVGPRs: 283403 -> 283898 (+0.17%); split: -0.02%, +0.20%
VALU: 4217969 -> 4229831 (+0.28%); split: -0.03%, +0.31%
SALU: 479367 -> 479428 (+0.01%); split: -0.00%, +0.01%

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30350>
2024-07-30 15:25:19 +00:00
Georg Lehmann
8c6e299141 aco: reorder dpp for ddx/ddy
Having the mov last allows us to fuse it with the use instruction.

Foz-DB Navi31:
Totals from 9400 (11.84% of 79395) affected shaders:
MaxWaves: 273998 -> 274030 (+0.01%)
Instrs: 8303778 -> 8282997 (-0.25%); split: -0.29%, +0.04%
CodeSize: 44428088 -> 44464860 (+0.08%); split: -0.09%, +0.18%
VGPRs: 506616 -> 504492 (-0.42%)
SpillSGPRs: 1389 -> 1393 (+0.29%)
Latency: 76923466 -> 76983332 (+0.08%); split: -0.06%, +0.14%
InvThroughput: 12386888 -> 12391262 (+0.04%); split: -0.04%, +0.07%
VClause: 125136 -> 125059 (-0.06%); split: -0.13%, +0.07%
SClause: 227361 -> 226615 (-0.33%); split: -0.43%, +0.10%
Copies: 440787 -> 440749 (-0.01%); split: -0.17%, +0.16%
PreVGPRs: 339783 -> 333343 (-1.90%); split: -1.92%, +0.02%
VALU: 5088362 -> 5069737 (-0.37%); split: -0.37%, +0.01%
SALU: 606596 -> 606609 (+0.00%); split: -0.01%, +0.01%

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30350>
2024-07-30 15:25:19 +00:00
Georg Lehmann
62fa5b9d6f aco/gfx11+: apply neg to vinterp
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30350>
2024-07-30 15:25:19 +00:00
Benjamin Lee
b8aeea806a nvk: implement vkCmdDispatchIndirect on pre-turing
This seems to be *just barely* within the capabilities of the fermi MME.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25167>
2024-07-30 15:00:25 +00:00
Faith Ekstrand
d43ed4445b nouveau/mme: Add support for multiplication on Fermi
Because of Fermi's extremely tight register file and the fact that we
have to modify x and y as we multiply, the only form of these we can
support as builder helpers is one which implicitly frees its sources.
Also, because we can't afford to just allocate extra stuff, we add
32x32_32, 32x32_64, and 32x64_64 forms.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25167>
2024-07-30 15:00:25 +00:00
Faith Ekstrand
cac4da4cab nouveau/mme: Add support for MUL on Fermi
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25167>
2024-07-30 15:00:25 +00:00
Faith Ekstrand
033cafc9fe mme/fermi: Don't try to access zero-size std::vector
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25167>
2024-07-30 15:00:25 +00:00
Faith Ekstrand
884c7bccc1 nak/qmd: Return the complete QMD dispatch size layout
Instead of returning a single offset, return a struct with three ranges,
one for X, Y, and Z.  This also communicates the sizes of each of the
fields to the driver in case that's relevant.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25167>
2024-07-30 15:00:25 +00:00
Faith Ekstrand
217c0a489b nak: Move the QMD code back into the main nak crate
I only ever pulled it out because I also pulled out the test runner.
Now that the test runner lives inside NAK, this can, too.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25167>
2024-07-30 15:00:25 +00:00
Lucas Stach
241e1861da etnaviv: drm: use COARSE clock for timeouts when possible
COARSE clocks add a worst-case jitter of 10ms to the timing, as they
degrade the timing to Linux jiffy accuracy. However, they allow to skip
a syscall on platforms where the accurate version of the clock can not
be accelerated through the VDSO.

Switch to using the COARSE version of the clock when the timeout is
larger than 200ms, i.e. the accuracy of the timeout is degraded less
than 5% by the added worst-case jitter.

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/27079>
2024-07-30 14:35:19 +00:00
Lucas Stach
ea754657eb etnaviv: drm: use COARSE clock for BO cache timing
By using the the COARSE variant of the clock we can avoid a syscall
to fetch the current time on platforms where the more accurate
version of the clock can not be accelerated through the VDSO. The
most relevant platform with this restriction is ARM32 without the
architected timer extension, e.g. the NXP i.MX6.

The COARSE clock degrades the accuracy of the timing to Linux
jiffies, which means it adds a worst-case jitter of 10ms, which is
basically noise in relation to the 1sec holding time of the cache
and the irregular call pattern of etna_bo_cache_cleanup().

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/27079>
2024-07-30 14:35:19 +00:00
Eric Engestrom
235ce3df9b llvmpipe/ci: bump timeout for nightly job to 1h
Looking at recent jobs, the runtime has increased to ~40min, but since
it runs on a shared runner with other jobs at the same time, it can
randomly take much longer, and it has reached 45 minutes several times,
so bump up the timeout to leave enough margin.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30424>
2024-07-30 13:25:04 +02:00
Christian Gmeiner
aa9745427b ci: austriancoder farm maintenance
The farm moves into a new rack and gets prepped for ci-tron.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29901>
2024-07-30 09:30:15 +00:00
Christian Gmeiner
26474f8d4a nir_lower_mem_access_bit_sizes: Support load_kernel_input
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30407>
2024-07-30 06:51:22 +00:00
yinjiyao
50ff1e4f86 radeonsi/vcn: add HDR sei in hevc enc
Enable HDR sei in hevc encoder.

Signed-off-by: Yinjie Yao <yinjie.yao@amd.com>
Reviewed-by: Boyuan Zhang <boyuan.zhang@amd.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30388>
2024-07-29 21:48:04 +00:00
yinjiyao
0460ededda frontends/va: check hevc enc hdr sei
Decode packed header HDR sei for hevc encoding.

Signed-off-by: Yinjie Yao <yinjie.yao@amd.com>
Reviewed-by: Boyuan Zhang <boyuan.zhang@amd.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30388>
2024-07-29 21:48:04 +00:00
Georg Lehmann
b92134e088 aco: validate temp_rc
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30399>
2024-07-29 18:35:33 +00:00
Georg Lehmann
53155ba12d aco: add CompilationProgress::after_lower_to_hw
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30399>
2024-07-29 18:35:33 +00:00
Georg Lehmann
6da7bd842c aco/optimizer: update temp_rc when converting to uniform bool alu
Cc: mesa-stable

Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30399>
2024-07-29 18:35:33 +00:00
Guilherme Gallo
0acc31a001 bin/ci: crnm: Reduce trace cluttering
Some recurrent messages are only cluttering the ci_run_n_monitor's logs,
so let's use the easily provided @cache decorator to print stuff that
the user will only needs to see once.

Also removes some junk that can happen during the pipeline monitoring
loop, like the "----" line break, and newlines.

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30361>
2024-07-29 18:04:21 +00:00
Guilherme Gallo
ff18d1ec23 bin/ci: crnm: Fix pipeline monitoring skipping
We stop monitoring pipeline changes when we find out that the target job
is already running, or is in a complete state.

But when we `--force-manual` we should consider that the job is not
complete and we should iterate a little more in the monitor pipeline
stage until it gets ready for trace following.

Closes: #11552

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30361>
2024-07-29 18:04:21 +00:00
Guilherme Gallo
3975366a88 bin/ci: crnm: Deal with created status
Jobs that we want to run can get the `created` status when its
dependencies are still running.

So let's gather this information and ensure that we will wait these jobs
to reach the `manual` or `running` status before jumping to monitor
target jobs trace.

Closes: #11517

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30361>
2024-07-29 18:04:21 +00:00
Mike Blumenkrantz
87ce0ce0b1 Revert "vl/dri3: use loader's dri3 init code and delete everything else"
This reverts commit 586d0c4a9b.

Fixes: 586d0c4a9b ("vl/dri3: use loader's dri3 init code and delete everything else")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30415>
2024-07-29 12:33:03 -04:00
Karol Herbst
dc2755a4f8 rusticl/spirv: protect against 0 length in slice::from_raw_parts
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11584
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30410>
2024-07-29 13:38:29 +00:00
Karol Herbst
81f75e2a2d rusticl/api: protect against 0 length in slice::from_raw_parts
Fixes: 84d16045d0 ("rusticl/api: add param to query which contains application provided values")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30410>
2024-07-29 13:38:29 +00:00
Karol Herbst
ad6fb3406b rusticl/program: protect against 0 length in slice::from_raw_parts
Fixes: e028baa177 ("rusticl/program: implement clCreateProgramWithBinary")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30410>
2024-07-29 13:38:28 +00:00
Karol Herbst
7a8b1dc6e5 rusticl: fix clippy lint having bounds defined in multiple places
Fixes: 734352ddfb ("rusticl/program: some boilerplate code for SPIR-V support")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30410>
2024-07-29 13:38:28 +00:00
David Rosca
eb1f64a01e radeonsi/vcn: Fix MB/CTB calculation for slice encoding
We only support equal MB/CTB per slice (with last slice possibly
smaller) and this is not possible to fully describe with libva slice
structure constraints.
Report that we support arbitrary macroblocks per slice, verify if the
slice structure requested by application can be used, otherwise
divide the slices equally to achieve the requested number of slices.
Also stop reporting power of two structure support, as that implies
different size for each slice which cannot be supported.

This fixes issue where slice encoding is not available at all with some
applications (only supporting arbitrary macroblocks) or the number of slices
being different from the requested number.

Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30363>
2024-07-29 13:14:22 +00:00
Zan Dobersek
36a13d2b3b freedreno: fix a7xx perfcntr countables
During development of the freedreno's Perfetto producer for a7xx platforms
it was found that the lists of perfcntr countables that were initially
imported were not correct.

The lists are now updated, with the updated countables matching the
countables used in the official profiler tool's counters. While the
Perfetto producer work is still ongoing the fixed lists should already be
useful through fdperf.

Signed-off-by: Zan Dobersek <zdobersek@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30406>
2024-07-29 12:38:03 +00:00
Danylo Piliaiev
d60ae64527 tu/a750: Allow mutable images to have UBWC with all compatible formats
A750+ added a special flag that allows HW to correctly interpret UBWC, including
UBWC fast-clear when casting image to a different format permitted by Vulkan.
So it's possible to have UBWC enabled for image that has e.g. R32_UINT and
R8G8B8A8_UNORM in the mutable formats list.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30370>
2024-07-29 10:59:26 +00:00
Eric Engestrom
6a9676b79c ci/prepare-artifacts: check if we're about to overwrite ci config/expectations files
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30384>
2024-07-29 10:11:31 +00:00
Eric Engestrom
197701b860 ci/prepare-artifacts: use find's -exec instead of iterating over its output with xargs
Also, split the `/ci/` part out to simplify the filename checks.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30384>
2024-07-29 10:11:31 +00:00
Eric Engestrom
1f70af7e9f bin/ci: update python-gitlab to 4.x
Quite a few fixes that we want were in the 4.x releases, so let's bump it.

See the list of breaking changes here:
https://python-gitlab.readthedocs.io/en/stable/changelog.html#v4-0-0-2023-10-17

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30019>
2024-07-29 10:08:01 +00:00
Eric Engestrom
d055edac11 docs/meson: add missing newline at the begining of code-block
Fixes: 324de97f48 ("docs: Add required dependencies to meson.rst")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30405>
2024-07-29 10:02:49 +00:00
Iago Toral Quiroga
66de8b4b5c v3d: add a faster TLB blit path
Our current TLB path would case a job writing to the blit source
to be flushed, causing the TLB store which we would then reload
from memory to do the blit, which is not optimal. With this path,
if the job that writes the blit source has not been flushed, we
will configure it to also do the blit to the destination. This will
avoid the expensive TLB load for the blit and, if glInvalidateFramebuffer
has been used on the blit source, possibly the TLB store as well for
the job writing the blit source.

Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30322>
2024-07-29 09:42:03 +00:00