Commit graph

179939 commits

Author SHA1 Message Date
Timur Kristóf
ec0605ff72 radv: Add temporary BO for transfer queues.
Some copy operations are poorly supported by the SDMA hardware,
meaning that the built-in packets don't support them, so we will
need to work around that by copying to and from a temporary BO.

The size of the temporary buffer was chosen so that it can fit
at least one full pixel row of the largest possible image.

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/25831>
2023-11-01 13:21:01 +00:00
Timur Kristóf
8156c923ee radv: Implement buffer/image copies on transfer queues.
Previously, RADV only had a simple implementation of
image to buffer copies using the SDMA for the PRIME copy.

This commit replaces that with a full-featured implementation
that includes buffer to image and image to buffer copies and
removes the assumptions that the PRIME copy had, as well as
adds new helper functions which will be shared with other copy
functions in upcoming commits.

Unaligned buffer/image copies require a workaround, which
will be implemented by a future commit.

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/25831>
2023-11-01 13:21:01 +00:00
Timur Kristóf
ed21f1c962 radv: Expose radv_get_dcc_max_uncompressed_block_size function.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25831>
2023-11-01 13:21:01 +00:00
Timur Kristóf
848f2f2b99 radv: Remove always false tmz variables from SDMA functions.
We can re-add them later as-needed.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25831>
2023-11-01 13:21:00 +00:00
Samuel Pitoiset
17daa08dff radv: emit COMPUTE_PIPELINESTAT_ENABLE for CS invocations on ACE
This register seems needed to enable compute shader shader invocations
on GFX7. On GFX8+ it's working fine without emitting this register but
I think it doesn't hurt.

This fixes dEQP-VK.query_pool.statistics_query.*_cq on GFX7.

Fixes: a9945216ba ("radv: fix COMPUTE_SHADER_INVOCATIONS query on compute queue")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25957>
2023-11-01 12:46:17 +00:00
Samuel Pitoiset
9a0a77cb53 radv: fix compute shader invocations query on compute queue on GFX6
Looks like GFX6 always writes the number of compute shader invocations
at offset 0 when used on compute queue.

This fixes dEQP-VK.query_pool.statistics_query.*_cq on GFX6.

Fixes: a9945216ba ("radv: fix COMPUTE_SHADER_INVOCATIONS query on compute queue")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25957>
2023-11-01 12:46:17 +00:00
Samuel Pitoiset
46dc02354a radv: adjust binning settings to improve performance on GFX9
This partially reverts 74ab940156 which
was a fix for random GPU hangs with binning on GFX10+. Though,
according to RadeonSI, only GFX10+ is affected and this reduced perf
on GFX9 chips.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25951>
2023-11-01 12:24:45 +00:00
Samuel Pitoiset
e4a1bc70dd radv: bind the non-dynamic graphics state from the pipeline unconditionally
The following sequence is valid (although weird) but many other drivers
(including RADV) were broken:
    - bind pipeline with some static state
    - set state command for that static state (to a bad value)
    - bind the same pipeline again
    - draw

Fixes new dEQP-VK.dynamic_state.*.double_static_bind.

Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25954>
2023-11-01 09:44:13 +00:00
Sarah Walker
4e912c972b pvr: Update AM62 DSS compatible string to match upstream
Signed-off-by: Sarah Walker <sarah.walker@imgtec.com>
Reviewed-by: Matt Coster <matt.coster@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25978>
2023-11-01 09:23:25 +00:00
Samuel Pitoiset
024dab650e radv/ci: enable RADV_DEBUG=nomeshshader for vkcts-navi31-valve
To make VKCTS on NAVI31 stable until the task shader issue is
resolved.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25969>
2023-11-01 08:50:06 +01:00
Samuel Pitoiset
a97160cad8 radv: add RADV_DEBUG=nomeshshader
This option will be used to disable VK_EXT_mesh_shader in Mesa CI
for GFX11 because running task shader tests in parallel can hang the
GPU.

Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10051
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25969>
2023-11-01 08:49:35 +01:00
Samuel Pitoiset
15f92c3b2c radv/ci: update list of expected failures/flakes for NAVI31
Let's clean the flakes list, it might be needed to re-add some of them
but we will track those.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25969>
2023-11-01 08:49:35 +01:00
Bas Nieuwenhuizen
da7e6f303b radv: Add some initial graphics DGC preprocessing support.
Just the bits that obviously need no adjustment in the DGC
preprocessing code.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25835>
2023-11-01 00:06:10 +00:00
Bas Nieuwenhuizen
c4fb827441 radv: Add compute DGC preprocessing support.
This should reduce the overhead due to reduced syncs.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25835>
2023-11-01 00:06:10 +00:00
Bas Nieuwenhuizen
108227a84e radv: Add DGC preprocessing barrier support.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25835>
2023-11-01 00:06:09 +00:00
Karol Herbst
f7830240ac rusticl/mesa/screen: do not derefence the entire pipe_screen struct
Apparently the dereferences made tsan report data races on the pipe_screen
object.

Cc: mesa-stable
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25944>
2023-10-31 22:09:56 +00:00
Casey Bowman
71064879d1 anv: Override vendorID for Diablo IV
Another case of a game assuming XeSS is available since an
Intel ARC GPU is discovered by the game's executable binary.

With this, a warning will appear that GPU is unstable/not supported,
but a warning is preferable over the game crashing.

No other issues observed upon starting & playing the game.

Signed-off-by: Casey Bowman <casey.g.bowman@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25965>
2023-10-31 21:32:48 +00:00
Vitaliy Triang3l Kuzmin
03705f37bf r600: Replace TGSI I/O semantics with shader_enums
Removes the link-time dependency on tgsi_get_gl_varying_semantic from
Gallium auxiliary.

ps_prim_id_input linkage removed due to redundancy - the SPI SID is
calculated for VARYING_SLOT_PRIMITIVE_ID on both sides.

Signed-off-by: Vitaliy Triang3l Kuzmin <triang3l@yandex.ru>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25695>
2023-10-31 21:15:27 +00:00
Vitaliy Triang3l Kuzmin
29c544abc0 r600: Fix outputs typo in print_pipe_info
Signed-off-by: Vitaliy Triang3l Kuzmin <triang3l@yandex.ru>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25695>
2023-10-31 21:15:27 +00:00
Vitaliy Triang3l Kuzmin
5419f52967 r600/sfn: Split r600_shader_from_nir into common and Gallium parts
Signed-off-by: Vitaliy Triang3l Kuzmin <triang3l@yandex.ru>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25695>
2023-10-31 21:15:27 +00:00
Vitaliy Triang3l Kuzmin
c78aa6a417 r600/sfn: Make r600 header include paths relative
Fixes building SFN without the R600 Gallium driver in the #include paths

Signed-off-by: Vitaliy Triang3l Kuzmin <triang3l@yandex.ru>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25695>
2023-10-31 21:15:27 +00:00
Vitaliy Triang3l Kuzmin
03d102f576 r600: Split r600_shader.h into common and Gallium parts
Signed-off-by: Vitaliy Triang3l Kuzmin <triang3l@yandex.ru>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25695>
2023-10-31 21:15:27 +00:00
Vitaliy Triang3l Kuzmin
bcb34884c2 r600: Remove Gallium dependencies in r600_asm
Signed-off-by: Vitaliy Triang3l Kuzmin <triang3l@yandex.ru>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25695>
2023-10-31 21:15:27 +00:00
Vitaliy Triang3l Kuzmin
b7e5a8b5ca r600: Replace R600_ERR with R600_ASM_ERR in shader code
Doesn't depend on r600_pipe, thus usable outside Gallium

Signed-off-by: Vitaliy Triang3l Kuzmin <triang3l@yandex.ru>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25695>
2023-10-31 21:15:27 +00:00
Vitaliy Triang3l Kuzmin
10ef3b7fe3 r600: Remove Gallium dependencies in r600_isa
Signed-off-by: Vitaliy Triang3l Kuzmin <triang3l@yandex.ru>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25695>
2023-10-31 21:15:27 +00:00
Vitaliy Triang3l Kuzmin
564b972196 r600: Move r600_create_vertex_fetch_shader to r600_shader.c
For r600_asm to be usable outside Gallium

Signed-off-by: Vitaliy Triang3l Kuzmin <triang3l@yandex.ru>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25695>
2023-10-31 21:15:27 +00:00
Rob Clark
5521840cbc ci: Only strip debug symbols
Hopefully this will get us more useful backtraces in CI (for ex, with
traces replay) while maintaining _most_ of the artifact size benefits of
stripping:

  -rwxr-xr-x 1 robclark robclark  50M Oct 30 11:47 msm_dri.so.strip-debug
  -rwxr-xr-x 1 robclark robclark  40M Oct 30 11:47 msm_dri.so.strip
  -rwxr-xr-x 1 robclark robclark 129M Oct 30 11:47 msm_dri.so.orig

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25962>
2023-10-31 20:13:30 +00:00
Giancarlo Devich
7d0ae38ef7 nir: Workaround MSVC internal compiler error in ARM64 build
Changes a variable type from `nir_component_mask_t` to `uint32_t`. The
variable's name suggests it may have been meant to be a 32-bit integer
anyway.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25691>
2023-10-31 19:33:40 +00:00
Jesse Natalie
97553affc6 microsoft: Disable post-merge CI for Windows
Addresses part of https://gitlab.freedesktop.org/mesa/mesa/-/issues/10072

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25976>
2023-10-31 19:10:30 +00:00
Frank Binns
122ed7cd80 pvr: rename some more instances of 'reserved' to 'carveout' for consistency
Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25910>
2023-10-31 15:50:27 +00:00
Eric Engestrom
f2dfb0f6ee broadcom: use .never-post-merge-rules for all rpi tests
We never want to re-run these tests after merging an MR; this is
entirely unnecessary and a 2x waste of resources.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25960>
2023-10-31 14:42:54 +00:00
Eric Engestrom
163c6fe4c4 ci: add .never-post-merge-rules to avoid re-running pre-merge jobs after merging
This is entirely unnecessary and a 2x waste of resources.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25960>
2023-10-31 14:42:54 +00:00
Gert Wollny
4cdd094ae1 virgl: Use host reported limits for max outputs
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24136>
2023-10-31 13:03:29 +00:00
Alejandro Piñeiro
c24a635d1c broadcom/compiler: add v3d_pack_unnormalized_coordinates helper
So far we were packing by hand unnormalized coordinates at the
V3D41_TMU_CONFIG_PARAMETER_1 pack structure. To get this working we
hardcoded V3D_VERSION to 41 at v3dv_uniforms, that works for v71
because the structure are the same. But that is somewhat ugly, and
will not work if a new hw generation have a different structure.

Additionally, we found that for v3d this will be also needed.

So this commit adds a helper on the compiler. For now, and to simplify
it also use just one method for both generations. This solves the
problem of the same code needed on both v3d and v3dv.

But the idea is that in the future we need a similar need, but the
structure different on each generation, it would have used a similar
approach to other generation dependent function calls (like
v3d40_vir_emit_tex), having the implementation on a source file that
can safely include the hw generation headers.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25544>
2023-10-31 13:00:34 +01:00
David Heidelberg
5e4ba9b166 ci/lava: add wine into the amd64 ephemeral container packages
We don't have to install DXVK in chroot.

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25843>
2023-10-31 01:00:25 +00:00
David Heidelberg
81aaeb80f7 Revert "ci/wine: move wine configuration into rootfs where is wine available"
This reverts commit 63b42e4007fec8746f7a3848b3816d36124dcbfd.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25843>
2023-10-31 01:00:25 +00:00
David Heidelberg
1e13c7ca46 ci/wine: move wine configuration into rootfs where is wine available
As we removed wine from builds, we need to use the one installed in rootfs.

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25843>
2023-10-31 01:00:25 +00:00
David Heidelberg
35c7b5e159 ci/alpine: do not store apk cache
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25843>
2023-10-31 01:00:25 +00:00
David Heidelberg
3669ca159f ci/venus: reduce pre-merge to fit under 15 min
Currently the run takes ~ 35 minutes, which is too much.

Reported-by: default avatarDaniel Stone <daniels@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25843>
2023-10-31 01:00:25 +00:00
David Heidelberg
f6dd808d68 ci/panfrost: run T860 traces as intended (nightly job)
Also split extends from the HW definitions.

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25843>
2023-10-31 01:00:25 +00:00
David Heidelberg
17d6baff82 ci: drop debootstrap, unused
Most likely was historically used there, but not recently.

Reviewed-by: Martin Roukala <martin.roukala@mupuf.org>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25843>
2023-10-31 01:00:25 +00:00
David Heidelberg
e4d6da5ba3 ci: bashify scripts, use arrays
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25843>
2023-10-31 01:00:25 +00:00
David Heidelberg
e678483ecd ci: always cleanup pip and cargo leftovers
This is leftovers from the compilation/installation phase.

In the build containers this took around ~ 400 MB.

Reviewed-by: Martin Roukala <martin.roukala@mupuf.org>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25843>
2023-10-31 01:00:25 +00:00
David Heidelberg
c6928a4e6e ci: drop mingw and wine from the x86_64 build container
MinGW is currently disabled and new implementation will handle things
differently anyway.

Reviewed-by: Martin Roukala <martin.roukala@mupuf.org>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25843>
2023-10-31 01:00:25 +00:00
David Heidelberg
ef217a9221 ci: simplify debian-rusticl-testing definition
This was originally split due testing both rusticl and clover.

Reviewed-by: Martin Roukala <martin.roukala@mupuf.org>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25843>
2023-10-31 01:00:25 +00:00
David Heidelberg
1f2b50fbc2 ci: drop clover from release builds and remove rusticl build
Let's hope we don't see Clover in next release.

For rusticl, drop debian-rusticl and keep the debian-rusticl-testing.

Reviewed-by: Martin Roukala <martin.roukala@mupuf.org>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25843>
2023-10-31 01:00:25 +00:00
David Heidelberg
2815e5c94d ci: hide Mesa install phase
So far we show installation part together with meson tests.

Reviewed-by: Martin Roukala <martin.roukala@mupuf.org>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25843>
2023-10-31 01:00:25 +00:00
David Heidelberg
68e8e40163 ci/zink: reduce premerge testing on a618 to ~ 12 minutes
Currently is run around 20 minutes.

Except this, also use Weston (more likely use for zink+a618)
as an effort to stop testing X11 bugs instead of Mesa.

Rest will get covered by nightly job.

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25843>
2023-10-31 01:00:25 +00:00
David Heidelberg
fa7ca1f70a ci: bump tags
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25843>
2023-10-31 01:00:25 +00:00
Kenneth Graunke
fddad4d5f9 intel/compiler: Assert that FS_OPCODE_[REP_]FB_WRITE is for pre-Gfx7
We use SHADER_OPCODE_SEND directly instead of FS_OPCODE_FB_WRITE (for a
while now) and FS_OPCODE_REP_FB_WRITE (since the previous commit).

Assert that it isn't used on Gfx7+.

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20172>
2023-10-30 23:03:23 +00:00