Marek Olšák
c21bc65ba7
nir/opt_load_store_vectorize: make hole_size signed to indicate overlapping loads
...
A negative hole size means the loads overlap. This will be used by drivers
to handle overlapping loads in the callback easily.
Reviewed-by: Mel Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32699 >
2025-01-01 00:03:55 +00:00
Juan A. Suarez Romero
a96ded29c4
v3d/ci: clean some asan failures
...
Remove skipped asan tests that are now fixed.
Move some asan failures to skip, identifying what are the tests that
caused the failures.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32804 >
2024-12-30 16:38:39 +00:00
Marek Olšák
73d675451b
ci: update fail lists and trace checksums
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31942 >
2024-12-24 05:54:07 -05:00
Erik Faye-Lund
528ad300e6
v3dv: use vk_descriptor_type_is_dynamic
...
No need for our own helper now that we have a generic one.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32627 >
2024-12-19 15:12:58 +00:00
Juan A. Suarez Romero
2abd85bbc0
v3d: make v3d_flush_resource reallocate non-shareable resources
...
When we create a tiled resource originally to be non shareable, if later
we want to share it, it could happen the tile format is not valid for
sharing: only UIF formats are appropiate.
In this case, we need to re-create the resource with a valid format.
For more details, see
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13154 .
This commit is heavily inspired by asahi.
Fixes
`spec@ext_image_dma_buf_import@ext_image_dma_buf_import-tex-modifier`.
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/32661 >
2024-12-18 12:56:01 +00:00
Juan A. Suarez Romero
fd19106773
broadcom/compiler: fix fp16 conversion operations
...
The case for converting a 32-bit integer to 16-bit float is not
correctly implemented.
Fixes: 214121e9b0 ("broadcom/compiler: handle fp16 conversion ops")
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/32593 >
2024-12-16 10:56:38 +00:00
Juan A. Suarez Romero
8ffdf5a2ab
broadcom/compiler: ensure offset source exists
...
As the lowering is applied on a load uniform intrinsic, there must be an
offset source number.
This fixes CID#1604734 ("Negative array index read") detected by
Coverity Scan.
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/32593 >
2024-12-16 10:56:38 +00:00
Juan A. Suarez Romero
15dfcd0db3
v3dv: ensure there is always a perfmon and counter
...
Helps static analyzer to don't complain about (potential) reading
unitialized values.
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/32593 >
2024-12-16 10:56:38 +00:00
Juan A. Suarez Romero
13581b7380
v3dv: free pointers on multisync error
...
Free pointers if set_multisync() fails.
This fixes several leaks detected by static analyzer.
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/32593 >
2024-12-16 10:56:38 +00:00
Juan A. Suarez Romero
f6766ccadb
v3dv: fix BO allocation
...
`cleared_and_retried` variable is not required, as once the cache is
empty, in the second retry it will retry it is already empty so it won't
retry a new allocation.
Fixes: 2adea940f1 ("v3dv/bo: adding a BO cache")
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/32593 >
2024-12-16 10:56:38 +00:00
Juan A. Suarez Romero
cb9650d1a2
v3dv: remove unused assignments
...
These variables are not used later in the code.
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/32593 >
2024-12-16 10:56:38 +00:00
Christian Gmeiner
3d2d3b2c10
broadcom: Add perfetto data source
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31751 >
2024-12-13 12:29:11 +00:00
Alyssa Rosenzweig
972f8aa287
vulkan: rename depth bias graphics states
...
"constant" is a special keyword in OpenCL C, and we'd like to #define it
suitably in host C23 to facilitate compatiblity between host/device headers.
That means we can't have any identifiers named "global" or "constant".
Fortunately, this is the only 'constant' in any file I'm hitting.
To avoid the clash, don't abbreviate "constant factor", use "constant_factor"
instead. For consistency, "slope factor" then becomes "slope_factor".
The new names are longer but match the Vulkan API exactly.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com > [Intel]
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com > [NVK and panvk]
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com > [V3DV]
Reviewed-by: Simon Perretta <simon.perretta@imgtec.com > [IMG]
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32505 >
2024-12-06 13:48:26 -05:00
Eric R. Smith
a2f96667e2
mesa: update more drivers to handle pipe_blit_info swizzle_enable
...
Handle swizzling by falling through to the software path. Swizzle
should be rarely enabled, so this shouldn't affect performance in
most cases.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31378 >
2024-12-05 18:27:37 +00:00
Jose Maria Casanova Crespo
d0f4d0b6d0
v3d/ci: update rpi expectations by last piglit uprev
...
Fixes: 52f13f5603 ("Uprev Piglit to 468221c722481c470e6a23760b914c33143c2af6")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32482 >
2024-12-04 16:57:24 +00:00
Marek Olšák
7f4e36ff7d
gallium: replace PIPE_SHADER_CAP_INDIRECT_INPUT/OUTPUT_ADDR with NIR options
...
This is a prerequisite for enabling nir_opt_varyings for all gallium
drivers.
nir_lower_io_passes (called by the GLSL linker) only uses NIR options
to lower indirect IO access before lowering IO and calling
nir_opt_varyings.
Most drivers report full support for indirect IO and lower it themselves,
which prevents compaction of lowered indirectly accessed varyings because
nir_opt_varyings doesn't touch indirect varyings.
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io > (Rb for asahi)
Reviewed-by: Pavel Ondračka <pavel.ondracka@gmail.com > (for r300)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32423 >
2024-12-03 12:57:36 +00:00
Christian Gmeiner
105fbaab49
v3dv: Switch to use libbroadcom_perfcntr
...
Switch to a common library that does all the performance counter
readout. This converts one version-dependend file to a generic one.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Maíra Canal <mcanal@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32277 >
2024-12-02 14:13:24 +00:00
Christian Gmeiner
e531e9d616
broadcom: Add perfcount library
...
Copy the code from the gallium driver into a small library located
in src/broadcom.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32277 >
2024-12-02 14:13:24 +00:00
Christian Gmeiner
5d186d1386
v3dv: Switch to v3d_X(..)
...
Use the common helper.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Acked-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32277 >
2024-12-02 14:13:24 +00:00
Christian Gmeiner
3b4636c769
v3d: Move v3d_X(..) to src/broadcom/common
...
It will be re-used by libbroadcom_perfcntrs
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Maíra Canal <mcanal@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32277 >
2024-12-02 14:13:24 +00:00
Christian Gmeiner
787da655d1
v3dv: Switch to v3d_ioctl(..)
...
Use the common helper.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Maíra Canal <mcanal@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32277 >
2024-12-02 14:13:24 +00:00
Christian Gmeiner
0d4313951f
v3d: Move v3d_ioctl(..) to src/broadcom/common
...
It will be re-used by libbroadcom_perfcntrs.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32277 >
2024-12-02 14:13:23 +00:00
Christian Gmeiner
fadcea80c0
broadcom/common: Make v3d_device_info.h usable for C++
...
We need it for our pps ds.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Maíra Canal <mcanal@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32277 >
2024-12-02 14:13:23 +00:00
Maíra Canal
3594a35610
v3dv: use Mesa log infrastructure instead of using stderr
...
The Mesa log infrastructure is really useful as it allows us to get
debug and error information in Android systems. Apart from that, it also
allows us to forward diagnostics into the right logs and files.
Therefore, instead of using stderr for all messages, use Mesa log and
separate the messages into debugging and error messages.
Signed-off-by: Maíra Canal <mcanal@igalia.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32304 >
2024-11-26 12:09:29 +00:00
Maíra Canal
2c45a999a6
v3dv: delete v3dv_debug.h
...
It's not being used anymore.
Signed-off-by: Maíra Canal <mcanal@igalia.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32304 >
2024-11-26 12:09:29 +00:00
Roman Stratiienko
83b4b829fd
v3dv/android: Suppress AHB-related log spam
...
The VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID is handled
by the common code.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32314 >
2024-11-25 08:08:25 +00:00
Eric Engestrom
ad42be50c9
ci/deqp: fully isolate deqp builds
...
Since the builds can be from very different versions of the code, we
need to make sure the common bits are compiled from the correct code.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32250 >
2024-11-22 10:16:49 +00:00
Dave Airlie
0d15376647
v3dv: report correct error on failure to probe
...
When probing ICDs, the broadcom driver returns the wrong error code
which spews on the console instead of silently failing.
Cc: mesa-stable
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32266 >
2024-11-22 13:05:57 +10:00
Maíra Canal
2af12c5b36
v3dv: Check multiple DRM primary nodes before picking the display fd
...
Raspberry Pi 5 has different drivers for different types of connectors.
For example, HDMI connections are handled through vc4, but DSI
connections are handled through drm-rp1-dsi.
Currently, we only allow vc4 as display driver, which means that, when
we use VK_KHR_display with a DSI display, we won't get any available
displays.
In order to make sure we have available displays when using DSI/DPI/VEC
displays, enumerate all DRM primary nodes and use the first fd that has
a connected output. For example, in the case we have only a DSI display
connected to the RPi 5, it will pick the drm-rp1-dsi as the device. In
the case we have both DSI and HDMI displays connected, it will pick the
first fd that it checks.
Ideally, we would like to see all displays available in the return of
`vkGetPhysicalDeviceDisplayProperties2KHR`, but `wsi->fd` is a variable,
not an array. Therefore, it only supports one fd.
Signed-off-by: Maíra Canal <mcanal@igalia.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32123 >
2024-11-21 11:13:07 +00:00
Iago Toral Quiroga
f988a2f336
broadcom: move double-buffer heuristic helpers to the compiler
...
This avoids pulling the dependency on NIR headers in
libbroadcom_v3d.
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32240 >
2024-11-21 07:21:47 +00:00
Jose Maria Casanova Crespo
48978d5ce5
rpi4/ci: Increase timeout for rusticl jobs.
...
Test run time has increased to 26min so last days
the nightly jobs have reached the 30min timeout just
before finishing the test execution.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32243 >
2024-11-20 14:09:04 +00:00
Jose Maria Casanova Crespo
4675dfb959
vc4/ci: fails udpate after last piglit uprev
...
spec@arb_clear_texture@arb_clear_texture-supported-formats was fixed
with https://gitlab.freedesktop.org/mesa/piglit/-/merge_requests/970
Fixes: 93c8a65dee ("Uprev Piglit to d04d6fff00849a2a8e29ef3251c6ca04a2f68dc7")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32243 >
2024-11-20 14:09:04 +00:00
Marek Olšák
25d4943481
nir: make use_interpolated_input_intrinsics a nir_lower_io parameter
...
This will need to be set to true when the GLSL linker lowers IO, which
can later be unlowered by st/mesa, and then drivers can lower it again
without load_interpolated_input. Therefore, it can't be a global
immutable option.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32229 >
2024-11-20 02:45:37 +00:00
Iago Toral Quiroga
d2fb489e0c
v3dv: use the double buffer heuristic helpers
...
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32111 >
2024-11-18 08:45:04 +00:00
Iago Toral Quiroga
d81bcbe3de
broadcom: add helpers for double-buffer heuristic
...
So we can share them between vulkan and gl.
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32111 >
2024-11-18 08:45:04 +00:00
Iago Toral Quiroga
234bea1bca
v3dv: add missing support for double-buffer on V3D 7.x
...
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32111 >
2024-11-18 08:45:04 +00:00
Iago Toral Quiroga
f0543d79aa
broadcom: handle double buffer on V3D 7.1 tile size calculations
...
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32111 >
2024-11-18 08:45:04 +00:00
Iago Toral Quiroga
87acd4cde5
v3d: add a V3D_DEBUG option to force synchronous execution of jobs
...
This is useful to debug sync issues and can also can be used to
instrument tooling for dumping job execution times in the future.
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32111 >
2024-11-18 08:45:04 +00:00
Eric Engestrom
985285f30a
v3dv/ci: mark whole group as flaky
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32162 >
2024-11-16 21:50:39 +00:00
Jose Maria Casanova Crespo
808ae13042
rpi4/ci: another detected flaky timeline_semaphore test
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32154 >
2024-11-15 10:48:54 +00:00
Jose Maria Casanova Crespo
07f44ecd31
rpi4/ci: mark another flaky timeline_semaphore test
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32135 >
2024-11-14 12:54:44 +01:00
Rhys Perry
45c1280d2c
nir_lower_mem_access_bit_sizes: pass access to callback
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31904 >
2024-11-13 12:59:26 +00:00
Rhys Perry
61752152f7
nir_lower_mem_access_bit_sizes: add nir_mem_access_shift_method
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31904 >
2024-11-13 12:59:26 +00:00
Eric Engestrom
d688a25d7e
broadcom/ci: document flakes seen recently
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32080 >
2024-11-13 12:26:50 +00:00
Jose Maria Casanova Crespo
5b951bcdd7
v3d: Enable Early-Z with discards when depth updates are disabled
...
The Early-Z optimization is disabled when there is a discard
instruction in the shader used in the draw call.
But if discard is the only reason to disable Early-Z, and at
draw call time the updates in the draw call are disabled we
can enable Early-Z using a shader variant.
If there are occlussion queries active we also need to disable
Early-z optimization.
So this patch enables Early-Z in this scenario.
The performance improvement is significant when running gfxbench
benchmark showing an average improvement of 11.15%
fps_avg helped: gl_gfxbench_aztec_high.trace: 3.13 -> 3.73 (19.13%)
fps_avg helped: gl_gfxbench_aztec.trace: 4.82 -> 5.68 (17.88%)
fps_avg helped: gl_gfxbench_manhattan31.trace: 5.10 -> 6.00 (17.59%)
fps_avg helped: gl_gfxbench_manhattan.trace: 7.24 -> 8.36 (15.52%)
fps_avg helped: gl_gfxbench_trex.trace: 19.25 -> 20.17 ( 4.81%)
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32028 >
2024-11-12 13:26:38 +00:00
Eric Engestrom
4ab210f588
broadcom/ci: add flakes seen recently
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32066 >
2024-11-08 22:49:21 +00:00
Eric Engestrom
a1b309a177
broadcom/ci: add more flakes seen recently
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32045 >
2024-11-07 21:49:29 +01:00
Eric Engestrom
7e3ac4d476
broadcom/ci: document flakes seen lately
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32007 >
2024-11-06 14:14:38 +00:00
Collabora's Gfx CI Team
ff442e49b3
Uprev Piglit to c2b31333926a6171c3c02d182b756efad7770410
...
https://gitlab.freedesktop.org/mesa/piglit/-/compare/791e420b2628c1e35eea81b3bafdb1c904a141e8...c2b31333926a6171c3c02d182b756efad7770410
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31811 >
2024-10-30 18:11:56 +00:00
Vignesh Raman
c3531d5fea
ci: rename FORCE_KERNEL_TAG to EXTERNAL_KERNEL_TAG
...
FORCE_KERNEL_TAG allows testing kernel uprevs without rebuilding
containers by supplying an external kernel directly for booting on
hardware devices. Renaming it to EXTERNAL_KERNEL_TAG clarifies its
purpose, distinguishing it from KERNEL_TAG which rebuilds containers.
Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31795 >
2024-10-28 02:18:27 +00:00