Guilherme Gallo
eb1945c3d9
bin/ci: Add StructuredLogger to improve log handling
...
This commit introduces the StructuredLogger module, which provides a
robust and flexible logging utility supporting multiple data formats
(CSV, JSON, and YAML). By incorporating this module into our CI system,
we enhance our log management capabilities, making it easier to:
1. Monitor and analyze logs: The StructuredLogger is a dict-like data
abstraction which autosaves into a structured data file, whenever it
is updated. With this file, one can easily know specifics of the job
execution without having to grep it in the traces logs or exploring
the job artifacts. The autosave feature makes it useful even when the
CI job fails unexpectedly, since the partial dict is always written
back to the disk.
2. Maintain data integrity: The module includes context managers for
file locking and editing log data, ensuring data integrity and
preventing race conditions.
3. Support multiple formats: With built-in support for CSV, JSON, and
YAML formats, this module caters to a wide range of use cases and
user preferences.
4. Increase maintainability: The modular design of the StructuredLogger
and its corresponding strategies simplifies maintenance and allows
for seamless integration of additional formats in the future.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22500 >
2023-04-19 14:36:37 +00:00
Guilherme Gallo
0ac3824922
ci/lava: Add a simple Structural Logger into submitter
...
Refactor some pieces of the submitter to improve the clarity of the
functions and create a simple dictionary with aggregated data from the
submitter execution which will be dumped to a file when the script
exits.
Add support for the AutoSaveDict based structured logger as well, which
will come in a follow-up commit.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22500 >
2023-04-19 14:36:37 +00:00
Guilherme Gallo
41f29c5333
ci/lava: Update LogFollower for better section handling and history
...
Update the LogFollower class to improve section handling and provide a
history of sections encountered during log processing:
1. Add section_history attribute to store the history of encountered
GitlabSections.
2. Make LAVA job submitter use the section history feature to improve
structural logging.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22500 >
2023-04-19 14:36:37 +00:00
Guilherme Gallo
cfe644a9e5
ci/lava: Use python-fire in job submitter
...
Cleanup argparse to use dataclasses+python-fire to give easier
maintenance to job submitter.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22500 >
2023-04-19 14:36:37 +00:00
Guilherme Gallo
c03f7233ca
ci/lava: Extract LAVA proxy and LAVAJob abstractions
...
Let's make lava_job_submitter.py cleaner with only parsing and retry
mechanism capabilities.
Moved out from the submitter script:
1. proxy functions
- moved to lava.utils.lava_proxy.py
2. LAVAJob class definition
- moved to lava.utils.lava_job.py
- added structural logging capabilities into LAVAJob
- Implemented properties for job_id, is_finished, and status, with
corresponding setter methods that update the log dictionary.
- Added new methods show, get_lava_time, and refresh_log for improved
log handling and data retrieval.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22500 >
2023-04-19 14:36:37 +00:00
Guilherme Gallo
6f6b892dca
ci/lava: Move job definition stuff to another file
...
The LAVA job submitter is too big, let's reorganize it a little.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22500 >
2023-04-19 14:36:37 +00:00
Eric Engestrom
3fbe699a43
egl: inline driver.GetProcAddress() as it's always _glapi_get_proc_address()
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21399 >
2023-04-19 13:57:59 +00:00
xurui
8b366b6bc0
zink: Use malloc to allocate libs
...
ralloc is less performant most of the time when the object doesn't have sets/hashtables attached
Use malloc instead of ralloc in zink_program.c
Signed-off-by: xurui <xurui@kylinos.cn >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22326 >
2023-04-19 13:35:12 +00:00
xurui
f89c85e5d0
zink: Use malloc instead of ralloc
...
ralloc is less performant most of the time when the object doesn't have sets/hashtables attached
Use malloc instead of ralloc in zink_descriptors.c
Signed-off-by: xurui <xurui@kylinos.cn >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22326 >
2023-04-19 13:35:12 +00:00
Karmjit Mahil
c91fa697e9
pvr: Add handling for missing entries in pvr_setup_vertex_buffers()
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21589 >
2023-04-19 13:22:20 +00:00
Karmjit Mahil
f0659728e4
pvr: Fix typo in PDS function name
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21589 >
2023-04-19 13:22:20 +00:00
Daniel Schürmann
b288ec803c
radv/rt: fix total stack size computation
...
Fixes: 2649a1f272
('radv/rt: introduce and set rt_pipeline->stack_size ')
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22526 >
2023-04-19 12:26:53 +00:00
Simon Perretta
efc629389a
pvr: Use driver vertex input data in the compiler
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21588 >
2023-04-19 12:08:31 +00:00
Karmjit Mahil
361f58f0ee
pvr: Fix a comment in the PDS code
...
The comment was incorrectly showing which DDMAD param corresponed
to which DDMAD field.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21588 >
2023-04-19 12:08:31 +00:00
Karmjit Mahil
ddda8b88c6
pvr: Collect vertex input data and fill info struct.
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21588 >
2023-04-19 12:08:31 +00:00
Karmjit Mahil
da0739b4e4
pvr: Finish pvr_perform_start_of_render_attachment_clear().
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Acked-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:07 +00:00
Karmjit Mahil
95820584d0
pvr: Add deferred RTA clears for cores without gs_rta_support.
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Acked-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:07 +00:00
Sarah Walker
060c3db4ef
pvr: Complete pvr_generate_custom_mapping()
...
Signed-off-by: Sarah Walker <sarah.walker@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:07 +00:00
Sarah Walker
9930cafbf2
pvr: Support multiple sources per pass in TQ job submission
...
This is required to implement a number of workarounds.
Signed-off-by: Sarah Walker <sarah.walker@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:07 +00:00
Sarah Walker
f7ff71aec9
pvr: Complete pvr_3d_validate_addr()
...
Signed-off-by: Sarah Walker <sarah.walker@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Sarah Walker
71fe789d35
pvr: Support ipf_creq_pf in pvr_isp_ctrl_stream()
...
Signed-off-by: Sarah Walker <sarah.walker@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Sarah Walker
86ad868142
pvr: Implement pvr_reroute_to_clip()
...
Signed-off-by: Sarah Walker <sarah.walker@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Sarah Walker
35d2b51c11
pvr: Implement pvr_isp_scan_direction()
...
Signed-off-by: Sarah Walker <sarah.walker@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Sarah Walker
8bcc40ed22
pvr: Complete pvr_double_stride()
...
Signed-off-by: Sarah Walker <sarah.walker@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Sarah Walker
9cfe3b5283
pvr: Complete pvr_unwind_rects()
...
Signed-off-by: Sarah Walker <sarah.walker@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Sarah Walker
8a0a357b65
pvr: Complete pvr_modify_command()
...
Signed-off-by: Sarah Walker <sarah.walker@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Sarah Walker
240bac1e85
pvr: Implement pvr_pbe_setup_modify_defaults()
...
Signed-off-by: Sarah Walker <sarah.walker@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Matt Coster
0a8334e054
pvr: Complete pvr_isp_ctrl_stream()
...
This also adds pvr_pbe_src_format_ds(), the equivalent to
pvr_pbe_src_format_normal() for depth/stencil formats.
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Sarah Walker
5ac3c8d0df
pvr: Support single core transfer queue commands on multicore GPUs
...
Co-authored-by: Matt Coster <matt.coster@imgtec.com >
Signed-off-by: Sarah Walker <sarah.walker@imgtec.com >
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Karmjit Mahil
c3e7060ba1
pvr: Implement simple internal format v2 transfer paths.
...
This commit fixes the triangle demo on the AM62 by implementing
the paths that were left unimplemented due to the Chromebook not
having the simple internal format v2 feature.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Acked-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Rajnesh Kanwal
838132c0a9
pvr: Implement vkCmdClearDepthStencilImage API.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Rajnesh Kanwal
c468cf29a8
pvr: Implement vkCmdResolveImage2KHR API.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Rajnesh Kanwal
de9c53e3bb
pvr: Implement vkCmdFillBuffer API.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Rajnesh Kanwal
ed243eca90
pvr: Implement vkCmdCopyImageToBuffer2 API.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Rajnesh Kanwal
29e120c092
pvr: Implement vkCmdClearColorImage API.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Rajnesh Kanwal
5827f0098c
pvr: Implement vkCmdBlitImage API.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Rajnesh Kanwal
4c31121329
pvr: Implement vkCmdCopyImage2KHR API.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Rajnesh Kanwal
dc260f6fc3
pvr: Implement vkCmdCopyBufferToImage API.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:06 +00:00
Karmjit Mahil
96b6b69d8a
pvr: Implement vkCmdUpdateBuffer().
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Acked-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:05 +00:00
Rajnesh Kanwal
480bdff4b5
pvr: Add support to process transfer and blit cmds
...
Co-authored-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Co-authored-by: Matt Coster <matt.coster@imgtec.com >
Co-authored-by: Sarah Walker <sarah.walker@imgtec.com >
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Signed-off-by: Sarah Walker <sarah.walker@imgtec.com >
Acked-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:05 +00:00
Frank Binns
1cdd0ccb37
pvr: replace transfer EOT binary shaders with run-time compiled shaders
...
Take the opportunity to tweak the naming of pvr_transfer_ctx_setup_shaders and
pvr_transfer_ctx_fini_shaders to make them fit in with the rest of the naming in
the driver.
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:05 +00:00
Simon Perretta
11dea16dee
pvr: Add support for generating transfer EOT programs
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:05 +00:00
Simon Perretta
f0b47cfd65
pvr: Add support for generating transfer fragment programs
...
Co-authored-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Co-authored-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:05 +00:00
Simon Perretta
eeac8336ef
pvr: Use movc for reading special registers
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:05 +00:00
Simon Perretta
e8cd78b319
pvr: Amend validation when checking multiple supported types
...
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:05 +00:00
Karmjit Mahil
4dc86e1148
pvr: Add missing includes in pvr_common.h
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:05 +00:00
Frank Binns
6b27b76432
pvr: use util_dynarray_begin() in more places
...
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:05 +00:00
Frank Binns
16a1752d34
pvr: add missing explicit check against VK_SUCCESS
...
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
Acked-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21550 >
2023-04-19 11:01:05 +00:00
Viktoriia Palianytsia
c4e8b1cddb
iris,crocus: Add proper way of assigning num_levels value
...
Changes miptree_level_range_length function
to use correct macro and
num_levels value assignment.
Closes : mesa/mesa#8256
Signed-off-by: Viktoriia Palianytsia <v.palianytsia@globallogic.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22067 >
2023-04-19 10:25:55 +00:00
Timur Kristóf
acce5c3fe1
radv: Enable IB2 workaround on all indirect draws.
...
IB2 packets hang GFX6 when they contain any indirect draws,
not just the MULTI versions.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22533 >
2023-04-19 09:27:52 +00:00