platform/upstream/mesa.git
13 months agoci/bare-metal: drop unused imports, sort, use SPDX license
David Heidelberg [Fri, 22 Sep 2023 03:56:17 +0000 (09:26 +0530)]
ci/bare-metal: drop unused imports, sort, use SPDX license

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25285>

13 months agoci/bare-metal: correct workaround for R8152 issue while retrieving TFTP data
David Heidelberg [Tue, 19 Sep 2023 06:16:36 +0000 (11:46 +0530)]
ci/bare-metal: correct workaround for R8152 issue while retrieving TFTP data

1. Move block used for detecting R8152 problems to the bootloader
phase where it belongs. Also remove requirement to 100 failures and just
retry immediatelly.

2. Consider job failed after 10 errors, not 100. From the logs on
   cheza-14, ~ 30 errors is enough to fail.

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25285>

13 months agodocs/panfrost: use math-role to denote powers of two
Erik Faye-Lund [Mon, 21 Aug 2023 10:04:01 +0000 (12:04 +0200)]
docs/panfrost: use math-role to denote powers of two

We do this elsewhere in the article, so let's be consistent here.

Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24921>

13 months agodocs/panfrost: use code-blocks with wrapping for long blocks
Erik Faye-Lund [Mon, 21 Aug 2023 09:39:31 +0000 (11:39 +0200)]
docs/panfrost: use code-blocks with wrapping for long blocks

This makes it a lot easier to read the code-blocks, because we don't
*always* need to scroll.

Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24921>

13 months agodocs/panfrost: link to lima
Erik Faye-Lund [Mon, 21 Aug 2023 08:50:32 +0000 (10:50 +0200)]
docs/panfrost: link to lima

In the age of the internet, we can use hyperlinking to content instead
of just telling users about something! Let's do that here as well!

Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24921>

13 months agoradv/ci: cleanup list of expected failures for NAVI10/NAVI21/VEGA10
Samuel Pitoiset [Thu, 5 Oct 2023 08:40:34 +0000 (10:40 +0200)]
radv/ci: cleanup list of expected failures for NAVI10/NAVI21/VEGA10

These are flakes, not failures. Remove them from the list of expected
failures to avoid confusion.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25557>

13 months agoradv/ci: remove no longer existing test for VANGOGH
Samuel Pitoiset [Thu, 5 Oct 2023 08:38:07 +0000 (10:38 +0200)]
radv/ci: remove no longer existing test for VANGOGH

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25557>

13 months agoradv: fix synchronization with emulated GS primitives/invocations queries
Samuel Pitoiset [Thu, 5 Oct 2023 06:53:04 +0000 (08:53 +0200)]
radv: fix synchronization with emulated GS primitives/invocations queries

Move emitting the EOP even which writes the availability bit after the
GDS copy to ensure it's available.

This should fix all GS primitives/invocations flakes in CI.

Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25457>

13 months agoradv/ci: exclude dEQP-VK.texture.explicit_lod.2d.sizes.128x128_* for all jobs
Samuel Pitoiset [Thu, 5 Oct 2023 07:41:16 +0000 (09:41 +0200)]
radv/ci: exclude dEQP-VK.texture.explicit_lod.2d.sizes.128x128_* for all jobs

These tests usually take more than 20s to finish which is slow.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25556>

13 months agoradv/ci: remove duplicate skipped tests for RAVEN/STONEY
Samuel Pitoiset [Thu, 5 Oct 2023 07:39:16 +0000 (09:39 +0200)]
radv/ci: remove duplicate skipped tests for RAVEN/STONEY

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25556>

13 months agoaco/gfx11: optimize dual source export
Georg Lehmann [Wed, 4 Oct 2023 09:51:21 +0000 (11:51 +0200)]
aco/gfx11: optimize dual source export

We can combine dpp with the v_cndmask_b32.

Foz-DB Navi31:
Totals from 222 (0.28% of 79330) affected shaders:
Instrs: 564392 -> 563373 (-0.18%); split: -0.19%, +0.01%
CodeSize: 2867040 -> 2864728 (-0.08%); split: -0.09%, +0.01%
Latency: 4278957 -> 4275199 (-0.09%); split: -0.09%, +0.00%
InvThroughput: 586636 -> 585824 (-0.14%); split: -0.14%, +0.00%
SClause: 20210 -> 20211 (+0.00%); split: -0.02%, +0.02%
Copies: 39763 -> 39778 (+0.04%); split: -0.13%, +0.17%
PreVGPRs: 13924 -> 13922 (-0.01%)

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25541>

13 months agoradeonsi: "clear_12bytes_buffer" shader in nir
Ganesh Belgur Ramachandra [Thu, 14 Sep 2023 09:55:37 +0000 (04:55 -0500)]
radeonsi: "clear_12bytes_buffer" shader in nir

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25221>

13 months agoradeonsi: "clear_render_target_1d_array" shader in nir
Ganesh Belgur Ramachandra [Thu, 14 Sep 2023 12:33:35 +0000 (07:33 -0500)]
radeonsi: "clear_render_target_1d_array" shader in nir

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25221>

13 months agoradeonsi: "clear_render_target" shader in nir
Ganesh Belgur Ramachandra [Thu, 14 Sep 2023 07:02:52 +0000 (02:02 -0500)]
radeonsi: "clear_render_target" shader in nir

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25221>

13 months agoac/surface: don't require exact pitch for gfx6-8 tiled imports
Marek Olšák [Wed, 4 Oct 2023 09:17:11 +0000 (05:17 -0400)]
ac/surface: don't require exact pitch for gfx6-8 tiled imports

It was reported that it broke Stoney. Something probably uses a suboptimal
pitch, like minigbm.

Fixes: 7d066330e0c3d47a0ad - ac/surface: relax custom pitch requirements to any multiple of 256B on gfx10.3+

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25540>

13 months agoradeonsi: upload shaders via a staging buffer so as not to map VRAM directly
Marek Olšák [Sat, 21 Jan 2023 02:54:57 +0000 (21:54 -0500)]
radeonsi: upload shaders via a staging buffer so as not to map VRAM directly

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25494>

13 months agoradeonsi: add another aux context for uploading shaders
Marek Olšák [Sun, 1 Oct 2023 00:08:23 +0000 (20:08 -0400)]
radeonsi: add another aux context for uploading shaders

When the first auxiliary context is locked and wants to compile and upload
a shader asynchronously, we need to use another auxiliary context
in the compiler thread because the first one is locked at that point.

This adds an array of auxiliary contexts into si_screen and changes how aux
contexts are accessed.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25494>

13 months agointel/eu/validate: Validate "packed word exception" stricter
Sviatoslav Peleshko [Thu, 28 Sep 2023 17:26:06 +0000 (20:26 +0300)]
intel/eu/validate: Validate "packed word exception" stricter

Fixes: 75b7f5a2 ("i965: Validate "Region Alignment Rules"")
Signed-off-by: Sviatoslav Peleshko <sviatoslav.peleshko@globallogic.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25378>

13 months agointel/fs: Fix "packed word exception" condition for register regioning
Sviatoslav Peleshko [Mon, 25 Sep 2023 16:16:50 +0000 (19:16 +0300)]
intel/fs: Fix "packed word exception" condition for register regioning

Fixes: a6bf5f88 ("i965/fs: Enforce common regioning restrictions by SIMD splitting.")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9432
Signed-off-by: Sviatoslav Peleshko <sviatoslav.peleshko@globallogic.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25378>

13 months agonvk: Use align() and align64() instead of ALIGN_POT
Faith Ekstrand [Wed, 4 Oct 2023 20:25:38 +0000 (15:25 -0500)]
nvk: Use align() and align64() instead of ALIGN_POT

For one thing, they actually assert that the alignment factor is a power
of two.  More importantly, though, because they're real functions and
not macros, they up-cast the alignment to a full uint32_t or uint64_t
before doing the alignment calculation.  If you do ALIGN_POT() on a
64-bit value with a 32-bit alignment, it truncates to 32 bits because
the NOT is done before the up-cast due to C implicit cast rules.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25555>

13 months agonvk: Handle zero-sized sparse buffers
Faith Ekstrand [Wed, 4 Oct 2023 20:02:20 +0000 (15:02 -0500)]
nvk: Handle zero-sized sparse buffers

In the zero case, we don't want to allocate any VMA.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25555>

13 months agozink: Enable edge flags with points
Konstantin Seurer [Thu, 21 Sep 2023 17:25:31 +0000 (19:25 +0200)]
zink: Enable edge flags with points

Fixes: 90a8525 ("zink: handle edgeflags")
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25335>

13 months agonir/passthrough_gs: Support edge flags with points
Konstantin Seurer [Thu, 21 Sep 2023 17:24:49 +0000 (19:24 +0200)]
nir/passthrough_gs: Support edge flags with points

Fixes: 24535ff ("nir: handle edge flags in nir_create_passthrough_gs")
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25335>

13 months agozink: Initialize primitive types to an invalid value
Konstantin Seurer [Thu, 21 Sep 2023 17:14:20 +0000 (19:14 +0200)]
zink: Initialize primitive types to an invalid value

The memory is zero initialized which corresponds to MESA_PRIM_POINTS.

Fixes: 659c39f ("zink: rework primitive rasterization type logic")
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25335>

13 months agoac/gpu_info: override ib_size_alignment for VCN_DEC and JPEG
Leo Liu [Tue, 3 Oct 2023 02:32:26 +0000 (22:32 -0400)]
ac/gpu_info: override ib_size_alignment for VCN_DEC and JPEG

With the commit 4f660f99 ("ac/gpu_info: pad IBs according to ib_size_alignment"),
we found kernel isn't reporting ib_base/size_alignment correctly, thus causing
VCN_DEC and JPEG functions broken. We will fix the kernel and bump the kernel
version, and now for the older kernel, we need this override.

closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9916

Signed-off-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25511>

13 months agozink: fix for startup crash of weston running on top of zink + venus
Igor Torrente [Thu, 28 Sep 2023 16:26:25 +0000 (12:26 -0400)]
zink: fix for startup crash of weston running on top of zink + venus

Venus asserts if we are transitioning to/from
`VK_IMAGE_LAYOUT_PRESENT_SRC_KHR` if we are not dealing with a wsi
image.

Now we detects this case and avoid transition the layout in this case.

Signed-off-by: Igor Torrente <igor.torrente@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25423>

13 months agogallium/util: add more tests for compute-only contexts
Marek Olšák [Mon, 25 Sep 2023 20:57:39 +0000 (16:57 -0400)]
gallium/util: add more tests for compute-only contexts

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25389>

13 months agogallium/util: fix GALLIUM_TESTS=1 by using cso_set_vertex_buffers_and_elements
Marek Olšák [Mon, 25 Sep 2023 20:17:08 +0000 (16:17 -0400)]
gallium/util: fix GALLIUM_TESTS=1 by using cso_set_vertex_buffers_and_elements

util_draw_user_vertex_buffer no longer works with u_vbuf.
Add util_draw_user_vertices that does the right thing and use it.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25389>

13 months agonvk: Take GETPARAM_EXEC_PUSH_MAX into account
Faith Ekstrand [Wed, 27 Sep 2023 21:23:07 +0000 (16:23 -0500)]
nvk: Take GETPARAM_EXEC_PUSH_MAX into account

Reviewed-by: Danilo Krummrich <dakr@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25444>

13 months agodrm-uapi: Sync nouveau_drm.h
Faith Ekstrand [Wed, 27 Sep 2023 21:16:34 +0000 (16:16 -0500)]
drm-uapi: Sync nouveau_drm.h

From https://cgit.freedesktop.org/drm-misc/

    commit d59e75eef52d89201aaf5342a3ac23ddf3e9b112
    Author: Danilo Krummrich <dakr@redhat.com>
    Date:   Mon Oct 2 15:46:48 2023 +0200

        drm/nouveau: exec: report max pushs through getparam

Reviewed-by: Danilo Krummrich <dakr@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25444>

13 months agomesa: check numlevels and numlayers when creating a texture view
Gert Wollny [Tue, 3 Oct 2023 17:48:29 +0000 (19:48 +0200)]
mesa: check numlevels and numlayers when creating a texture view

v2: Compare against zero only, because the values are unsigned and
    can't be negative (Tapani Pälli)

CC: mesa-stable
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net> (v1)
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25532>

13 months agodocs: update calendar for 23.1.9
Eric Engestrom [Wed, 4 Oct 2023 14:10:00 +0000 (15:10 +0100)]
docs: update calendar for 23.1.9

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25547>

13 months agodocs: add sha256sum for 23.1.9
Eric Engestrom [Wed, 4 Oct 2023 13:59:30 +0000 (14:59 +0100)]
docs: add sha256sum for 23.1.9

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25547>

13 months agodocs: add release notes for 23.1.9
Eric Engestrom [Wed, 4 Oct 2023 13:52:56 +0000 (14:52 +0100)]
docs: add release notes for 23.1.9

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25547>

13 months agoaco: disable FI for quad/masked swizzle
Rhys Perry [Mon, 2 Oct 2023 15:14:19 +0000 (16:14 +0100)]
aco: disable FI for quad/masked swizzle

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8330
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25525>

13 months agonir: add fetch inactive index to quad_swizzle_amd/masked_swizzle_amd
Rhys Perry [Mon, 2 Oct 2023 15:13:35 +0000 (16:13 +0100)]
nir: add fetch inactive index to quad_swizzle_amd/masked_swizzle_amd

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/25525>

13 months agoaco: add fetch_inactive field to DPP instructions
Rhys Perry [Mon, 2 Oct 2023 14:47:11 +0000 (15:47 +0100)]
aco: add fetch_inactive field to DPP instructions

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/25525>

13 months agoaco: shrink DPP8_instruction
Rhys Perry [Mon, 2 Oct 2023 14:44:49 +0000 (15:44 +0100)]
aco: shrink DPP8_instruction

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/25525>

13 months agoegl: move is_render_node flag to platform_wayland
Leandro Ribeiro [Mon, 4 Sep 2023 16:32:57 +0000 (13:32 -0300)]
egl: move is_render_node flag to platform_wayland

This flag is being used only by platform_wayland. So move it to be
included by the #ifdef HAVE_WAYLAND_PLATFORM in struct dri2_egl_display.

Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Simon Ser <contact@emersion.fr>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25504>

13 months agoegl: make explicit that we don't support render nodes for software EGLDevice
Leandro Ribeiro [Thu, 10 Aug 2023 12:54:56 +0000 (09:54 -0300)]
egl: make explicit that we don't support render nodes for software EGLDevice

Currently we verify that by checking if the EGLDevice has a NULL
drmDevicePtr.

We have a proper way of checking that with _eglDeviceSupports(dev,
_EGL_DEVICE_SOFTWARE), so use that to make things more explicit.

Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Simon Ser <contact@emersion.fr>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25504>

13 months agoegl: simplify _eglAddDRMDevice()
Leandro Ribeiro [Thu, 10 Aug 2023 12:52:53 +0000 (09:52 -0300)]
egl: simplify _eglAddDRMDevice()

We only create EGLDevice's for render-capable devices, so it's better
to document that in the code and simplify this function.

Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Simon Ser <contact@emersion.fr>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25504>

13 months agoegl: remove unused parameter from _eglAddDRMDevice()
Leandro Ribeiro [Tue, 8 Aug 2023 02:06:50 +0000 (23:06 -0300)]
egl: remove unused parameter from _eglAddDRMDevice()

No callers are using the _EGLDevice **out_dev parameter which is being
set by this function. So just drop it.

Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Simon Ser <contact@emersion.fr>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25504>

13 months agoegl: rewrite outdated comment in _eglFindDevice()
Leandro Ribeiro [Tue, 8 Aug 2023 02:07:57 +0000 (23:07 -0300)]
egl: rewrite outdated comment in _eglFindDevice()

_eglAddDevice() has been renamed to _eglFindDevice(). But the comment
describing what this function does is outdated. Rewrite this comment.

Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Simon Ser <contact@emersion.fr>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25504>

13 months agopanfrost: Add GPU variant of G57 to the set of known ids
Carsten Haitzler [Mon, 4 Sep 2023 09:05:03 +0000 (10:05 +0100)]
panfrost: Add GPU variant of G57 to the set of known ids

There already is a G57 ID, but this is for a MTK variant that is not
actually the original design. The original design is 0x9091 not
0x9093.

Signed-off-by: Carsten Haitzler <carsten.haitzler@foss.arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25026>

13 months agotu: Add push_consts_per_stage debug option
Danylo Piliaiev [Tue, 5 Sep 2023 17:32:43 +0000 (19:32 +0200)]
tu: Add push_consts_per_stage debug option

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25086>

13 months agoturnip,ir3: Implement A7XX push consts load via preamble
Danylo Piliaiev [Tue, 5 Sep 2023 16:24:03 +0000 (18:24 +0200)]
turnip,ir3: Implement A7XX push consts load via preamble

New push consts loading consist of:
- Push consts are set for the entire pipeline via HLSQ_SHARED_CONSTS_IMM
  array which could fit up to 256b of push consts.
- For each shader stage that uses push consts READ_IMM_SHARED_CONSTS
  should be set in HLSQ_*_CNTL, otherwise push consts may get overwritten
  by new push consts that are set after the draw.
- Push consts are loaded into consts reg file in a shader preamble via
  stsc at the very start of the preamble.

OPC_PUSH_CONSTS_LOAD_MACRO is used instead of directly translating NIR
intrinsic into stsc because: we don't want to teach legalize pass how
to set (ss) between stores and loads of consts reg file, don't want for
stsc to be reordered, etc.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25086>

13 months agofreedreno: Make possible to specify A7XX feature flags
Danylo Piliaiev [Tue, 5 Sep 2023 13:44:49 +0000 (15:44 +0200)]
freedreno: Make possible to specify A7XX feature flags

Previously the idea was for each generation to have unique list
of feature flags, now it makes more sense for new generation
to have only new flags defined and "inherit" older gen flags.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25086>

13 months agoir3,tu: Refactor push consts info plumbing
Danylo Piliaiev [Tue, 5 Sep 2023 09:26:16 +0000 (11:26 +0200)]
ir3,tu: Refactor push consts info plumbing

In preparation for a new way to pass push consts into a shader,
introduced in a7xx.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25086>

13 months agofreedreno/registers: Refine a7xx push consts registers
Danylo Piliaiev [Tue, 5 Sep 2023 09:10:58 +0000 (11:10 +0200)]
freedreno/registers: Refine a7xx push consts registers

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25086>

13 months agoradv: fix emulated geometry shader primitives/invocations queries
Samuel Pitoiset [Thu, 28 Sep 2023 12:51:37 +0000 (14:51 +0200)]
radv: fix emulated geometry shader primitives/invocations queries

If both are used together, only the geometry shader primitives were
copied.

Found by inspection.

Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25543>

13 months agoradv/ci: rename GFX1100 lists to NAVI31
Samuel Pitoiset [Wed, 4 Oct 2023 10:32:27 +0000 (12:32 +0200)]
radv/ci: rename GFX1100 lists to NAVI31

The chip has been renamed.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25542>

13 months agoci: fix shebang in build-deqp-runner.sh
Eric Engestrom [Wed, 27 Sep 2023 14:12:59 +0000 (15:12 +0100)]
ci: fix shebang in build-deqp-runner.sh

We use bash features such as `pushd`, so be accurate in the shebang,
even though in practice this is sourced not executed so this shebang
only serves our editors.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25430>

13 months agoradeonsi/ci: update navi10 results
Marek Olšák [Tue, 3 Oct 2023 02:38:16 +0000 (22:38 -0400)]
radeonsi/ci: update navi10 results

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25515>

13 months agoRevert "radeonsi: specialize si_draw_rectangle using a C++ template"
Marek Olšák [Tue, 3 Oct 2023 02:21:35 +0000 (22:21 -0400)]
Revert "radeonsi: specialize si_draw_rectangle using a C++ template"

This reverts commit cd7e20f51388b29c3fb6c5ec5e3ffd860052e7f7.

Navi1x turns off NGG when streamout queries are active, which breaks
the assumption of specialized si_draw_rectangle that NGG is always
enabled on Navi1x.

Fixes: cd7e20f51388

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25515>

13 months agorusticl: fix clippys bool_to_int_with_if
Karol Herbst [Mon, 2 Oct 2023 21:33:54 +0000 (23:33 +0200)]
rusticl: fix clippys bool_to_int_with_if

New in clippy-1.65

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25538>

13 months agozink/ci: remove 19 tests from the zink-radv-polaris10-fails list
Martin Roukala (né Peres) [Wed, 4 Oct 2023 04:47:30 +0000 (07:47 +0300)]
zink/ci: remove 19 tests from the zink-radv-polaris10-fails list

It seems that most crashes in glgetteximage-related tests were fixed,
likely by [1] \o/.

[1]: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25460

Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25535>

13 months agoaco: print final ir instead if printing asm is unsupported
Georg Lehmann [Tue, 3 Oct 2023 09:55:03 +0000 (11:55 +0200)]
aco: print final ir instead if printing asm is unsupported

Not a perfect replacement, but it's better than nothing.

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25522>

13 months agoaco: assume newer generation will use GFX11 wait_imm packing
Georg Lehmann [Tue, 3 Oct 2023 09:41:44 +0000 (11:41 +0200)]
aco: assume newer generation will use GFX11 wait_imm packing

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25522>

13 months agoaco: assume new generations are unsupported by clrx
Georg Lehmann [Tue, 3 Oct 2023 09:31:14 +0000 (11:31 +0200)]
aco: assume new generations are unsupported by clrx

clrx hasn't seen any changes since 2021. I guess the only reson to keep it is
GFX6 support.

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25522>

13 months agogallium: add PIPE_MAP_NONE
Mike Blumenkrantz [Mon, 11 Sep 2023 16:22:10 +0000 (12:22 -0400)]
gallium: add PIPE_MAP_NONE

not actually used, just for trace printing

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25189>

13 months agoaux/trace: dump enum names for map usage
Mike Blumenkrantz [Mon, 11 Sep 2023 16:20:59 +0000 (12:20 -0400)]
aux/trace: dump enum names for map usage

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25189>

13 months agozink: guarantee egl syncobj lifetime
Mike Blumenkrantz [Thu, 28 Sep 2023 17:35:12 +0000 (13:35 -0400)]
zink: guarantee egl syncobj lifetime

according to spec, egl syncobjs can be deleted before they complete,
which means they need to be preserved while they're still in progress

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25460>

13 months agozink: fix end-of-batch barrier pipeline stages
Mike Blumenkrantz [Thu, 28 Sep 2023 17:33:49 +0000 (13:33 -0400)]
zink: fix end-of-batch barrier pipeline stages

ALL_COMMANDS covers all the layouts used here

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25460>

13 months agozink: move v3dv scalarBlockLayout workaround
Mike Blumenkrantz [Thu, 28 Sep 2023 12:14:28 +0000 (08:14 -0400)]
zink: move v3dv scalarBlockLayout workaround

this isn't actually device-level workaround, it's just error suppression

fixes #9895

Fixes: 2978b85789c ("zink: don't warn about missing scalarBlockLayout on v3dv")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25456>

13 months agozink: move push descriptor disable to driver workarounds
Mike Blumenkrantz [Thu, 28 Sep 2023 12:13:04 +0000 (08:13 -0400)]
zink: move push descriptor disable to driver workarounds

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25456>

13 months agozink: fix crashing in image rebinds
Mike Blumenkrantz [Mon, 25 Sep 2023 19:30:11 +0000 (15:30 -0400)]
zink: fix crashing in image rebinds

this is invalid for buffer textures

cc: mesa-stable

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25379>

13 months agoradv/video: find SPS with pps_seq_parameter_set_id
Benjamin Cheng [Sat, 30 Sep 2023 16:37:50 +0000 (12:37 -0400)]
radv/video: find SPS with pps_seq_parameter_set_id

Reviewed-by: Lynne <dev@lynne.ee>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25490>

13 months agozink/ci: bump zink-anv-tgl-full timeout to 1h45m
Samuel Pitoiset [Wed, 27 Sep 2023 16:25:09 +0000 (18:25 +0200)]
zink/ci: bump zink-anv-tgl-full timeout to 1h45m

It can timeout otherwise. Might be due to recent uprev CTS.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25509>

13 months agozink/ci: update list of expectations for zink-anv-tgl
Samuel Pitoiset [Wed, 27 Sep 2023 09:56:47 +0000 (11:56 +0200)]
zink/ci: update list of expectations for zink-anv-tgl

See https://gitlab.freedesktop.org/mesa/mesa/-/pipelines/995410.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25509>

13 months agoci/crocus: Add a related flake to a known one.
Emma Anholt [Mon, 2 Oct 2023 17:16:40 +0000 (10:16 -0700)]
ci/crocus: Add a related flake to a known one.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25509>

13 months agoci/docker: Clear the results file before starting a new deqp test run.
Emma Anholt [Mon, 2 Oct 2023 17:15:06 +0000 (10:15 -0700)]
ci/docker: Clear the results file before starting a new deqp test run.

crocus-hsw was failing because results.csv.zst was left around in the
results dir, and then zstd -o complained.  We shouldn't be uploading stale
results files, anyway, so do an rm -rf first to clean up when the docker
container gets reused.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25509>

13 months agoci/zink: Skip more doubles tests on anv that flake at 3 minute timeouts.
Emma Anholt [Mon, 2 Oct 2023 17:01:54 +0000 (10:01 -0700)]
ci/zink: Skip more doubles tests on anv that flake at 3 minute timeouts.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25509>

13 months agoci/etnaviv: Skip a GLES2 test that times out the asan job.
Emma Anholt [Mon, 2 Oct 2023 16:59:14 +0000 (09:59 -0700)]
ci/etnaviv: Skip a GLES2 test that times out the asan job.

We could make asan use a toml setup that just skipped this for asan, but
this is quick and easy and I don't think there's too much risk here.  This
would make every asan job I've looked at in the nightlies pass.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25509>

13 months agoci/etnaviv: Minor xfail/flake polishing.
Emma Anholt [Mon, 2 Oct 2023 16:56:40 +0000 (09:56 -0700)]
ci/etnaviv: Minor xfail/flake polishing.

Now that the regular piglit GPU hangs are sorted, we can get some more signal.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25509>

13 months agoci/anv: Drop the 16bit.scalar.13 skip.
Emma Anholt [Mon, 2 Oct 2023 16:48:50 +0000 (09:48 -0700)]
ci/anv: Drop the 16bit.scalar.13 skip.

It's now at 1.5 sec on my ADL and CFL systems.

Closes: #4641
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25509>

13 months agoci/anv: Drop incorrect xfail addition for TGL
Emma Anholt [Mon, 25 Sep 2023 18:33:50 +0000 (11:33 -0700)]
ci/anv: Drop incorrect xfail addition for TGL

This xfails file is for deqp-vk.  The xfail that was added was for
angle-on-anv, which has its own expectations files and has this test
recently listed as a flake already.

Fixes: a217c5c58c53 ("ci: update to vulkan-cts-1.3.6.3")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25509>

13 months agocopyimage: check requested slice early when cube maps are involved
Gert Wollny [Mon, 2 Oct 2023 13:38:19 +0000 (15:38 +0200)]
copyimage: check requested slice early when cube maps are involved

The generalized check for the z-slice happens in 'check_region_bounds',
but this function requires the image pointer that is acquired in
`prepare_target_err`, therefore replace the assertion with a proper test.

v2: Also check for negative value (Brian Paul)

CC: mesa-stable
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25507>

13 months agoanv: Add support for a transfer queue on Alchemist
Kenneth Graunke [Thu, 16 Jun 2022 16:05:30 +0000 (09:05 -0700)]
anv: Add support for a transfer queue on Alchemist

Alchemist has an improved blitter that's sufficiently powerful to
implement a transfer queue. Tigerlake's blitter lacks compression
handling and other features we need, unfortunately.

Rework (Sagar):
- Check blitter command buffer in EndCommandBuffer

v2: (Lionel)
- Look at image, buffer and memory barriers as well
- Flush cache if there is queue ownership transfer

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18325>

13 months agoanv: Handle end of pipe with MI_FLUSH_DW on transfer queue
Sagar Ghuge [Thu, 7 Sep 2023 23:01:57 +0000 (16:01 -0700)]
anv: Handle end of pipe with MI_FLUSH_DW on transfer queue

Blitter command streamer supports MI_FLUSH_DW command so make sure we
don't end up emitting pipe control with CS stall and also handle the end
of pipe timestamp with MI_FLUSH_DW command.

Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18325>

13 months agoci: Compile Turnip's virtio kmd in debian-arm64
Danylo Piliaiev [Tue, 3 Oct 2023 16:30:13 +0000 (18:30 +0200)]
ci: Compile Turnip's virtio kmd in debian-arm64

Nothing compiled virtio kmd in CI.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25531>

13 months agotu/virtio: Fix incorrect call to tu_perfetto_submit
Danylo Piliaiev [Tue, 3 Oct 2023 16:25:34 +0000 (18:25 +0200)]
tu/virtio: Fix incorrect call to tu_perfetto_submit

Virtio backend backend was not updated because it was not
compiled in CI and not compiled locally.

Fixes: 7f59e3723380e7ed72588040e4f496733ac5ec83
("tu/perfetto: Allow gpu time to be passed into tu_perfetto_submit")

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25531>

13 months agotu/a7xx: Correctly record timestamps for u_trace
Danylo Piliaiev [Tue, 3 Oct 2023 12:17:07 +0000 (14:17 +0200)]
tu/a7xx: Correctly record timestamps for u_trace

It was changed how CP_EVENT_WRITE works on A7XX.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25528>

13 months agofreedreno: Add attach-bo debugging
Rob Clark [Mon, 2 Oct 2023 18:05:39 +0000 (11:05 -0700)]
freedreno: Add attach-bo debugging

Add asserts to verify that BOs referenced in cmdstream are attached to
the submit.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25465>

13 months agofreedreno: Move/add some attach_bo()
Rob Clark [Mon, 2 Oct 2023 18:03:35 +0000 (11:03 -0700)]
freedreno: Move/add some attach_bo()

In some cases we were missing this, in others we just needed to move it
before the OUT_RELOC().

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25465>

13 months agofreedreno: Add missing indirect_draw_count tracking
Rob Clark [Mon, 2 Oct 2023 19:45:10 +0000 (12:45 -0700)]
freedreno: Add missing indirect_draw_count tracking

Fixes: f677f64e80c4 ("freedreno: implement GL_ARB_indirect_parameters")
Fixes: b43e5aec0d2c ("freedreno/batch: Move submit bo tracking to batch")
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25465>

13 months agofreedreno: Add private-BO tracking
Rob Clark [Mon, 2 Oct 2023 17:53:54 +0000 (10:53 -0700)]
freedreno: Add private-BO tracking

There are some internally used buffers that we should just attach to
every submit up-front.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25465>

13 months agofreedreno/batch: Move query_buf allocation
Rob Clark [Tue, 26 Sep 2023 19:51:53 +0000 (12:51 -0700)]
freedreno/batch: Move query_buf allocation

This lets us move fd_batch_update_queries() after resource tracking.
Which will become needed in the next patch which adds validation to
assert needed BOs are attached to the submit.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25465>

13 months agofreedreno: Fix user const buffer dirtiness
Rob Clark [Wed, 27 Sep 2023 17:24:13 +0000 (10:24 -0700)]
freedreno: Fix user const buffer dirtiness

If we went the upload_user_buffer() path, cb->buffer would be null,
causing fd_dirty_shader_resource() to be a no-op.  What we want to
use is &so->cb[index].

Fixes: b43e5aec0d2c ("freedreno/batch: Move submit bo tracking to batch")
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25465>

13 months agofreedreno: Fix streamout offset_buf dirtiness
Rob Clark [Thu, 28 Sep 2023 19:43:33 +0000 (12:43 -0700)]
freedreno: Fix streamout offset_buf dirtiness

We also need to mark the offset buffer as dirty.

Fixes: b43e5aec0d2c ("freedreno/batch: Move submit bo tracking to batch")
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25465>

13 months agofreedreno/a6xx: Remove dummy packet for globals
Rob Clark [Mon, 25 Sep 2023 19:51:08 +0000 (12:51 -0700)]
freedreno/a6xx: Remove dummy packet for globals

Unneeded since commit b43e5aec0d2c ("freedreno/batch: Move submit bo
tracking to batch")

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25465>

13 months agofreedreno: Use explicit QCOM_TILED3 modifier
Rob Clark [Thu, 28 Sep 2023 18:40:09 +0000 (11:40 -0700)]
freedreno: Use explicit QCOM_TILED3 modifier

Now that this is in upstream drm_fourcc.h we can drop the private
internal modifier.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25465>

13 months agofreedreno: Indentation fix
Rob Clark [Wed, 27 Sep 2023 17:27:15 +0000 (10:27 -0700)]
freedreno: Indentation fix

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25465>

13 months agotu/kgsl: Support u_trace and perfetto
Danylo Piliaiev [Thu, 10 Aug 2023 09:54:44 +0000 (11:54 +0200)]
tu/kgsl: Support u_trace and perfetto

Raw GPU time is retrieved via kgsl_cmdbatch_profiling_buffer,
offseted GPU time is retrieved via KGSL_PERFCOUNTER_GROUP_ALWAYSON.
This allows to calculate GPU time offset for each submission and
synchronize CPU/GPU time domains.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12805>

13 months agotu/kgsl: Fix memory leak of tmp allocations during submissions
Danylo Piliaiev [Thu, 10 Aug 2023 13:36:33 +0000 (15:36 +0200)]
tu/kgsl: Fix memory leak of tmp allocations during submissions

cc: mesa-stable

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12805>

13 months agotu/perfetto: Allow gpu time to be passed into tu_perfetto_submit
Danylo Piliaiev [Wed, 9 Aug 2023 14:14:07 +0000 (16:14 +0200)]
tu/perfetto: Allow gpu time to be passed into tu_perfetto_submit

In preparation to support perfetto on KGSL, on KGSL GPU time is
retrieved on submission and requires minimal post-processing.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12805>

13 months agotu/perfetto: Remove now unnecessary tu_perfetto_util
Danylo Piliaiev [Wed, 9 Aug 2023 12:06:24 +0000 (14:06 +0200)]
tu/perfetto: Remove now unnecessary tu_perfetto_util

Since Turnip now uses C++ we can directly include tu_device.h
into perfetto code.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12805>

13 months agonir/lower_subgroups: use intrinsic builder more
Georg Lehmann [Mon, 2 Oct 2023 11:02:14 +0000 (13:02 +0200)]
nir/lower_subgroups: use intrinsic builder more

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25501>

13 months agonir: make quad intrinsic dst bit size match src0
Georg Lehmann [Mon, 2 Oct 2023 10:53:49 +0000 (12:53 +0200)]
nir: make quad intrinsic dst bit size match src0

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25501>

13 months agoisaspec: Add BitSetEnumValue object
Christian Gmeiner [Mon, 4 Sep 2023 13:18:15 +0000 (15:18 +0200)]
isaspec: Add BitSetEnumValue object

There might be cases where you describe an enum in isaspec and want it to use
for decoding but also for codegen with e.g. mako.

Lets have a look at the following exmaple:

<enum name="#cond">
<value val="0" display=""/>    <!-- always: display nothing -->
<value val="1" display=".gt"/>
...
</enum>

In the decoding case we want that nothing gets displayed if #cond has the value of "0". For
codegen with mako this could result in the following C code:

enum PACKED cond {
   COND_ = 0,
   COND_GT = 1,
   ...
};

What you really want is this:

enum PACKED cond {
   COND_ALWAYS = 0,
   COND_GT = 1,
   ...
};

To make this possible introduce BitSetEnumValue class which represents
an isaspec xml enum. It holds the value, displayname and now a name.

With the  __str__ method the old behaviour is still intact.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25451>

13 months agoisaspec: Add support for custom meta information
Christian Gmeiner [Tue, 29 Aug 2023 10:49:08 +0000 (12:49 +0200)]
isaspec: Add support for custom meta information

Allows every user of isaspec to add custom meta information
to any bitset. This can be quite handy if you want to know
how many sources your instruction have, if this instruction has
a dest or provide some names for sources that can be used
by some debug tools.

All you need is to sprinkle <meta> tags in the xml file and
provide custom attributes.
  <meta has_dest="1" num_sources="3" .. />

With get_meta() method of any bitset you can get access to
the dict with all the attributes. get_meta() walks the whole
tree to collect all <meta> tags on the way to the root node.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25451>