Connor Abbott
de1d36d054
ci: Uprev VK-CTS to 1.3.9.0
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29766 >
2024-08-15 09:01:26 +00:00
Connor Abbott
bc1521e601
ci: Move two failing loader-related tests to all-skips.txt
...
There's no value testing these tests in CI until the loader is upgraded,
so don't force every driver to add them to their fails list.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29766 >
2024-08-15 09:01:26 +00:00
Iago Toral Quiroga
ad9ff707ce
broadcom: drop backend implementation of nir_op_ufind_msb
...
We can have NIR do this for us now that we have uclz.
Suggested by Georg Lehmann.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30614 >
2024-08-13 13:16:18 +02:00
Iago Toral Quiroga
35a10f5d5a
broadcom: implement nir_op_uclz
...
This enables some algebraic optimizations.
No changes in shader-db, but it does cause some CTS tests to
produce less instructions.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30614 >
2024-08-13 13:16:11 +02:00
Alyssa Rosenzweig
c3d999dec9
broadcom: switch to derivative intrinsics
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30570 >
2024-08-09 13:54:11 +00:00
Zan Dobersek
7fd5f76393
nir/lower_vars_to_scratch: calculate threshold-limited variable size separately
...
ir3's lowering of variables to scratch memory has to treat 8-bit values as
16-bit ones when comparing such value's size against the given threshold
since those values are handled through 16-bit half-registers. But those
values can still use natural 8-bit size and alignment for storing inside
scratch memory.
nir_lower_vars_to_scratch now accepts two size-and-alignment functions,
one used for calculating the variable size and the other for calculating
the size and alignment needed for storing inside scratch memory. Non-ir3
uses of this pass can just duplicate the currently-used function. ir3
provides a separate variable-size function that special-cases 8-bit types.
Signed-off-by: Zan Dobersek <zdobersek@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29875 >
2024-08-07 14:32:28 +00:00
Iago Toral Quiroga
086ed1e54b
broadcom/compiler: emit instructions producing flags earlier
...
We usually emit flags right before consuming them but this is
suboptimal from the point of view of register pressure: if an
instruction is only used to generate flags then waiting to emit
it right before reading the flags extends the liveness of the
sources used to generate the flags for no gain. This pass will
check for such instructions and try to move them as early as
possible.
Shader-db results below show this is effective to reduce register
pressure, allowing a few shaders to increase thread counts and/or
reduce spilling:
total instructions in shared programs: 11057173 -> 11057076 (<.01%)
instructions in affected programs: 1955543 -> 1955446 (<.01%)
helped: 4214
HURT: 3905
Inconclusive result (value mean confidence interval includes 0).
total threads in shared programs: 425096 -> 425170 (0.02%)
threads in affected programs: 74 -> 148 (100.00%)
helped: 37
HURT: 0
Threads are helped.
total uniforms in shared programs: 3846275 -> 3845674 (-0.02%)
uniforms in affected programs: 23574 -> 22973 (-2.55%)
helped: 217
HURT: 30
Uniforms are helped.
total max-temps in shared programs: 2222910 -> 2220488 (-0.11%)
max-temps in affected programs: 61904 -> 59482 (-3.91%)
helped: 2145
HURT: 113
Max-temps are helped.
total spills in shared programs: 4294 -> 4280 (-0.33%)
spills in affected programs: 148 -> 134 (-9.46%)
helped: 8
HURT: 0
total fills in shared programs: 6497 -> 6468 (-0.45%)
fills in affected programs: 291 -> 262 (-9.97%)
helped: 8
HURT: 0
total sfu-stalls in shared programs: 14344 -> 14611 (1.86%)
sfu-stalls in affected programs: 1308 -> 1575 (20.41%)
helped: 217
HURT: 335
Inconclusive result (%-change mean confidence interval includes 0).
total inst-and-stalls in shared programs: 11071517 -> 11071687 (<.01%)
inst-and-stalls in affected programs: 1946767 -> 1946937 (<.01%)
helped: 4191
HURT: 3909
Inconclusive result (value mean confidence interval includes 0).
total nops in shared programs: 270628 -> 269829 (-0.30%)
nops in affected programs: 22032 -> 21233 (-3.63%)
helped: 1213
HURT: 571
Inconclusive result (%-change mean confidence interval includes 0).
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30511 >
2024-08-07 09:28:39 +02:00
Alejandro Piñeiro
28df772935
v3dv: expose Vulkan 1.3
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10896
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29476 >
2024-08-05 15:10:24 +00:00
Alejandro Piñeiro
3ae4da4ea7
v3dv: update conformanceVersion to 1.3.8.3
...
As we used as reference to check if we fully pass Vulkan 1.3
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29476 >
2024-08-05 15:10:24 +00:00
Alejandro Piñeiro
781622ba5b
v3dv/device: set value for maxInlineUniformTotalSize
...
Fixes the following test, as far as you enable Vulkan 1.3 (if not it
is skipped):
dEQP-VK.api.info.vulkan1p3_limits_validation.max_inline_uniform_total_size
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29476 >
2024-08-05 15:10:24 +00:00
Eric Engestrom
f427c9fe23
rpi3/ci: remove {version,render}_check from [piglit.env]
...
v1 was moving it into the [[piglit]] section, but piglit-runner actually
doesn't support checking for this, so let's just remove it entirely.
Fixes: 3990463c48 ("v3d/vc4/ci: set full renderer version check")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30436 >
2024-08-01 21:05:27 +00:00
Juan A. Suarez Romero
14c82207a4
broadcom/ci: use kernel8 for rpi5 full jobs
...
Test if using kernel8 instead of specific kernel_2712 fixes the issues
with rpi5.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30457 >
2024-08-01 07:12:24 +02:00
Juan A. Suarez Romero
52e7f2ca08
v3d/ci: update number of rpi5 available for testing
...
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30438 >
2024-07-31 11:50:47 +00:00
Juan A. Suarez Romero
fa0a8b8d2c
v3d/ci: add new flakes in rpi5
...
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30438 >
2024-07-31 11:50:47 +00:00
Juan A. Suarez Romero
07cd860b52
broadcom/ci: annotate some of the failures
...
We already know the reason of some of the failures. Let's include the
reason.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30438 >
2024-07-31 11:50:47 +00:00
Eric Engestrom
38ede4334f
rpi/ci: shorten the boot timeout to 90 seconds
...
5 minutes is too long and doesn't leave enough time after the retry to
still complete the job, especially if two boots fail in a row, removing
10 out of the worst-case 20 minutes allowed.
90 seconds is more than enough, the boot output normally starts after
~40-45 seconds.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30409 >
2024-07-31 09:01:32 +02:00
Eric Engestrom
1e5fb15afa
ci/poe-powered: rename --test-timeout to --test-timeout-minutes to be more explicit
...
Due to how python's argparse works, anyone anywhere else that would
continue passing `--test-timeout` would not see any change, it will
transparently work for them too.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30409 >
2024-07-31 08:58:20 +02: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
Eric Engestrom
ff58f0afbe
rpi4/ci: mark fs variant of arb_texture_buffer_object as flaky too
...
See eg.:
https://gitlab.freedesktop.org/mesa/mesa/-/jobs/61482695
https://gitlab.freedesktop.org/mesa/mesa/-/jobs/61594844
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30404 >
2024-07-29 10:06:10 +02:00
Eric Engestrom
79389b9f6f
v3d/ci: mark glx@glx-visuals-depth as flaky on rpi4, just like the -stencil variant
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30387 >
2024-07-26 20:18:12 +00:00
Eric Engestrom
1337e00a89
v3d/ci: mark spec@amd_performance_monitor@api as flaky on rpi4
...
It's been failing a lot in the last few days, blocking a bunch of MRs.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30385 >
2024-07-26 19:31:56 +02:00
Eric Engestrom
f1f8c465d5
vc4,v3d,v3dv: avoid compiling in unused sim_file field in the {vc4,v3d}_screen/v3dv_physical_device struct
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30287 >
2024-07-24 19:11:24 +00:00
Eric Engestrom
eae740f2e4
v3d,v3dv: simplify USE_V3D_SIMULATOR/using_v3d_simulator logic
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30287 >
2024-07-24 19:11:24 +00:00
Eric Engestrom
5577078ac1
v3d,v3dv: figure out whether we're using the simulator only once
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30287 >
2024-07-24 19:11:23 +00:00
Eric Engestrom
f90d1182e0
v3d,v3dv: reuse dep_v3d_hw from simulator/meson.build
...
broadcom/simulator/ gets parsed before broadcom/vulkan/ or
gallium/drivers/v3d/ so this is safe.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30287 >
2024-07-24 19:11:23 +00:00
Juan A. Suarez Romero
c30e5d44b1
v3d/ci: add new flakes
...
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30337 >
2024-07-24 09:19:05 +02:00
Juan A. Suarez Romero
559eaaf0e6
v3d/ci: add failures from piglit all profile
...
While we don't run this profile in the CI, our expected lists already
have some tests from old days when we run the all profile.
So let's update the list with new failures from this all profile,
allowing us to have a more comprehensive list of failing tests for our
drivers.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30318 >
2024-07-23 16:52:13 +00:00
Karol Herbst
bad67ee77c
spirv: handle function parameters passed by value
...
Cc: mesa-stable
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29896 >
2024-07-22 21:16:58 +00:00
Eric Engestrom
547de1e928
v3d/ci: mark spec@amd_performance_monitor@vc4 tests as flaky
...
Turns out it was not fixed, it just happened to pass a bunch of times in
a row, but it actually fails randomly, so mark it as such.
Fixes: 4696e9c49b ("v3d/ci: mark spec@amd_performance_monitor@vc4 tests as fixed")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30290 >
2024-07-22 10:56:09 +02:00
Daniel Stone
e05415a82e
format: Generate endian-independent format aliases
...
Instead of having a hardcoded list of endian-independent format aliases
in the header, generate them from the format definitions.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29649 >
2024-07-19 13:50:42 +00:00
Eric Engestrom
4696e9c49b
v3d/ci: mark spec@amd_performance_monitor@vc4 tests as fixed
...
Fixed by a commit in the range 452fed52..decc040a, but no obvious
candidate stands out.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30259 >
2024-07-19 09:11:16 +00:00
Juan A. Suarez Romero
433a0422d5
v3dv: don't leak cache key
...
The hashtable stores a hash generated from the key, so there is no need
to duplicate the key, as otherwise it is a leak.
Found through address sanitizer.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30204 >
2024-07-18 11:49:07 +00:00
Juan A. Suarez Romero
2d54a605fe
v3dv: free temp image created when copying with blit
...
This fixes a leak that happens when copying a image using blit, and the
image is a compressed one.
In this case a new image view is created that can be re-interpreted to
perform the copy, but was not properly free.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30161 >
2024-07-15 11:14:29 +00:00
Juan A. Suarez Romero
f8623ea7da
v3dv: adversise VK_EXT_depth_clamp_zero_one
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30148 >
2024-07-15 09:17:40 +00:00
Eric Engestrom
ce7e1e0f7a
v3d/ci: add disabled job for CL testing on the RPi5
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30076 >
2024-07-15 08:29:36 +00:00
Eric Engestrom
7c40c35b97
v3d/ci: rename "rusticl on v3d" suite to v3d-rusticl
...
There's nothing rpi4-specific in there, it just tests rusticl on v3d,
and the next commit will do exactly that on the rpi5.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30076 >
2024-07-15 08:29:36 +00:00
Eric Engestrom
beb05d14ae
v3d/ci: add disabled job for GL testing on the RPi5
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30076 >
2024-07-15 08:29:36 +00:00
Eric Engestrom
29c4961b53
v3d/ci: include results of CL run in expectations
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30134 >
2024-07-12 10:12:38 +00:00
Eric Engestrom
10af395f72
v3d/ci: include results of GL full run in expectations
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30134 >
2024-07-12 10:12:38 +00:00
Juan A. Suarez Romero
795b3f83ff
v3d/ci: update expected list
...
Add new failures, and update comments.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30117 >
2024-07-11 09:29:39 +02:00
Juan A. Suarez Romero
2c74872bbc
broadcom/ci: update traces for rpi4
...
Mainly mark some traces as flake.
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/30087 >
2024-07-10 10:31:24 +00:00
Juan A. Suarez Romero
4bb564f40d
broadcom/ci: add more jobs to test with rpi5
...
Now that there are more rpi5 in the CI, let's add pre-merge jobs.
This also restrict the nightly job to be executed by devices allocated
to run full runs.
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/30087 >
2024-07-10 10:31:24 +00:00
Iago Toral Quiroga
bb63b7b802
v3dv: don't lower fsat on V3D 7.x
...
This requires that our nir options are different across V3D versions
so we can't use a static global any more.
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30086 >
2024-07-10 08:30:21 +02:00
Iago Toral Quiroga
5b1e88760a
v3dv: make nir helpers receive nir compiler options from caller
...
We are about to make a change that will make compiler options
depend on v3d version, so helpers would usually need additional
parameters to retrieve them. Isntead of doing this, we will make
the callers get the options instead and provide them to the
helpers.
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30086 >
2024-07-10 08:30:15 +02:00
Iago Toral Quiroga
33187012ab
broadcom/compiler: implement nir_op_fsat
...
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30086 >
2024-07-10 08:29:59 +02:00
Iago Toral Quiroga
d62082a131
broadcom/compiler: disallow copy propagation of FMOV exclusive modifiers
...
Since .sat, .nsat and .max0 are only supported with FMOV we can't copy
propagate an FMOV with any of these unpack modifiers into a different
opcode.
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30086 >
2024-07-10 08:29:50 +02:00
Iago Toral Quiroga
fa959c2993
broadcom/compiler: add new float32 unpack modifiers in V3D 7.x
...
These are only supported with FMOV.
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30086 >
2024-07-10 08:29:40 +02:00
Juan A. Suarez Romero
4581bf595b
broadcom: follow version naming convention
...
We usually name the functions that depend on hardware version as
v3d<version>_foo.
Keep the same convention in QPU and lower_image_load_store, so it makes
easier when searching for versioned functions.
Acked-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30000 >
2024-07-08 11:19:31 +00:00
Juan A. Suarez Romero
a10957adb6
broadcom/qpu: clean all versions not supported
...
Right now we only support V3D 4.2 and V3D 7.1, so clean older versions
that were left in the QPU.
Acked-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30000 >
2024-07-08 11:19:30 +00:00