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
Eric Engestrom
801ed4d032
ci: simplify setting .no-auto-retry now that it isn't bundled with unrelated rules:
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30004 >
2024-07-07 19:31:44 +00:00
Eric Engestrom
f37af2ab8c
ci: split .no-auto-retry out of .scheduled_pipeline-rules
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30004 >
2024-07-07 19:31:44 +00:00
Juan A. Suarez Romero
2a3b983728
broadcom/ci: run some GL tests in arm32 arch
...
While Raspberry PI OS 64-bit is the suggested version for rpi3 devices
and newers, for older devices like rpi1 to rpi2, which uses the same
GPU, the recommended flavour is 32-bit.
Also, while 64-bit is the recommended version, users can still decide to
use the 32-bit flavour.
Hence, spend a bit of nightly time to run a subset of the OpenGL/ES
tests.
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/30003 >
2024-07-03 09:40:04 +00:00
Juan A. Suarez Romero
8554feab0c
vc4/ci: run tests in 64-bits
...
Nowadays the recommended version for Raspberry Pi OS in rpi3 is 64-bits.
Hence, let's run our tests in 64-bits too.
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/30003 >
2024-07-03 09:40:03 +00:00
Juan A. Suarez Romero
a10ea7cec8
broadcom/ci: remove arch from hardware name
...
The same device can be run with 32-bits or 64-bits, so no need to
include the arch in the name.
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/30003 >
2024-07-03 09:40:03 +00:00
Juan A. Suarez Romero
a16d7a0ba4
broadcom/ci: read 32-bit kernel from arm32 path
...
Makes it clear using arm32 name in contrast to arm64, than armhf.
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/30003 >
2024-07-03 09:40:03 +00:00
Eric Engestrom
17c081380d
broadcom/ci: disable auto-retry on manual jobs
...
The v3d manual rules had this line but the vc4 and v3dv ones were
missing it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29999 >
2024-07-03 09:16:16 +00:00
Iago Toral Quiroga
1d418a3419
broadcom/compiler: add missing signal compatibilities for V3D 7.x
...
total instructions in shared programs: 11281777 -> 11246706 (-0.31%)
instructions in affected programs: 2230213 -> 2195142 (-1.57%)
helped: 11830
HURT: 487
Instructions are helped.
total max-temps in shared programs: 2226424 -> 2225398 (-0.05%)
max-temps in affected programs: 16833 -> 15807 (-6.10%)
helped: 722
HURT: 23
Max-temps are helped.
total sfu-stalls in shared programs: 14894 -> 14977 (0.56%)
sfu-stalls in affected programs: 138 -> 221 (60.14%)
helped: 30
HURT: 112
Inconclusive result (%-change mean confidence interval includes 0).
total inst-and-stalls in shared programs: 11296671 -> 11261683 (-0.31%)
inst-and-stalls in affected programs: 2230218 -> 2195230 (-1.57%)
helped: 11796
HURT: 495
Inst-and-stalls are helped.
total nops in shared programs: 270280 -> 270622 (0.13%)
nops in affected programs: 6492 -> 6834 (5.27%)
helped: 145
HURT: 349
Nops are HURT.
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29995 >
2024-07-03 08:05:37 +02:00
Qiang Yu
3151f5ec47
nir: add filter parameter to nir_lower_array_deref_of_vec
...
To be used by latter commits to limit the lowering to specific
variables.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29799 >
2024-07-03 02:06:56 +00:00
Juan A. Suarez Romero
fc286867fb
v3dv: fix misalignment in descriptor layout structure
...
Current memory layout for v3dv_descriptior_set_layout structure is the
following:
```
/* offset size */
type = struct v3dv_descriptor_set_layout {
struct vk_object_base base; /* 0 64 */
VkDescriptorSetLayoutCreateFlags flags; /* 64 4 */
uint32_t binding_count; /* 68 4 */
uint32_t bo_size; /* 72 4 */
uint16_t shader_stages; /* 76 2 */
/* PAD 2 */
uint32_t descriptor_count; /* 80 4 */
uint16_t dynamic_offset_count; /* 84 2 */
/* PAD 2 */
uint32_t ref_cnt; /* 88 4 */
struct v3dv_descriptor_set_binding_layout binding[0]; /* 92 32 */
} [...] binding[1]; /* 124 32 */
```
Besides wasting 4 bytes in padding, the main problem is that `binding`
fields are not aligned to 8 bytes (64-bits), which is undefined behaviour
in C.
Just moving `descriptor_count` field below we get the new layout:
```
/* offset size */
type = struct v3dv_descriptor_set_layout {
struct vk_object_base base; /* 0 64 */
VkDescriptorSetLayoutCreateFlags flags; /* 64 4 */
uint32_t binding_count; /* 68 4 */
uint32_t bo_size; /* 72 4 */
uint16_t shader_stages; /* 76 2 */
uint16_t dynamic_offset_count; /* 78 2 */
uint32_t descriptor_count; /* 80 4 */
uint32_t ref_cnt; /* 84 4 */
struct v3dv_descriptor_set_binding_layout binding[0]; /* 88 32 */
} [...] binding[1]; /* 120 32 */
```
Which removes the padding requirement, and more important, make the
`binding` pointers to be correctly aligned.
This has been detected by the Undefined Behaviour Sanitizer (UBSan).
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/29911 >
2024-07-01 08:02:07 +00:00
Juan A. Suarez Romero
9696fd378a
v3dv: restrict to channels when encoding border color
...
Not all the formats have 4 channels, so let's restrict the border
encoding to the number of channels.
This has been detected by the Undefined Behaviour Sanitizer (UBSan).
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/29911 >
2024-07-01 08:02:07 +00:00
Juan A. Suarez Romero
3ee47dc6d9
v3dv: do not pass NULL pointer to function not expecting NULLs
...
memcpy() pointers arguments are declared to be non NULL.
This has been detected by Undefined Behaviour Sanitizer (UBSan).
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/29911 >
2024-07-01 08:02:07 +00:00
Juan A. Suarez Romero
1d71be8e60
v3dv: do not access member of a NULL structure
...
Check if the structure is NULL before trying to get access to its
members.
This has been detected by the Undefined Behaviour Sanitizer (UBSan).
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/29911 >
2024-07-01 08:02:07 +00:00
Juan A. Suarez Romero
7dc6b8df11
broadcom/compiler: use unsigned types when performing bitshifting
...
Ensure unsigned integers are used instead of signed ones when performing
left bit shifts.
This has been detected by the Undefined Behaviour Sanitizer (UBSan).
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/29911 >
2024-07-01 08:02:07 +00:00
David Heidelberg
68215332a8
build: pass licensing information in SPDX form
...
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Dylan Baker <dylan.c.baker@intel.com >
Acked-by: Eric Engestrom <eric@igalia.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Signed-off-by: David Heidelberg <david@ixit.cz >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29972 >
2024-06-29 12:42:49 -07:00
Eric Engestrom
e1b1114bc2
v3d/ci: add nightly job for rusticl testing
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29851 >
2024-06-27 17:49:02 +00:00
Eric Engestrom
70dfe9c6d1
ci: include rusticl in the arm64 build
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29851 >
2024-06-27 17:49:02 +00:00
Mike Blumenkrantz
332252966b
ci: kill filament trace globally
...
this one is flaky and pointless
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29937 >
2024-06-27 14:36:13 +00:00
Iago Toral Quiroga
4e6b675974
broadcom/compiler: drop multop if we dce umul24
...
We always emit multop+umul24 to implement integer multiply and
this is the only scenario in which we use multop, so if we decide
to DCE umul24 we should also DCE the previous multop.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29909 >
2024-06-27 06:43:09 +00:00
Iago Toral Quiroga
0a7a36372f
broadcom/compiler: validate rtop + thrsw hazard
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29909 >
2024-06-27 06:43:09 +00:00
Iago Toral Quiroga
d1f8351f3c
broadcom/compiler: fix per-quad spilling
...
This is not safe when we have conditional spills since we could be
spilling disabled lanes with undefined values that could overwrite
valid data for those lanes from a previous spill of the same temp
that was unconditional (or that condionally enabled those same
lanes).
Fixes some Piglit OpenCL tests as well as the following OpenCL tests:
integer_divideAssign
integer_moduloAssign
integer_mad_sat
integer_ops integer_divideAssign
integer_ops integer_mad_sat
integer_ops integer_moduloAssign
integer_ops quick_char_math
integer_ops quick_short_math
math_brute_force half_powr
math_brute_force pow
math_brute_force pown
math_brute_force powr
math_brute_force rootn
Fixes: 597560e27c ('broadcom/compiler: always enable per-quad on spill operations')
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29909 >
2024-06-27 06:43:09 +00:00
Iago Toral Quiroga
38b7f411a1
broadcom/compiler: don't spill in between multop and umul24
...
The multop instruction implicitly writes rtop which is not preserved
acrosss thread switches. We can spill the sources of the multop
(since these would happen before multop) and the destination of
umul24 (since that would happen after umul24).
Fixes some OpenCL tests when V3D_DEBUG=opt_compile_time is used to
choose a different compile configuration.
cc: mesa-stable
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29909 >
2024-06-27 06:43:09 +00:00
Karol Herbst
742984a325
broadcom/compiler: handle variable shared memory
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25362 >
2024-06-26 10:04:03 +00:00
Karol Herbst
9bf0b3a112
broadcom/compiler: call nir_lower_64bit_phis
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25362 >
2024-06-26 10:04:03 +00:00
Karol Herbst
4a169a518e
broadcom/compiler: implement load_kernel_input
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25362 >
2024-06-26 10:04:03 +00:00
Karol Herbst
caa3872f76
broadcom/compiler: abort on unknown intrinsics
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25362 >
2024-06-26 10:04:03 +00:00