platform/upstream/mesa.git
21 months agoaco: fix reset_block_regs() in postRA-optimizer
Daniel Schürmann [Mon, 14 Nov 2022 15:17:25 +0000 (16:17 +0100)]
aco: fix reset_block_regs() in postRA-optimizer

Accidentally, we picked the index of the predecessors instead of the predecessors.

Totals from 8496 (6.30% of 134913) affected shaders: (GFX10.3)
CodeSize: 64070724 -> 64022516 (-0.08%); split: -0.08%, +0.00%
Instrs: 11932750 -> 11920698 (-0.10%); split: -0.10%, +0.00%
Latency: 144040266 -> 144017062 (-0.02%); split: -0.02%, +0.00%
InvThroughput: 29327735 -> 29326421 (-0.00%); split: -0.00%, +0.00%

Fossil DB stats on Rembrandt (RDNA2):
Totals from 4488 (3.33% of 134906) affected shaders:
CodeSize: 42759736 -> 42735392 (-0.06%); split: -0.06%, +0.00%
Instrs: 7960522 -> 7954436 (-0.08%); split: -0.08%, +0.00%
Latency: 96192647 -> 96172571 (-0.02%); split: -0.02%, +0.00%
InvThroughput: 19313576 -> 19312575 (-0.01%); split: -0.01%, +0.00%

Fixes: 75967a4814be7988afc20e59bac4b48bafacab00 ('aco/optimizer_postRA: Speed up reset_block() with predecessors.')
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16161>

21 months agoaux/trace: Add pipe_context::set_hw_atomic_buffers
Gert Wollny [Thu, 29 Dec 2022 16:44:39 +0000 (17:44 +0100)]
aux/trace: Add pipe_context::set_hw_atomic_buffers

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

21 months agoradv: Advertise rt pipelines for DOOM Eternal
Konstantin Seurer [Fri, 30 Dec 2022 15:45:13 +0000 (16:45 +0100)]
radv: Advertise rt pipelines for DOOM Eternal

The game has been fixed recently.

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

21 months agoradv: Advertise rt pipelines for Quake II RTX
Konstantin Seurer [Fri, 30 Dec 2022 15:35:37 +0000 (16:35 +0100)]
radv: Advertise rt pipelines for Quake II RTX

The game has been working for a while now.

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

21 months agoradv: Add a driconf to advertise rt pipelines
Konstantin Seurer [Fri, 30 Dec 2022 15:35:00 +0000 (16:35 +0100)]
radv: Add a driconf to advertise rt pipelines

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

21 months agoisaspec: encode: handle special fieldname properties
Christian Gmeiner [Sun, 18 Dec 2022 12:33:15 +0000 (13:33 +0100)]
isaspec: encode: handle special fieldname properties

Without this change a fieldname like '{DST::align=12}' was not used for
encoding. Change the regex to include such fieldnames and remove the fieldname
property in a later step.

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20462>

21 months agodrm-shim: Use hide_drm_device_path() to hide other drm devices
Jordan Justen [Fri, 21 Oct 2022 22:34:06 +0000 (15:34 -0700)]
drm-shim: Use hide_drm_device_path() to hide other drm devices

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19241>

21 months agodrm-shim: Add hide_drm_device_path()
Jordan Justen [Fri, 21 Oct 2022 20:47:11 +0000 (13:47 -0700)]
drm-shim: Add hide_drm_device_path()

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19241>

21 months agodrm-shim: Convert nfasprintf and nfvasprintf to functions
Jordan Justen [Mon, 24 Oct 2022 18:56:58 +0000 (11:56 -0700)]
drm-shim: Convert nfasprintf and nfvasprintf to functions

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19241>

21 months agofreedreno/a6xx: Linewrap
Rob Clark [Thu, 29 Dec 2022 17:14:24 +0000 (09:14 -0800)]
freedreno/a6xx: Linewrap

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

21 months agofreedreno: Fix use_fence_fd typo
Rob Clark [Sun, 25 Dec 2022 17:22:21 +0000 (09:22 -0800)]
freedreno: Fix use_fence_fd typo

This was causing excessive flushes, because requesting an out-fence fd
triggers the drm layer to flush deferred submits instead of continued
merging.

Fixes: 48b5164356c ("freedreno/drm: Return fence from submit flush")
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20465>

21 months agofreedreno/drm: Flush deferred submits at context teardown
Rob Clark [Fri, 30 Dec 2022 18:25:48 +0000 (10:25 -0800)]
freedreno/drm: Flush deferred submits at context teardown

If we don't flush deferred submits, we could end up waiting on a fence
that is never signaled.

Fixes: 48b5164356c ("freedreno/drm: Return fence from submit flush")
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20465>

21 months agofreedreno: Add some more traces
Rob Clark [Sun, 25 Dec 2022 16:31:48 +0000 (08:31 -0800)]
freedreno: Add some more traces

Add some more traces around fence waits to better see potential stalls.

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

21 months agofreedreno: Remove some impossible NULL checks
Rob Clark [Sat, 3 Dec 2022 19:46:45 +0000 (11:46 -0800)]
freedreno: Remove some impossible NULL checks

There is only one special case (a3xx/a4xx queries) were a pipe_resource
is allocated without a backing buffer (because we don't know the needed
size until we know the # of bins).  But those will never end up as an
a6xx render target!

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

21 months agobin/gen_release_notes.py: read Closes/Fixes tags case-insensitively
Konstantin Kharlamov [Mon, 12 Dec 2022 22:50:02 +0000 (01:50 +0300)]
bin/gen_release_notes.py: read Closes/Fixes tags case-insensitively

Cc: mesa-stable
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20241>

21 months agobin/gen_release_notes.py: parse "Fixes" tags as well as "Closes"
Konstantin Kharlamov [Fri, 9 Dec 2022 16:16:22 +0000 (19:16 +0300)]
bin/gen_release_notes.py: parse "Fixes" tags as well as "Closes"

Some commits refer to bugs being fixed with "Fixes" tag. Example of one:

    e13d53e1fdb 'Revert "glx/dri: Fix DRI drawable release at MakeCurrent time"'

Parse this tag as well.

Cc: mesa-stable
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20241>

21 months agobin/gen_release_notes.py: don't fail if "Closes" refers to an MR
Konstantin Kharlamov [Thu, 8 Dec 2022 20:09:26 +0000 (23:09 +0300)]
bin/gen_release_notes.py: don't fail if "Closes" refers to an MR

Sometimes a tag "Closes:" in a commit may refer to a merge request
instead of an issue. Examples of such commits:

    34319c7d84 "ci/freedreno: disable antichambers trace"
    998122d9c2 "mesa: fix GL_INVALID_OPERATION in glEGLImageTargetTexStorageEXT"

Avoid failing on these by explicitly checking that the URL refers to an
issue

Cc: mesa-stable
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20241>

21 months agobin/gen_release_notes.py: do not fail on confidential features
Konstantin Kharlamov [Thu, 8 Dec 2022 19:53:51 +0000 (22:53 +0300)]
bin/gen_release_notes.py: do not fail on confidential features

A commit may refer to an issue marked as confidential. That will look
like a 404 page for outside users. One example of such commit is:

    369c12e5be "anv: clear descriptorsets if AllocateDescriptorSets fails"

Let's handle that case.

Cc: mesa-stable
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20241>

21 months agobin/gen_release_notes.py: do not end "features" with "None"
Konstantin Kharlamov [Thu, 8 Dec 2022 19:05:03 +0000 (22:05 +0300)]
bin/gen_release_notes.py: do not end "features" with "None"

Currently, the "New features" list unconditionally ends with a "None"
point, which makes no sense. The original author probably meant to check
whether the file is empty, so remove the else clause, and add the check
for emptiness.

Cc: mesa-stable
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20241>

21 months agodocs: update calendar for 22.3.2
Eric Engestrom [Thu, 29 Dec 2022 21:51:05 +0000 (21:51 +0000)]
docs: update calendar for 22.3.2

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

21 months agodocs: add release notes for 22.3.2
Eric Engestrom [Thu, 29 Dec 2022 19:26:41 +0000 (19:26 +0000)]
docs: add release notes for 22.3.2

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

21 months agogen_release_notes: strip second newline in new features
Eric Engestrom [Fri, 2 Dec 2022 11:58:17 +0000 (11:58 +0000)]
gen_release_notes: strip second newline in new features

Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20132>

21 months agofreedreno/ir3: Allow isam for non-bindless ssbo loads
Rob Clark [Thu, 22 Dec 2022 04:17:13 +0000 (20:17 -0800)]
freedreno/ir3: Allow isam for non-bindless ssbo loads

We already had the infrastructure for this, dating back to a5xx, so this
is low hanging fruit to hit the faster isam path.

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

21 months agoci/broadcom: add rpi3 flake color_clears.multi_context.gles2.rgba8888_pbuffer
David Heidelberg [Thu, 29 Dec 2022 16:34:46 +0000 (17:34 +0100)]
ci/broadcom: add rpi3 flake color_clears.multi_context.gles2.rgba8888_pbuffer

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

21 months agointel/genxml/gen12.5: Pipe_Control::Remove Global Snapshot Count Reset
José Roberto de Souza [Mon, 26 Dec 2022 19:40:39 +0000 (11:40 -0800)]
intel/genxml/gen12.5: Pipe_Control::Remove Global Snapshot Count Reset

It was not meant to be used(Iris have assert for it) and it was
removed from Pipe_Control instruction in gen12.5 and newer.

BSpec: 47112
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20444>

21 months agoanv: Add and use emit_pipeline_select()
José Roberto de Souza [Mon, 26 Dec 2022 17:34:23 +0000 (09:34 -0800)]
anv: Add and use emit_pipeline_select()

To avoid the replication of code to properly emit PIPELINE_SELECT.

init_compute_queue_state() had a different emit of PIPELINE_SELECT but
as there is no compute engine in GFX VER 11 we are safe with the
differences.

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20444>

21 months agoci/iris: add iris-kbl flake
David Heidelberg [Wed, 28 Dec 2022 22:55:18 +0000 (23:55 +0100)]
ci/iris: add iris-kbl flake

Ref: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7547

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

21 months agoci: Enable gl-renderer in weston for wayland testing
Erico Nunes [Sat, 17 Dec 2022 12:25:52 +0000 (13:25 +0100)]
ci: Enable gl-renderer in weston for wayland testing

The weston headless backend defaults to gl-renderer disabled, which
exposes a different set of globals and clients may fall back to software
rendering.
Enable gl-renderer so that clients use the hardware drivers.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Acked-by: David Heidelberg <david.heidelberg@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20391>

21 months agopan/va: Fix MUX.i32 and MUX.v2i16 description. Should be:
Aleksey Komarov [Wed, 28 Dec 2022 20:55:01 +0000 (23:55 +0300)]
pan/va: Fix MUX.i32 and MUX.v2i16 description. Should be:

`(A &amp; mask) | (B &amp; ~mask)`

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

21 months agopan/va: Fix d0 description in enum "Load lane (8-bit)"
Aleksey Komarov [Tue, 27 Dec 2022 20:17:28 +0000 (23:17 +0300)]
pan/va: Fix d0 description in enum "Load lane (8-bit)"

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20441>

21 months agopan/va: Fix description for constant 0xFAFCFDFE: -2, -3, -4, -6
Aleksey Komarov [Tue, 27 Dec 2022 19:53:10 +0000 (22:53 +0300)]
pan/va: Fix description for constant 0xFAFCFDFE: -2, -3, -4, -6

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

21 months agoci/amd: decrease number of stoney runners
David Heidelberg [Wed, 28 Dec 2022 18:29:46 +0000 (19:29 +0100)]
ci/amd: decrease number of stoney runners

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

21 months agoutil/xmlconfig: fix memory leak triggered by duplicates
Patrick Lerda [Tue, 27 Dec 2022 15:55:58 +0000 (16:55 +0100)]
util/xmlconfig: fix memory leak triggered by duplicates

This change copies the string once.

Direct leak of 196 byte(s) in 14 object(s) allocated from:
    #0 0x7f71598ec7a7 in strdup (/usr/lib64/libasan.so.6+0x5c7a7)
    #1 0x7f70a56ff942 in driParseOptionInfo ../src/util/xmlconfig.c:357
    #2 0x7f70a56f0565 in pipe_loader_load_options ../src/gallium/auxiliary/pipe-loader/pipe_loader.c:126
    #3 0x7f70a56f0565 in pipe_loader_create_screen_vk ../src/gallium/auxiliary/pipe-loader/pipe_loader.c:167

Signed-off-by: Patrick Lerda <patrick9876@free.fr>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20026>

21 months agoasahi: Clang-format the subtree
Alyssa Rosenzweig [Tue, 27 Dec 2022 22:36:08 +0000 (17:36 -0500)]
asahi: Clang-format the subtree

See 0afd691f296 ("panfrost: clang-format the tree") for why I'm doing this.
Asahi already mostly follows Mesa style so this doesn't do much. But this means
we can all stop thinking about formatting and trust the robot poets to do that
for us.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20434>

21 months agoasahi: Clang-format the twiddled tests
Alyssa Rosenzweig [Tue, 27 Dec 2022 22:34:58 +0000 (17:34 -0500)]
asahi: Clang-format the twiddled tests

There are no outstanding commits to these files in any branch, so they don't
need to be considered for the rebasing script. That said, they are massive and
bottleneck the rebasing script, so we'll want to split them out to keep rebasing
efficient.

(Nominally I should make the rebasing script less stupid but with these files
ignored it works pretty well.)

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20434>

21 months agoasahi: Add missing #include's
Alyssa Rosenzweig [Mon, 26 Dec 2022 15:24:18 +0000 (10:24 -0500)]
asahi: Add missing #include's

Otherwise we won't build after clang-format shuffles headers.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20434>

21 months agoasahi: Add some clang-format commas
Alyssa Rosenzweig [Mon, 26 Dec 2022 14:55:19 +0000 (09:55 -0500)]
asahi: Add some clang-format commas

Otherwise clang-format will mangle this.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20434>

21 months agoasahi: Manually format some parts of the code
Alyssa Rosenzweig [Mon, 26 Dec 2022 14:45:48 +0000 (09:45 -0500)]
asahi: Manually format some parts of the code

clang-format will mangle these.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20434>

21 months agoasahi: Add .clang-format file
Alyssa Rosenzweig [Mon, 26 Dec 2022 14:43:04 +0000 (09:43 -0500)]
asahi: Add .clang-format file

Derived from the Freedreno/Panfrost file, with foreach macros updated.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20434>

21 months agoagx: Undo sed fail
Alyssa Rosenzweig [Sun, 11 Dec 2022 04:01:47 +0000 (23:01 -0500)]
agx: Undo sed fail

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20434>

21 months agoanv: disable preemption for 3DPRIMITIVE during streamout
Tapani Pälli [Tue, 27 Dec 2022 13:30:23 +0000 (15:30 +0200)]
anv: disable preemption for 3DPRIMITIVE during streamout

This is required by Wa_16013994831.

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20438>

21 months agointel/genxml: add disable preemption field for gen125
Tapani Pälli [Wed, 23 Nov 2022 06:40:59 +0000 (08:40 +0200)]
intel/genxml: add disable preemption field for gen125

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20438>

21 months agoanv: fix potential integer overflow
Lionel Landwerlin [Mon, 26 Dec 2022 22:32:16 +0000 (00:32 +0200)]
anv: fix potential integer overflow

The loop going from 0 to max_draw_count multiplies the value which
could potentially overflow.

Fixes Coverity CID 1517852

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 3596a8ea7a ("anv: factor out some indirect draw count entry points")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20436>

21 months agoradv: Use common vkEnumerateDeviceLayerProperties
Konstantin Seurer [Thu, 22 Dec 2022 21:35:59 +0000 (22:35 +0100)]
radv: Use common vkEnumerateDeviceLayerProperties

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

21 months agoradv: Remove last_primitive_reset_en
Konstantin Seurer [Thu, 22 Dec 2022 21:19:39 +0000 (22:19 +0100)]
radv: Remove last_primitive_reset_en

last_primitive_reset_en is not used anywhere.

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

21 months agopanvk: Fix null pointer dereference on cmd_buffer->ops
nihui [Wed, 21 Dec 2022 15:41:28 +0000 (15:41 +0000)]
panvk: Fix null pointer dereference on cmd_buffer->ops

Fixes: 84cd81e10437 (panvk: Use common code for command buffer lifecycle
management)

Signed-off-by: Hui Ni <shuizhuyuanluo@126.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20406>

21 months agointel/ds: add missing generate draws perfetto glue
Lionel Landwerlin [Sat, 24 Dec 2022 10:25:50 +0000 (12:25 +0200)]
intel/ds: add missing generate draws perfetto glue

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: c950fe97a0 ("anv: implement generated (indexed) indirect draws")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7956
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Tested-by: Vinson Lee <vlee@freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20433>

21 months agopanfrost: Fix race condition in BO imports
Asahi Lina [Wed, 21 Dec 2022 08:25:22 +0000 (17:25 +0900)]
panfrost: Fix race condition in BO imports

When importing a BO, if it is already imported, then the handle will
alias an existing BO instance. It is possible for the existing owner to
free the BO after the import and leave a dangling handle before we get a
chance to increase the refcount, so we need to lock the BO table mutex
before importing, to make sure nobody else goes through the free path
during that window.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Signed-off-by: Asahi Lina <lina@asahilina.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20403>

21 months agovc4: Fix race condition in BO imports
Asahi Lina [Wed, 21 Dec 2022 08:25:09 +0000 (17:25 +0900)]
vc4: Fix race condition in BO imports

When importing a BO, if it is already imported, then the handle will
alias an existing BO instance. It is possible for the existing owner to
free the BO after the import and leave a dangling handle before we get a
chance to increase the refcount, so we need to lock the BO table mutex
before importing, to make sure nobody else goes through the free path
during that window.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Signed-off-by: Asahi Lina <lina@asahilina.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20403>

21 months agov3d: Fix race condition in BO imports
Asahi Lina [Wed, 21 Dec 2022 08:24:37 +0000 (17:24 +0900)]
v3d: Fix race condition in BO imports

When importing a BO, if it is already imported, then the handle will
alias an existing BO instance. It is possible for the existing owner to
free the BO after the import and leave a dangling handle before we get a
chance to increase the refcount, so we need to lock the BO table mutex
before importing, to make sure nobody else goes through the free path
during that window.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Signed-off-by: Asahi Lina <lina@asahilina.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20403>

21 months agoRevert "ci: Windows runner is experiencing DNS issues; disable Microsoft farm"
Jordan Petridis [Fri, 23 Dec 2022 13:33:40 +0000 (15:33 +0200)]
Revert "ci: Windows runner is experiencing DNS issues; disable Microsoft farm"

Let's try this again, landed couple config changes on the runners.

This reverts commit c52b7aa732e78d2ed93ef95a42262fae270c2027.

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

21 months agokmsro: Fix renderonly_scanout BO aliasing
Asahi Lina [Tue, 20 Dec 2022 15:37:31 +0000 (00:37 +0900)]
kmsro: Fix renderonly_scanout BO aliasing

BOs can only have one handle. If renderonly_create_gpu_import_for_resource
ends up importing a BO that was already mapped for scanout, it will get
the same handle. This leaves us with two renderonly_scanout objects for
one handle, and the first one to be destroyed will free it.

Import the BO map tracking logic from asahi, to avoid aliasing
renderonly_scanout objects. Each actual BO now is only represented by a
single object instance, which is reference counted.

Fixes KWin full-screen PipeWire capture breaking scanout entirely.

Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Signed-off-by: Asahi Lina <lina@asahilina.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20397>

21 months agofreedreno/perfetto: Add grid information for compute jobs
Rob Clark [Sun, 4 Dec 2022 18:59:25 +0000 (10:59 -0800)]
freedreno/perfetto: Add grid information for compute jobs

Just something I noticed was missing the other day.

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

21 months agopanfrost: Clang-format pan_layout.c
Alyssa Rosenzweig [Sat, 24 Dec 2022 02:43:08 +0000 (21:43 -0500)]
panfrost: Clang-format pan_layout.c

Messed up the "clang-format off" for this file.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reported-by: Aleksey Komarov <q4arus@ya.ru>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20431>

21 months agopanfrost: clang-format the tree
Alyssa Rosenzweig [Fri, 23 Dec 2022 21:58:38 +0000 (16:58 -0500)]
panfrost: clang-format the tree

This switches us over to Mesa's code style [1], normalizing us within the tree.
The results aren't perfect, but they bring us a hell of a lot closer to the rest
of the tree. Panfrost doesn't feel so foreign relative to Mesa with this, which
I think (in retrospect after a bunch of years of being "different") is the right
call.

I skipped PanVK because that's paused right now.

  find panfrost/ -type f -name '*.h' | grep -v vulkan | xargs clang-format -i;
  find panfrost/ -type f -name '*.c' | grep -v vulkan | xargs clang-format -i;
  clang-format -i gallium/drivers/panfrost/*.c gallium/drivers/panfrost/*.h ; find
  panfrost/ -type f -name '*.cpp' | grep -v vulkan | xargs clang-format -i

[1] https://docs.mesa3d.org/codingstyle.html

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20425>

21 months agopanfrost: Fix up some formatting for clang-format
Alyssa Rosenzweig [Fri, 23 Dec 2022 02:22:15 +0000 (21:22 -0500)]
panfrost: Fix up some formatting for clang-format

clang-format will make a mess of these otherwise.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20425>

21 months agopanfrost: Add missing #includes
Alyssa Rosenzweig [Fri, 23 Dec 2022 02:11:25 +0000 (21:11 -0500)]
panfrost: Add missing #includes

Found shuffling headers with clang format.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20425>

21 months agopanfrost: Remove perfetto-specific .clang-format
Alyssa Rosenzweig [Fri, 23 Dec 2022 21:10:55 +0000 (16:10 -0500)]
panfrost: Remove perfetto-specific .clang-format

We'll use the one in src/panfrost/.clang-format instead, which isn't identical
but should be good enough. This way they don't conflict with each other.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20425>

21 months agopanfrost: Add clang-format file
Alyssa Rosenzweig [Fri, 23 Dec 2022 02:03:22 +0000 (21:03 -0500)]
panfrost: Add clang-format file

Based on freedreno settings, tweaked for panfrost's foreach macros.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20425>

21 months agoanv: implement generated (indexed) indirect draws
Lionel Landwerlin [Fri, 25 Feb 2022 14:56:04 +0000 (16:56 +0200)]
anv: implement generated (indexed) indirect draws

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Rohan Garg <rohan.garg@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15642>

21 months agoanv: factor out some indirect draw count entry points
Lionel Landwerlin [Sat, 19 Nov 2022 21:52:04 +0000 (23:52 +0200)]
anv: factor out some indirect draw count entry points

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Rohan Garg <rohan.garg@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15642>

21 months agoanv: decouple util function from anv_cmd_buffer
Lionel Landwerlin [Sat, 26 Feb 2022 12:00:07 +0000 (14:00 +0200)]
anv: decouple util function from anv_cmd_buffer

The issue we're addressing here is that we have 2 batches and the both
grow at different rate. We want to keep doubling the main batch size
as the application writes more and more commands to limit the number
of GEM BOs. But we don't want to have the generation batch size to be
linked to the main batch.

v2: remove gfx7 code

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Rohan Garg <rohan.garg@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15642>

21 months agopan/bi: Use write masks on Valhall texture instrs
Alyssa Rosenzweig [Thu, 1 Dec 2022 02:29:43 +0000 (21:29 -0500)]
pan/bi: Use write masks on Valhall texture instrs

I noticed a sequence like the following in a scheduled SuperTuxKart shader:

   TEX_SINGLE.slot0 @r0:r1, ..
   LD_VAR.wait0 @r2, ...
   FMA r1, ...

Why do we stall waiting for the TEX_SINGLE instruction when it's not actually
read? Because its upper channels are *never* read, leading to a
write-after-write dependency when the register allocator puts some unrelated ALU
destination in there. By appropriately masking the texture instruction's write,
that false dependency disappears, avoiding the stall.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20426>

21 months agopan/va: Pack texture write masks
Alyssa Rosenzweig [Thu, 1 Dec 2022 02:54:11 +0000 (21:54 -0500)]
pan/va: Pack texture write masks

We'll generate nontrivial ones in a moment.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20426>

21 months agopanfrost: Don't flush readers for reads
Alyssa Rosenzweig [Thu, 1 Dec 2022 00:00:34 +0000 (19:00 -0500)]
panfrost: Don't flush readers for reads

Unsure if this can actually be hit, but bug fix by inspection: there is no need
to flush for read-after-read relationships.

This might be a bit faster, shrug.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20426>

21 months agopanfrost: Remove rsrc->track
Alyssa Rosenzweig [Wed, 30 Nov 2022 23:45:03 +0000 (18:45 -0500)]
panfrost: Remove rsrc->track

Just check on the context instead. Usually the number of batches is small so
this is still fast, and avoids all the tricky atomics and the batch->resources
set which existed only for bookkeeping.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20426>

21 months agopanfrost: Upload sysvals to a staging buffer
Alyssa Rosenzweig [Wed, 30 Nov 2022 23:24:10 +0000 (18:24 -0500)]
panfrost: Upload sysvals to a staging buffer

Avoids reading write-combine memory to push sysvals.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20426>

21 months agopanfrost,asahi: Set vendor to Mesa
Alyssa Rosenzweig [Fri, 23 Dec 2022 18:22:56 +0000 (13:22 -0500)]
panfrost,asahi: Set vendor to Mesa

Picked from !16064.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20427>

21 months agoanv: Pass anv_bo as parameter to anv_gem_mmap()
José Roberto de Souza [Wed, 28 Sep 2022 20:42:26 +0000 (13:42 -0700)]
anv: Pass anv_bo as parameter to anv_gem_mmap()

anv_bo has information that will be needed by a future patch in
anv_gem_mmap(), so here already preparing for that.

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20423>

21 months agointel/common: Move i915 gem specific code to its own file
José Roberto de Souza [Thu, 6 Oct 2022 18:07:33 +0000 (11:07 -0700)]
intel/common: Move i915 gem specific code to its own file

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20423>

21 months agointel/common: Move i915 engine specific code to its own file
José Roberto de Souza [Thu, 6 Oct 2022 18:06:20 +0000 (11:06 -0700)]
intel/common: Move i915 engine specific code to its own file

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20423>

21 months agoiris: Make iris_bo_export_gem_handle() static
José Roberto de Souza [Wed, 30 Nov 2022 20:25:26 +0000 (12:25 -0800)]
iris: Make iris_bo_export_gem_handle() static

It is only used in iris_bufmgr.c so no neeed to export it.

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20423>

21 months agopan/lower_framebuffer: Remove unused pack
Alyssa Rosenzweig [Fri, 23 Dec 2022 01:16:23 +0000 (20:16 -0500)]
pan/lower_framebuffer: Remove unused pack

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20420>

21 months agopan/mdg: Remove unused disassembler functions
Alyssa Rosenzweig [Fri, 23 Dec 2022 01:15:47 +0000 (20:15 -0500)]
pan/mdg: Remove unused disassembler functions

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20420>

21 months agopanfrost: Remove unused so_mask calculation
Alyssa Rosenzweig [Fri, 23 Dec 2022 01:10:38 +0000 (20:10 -0500)]
panfrost: Remove unused so_mask calculation

This was copied from Iris, but it's not actually used in the new NIR-based
transform feedback implementation that we now use on all chips.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20420>

21 months agopanfrost: Remove experimental v7-only indirect draw path
Alyssa Rosenzweig [Wed, 14 Dec 2022 23:37:27 +0000 (18:37 -0500)]
panfrost: Remove experimental v7-only indirect draw path

There are too many problems with indirect draws on v7 that we never got this
code path to the finish line, and none of us have a good plan (or reason) to fix
this. Proper indirect draws are only possible since v10 on Mali.

There was interest in using this path to implement indexed draws in PanVK, that
MR is stalled and it's not clear how much sense it makes to do Vulkan on
anything older than v9 or v10 at this point. This code isn't *gone*, it'll still
be in git history, but I don't see a lot of reason in keeping it in tree if it's
unused and complicating e.g. the sysval upload path of the driver.

Indirect dispatch remains supported on v7, as that path *is* working and flipped
on for end users. Indirect dispatch on v7 is considerably less complicated than
indirect draws.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20420>

21 months agoir3: Do 16b tex dst folding only for floats
Danylo Piliaiev [Tue, 20 Dec 2022 15:27:21 +0000 (16:27 +0100)]
ir3: Do 16b tex dst folding only for floats

Folding signed or unsigned i32 -> i16 conversion into sampling
instruction causes it to behave differently with out-of-bounds
values. The conversion expects higher bits being masked, however
folded variant does clamp the value.

A concrete example is that:

 isaml.base0 (u16)(x)hr0.x

is not equal this:

 isaml.base0 (u32)(x)r0.w
 (sy)cov.u32u16 hr0.x, r0.w

Fixes misrendering in "Injustice 2".

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7869

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

21 months agonir/fold_16bit_tex_image: Add type granularity for dst folding
Danylo Piliaiev [Tue, 20 Dec 2022 15:23:15 +0000 (16:23 +0100)]
nir/fold_16bit_tex_image: Add type granularity for dst folding

Some HW may be able to fold only some of dst types, e.g.
for Adreno folding i32 -> i16 could cause a different result since
folded variant clamps the result instead of masking it.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20396>

21 months agoetnaviv: disable linear PE by default
Lucas Stach [Wed, 21 Dec 2022 13:39:27 +0000 (14:39 +0100)]
etnaviv: disable linear PE by default

Linear PE causes a lot of issues in the ZS stage. While some of those issues
can be worked around on newer GPU cores by doing all ZS operations in the
late stage, GC600 r4653 exhibits spurious Z fails when linear PE is active
even though this GPU does not even have a early Z stage.

Disable linear PE for now, until the issue can be analyzed further. Leave the
debug option in place to allow to enable linear PE for testing.

Fixes: 43eb5e777e4b ("etnaviv: add debug option to disable linear PE feature")
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20405>

21 months agointel/blorp: Fix a hang caused by invalid dispatch enables on gfx7
Väinö Mäkelä [Sun, 11 Dec 2022 10:20:13 +0000 (12:20 +0200)]
intel/blorp: Fix a hang caused by invalid dispatch enables on gfx7

Because commit b9403b1c477 moved dispatch enable handling away from the
compiler, the drivers must ensure correct dispatch enable values. This
is handled by the intel_set_ps_dispatch_state function.

v2: Fix gfx6 build and use brw_fs_get_dispatch_enables for gfx6 in
crocus
v3: Rebase, use intel_set_ps_dispatch_state, drop gfx6 handling

Fixes: b9403b1c477 ("intel: factor out dispatch PS enabling logic")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20267>

21 months agointel/dev: setup 1024 GS urb entries for ADL-N
Tapani Pälli [Thu, 22 Dec 2022 09:03:30 +0000 (11:03 +0200)]
intel/dev: setup 1024 GS urb entries for ADL-N

v2: apply only for devices with less than 32 EUs (Lionel)

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7942
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20414>

21 months agointel/compiler: mark shader_record_ptr as uniform
Lionel Landwerlin [Thu, 22 Dec 2022 07:35:19 +0000 (09:35 +0200)]
intel/compiler: mark shader_record_ptr as uniform

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20413>

21 months agonir/divergence: handle shader_record_ptr intrinsic
Lionel Landwerlin [Wed, 21 Dec 2022 23:32:44 +0000 (01:32 +0200)]
nir/divergence: handle shader_record_ptr intrinsic

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes 6b8fd65e84 ("spirv: Implement the new ray-tracing storage classes")

Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20413>

21 months agonouveau/ci: temporary disable gk20a-gles
Lionel Landwerlin [Fri, 23 Dec 2022 09:00:13 +0000 (11:00 +0200)]
nouveau/ci: temporary disable gk20a-gles

Jobs are failing almost immediately with :

Cleaning up project directory and file based variables
ERROR: Failed to cleanup volumes
ERROR: Job failed: exit code 1

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

21 months agofreedreno: bump up FD6_MAX_BORDER_COLORS
Chia-I Wu [Thu, 22 Dec 2022 23:17:59 +0000 (15:17 -0800)]
freedreno: bump up FD6_MAX_BORDER_COLORS

Fixes

  $ deqp-gles31 -n 'dEQP-GLES31.functional.texture.border_clamp.*'

on a618/a635.

Fixes: c0fc8d5046a ("freedreno/a6xx: Switch to global bcolor buffer")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20419>

21 months agoradv/ci: remove locally-deleted files from the job bucket
Martin Roukala (né Peres) [Thu, 22 Dec 2022 12:34:50 +0000 (14:34 +0200)]
radv/ci: remove locally-deleted files from the job bucket

This makes the downloaded artifacts reflect the content of the folder
as generated by the job.

In this the case of vkcts, this removes from the downloaded artifacts
the log files that were deemed uninteresting by deqp-runner.

Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20415>

21 months agoradv/ci/vkcts: do not sync back the *.qpa
Martin Roukala (né Peres) [Thu, 22 Dec 2022 12:29:47 +0000 (14:29 +0200)]
radv/ci/vkcts: do not sync back the *.qpa

These files are relatively big (amounting to ~4.5GB for one run) but
are not really useful.

Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20415>

21 months agoradeon: drmGetVersion can return NULL
David Heidelberg [Wed, 21 Dec 2022 00:57:31 +0000 (01:57 +0100)]
radeon: drmGetVersion can return NULL

Do not crash on scenarios where drmGetVersion returns NULL.
Make Radeon driver initialization more robust.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/476

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20402>

21 months agoanv: handle null push descriptors in deferred optimization
Lionel Landwerlin [Wed, 21 Dec 2022 20:39:29 +0000 (22:39 +0200)]
anv: handle null push descriptors in deferred optimization

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: b49b18f0 ("anv: reduce BT emissions & surface state writes with push descriptors")
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20410>

21 months agoci: Windows runner is experiencing DNS issues; disable Microsoft farm
David Heidelberg [Wed, 21 Dec 2022 21:34:43 +0000 (22:34 +0100)]
ci: Windows runner is experiencing DNS issues; disable Microsoft farm

Multiple failures in https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20097

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

21 months agoradv: Only apply taskmesh indirect 0 bug workaround when necessary.
Timur Kristóf [Thu, 1 Dec 2022 12:24:43 +0000 (13:24 +0100)]
radv: Only apply taskmesh indirect 0 bug workaround when necessary.

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

21 months agoac: Add has_taskmesh_indirect0_bug field to ac_gpu_info struct.
Timur Kristóf [Thu, 1 Dec 2022 12:24:09 +0000 (13:24 +0100)]
ac: Add has_taskmesh_indirect0_bug field to ac_gpu_info struct.

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

21 months agoradv: Include view index SET_SH_REG in ace_predication_size.
Timur Kristóf [Thu, 1 Dec 2022 12:37:37 +0000 (13:37 +0100)]
radv: Include view index SET_SH_REG in ace_predication_size.

This fixes an issue when conditional rendering and multiple views
were used with a task+mesh draw call.

Fixes: 2479b6286974c1467bec5120df96650d297dcb7f
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/20098>

21 months agoci/lava: Show LAVA job info during fails
Guilherme Gallo [Mon, 28 Nov 2022 03:35:04 +0000 (00:35 -0300)]
ci/lava: Show LAVA job info during fails

Currently, LAVA jobs only show metadata when successful, let's show this
info in all retries to make it easier to debug or report issues.

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20051>

21 months agoci/lava: Anticipate overlayfs download
Guilherme Gallo [Mon, 28 Nov 2022 02:44:08 +0000 (23:44 -0300)]
ci/lava: Anticipate overlayfs download

To debug the LAVA jobs locally, we have an option in the
lava_job_submitter script to ignore the JWT token to make it possible to
retry jobs without the need to get an unexpired token.

But this trick needs to modify the overlayed directory so that we would
need to download and extract it earlier in the run.

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20051>

21 months agoci/lava: Fix Gitlab section rendering
Guilherme Gallo [Thu, 24 Nov 2022 06:06:58 +0000 (03:06 -0300)]
ci/lava: Fix Gitlab section rendering

LAVA splits the DUT log lines with `\r` in them. Unfortunately, it
breaks the Gitlab section line syntax when the HWCI script calls it
since it is a oneliner.

This commit changes the` fix_lava_gitlab_section_log` function to a
stateful generator that can merge lines that respects two consecutive
patterns.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7703

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20051>

21 months agoci/lava: Feed yaml.load with raw bytes data
Guilherme Gallo [Mon, 28 Nov 2022 02:38:33 +0000 (23:38 -0300)]
ci/lava: Feed yaml.load with raw bytes data

LAVA uses XMLRPC to send jobs information and control, more specifically
it sends device logs via YAML dumps encoded in UTF-8 bytes.

In Python, we have xmlrpc.client.Binary class as the serializer
protocol, we get the logs wrapped by this class, which encodes the data
as UTF-8 bytes data.

We were converting the encoded data to a string via the `str` function,
but this led the loaded YAML data to use single quotes instead of double
quotes for string values that made special characters, such as `\x1b` to
be escaped as `\\x1b`.

With this fix, we can now drop one of the hacks that fixed the bash
colors.

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20051>

21 months agoRevert "ci: Lima farm maintenance"
Erico Nunes [Tue, 20 Dec 2022 09:19:01 +0000 (10:19 +0100)]
Revert "ci: Lima farm maintenance"

This reverts commit e66df0d36209a708477112d5df4ad2760c666542.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20390>

21 months agoradv: Don't assume there is always at least 1 preamble.
Timur Kristóf [Tue, 20 Dec 2022 23:07:34 +0000 (00:07 +0100)]
radv: Don't assume there is always at least 1 preamble.

This fixes a mistake which assumes there is always at least 1 preamble.
This assumption is currently incorrect on transfer queues.

Fixes: e10b2f273e8a48a2db977469d30f6ed1014484c4
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20401>

21 months agovenus: fallback to passthrough pci bus info when not natively supported
Yiwei Zhang [Sun, 18 Dec 2022 22:02:24 +0000 (14:02 -0800)]
venus: fallback to passthrough pci bus info when not natively supported

This avoids an assert with VN_DEBUG=all on virtgpu backend.

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20383>