platform/upstream/mesa.git
19 months agozink: use c++ template to deduplicate all the buffer barrier code
Mike Blumenkrantz [Tue, 21 Mar 2023 14:38:51 +0000 (10:38 -0400)]
zink: use c++ template to deduplicate all the buffer barrier code

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

19 months agozink: move all barrier-related functions to c++
Mike Blumenkrantz [Tue, 21 Mar 2023 14:18:22 +0000 (10:18 -0400)]
zink: move all barrier-related functions to c++

this will enable a lot of deduplication

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

19 months agozink: break out a src region barrier check for reuse
Mike Blumenkrantz [Mon, 27 Mar 2023 13:19:38 +0000 (09:19 -0400)]
zink: break out a src region barrier check for reuse

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

19 months agozink: fix some type mismatches for c++ compilation
Mike Blumenkrantz [Tue, 21 Mar 2023 14:17:21 +0000 (10:17 -0400)]
zink: fix some type mismatches for c++ compilation

no functional changes

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

19 months agoasahi: Don't lie about seamless cube maps
Alyssa Rosenzweig [Fri, 24 Mar 2023 22:22:28 +0000 (18:22 -0400)]
asahi: Don't lie about seamless cube maps

Now that mesa/st is setting seamless_cube_map properly we don't need to play any
games here. Remove the hack workaround.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21978>

19 months agomesa/st: Normalize wrap modes for seamless cubes
Alyssa Rosenzweig [Sat, 11 Mar 2023 23:58:34 +0000 (18:58 -0500)]
mesa/st: Normalize wrap modes for seamless cubes

The OpenGL specification requires that seamless cube maps ignore the wrap mode,
but some hardware may try to respect the wrap mode even for seamless cubes
contrary to the spec. Since OpenGL maps samplers 1:1 to textures (at least
without bindless texture support...), it's easy to override the wrap mode for
seamless cubes to something that works for the hardware.

I'm not sure if there is value in gating this behaviour behind a CAP. On one
hand, there is a tiny bit of extra CPU overhead added to change samplers. On the
other hand, normalizing wrap modes might improve CSO caching, and normalizing to
a non-BORDER mode avoids the expensive border colour code later in the function.

We will need a different workaround in our Vulkan driver. Potentially, we'll
have to duplicate *every* sampler to have a cubemap version and a non-cubemap
version, selecting a sampler in the shader based on the texture opcode. That
sucks and implementing it would depend on subtle details of how we implement
descriptor sets, so it's not like we would share that code with the GL driver
anyway. In the mean time, let's get this right for GL without the performance
hit of duplication.

Fixes dEQP-GLES3.functional.texture.filtering.cube.* on Asahi, as well as a
smattering of dEQP-GLES31.functional.texture.filtering.cube_array.* fails on
softpipe.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21978>

19 months agomesa/st: Only set seamless for GLES3
Alyssa Rosenzweig [Fri, 24 Mar 2023 22:18:26 +0000 (18:18 -0400)]
mesa/st: Only set seamless for GLES3

6148e3aae7e ("mesa: Fix ctx->Texture.CubeMapSeamless") introduced a hack, where
seamless cube maps would be requested even for GLES2 contexts despite the spec,
on the assumption that GLES2 gallium drivers would ignore the bit. But that
requires Gallium drivers to know what GLES version they advertise, which is a
horrible layering violation. When the commit was written 8 years ago, there were
classic drivers to contend with so it made sense as a fix to get GLES 3.0 up and
running. With classic drivers gone, it's time to sunset the hack and restore the
intended behaviour by setting ctx->Texture.CubeMapSeamless only once we know the
version.

In addition to fixing a semantic issue in the Gallium contract and preventing a
regression from the next commit, this fixes cube maps on Mali-T720 under
Panfrost. In general, Panfrost supports GLES3 (and honours the seamless flag
everywhere) but on T720 we only advertise GLES2 due to missing MRT support on
older Midgard devices, so we need the flag set properly to distinguish these
cases.

Cc: mesa-stable
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21978>

19 months agodriconf: add a workaround for Kaiju-A-Gogo
Paul Gofman [Mon, 27 Mar 2023 20:36:12 +0000 (14:36 -0600)]
driconf: add a workaround for Kaiju-A-Gogo

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

19 months agoradeonsi: monolithic PS emit epilog in nir directly
Qiang Yu [Sun, 26 Feb 2023 08:40:12 +0000 (16:40 +0800)]
radeonsi: monolithic PS emit epilog in nir directly

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21552>

19 months agoac/nir: add ac_nir_lower_ps
Qiang Yu [Sat, 25 Feb 2023 13:14:52 +0000 (21:14 +0800)]
ac/nir: add ac_nir_lower_ps

Lower ps output to nir_export_amd.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21552>

19 months agonir: add nir_fisnan helper function
Qiang Yu [Sat, 25 Feb 2023 13:13:50 +0000 (21:13 +0800)]
nir: add nir_fisnan helper function

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21552>

19 months agonir,radeonsi: add and implement nir_load_alpha_reference_amd
Qiang Yu [Fri, 24 Feb 2023 06:39:17 +0000 (14:39 +0800)]
nir,radeonsi: add and implement nir_load_alpha_reference_amd

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21552>

19 months agoaco: implement float16 nir_op_pack_(s|u)norm_2x16
Qiang Yu [Fri, 24 Feb 2023 06:22:08 +0000 (14:22 +0800)]
aco: implement float16 nir_op_pack_(s|u)norm_2x16

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21552>

19 months agoac/llvm: implement float16 nir_op_pack_(s|u)norm_2x16
Qiang Yu [Fri, 24 Feb 2023 06:17:07 +0000 (14:17 +0800)]
ac/llvm: implement float16 nir_op_pack_(s|u)norm_2x16

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21552>

19 months agonir: pack_(s|u)norm_2x16 support float16 as input
Qiang Yu [Fri, 24 Feb 2023 05:57:33 +0000 (13:57 +0800)]
nir: pack_(s|u)norm_2x16 support float16 as input

For AMD GPU which has instruction to normalize and pack two float16
inputs, and used when fragment shader export color output.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21552>

19 months agointel: Allocate mesh shader URB space before task shader
José Roberto de Souza [Fri, 24 Feb 2023 18:58:36 +0000 (10:58 -0800)]
intel: Allocate mesh shader URB space before task shader

A future platform requires that mesh shader URB space be allocated
before task shader URB space.

If task shader is enabled, it will align the mesh shader URB size to
8Kb and give the remaning back to task shader. Otherwise, no aligment
is needed, and mesh shader will have all the URB space.

BSpec: 56229, 56230
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21603>

19 months agoradv/rt: Refactor rq_load lowering
Konstantin Seurer [Tue, 21 Feb 2023 10:45:09 +0000 (11:45 +0100)]
radv/rt: Refactor rq_load lowering

This just gets rid of all the bcsel emissions.

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

19 months agoaux/trace: fix GALLIUM_TRACE_NIR handling
Mike Blumenkrantz [Wed, 22 Mar 2023 16:58:57 +0000 (12:58 -0400)]
aux/trace: fix GALLIUM_TRACE_NIR handling

this now correctly doesn't dump nir when the counter is zero

Fixes: f99eab23ad6 ("aux/trace: delete GALLIUM_TRACE_NIR log message")

Reviewed-by: Matti Hämäläinen <ccr@tnsp.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22164>

19 months agoaux/trace: dump blend states with enums
Mike Blumenkrantz [Wed, 22 Mar 2023 16:58:50 +0000 (12:58 -0400)]
aux/trace: dump blend states with enums

this is more readable

Reviewed-by: Matti Hämäläinen <ccr@tnsp.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22164>

19 months agoradv: add RADV_DEBUG=extra_md
Pierre-Eric Pelloux-Prayer [Fri, 24 Mar 2023 09:18:17 +0000 (10:18 +0100)]
radv: add RADV_DEBUG=extra_md

This enables the use of UMD metadata v2. This allows tools (eg umr)
import buffers.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21984>

19 months agoradeonsi: don't use si_decompress_dcc if the blitter is running
Pierre-Eric Pelloux-Prayer [Wed, 22 Mar 2023 14:24:28 +0000 (15:24 +0100)]
radeonsi: don't use si_decompress_dcc if the blitter is running

Otherwise this will cause a blitter recursion which will crash at
some point.

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

19 months agoradeonsi: add AMD_DEBUG=extra_md
Pierre-Eric Pelloux-Prayer [Tue, 21 Mar 2023 09:46:53 +0000 (10:46 +0100)]
radeonsi: add AMD_DEBUG=extra_md

When this debug flag is set, the driver sets the umd metadata for
all color textures and enables the use of extended metadata.

Extended metadata allows umr to import textures and setting these
on all color texture allows to import non-exported textures
(eg: dGPU draw surface when DRI_PRIME=1 is used).

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

19 months agoac/surface: introduce umd metadata v2
Pierre-Eric Pelloux-Prayer [Tue, 21 Mar 2023 09:46:39 +0000 (10:46 +0100)]
ac/surface: introduce umd metadata v2

Update the metadata format. For gfx8- chips nothing change.

For gfx9 chips:
* for textures without a valid modifier a dw is added at index=10
  containing the stride
* for textures with a valid modifier the modifier is stored at
  index 10 and 11. Then the number of planes is stored at 12.
  Then for each plane the offset and the stride are stored.

The goal here is to be able to create textures from dmabuf from
umr - without these changes this is impossible because these
values can't be guessed.

The new layout is compatible with version=1 so old/new UMD can
be used together without issues and isn't used by default.
For radeonsi, it will be possible to use it with a AMD_DEBUG=...
option.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21984>

19 months agoamd/surface: rename metadata functions
Pierre-Eric Pelloux-Prayer [Tue, 21 Mar 2023 09:54:16 +0000 (10:54 +0100)]
amd/surface: rename metadata functions

Use more specific verbs to avoid confusion:
   set -> apply
   get -> compute

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21984>

19 months agomesa: fix CopyImageSubDataOES with GL_TEXTURE_EXTERNAL_OES
Pierre-Eric Pelloux-Prayer [Fri, 17 Mar 2023 12:57:00 +0000 (13:57 +0100)]
mesa: fix CopyImageSubDataOES with GL_TEXTURE_EXTERNAL_OES

GL_TEXTURE_EXTERNAL_OES is allowed on GLES (any version) and glCopyImageSubDataOES
is implemented as an alias of CopyImageSubData.

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

19 months agoanv: call nir_shader_gather_info early
Marcin Ślusarz [Tue, 7 Mar 2023 09:41:10 +0000 (10:41 +0100)]
anv: call nir_shader_gather_info early

Shader info is needed for mesh in linking (in nir_lower_io_to_scalar_early,
see commit 5e144454) and will be needed once MR !17622 (anv: work around
for per-prim attributes corruption) lands.

We still need to call nir_shader_gather_info in anv_pipeline_lower_nir,
because the information got stale between anv_graphics_pipeline_load_nir
and anv_pipeline_lower_nir. Some examples:
- some FS inputs were marked as per-primitive during linking
  (brw_nir_link_shaders) affecting per_primitive_inputs mask
- some inputs and outputs were removed, because they are not used
  (nir_remove_unused_varyings) affecting outputs_written and inputs_read

This fixes func.mesh.ext.outputs.per_primitive.unused crucible test on DG2.
(I didn't know this test wasn't fixed by 5e144454, because I was testing
with !17622 merged-in, which added its own nir_shader_gather_info before
nir_lower_io_to_scalar_early).

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21787>

19 months agoCI: Disable freedreno
Daniel Stone [Tue, 28 Mar 2023 10:10:10 +0000 (11:10 +0100)]
CI: Disable freedreno

The proxy has been broken ever since the network went down.

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

19 months agoaco/util: override default assignment operator for bitfield helpers
Georg Lehmann [Mon, 27 Mar 2023 21:35:57 +0000 (23:35 +0200)]
aco/util: override default assignment operator for bitfield helpers

Otherwise, the default assignment operator copies the whole uint,
not just few bits we are interested in.

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Fixes: e7559da7570 ("aco: add bitfield array helper classes")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22154>

19 months agoaco/ir: fix copy paste bug in convert_to_SDWA
Georg Lehmann [Mon, 27 Mar 2023 21:32:54 +0000 (23:32 +0200)]
aco/ir: fix copy paste bug in convert_to_SDWA

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Fixes: 60cd3ba39f1 ("aco: copy abs/neg with assignment")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22154>

19 months agoaco: Swap operands for v_and_b32 in RT prolog
Friedrich Vock [Mon, 27 Mar 2023 16:10:20 +0000 (18:10 +0200)]
aco: Swap operands for v_and_b32 in RT prolog

The second operand must be a VGPR, only the first can be a literal.
With a literal, this code was wrongly assembled and resulted in artifacts on GFX11.

Fixes: 6446b791681 ("aco: implement select_rt_prolog()")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8642
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22142>

19 months agoradv: Fix swizzled VS input loads when some components are unused.
Timur Kristóf [Sun, 26 Mar 2023 21:49:23 +0000 (23:49 +0200)]
radv: Fix swizzled VS input loads when some components are unused.

Fix how out-of-bounds loads are decided.
It was incorrect because it mismatched the swizzle.
The decision is now made using the loaded num_components.

Fixes: 27c81319780d4a9693ef609b6a891981d1417b70
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8712
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22124>

19 months agoradv/rt: bind the pipeline stack when it's not dynamic
Samuel Pitoiset [Fri, 24 Mar 2023 16:45:47 +0000 (17:45 +0100)]
radv/rt: bind the pipeline stack when it's not dynamic

This overwrites the rt_stack_size cmdbuf state when a new rt pipeline
with a static stack size is bound.

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

19 months agoasahi: Convert to SPDX headers
Alyssa Rosenzweig [Wed, 15 Mar 2023 21:36:17 +0000 (17:36 -0400)]
asahi: Convert to SPDX headers

Also drop my email address in the copyright lines and fix some "Copyright 208
Alyssa Rosenzweig" lines, I'm not *that* old. Together this drops a lot of
boilerplate without losing any meaningful licensing information. SPDX is already
in use for the MIT-licensed code in turnip, venus, and a few other scattered
parts of the tree, so this should be ok from a Mesa licensing standpoint.

This reduces friction to create new files, by parsing the copy/paste boilerplate
and being short enough you can easily type it out if you want.  It makes new
files seem less daunting: 20 lines of header for 30 lines of code is
discouraging, but 2 lines of header for 30 lines of code is reasonable for a
simple compiler pass. This has technical effects, as lowering the barrier to
making new files should encourage people to split code into more modular files
with (hopefully positive) effects on project compile time.

This helps with consistency between files. Across the tree we have at least a
half dozen variants of the MIT license text (probably more), plus code that uses
SPDX headers instead. I've already been using SPDX headers in Asahi manually, so
you can tell old vs new code based on the headers.

Finally, it means less for reviewers to scroll through adding files. Minimal
actual cognitive burden for reviewers thanks to banner blindness, but the big
headers still bloat diffs that add/delete files.

I originally proposed this in December (for much more of the tree) but someone
requested I wait until January to discuss. I've been trying to get in touch with
them since then. It is now almost April and, with still no response, I'd like to
press forward with this. So with a joint sign-off from the major authors of the
code in question, let's do this.

Signed-off-by: Asahi Lina <lina@asahilina.net>
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Acked-by: Emma Anholt <emma@anholt.net>
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Acked-by: Rose Hudson <rose@krx.sh>
Acked-by: Lyude Paul [over IRC: "yes I'm fine with that"]
Meh'd-by: Rob Clark <robdclark@chromium.org>

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

19 months agomailmap: Add Lina's new google.com address
Lina Versace [Mon, 27 Mar 2023 21:33:37 +0000 (14:33 -0700)]
mailmap: Add Lina's new google.com address

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

19 months agodocs/svga3d: Fix typo
Harri Nieminen [Mon, 27 Mar 2023 19:15:54 +0000 (22:15 +0300)]
docs/svga3d: Fix typo

Found by codespell

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

19 months agodocs/panfrost: Fix typo
Harri Nieminen [Mon, 27 Mar 2023 19:14:55 +0000 (22:14 +0300)]
docs/panfrost: Fix typo

Found by codespell

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

19 months agodocs/freedreno: Fix typos
Harri Nieminen [Mon, 27 Mar 2023 19:13:50 +0000 (22:13 +0300)]
docs/freedreno: Fix typos

Found by codespell

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

19 months agodocs/gallium: Fix typos
Harri Nieminen [Mon, 27 Mar 2023 19:13:06 +0000 (22:13 +0300)]
docs/gallium: Fix typos

Found by codespell

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

19 months agodocs/specs: Fix typos
Harri Nieminen [Mon, 27 Mar 2023 19:09:52 +0000 (22:09 +0300)]
docs/specs: Fix typos

Found by codespell

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

19 months agocrocus: don't quantize the clear value
Filip Gawin [Mon, 27 Mar 2023 11:44:46 +0000 (13:44 +0200)]
crocus: don't quantize the clear value

Helps with:
spec@!opengl 1.0@depth-clear-precision-check@depth32f_stencil8,UnexpectedPass
spec@!opengl 3.0@clearbuffer-bug,UnexpectedPass

Cc: mesa-stable
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22137>

19 months agoamd/llvm: remove no-op code for vec3 loads in ac_build_tbuffer_load
Marek Olšák [Sat, 25 Mar 2023 00:46:39 +0000 (20:46 -0400)]
amd/llvm: remove no-op code for vec3 loads in ac_build_tbuffer_load

Formatted loads always support vec3, so this code didn't do anything.

Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22117>

19 months agoamd/llvm: fix handling of unsupported vec3 loads on gfx6
Marek Olšák [Fri, 24 Mar 2023 23:46:56 +0000 (19:46 -0400)]
amd/llvm: fix handling of unsupported vec3 loads on gfx6

VMEM loads promoted from vec3 to vec4 didn't trim the vector, thus
returning vec4 on gfx6 and vec3 on later generations, which callers
don't expect.

SMEM loads were adding an extra component on gfx6, causing same issues.

Fixes: 82919e2d - amd: lower subdword UBO loads in NIR
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8693

Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22117>

19 months agoaco: make .clang-format usable with tests
Georg Lehmann [Sun, 26 Mar 2023 18:27:14 +0000 (20:27 +0200)]
aco: make .clang-format usable with tests

Code between BEGIN_TEST and END_TEST should be indented,
and comments used by the test itself should not be reformatted.

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

19 months agov3dv: fix format swizzle for buffer views
Iago Toral Quiroga [Mon, 27 Mar 2023 09:42:23 +0000 (11:42 +0200)]
v3dv: fix format swizzle for buffer views

Fixes:
dEQP-VK.api.buffer_view.access.uniform_texel_buffer.b8g8r8a8_unorm

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22131>

19 months agov3dv: pause occlusion queries during vkCmdClearAttachments
Iago Toral Quiroga [Mon, 27 Mar 2023 09:11:24 +0000 (11:11 +0200)]
v3dv: pause occlusion queries during vkCmdClearAttachments

We implement this by emitting a draw call, which should not be registered
during occlusion query counting.

Fixes:
dEQP-VK.query_pool.occlusion_query*clear*

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22131>

19 months agoradv: move {esgs,gsvs}_ring_size to radv_legacy_gs_info
Samuel Pitoiset [Fri, 24 Mar 2023 10:03:42 +0000 (11:03 +0100)]
radv: move {esgs,gsvs}_ring_size to radv_legacy_gs_info

To update the ring info when a geometry shader is bound.

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

19 months agoradv: rename gfx9_gs_info to radv_legacy_gs_info
Samuel Pitoiset [Mon, 27 Mar 2023 11:44:45 +0000 (13:44 +0200)]
radv: rename gfx9_gs_info to radv_legacy_gs_info

This was misleading because it's also needed on GFX6-8.

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

19 months agopvr: Add robustness buffer support
Jarred Davies [Thu, 23 Feb 2023 05:16:48 +0000 (05:16 +0000)]
pvr: Add robustness buffer support

The robustness buffer is used when no vertex attribute can be loaded and
robustBufferAccess is enabled.

Signed-off-by: Jarred Davies <jarred.davies@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21579>

19 months agopvr: Rename pvr_xgl_pds.c to pvr_pipeline_pds.c
Jarred Davies [Thu, 23 Feb 2023 05:16:41 +0000 (05:16 +0000)]
pvr: Rename pvr_xgl_pds.c to pvr_pipeline_pds.c

Signed-off-by: Jarred Davies <jarred.davies@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21579>

19 months agopvr: Always mark robustBufferAccess as supported
Jarred Davies [Thu, 23 Feb 2023 05:16:16 +0000 (05:16 +0000)]
pvr: Always mark robustBufferAccess as supported

As per the Vulkan spec, this is a required feature for graphics implementations.

Signed-off-by: Jarred Davies <jarred.davies@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21579>

19 months agointel/vk/grl: don't install libgrl.a
Ilya K [Mon, 27 Mar 2023 11:41:35 +0000 (11:41 +0000)]
intel/vk/grl: don't install libgrl.a

It isn't used by anything at runtime and shouldn't be installed.
Saves about 3MB of space on the final artifacts on x86_64-linux.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8711
Fixes: 63966505 ("anv/grl: Build OpenCL kernels")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22133>

19 months agoradv: stop checking dynamic states when emitting the guardband state
Samuel Pitoiset [Fri, 24 Mar 2023 11:35:36 +0000 (12:35 +0100)]
radv: stop checking dynamic states when emitting the guardband state

If the primitive topology is part of the PSO, it's copied at pipeline
bind time to the dynamic state, so this checks is unnecessary.

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

19 months agoradv: add DI_PT_RECTLIST to si_conv_prim_to_gs_out()
Samuel Pitoiset [Mon, 27 Mar 2023 10:28:11 +0000 (12:28 +0200)]
radv: add DI_PT_RECTLIST to si_conv_prim_to_gs_out()

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

19 months agoaco: fix p_interp_gfx11 comment
Georg Lehmann [Fri, 24 Mar 2023 12:45:16 +0000 (13:45 +0100)]
aco: fix p_interp_gfx11 comment

It no longer uses a tmp exec and scc.

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

19 months agoaco: don't check usesModifiers for pseudo instructions
Georg Lehmann [Fri, 24 Mar 2023 12:41:11 +0000 (13:41 +0100)]
aco: don't check usesModifiers for pseudo instructions

This can't happen.

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

19 months agoetnaviv: fix texture barrier implementation
Lucas Stach [Fri, 17 Mar 2023 16:25:11 +0000 (17:25 +0100)]
etnaviv: fix texture barrier implementation

The current implementation has a number of issues:
- it doesn't flush the depth cache, even though this can also be changed
  due to fragment shader operations and thus is included in the definition
  of glTextureBarrier
- it doesn't flush the vertex sampler cache
- it doesn't stall the pipeline until the flushes are done

Fix those issues and drop the comment, as it's pretty clear from the
code what is being done.

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

19 months agoetnaviv: flush VS texture cache when texture data is changed
Lucas Stach [Tue, 7 Mar 2023 20:02:44 +0000 (21:02 +0100)]
etnaviv: flush VS texture cache when texture data is changed

If a sampler resource is changed the vertex texture caches also need to
be flushed, as those are separate from the fragment texture caches.

It seems that some cores need the VS sampler cache flush to be in a
separate state. I have seen no adverse effects of merging the TEXTUREVS
flush into a single flush state emission on GC3000 and up, but the blob
always emits the vertex sampler cache flush as a separate state, so do
the same here to avoid nasty surprises.

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

19 months agodocs/freedreno: fix turnip-heading level
Erik Faye-Lund [Thu, 16 Mar 2023 08:01:40 +0000 (09:01 +0100)]
docs/freedreno: fix turnip-heading level

Having two top-level headings in an article confuses Sphinx, and makes
both appear as separate articles in the toc-tree.

It doesn't seem like there's a good reason why the following headings
should be nested under the "Turnip"-heading anyway, so let's just make
it a sibling to the "Hardware architecture" heading.

Acked-by: Rob Clark <robclark@freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21948>

19 months agoradv: separate the sample shading state between FS and graphics pipeline
Samuel Pitoiset [Fri, 24 Mar 2023 13:26:20 +0000 (14:26 +0100)]
radv: separate the sample shading state between FS and graphics pipeline

Sample shading can be enabled inside the fragment shader and also
per-pipeline. Separate both cases to be able to enable sample shading
by only binding a FS.

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

19 months agoradv: move uses_user_sample_locations to radv_multisample_state
Samuel Pitoiset [Wed, 22 Mar 2023 15:19:04 +0000 (16:19 +0100)]
radv: move uses_user_sample_locations to radv_multisample_state

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

19 months agoradv: copy the multisample state to radv_cmd_state
Samuel Pitoiset [Fri, 24 Mar 2023 13:15:26 +0000 (14:15 +0100)]
radv: copy the multisample state to radv_cmd_state

To avoid relying on the pipeline.

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

19 months agoamd: Add radv_foreach_stage to ForEachMacros.
Tatsuyuki Ishi [Thu, 23 Mar 2023 13:40:48 +0000 (22:40 +0900)]
amd: Add radv_foreach_stage to ForEachMacros.

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

19 months agoanv,hasvk: remove stale comments
Marcin Ślusarz [Fri, 24 Mar 2023 16:54:15 +0000 (17:54 +0100)]
anv,hasvk: remove stale comments

Added in 060a6434eca9fb05ca2dfd612f8abd4786ee4549.
The field it described was removed in c1f4343807d1040bd7b5440aa2f5fccf5f12842d.

Fixes: c1f4343807d ("anv: Set up memory types and heaps during physical device init")
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22113>

19 months agoradv: move radv_meta_* to a new folder
Samuel Pitoiset [Tue, 21 Mar 2023 07:32:14 +0000 (08:32 +0100)]
radv: move radv_meta_* to a new folder

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

19 months agoci/broadcom: test occasionally fails, but typically passes
David Heidelberg [Mon, 27 Mar 2023 00:08:46 +0000 (02:08 +0200)]
ci/broadcom: test occasionally fails, but typically passes

Flake still present.

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

19 months agodocs: prefer http-links over ftp
Erik Faye-Lund [Mon, 20 Mar 2023 19:00:37 +0000 (20:00 +0100)]
docs: prefer http-links over ftp

None of the major browsers supports FTP links. While it's fine to have
FTP links as alternatives, let's change these links into HTTP links
instead.

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

19 months agoCODEOWNERS: s/jekstrand/gfxstrand
Faith Ekstrand [Sat, 25 Mar 2023 21:23:53 +0000 (16:23 -0500)]
CODEOWNERS: s/jekstrand/gfxstrand

My gitlab handle changed, update to the right one.

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

19 months agoutil: Update some copyright tags
Faith Ekstrand [Sat, 25 Mar 2023 21:22:50 +0000 (16:22 -0500)]
util: Update some copyright tags

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

19 months agovulkan: vk_android.c should be copyright Intel
Faith Ekstrand [Sat, 25 Mar 2023 22:58:05 +0000 (17:58 -0500)]
vulkan: vk_android.c should be copyright Intel

That's where I copied+pasted it from.

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

19 months agoutil,mesa,panfrost: Drop some author tags
Faith Ekstrand [Sat, 25 Mar 2023 21:21:41 +0000 (16:21 -0500)]
util,mesa,panfrost: Drop some author tags

This is what git blame is for

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

19 months agointel: Drop some author comments and update Faith's name
Faith Ekstrand [Sat, 25 Mar 2023 21:21:11 +0000 (16:21 -0500)]
intel: Drop some author comments and update Faith's name

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

19 months agospirv: Drop a bunch of Authors tags
Faith Ekstrand [Sat, 25 Mar 2023 18:11:34 +0000 (13:11 -0500)]
spirv: Drop a bunch of Authors tags

This is what git blame is for

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

19 months agonir: Drop a bunch of Authors tags
Faith Ekstrand [Sat, 25 Mar 2023 18:11:16 +0000 (13:11 -0500)]
nir: Drop a bunch of Authors tags

This is what git blame is for.

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

19 months agodocs: Fix Faith's name in relnotes
Faith Ekstrand [Sat, 25 Mar 2023 18:04:32 +0000 (13:04 -0500)]
docs: Fix Faith's name in relnotes

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

19 months agointel/blorp: Drop the TODO file
Faith Ekstrand [Sat, 25 Mar 2023 18:03:15 +0000 (13:03 -0500)]
intel/blorp: Drop the TODO file

Most of this stuff is done.

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

19 months agoac/surface,radv: Opt out of stencil adjust.
Bas Nieuwenhuizen [Mon, 13 Mar 2023 01:18:03 +0000 (02:18 +0100)]
ac/surface,radv: Opt out of stencil adjust.

We never implemented it, and having broken mipmaps works out better
for applications and CTS. Actually implementing stencil adjust is
going to be a major pain due to stuff like the GENERAL layout.

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

19 months agoac/surface: Only allow stencil pitch adjustment for mipmaps.
Bas Nieuwenhuizen [Mon, 13 Mar 2023 01:12:02 +0000 (02:12 +0100)]
ac/surface: Only allow stencil pitch adjustment for mipmaps.

Otherwise we can just have addrlib do the depth pitch adjustment
and have no copies.

v2: update CI expectations (olv)

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

19 months agoac/surface,radv: Avoid pitch weirdness if image not used for rendertarget.
Bas Nieuwenhuizen [Mon, 13 Mar 2023 01:09:17 +0000 (02:09 +0100)]
ac/surface,radv: Avoid pitch weirdness if image not used for rendertarget.

Literally no point to it.

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

19 months agofreedreno/registers: Add control reg for zap fw base
Rob Clark [Mon, 6 Mar 2023 23:16:05 +0000 (15:16 -0800)]
freedreno/registers: Add control reg for zap fw base

The zap shader knows the offset of the embedded shader within the zap
sqe instructions, but uses this control reg to get it's own address in
memory, in order to calculate the address of the compute shader part of
the zap shader.

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

19 months agofreedreno/afuc: Add raw mode for disasm
Rob Clark [Mon, 6 Mar 2023 23:14:16 +0000 (15:14 -0800)]
freedreno/afuc: Add raw mode for disasm

Add a mode which doesn't try to find/process a jmptable.  Useful for
looking at zap shaders.

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

19 months agodriconf: make glthread=true default for source games
Mike Blumenkrantz [Tue, 10 Jan 2023 14:39:30 +0000 (09:39 -0500)]
driconf: make glthread=true default for source games

this yields a sizable gain for source-based games, so it shouldn't be
limited to radeonsi

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

19 months agointel/compiler: Add Wa_14014063774 for slm_fence
Sagar Ghuge [Fri, 21 May 2021 06:48:47 +0000 (23:48 -0700)]
intel/compiler: Add Wa_14014063774 for slm_fence

Before SLM fence compiler needs to insert SYNC.ALLWR in order to avoid
the SLM data race.

Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22050>

19 months agovenus: check and configure new ringMonitoring feature
Ryan Neph [Wed, 22 Mar 2023 19:47:42 +0000 (12:47 -0700)]
venus: check and configure new ringMonitoring feature

At ring creation, if supported by renderer, we can request
ringMonitoring. During driver ring waits, the ring's new ALIVE status
bit will be checked periodically at the configured rate. If the bit is
not set, the renderer must have crashed and the driver should do the
same to signal a problem to the app/user.

Signed-off-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22036>

19 months agovenus: update to latest protocol for ringMonitoring
Ryan Neph [Mon, 20 Mar 2023 17:15:09 +0000 (10:15 -0700)]
venus: update to latest protocol for ringMonitoring

Signed-off-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22036>

19 months agovenus: init exp features before ring init again
Ryan Neph [Mon, 20 Mar 2023 18:15:12 +0000 (11:15 -0700)]
venus: init exp features before ring init again

This reverts commit dda85cf94bdd9d58f0dc4013dbf4b3c985471991 ("venus:
move exp features init back to use ring submit"), and additionally adds
per stream shmem caching to determine when vkSetReplyCommandStreamMESA
is needed.

Checking renderer features before setting up ring means that the bound
shmem for replies on the ring will no longer be implicitly set on first
shmem creation (it was set for the renderer stream instead). So the
test for when another vkSetReplyCommandStreamMESA is needed must
independently consider the last stream set on renderer/ring(s)

Signed-off-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22036>

19 months agovenus: set/check ring status bits independently
Ryan Neph [Wed, 22 Mar 2023 19:27:28 +0000 (12:27 -0700)]
venus: set/check ring status bits independently

prepare for manipulation of the new VK_RING_STATUS_ALIVE_BIT_MESA during
ring monitoring.

Signed-off-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22036>

19 months agovenus: add vn_relax_init/_fini()
Ryan Neph [Wed, 22 Mar 2023 19:12:21 +0000 (12:12 -0700)]
venus: add vn_relax_init/_fini()

Use a new calling contract so we can do pre/post-work around every ring-waiting
iteration. All looping uses of `vn_relax()` must now call `vn_relax_init()` and
`vn_relax_fini()` before/after their loop bodies.

Signed-off-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22036>

19 months agoiris: Implement Wa_14015297576
Sagar Ghuge [Thu, 16 Mar 2023 15:08:12 +0000 (17:08 +0200)]
iris: Implement Wa_14015297576

Disable tessellation distribution when primitive id is enabled.

v2: some changes squashed from Tapani:
   - leave mode initially as TEDMODE_OFF (0) so we can merge
   - take fs primitive ID overrides in to account

Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21982>

19 months agoanv: Implement Wa_14015297576
Sagar Ghuge [Thu, 16 Mar 2023 14:03:41 +0000 (16:03 +0200)]
anv: Implement Wa_14015297576

Disable tessellation distribution when primitive id is enabled.

Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21982>

19 months agoci/zink: Add zink-tu-a618-traces-performance job
Guilherme Gallo [Mon, 20 Mar 2023 16:39:49 +0000 (13:39 -0300)]
ci/zink: Add zink-tu-a618-traces-performance job

It will be needed to compare the performance of zink+turnip against
turnip only jobs.

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

19 months agoci/zink: Add zink-turnip-manual-rules
Guilherme Gallo [Mon, 20 Mar 2023 16:36:21 +0000 (13:36 -0300)]
ci/zink: Add zink-turnip-manual-rules

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

19 months agoci/zink: Add zink-a618 trace jobs
Guilherme Gallo [Mon, 13 Mar 2023 21:23:31 +0000 (18:23 -0300)]
ci/zink: Add zink-a618 trace jobs

May be used as replacement for zink-a630-traces job, since a618 is similar
to a630.

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

19 months agoci/freedreno: create a618-traces and perf jobs
Guilherme Gallo [Mon, 13 Feb 2023 15:59:12 +0000 (12:59 -0300)]
ci/freedreno: create a618-traces and perf jobs

Performance jobs should work better if we fix the device under test to
be the same in every test, instead of using any device from a group of
devices of the same type.

We can do it quickly in LAVA, but it seems more
complicated on Google's farm. So, let's replace the a630 (in Google
farm) with a fixed a618 device to test freedreno traces performance.

Add a618-traces job as well, as we need to confirm that a618 is
generating stable traces with good results before proceeding to track
its performance

Co-authored-by: David Heidelberg <david.heidelberg@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22065>

19 months agoci: Add piglit traces hidden jobs
Guilherme Gallo [Mon, 13 Mar 2023 21:42:11 +0000 (18:42 -0300)]
ci: Add piglit traces hidden jobs

To better organize traces and traces-performance jobs that uses piglit
to replay traces.

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

19 months agoci/freedreno: Make traces work on LAVA caching proxy
David Heidelberg [Mon, 20 Feb 2023 03:20:00 +0000 (04:20 +0100)]
ci/freedreno: Make traces work on LAVA caching proxy

Explicitily define the caching proxy via piglit
`--download-caching-proxy-url` argument.
We have different URLs for caching proxy for LAVA and freedreno farms.

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

19 months agoci/freedreno: define Google farm specific includes
David Heidelberg [Mon, 20 Feb 2023 00:03:06 +0000 (01:03 +0100)]
ci/freedreno: define Google farm specific includes

This should prevent mixing them with LAVA freedreno devices.

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

19 months agoci/freedreno: split deqp from other jobs
David Heidelberg [Mon, 20 Feb 2023 02:46:17 +0000 (03:46 +0100)]
ci/freedreno: split deqp from other jobs

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

19 months agoci: remove deqp from lava piglit and traces runs
David Heidelberg [Mon, 20 Feb 2023 01:01:33 +0000 (02:01 +0100)]
ci: remove deqp from lava piglit and traces runs

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

19 months agoci: create lava-test without deqp HWCI_TEST_SCRIPT
David Heidelberg [Mon, 20 Feb 2023 00:55:17 +0000 (01:55 +0100)]
ci: create lava-test without deqp HWCI_TEST_SCRIPT

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

19 months agoci: rename .lava-test to .lava-test-deqp to describe it correctly
David Heidelberg [Mon, 20 Feb 2023 00:52:04 +0000 (01:52 +0100)]
ci: rename .lava-test to .lava-test-deqp to describe it correctly

.lava-test hidden job was setting the HWCI_TEST_SCRIPT variable to deqp
runner. But that is not always the case. When we run piglit traces jobs,
we use piglit-traces.sh instead, for example.

Splitting into:
- .lava-test-deqp (deqp-runner + deqp)
- .lava-traces (deqp-runner + piglit)
- .lava-piglit (piglit-runner + piglit)

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Co-authored-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22065>