platform/upstream/mesa.git
18 months agopanfrost: Fix logic ops on Bifrost
Alyssa Rosenzweig [Thu, 12 Jan 2023 22:34:44 +0000 (17:34 -0500)]
panfrost: Fix logic ops on Bifrost

opaque should not be set when logicops are enabled, that needs blending
even on Bifrost. Fixes is for when I believe the bug became possible to hit.
The logical error is older.

Fixes Piglit logicop tests again.

Fixes: d849d9779a7 ("panfrost: Avoid blend shader when not blending")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20685>

18 months agopanfrost: Enable NV_primitive_restart on Valhall
Alyssa Rosenzweig [Fri, 13 Jan 2023 21:35:48 +0000 (16:35 -0500)]
panfrost: Enable NV_primitive_restart on Valhall

Unlike literally every other mesa/st emulation, for some inexplicable reason we
need to pretend to support the CAP and then set a different EMULATE cap instead
of the emulation keying off the lack of support for the CAP. Set the CAPs
accordingly so we get NV_primitive_restart (with emulation of non-fixed
indices).

This gets Mesa to advertise GL 3.1 on Mali-G57 as intended.

Fixes: 30c14f54cf2 ("panfrost: Disable PIPE_CAP_PRIMITIVE_RESTART on v9")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20702>

18 months agopan/bi: Add a unit test for fsat(reg.yx)
Alyssa Rosenzweig [Thu, 12 Jan 2023 21:55:28 +0000 (16:55 -0500)]
pan/bi: Add a unit test for fsat(reg.yx)

This would have caught the issue from the previous commit. Split out to make
backporting the previous change less onerous.

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

18 months agopan/bi: Fix incorrect compilation of fsat(reg.yx)
Alyssa Rosenzweig [Thu, 12 Jan 2023 21:50:31 +0000 (16:50 -0500)]
pan/bi: Fix incorrect compilation of fsat(reg.yx)

Future changes to nir_lower_blend cause fsat(reg.yx) instructions to be
generated, which correspond to "FCLAMP.v2f16 x.h10" pseudoinstructions. These
get their swizzles lowered, but we forgot to clear the swizzle out, so we end up
with extra swap (cancelling out the intended swizzle).

Fix the lowering logic.

Fixes: ac636f5adb5 ("pan/bi: Use FCLAMP pseudo op for clamp prop")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20683>

18 months agobin/ci: add gitlab_gql.py.cache to the .gitignore
Eric Engestrom [Mon, 16 Jan 2023 10:00:09 +0000 (10:00 +0000)]
bin/ci: add gitlab_gql.py.cache to the .gitignore

On my machine, the filecache doesn't have the extra `.db` suffix, just `.cache`.

Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20722>

18 months agoradv/bvh: Prevent NANs when computing node cost
Friedrich Vock [Mon, 16 Jan 2023 10:14:44 +0000 (11:14 +0100)]
radv/bvh: Prevent NANs when computing node cost

Otherwise the degenerate geometry workaround never triggers, leading to bad performance.

Fixes: 6f45c98b ("radv/bvh: Adjust sah cost based on depth")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20723>

18 months agov3dv: skip two ycbcr tests
Alejandro Piñeiro [Thu, 12 Jan 2023 13:02:23 +0000 (14:02 +0100)]
v3dv: skip two ycbcr tests

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

18 months agov3dv: add support for multi-planar formats, enable YCbCr
Ella Stanforth [Thu, 28 Jul 2022 08:15:43 +0000 (08:15 +0000)]
v3dv: add support for multi-planar formats, enable YCbCr

Original patches wrote by Ella Stanforth.

Alejandro Piñeiro main changes (skipping the small fixes/typos):
  * Reduced the list of supported formats to
    VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM and
    VK_FORMAT_G8_B8R8_2PLANE_420_UNORM, that are the two only
    mandatory by the spec.
  * Fix format features exposed with YCbCr:
    * Disallow some features not supported with YCbCr (like blitting)
    * Disallow storage image support. Not clear if really useful. Even
      if there are CTS tests, there is an ongoing discussion about the
      possibility to remove them.
    * Expose VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT, that is
      mandatory for the formats supported.
    * Not expose VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT. Some
      CTS tests are failing right now, and it is not mandatory. Likely
      to be revisit later.
    * We are keeping VK_FORMAT_FEATURE_2_DISJOINT_BIT and
      VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT. Even if they
      are optional, it is working with the two formats that we are
      exposing. Likely that will need to be refined if we start to
      expose more formats.
  * create_image_view: don't use hardcoded 0x70, but instead doing an
    explicit bit or of VK_IMAGE_ASPECT_PLANE_0/1/2_BIT
  * image_format_plane_features: keep how supported aspects and
    separate stencil check is done. Even if the change introduced was
    correct (not sure about that though), that change is unrelated to
    this work
  * write_image_descriptor: add additional checks for descriptor type,
    to compute properly the offset.
  * Cosmetic changes (don't use // for comments, capital letters, etc)
  * Main changes coming from the review:
     * Not use image aliases. All the info is already on the image
       planes, and some points of the code were confusing as it was
       using always a hardcoded plane 0.
     * Squashed the two original main patches. YCbCr conversion was
       leaking on the multi-planar support, as some support needed
       info coming from the ycbcr structs.
     * Not expose the extension on Android, and explicitly assert that
       we expect plane_count to be 1 always.
  * For a full list of review changes  see MR#19950

Signed-off-by: Ella Stanforth <estanforth@igalia.com>
Signed-off-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19950>

18 months agov3dv/image: use 64-byte alingment for linear images if needed
Alejandro Piñeiro [Thu, 12 Jan 2023 10:14:46 +0000 (11:14 +0100)]
v3dv/image: use 64-byte alingment for linear images if needed

When used for transfer, the image could be used eventually as a
Texture Base Address, that needs to be 64-byte aligned.

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

18 months agov3dv: pass alignment to v3dv_buffer_init
Alejandro Piñeiro [Wed, 11 Jan 2023 13:04:26 +0000 (14:04 +0100)]
v3dv: pass alignment to v3dv_buffer_init

Although for any buffer created by the user, or any API that can be
called by the user (like GetDeviceBufferMemoryRequirements) the
alignment is V3D_NON_COHERENT_ATOM_SIZE, there are internal uses of a
buffer that could require a fine-grained alignment (like when used as
a alias for a image, that has different alignment requirements).

Note that an alternative would have created a
v3dv_buffer_init_with_alignment (or similar name), but this option
seemed easier.

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

18 months agov3dv/pipeline: rename lower_tex_src_to_offset to lower_tex_src
Alejandro Piñeiro [Tue, 29 Nov 2022 22:51:04 +0000 (23:51 +0100)]
v3dv/pipeline: rename lower_tex_src_to_offset to lower_tex_src

Less confusing this way.

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

18 months agov3dv/format: remove unused v3dv_get_tex_return_size
Alejandro Piñeiro [Fri, 25 Nov 2022 10:58:15 +0000 (11:58 +0100)]
v3dv/format: remove unused v3dv_get_tex_return_size

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

18 months agov3dv: add paths to handle partial copies of linear images
Iago Toral Quiroga [Tue, 6 Sep 2022 07:34:46 +0000 (09:34 +0200)]
v3dv: add paths to handle partial copies of linear images

v2:
   * Removed unneeded copy_image_linear_buffer
   * Add tiling/image-type check on copy_image_blit

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

18 months agoanv,nir: Move the ANV YCbCr lowering pass to common code
Jason Ekstrand [Wed, 31 Mar 2021 02:32:46 +0000 (21:32 -0500)]
anv,nir: Move the ANV YCbCr lowering pass to common code

Nir changes:
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Anv changes:

Acked-by: Alejandro Piñeiro <apinheiro@igalia.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19950>

18 months agonir: Add copyright and include guards to nir_vulkan.h
Jason Ekstrand [Wed, 31 Mar 2021 02:32:21 +0000 (21:32 -0500)]
nir: Add copyright and include guards to nir_vulkan.h

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

18 months agoanv: Use the YCbCr format info from common code
Jason Ekstrand [Wed, 31 Mar 2021 04:44:25 +0000 (23:44 -0500)]
anv: Use the YCbCr format info from common code

We still maintain our own table of formats but all of the conversion and
sampling info we pull from common code.

Acked-by: Alejandro Piñeiro <apinheiro@igalia.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19950>

18 months agoanv: Use the common vk_ycbcr_conversion object
Jason Ekstrand [Wed, 31 Mar 2021 04:18:41 +0000 (23:18 -0500)]
anv: Use the common vk_ycbcr_conversion object

Acked-by: Alejandro Piñeiro <apinheiro@igalia.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19950>

18 months agovulkan: Add a common vk_ycbcr_conversion struct
Jason Ekstrand [Wed, 31 Mar 2021 02:28:31 +0000 (21:28 -0500)]
vulkan: Add a common vk_ycbcr_conversion struct

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

18 months agovulkan/formats: Add YCbCr format information
Jason Ekstrand [Wed, 31 Mar 2021 03:20:53 +0000 (22:20 -0500)]
vulkan/formats: Add YCbCr format information

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

18 months agoutil/format: YUYV and UYVY have 4 8-bit channels
Jason Ekstrand [Wed, 31 Mar 2021 14:43:00 +0000 (09:43 -0500)]
util/format: YUYV and UYVY have 4 8-bit channels

They're all packed and weird but this is more accurate than saying they
have a single x32 blob of data.

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

18 months agoanv/android: Use VkFormat for externalFormat
Jason Ekstrand [Wed, 31 Mar 2021 03:52:43 +0000 (22:52 -0500)]
anv/android: Use VkFormat for externalFormat

Using a pointer to an internal data structure works but it's a bit
sketchy.  Since every anv_format maps to a VkFormat, we may as well
just use the VkFormat.

Reviewed-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/19950>

18 months agoanv: Refactor Android externalFormat handling in CreateYcbcrConversion
Jason Ekstrand [Wed, 31 Mar 2021 03:45:59 +0000 (22:45 -0500)]
anv: Refactor Android externalFormat handling in CreateYcbcrConversion

Reviewed-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/19950>

18 months agoRevert "ci: build hasvk if we're building anv"
Lionel Landwerlin [Mon, 16 Jan 2023 12:01:25 +0000 (14:01 +0200)]
Revert "ci: build hasvk if we're building anv"

This reverts commit b4d3d11e43546a92a82c66a47e3bda0e6a6822cf.

We're seeing problems on the builders running the hasvk tests.

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

18 months agovulkan/wsi: check if image info was already freed
Alejandro Piñeiro [Fri, 13 Jan 2023 12:42:26 +0000 (13:42 +0100)]
vulkan/wsi: check if image info was already freed

We set the different data being freed to NULL after freeing it, and
checks for NULL before freeing it.

This fixes several double free crash with v3dv, when running OOM wsi
tests, like for example:
dEQP-VK.wsi.xlib.swapchain.simulate_oom.composite_alpha

Although note that only one person got those on a new fresh install of
the Raspbian OS, so this problem was rare.

Fixes: 5b13d74583513ddd029e ("vulkan/wsi/drm: Break create_native_image in pieces")
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20695>

18 months agopvr: Add support for geometry-only render jobs
Matt Coster [Thu, 8 Dec 2022 14:50:07 +0000 (14:50 +0000)]
pvr: Add support for geometry-only render jobs

Signed-off-by: Matt Coster <matt.coster@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20545>

18 months agopvr: Extract setup of winsys job submit flags into separate functions
Matt Coster [Mon, 5 Dec 2022 15:29:43 +0000 (15:29 +0000)]
pvr: Extract setup of winsys job submit flags into separate functions

Signed-off-by: Matt Coster <matt.coster@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20545>

18 months agobroadcom/compiler: produce better code for f2f16 with RTZ rounding
Iago Toral Quiroga [Mon, 16 Jan 2023 08:04:10 +0000 (09:04 +0100)]
broadcom/compiler: produce better code for f2f16 with RTZ rounding

Suggested by Georg Lehmann, this generates far less code and should
be more correct.

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

18 months agoac: don't call ac_query_pci_bus_info from ac_query_gpu_info
Pierre-Eric Pelloux-Prayer [Thu, 12 Jan 2023 14:05:06 +0000 (15:05 +0100)]
ac: don't call ac_query_pci_bus_info from ac_query_gpu_info

Instead let each driver call it.

radeonsi ignores the error because it doesn't require correct
pci-bus info to work properly.

radv keeps the existing behavior and fails if the pci-bus infos
is missing.

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

18 months agoac: add ac_query_pci_bus_info helper
Pierre-Eric Pelloux-Prayer [Thu, 12 Jan 2023 14:04:38 +0000 (15:04 +0100)]
ac: add ac_query_pci_bus_info helper

No functional changes.

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

18 months agoac/info: move pci bus info in a struct
Pierre-Eric Pelloux-Prayer [Thu, 12 Jan 2023 14:02:40 +0000 (15:02 +0100)]
ac/info: move pci bus info in a struct

And add a validity flag because there's no way to
tell if they're valid, unless for the caller of
drmGetDevice2.

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

18 months agoradeonsi: simplify dpbb settings
Pierre-Eric Pelloux-Prayer [Wed, 11 Jan 2023 14:45:11 +0000 (15:45 +0100)]
radeonsi: simplify dpbb settings

Use only 2 sets of parameters and add some debug variables
to ease tweaking them when testing.

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

18 months agofreedreno/ci: Switch also performance a630 job to manual
David Heidelberg [Sun, 15 Jan 2023 21:04:17 +0000 (22:04 +0100)]
freedreno/ci: Switch also performance a630 job to manual

Fixes: 0cc370133817 ("freedreno/ci: Switch a630 jobs over to manual")

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

18 months agoci/zink: Penumbra is now fixed.
David Heidelberg [Sun, 15 Jan 2023 22:58:02 +0000 (23:58 +0100)]
ci/zink: Penumbra is now fixed.

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

18 months agoradv: Fix memory leak.
Vinson Lee [Sun, 15 Jan 2023 01:33:47 +0000 (17:33 -0800)]
radv: Fix memory leak.

Fix defect reported by Coverity Scan.

Resource leak (RESOURCE_LEAK)
leaked_storage: Variable page going out of scope leaks the storage it points to.

Fixes: 8d0e6c02c70 ("radv: Add RMV tracing utilities")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20711>

18 months agoradv/rt: Divide by the correct workgroup size
Friedrich Vock [Sun, 15 Jan 2023 20:54:50 +0000 (21:54 +0100)]
radv/rt: Divide by the correct workgroup size

Improves build performance by around 25%.

Fixes: 9369b407 ("radv: Use PLOC for BVH building")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20717>

18 months agoglsl/nir: only set uses_sample_shading when the output is a fbfetch
Gert Wollny [Fri, 13 Jan 2023 09:53:16 +0000 (10:53 +0100)]
glsl/nir: only set uses_sample_shading when the output is a fbfetch

Constructs like

  out vec4 fs_out;
  ....
  fs_out = vec4(...);
  if (fs_out.w < alpha_test_value)
     discard;

lead to initial nir that reads from fs_out, even though we don't actually
do a framebuffer fetch, and later nir passes will eliminate that direct
read from the output variable. As given in the commit message of 1124bee4
we are actually only interested in the framebuffer fetch, so set the
property only when an output is used for fbfetch reads.

v2: Iterate over all variables (Jason)

Fixes: commit 1124bee4baba49466d84b2bf274017dbba6360a7
  glsl/nir: Set sample_shading if a FS output ever shows up as an rvalue

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

18 months agoradv/rt: Get rid of accel struct null checks
Konstantin Seurer [Thu, 5 Jan 2023 16:48:45 +0000 (17:48 +0100)]
radv/rt: Get rid of accel struct null checks

Quake II RTX ray queries:

Totals from 7 (14.29% of 49) affected shaders:
CodeSize: 167220 -> 165560 (-0.99%)
Instrs: 31674 -> 31454 (-0.69%)
Latency: 385145 -> 596737 (+54.94%)
InvThroughput: 78837 -> 122005 (+54.76%)
Copies: 4740 -> 4667 (-1.54%); split: -1.60%, +0.06%
Branches: 1565 -> 1493 (-4.60%)
PreSGPRs: 488 -> 501 (+2.66%); split: -0.41%, +3.07%
PreVGPRs: 617 -> 620 (+0.49%)

Performance stays the same.

Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20539>

18 months agoradv: Use the null accel struct instead of emitting 0
Konstantin Seurer [Thu, 5 Jan 2023 16:40:37 +0000 (17:40 +0100)]
radv: Use the null accel struct instead of emitting 0

Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20539>

18 months agoradv: Create a null TLAS as meta state
Konstantin Seurer [Thu, 5 Jan 2023 16:39:39 +0000 (17:39 +0100)]
radv: Create a null TLAS as meta state

Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20539>

18 months agoradv: Add a helper for finding memory indices
Konstantin Seurer [Sun, 15 Jan 2023 16:18:55 +0000 (17:18 +0100)]
radv: Add a helper for finding memory indices

Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20539>

18 months agovulkan: Track the nullDescriptor feature
Konstantin Seurer [Thu, 5 Jan 2023 16:42:23 +0000 (17:42 +0100)]
vulkan: Track the nullDescriptor feature

Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20539>

18 months agofreedreno/ci: Add a618 egl/skqp/piglit jobs
Rob Clark [Sun, 15 Jan 2023 17:14:28 +0000 (09:14 -0800)]
freedreno/ci: Add a618 egl/skqp/piglit jobs

Clone the existing a630 jobs and expectations.  This should give us a6xx
coverage to make up for the offline a630 runners.

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

18 months agofreedreno/ci: Cleanup a618 yaml
Rob Clark [Sun, 15 Jan 2023 17:03:10 +0000 (09:03 -0800)]
freedreno/ci: Cleanup a618 yaml

De-duplicate GPU_VERSION/VK_DRIVER and add different jobs that can be
extended for limozeen vs kingoftown runners in order to de-duplicate the
DEVICE_TYPE/DTB/RUNNER_TAG variables.  This should simplify moving jobs
between runners to load-balance.

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

18 months agofreedreno/ci: Switch a630 jobs over to manual
Rob Clark [Sun, 15 Jan 2023 16:54:43 +0000 (08:54 -0800)]
freedreno/ci: Switch a630 jobs over to manual

The a630 runners are not responding atm, so switch the jobs to manual
for the time being.

Note the other fd-farm runners are responding fine, which is why I
didn't take the entire farm offline.

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

18 months agoetnaviv: nir: use lower_fround_even
Christian Gmeiner [Sat, 14 Jan 2023 20:26:18 +0000 (21:26 +0100)]
etnaviv: nir: use lower_fround_even

The generated asm is not as good as the one from the binary blob but
does its job.

Passes: dEQP-GLES3.functional.shaders.operator.common_functions.round*.*

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20709>

19 months agopanfrost: Don't use AFBC of sRGB luminance-alpha
Alyssa Rosenzweig [Thu, 12 Jan 2023 22:58:29 +0000 (17:58 -0500)]
panfrost: Don't use AFBC of sRGB luminance-alpha

This isn't allowed for the same reason that AFBC of regular luminance-alpha
isn't allowed (and will raise DATA_INVALID_FAULTs). Reorder the checks to
ensure these formats are checked.

Fixes Piglit texwrap GL_EXT_texture_sRGB-s3tc.

Fixes: 476be5cb273 ("panfrost: Don't use texture format swizzles on v7")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20686>

19 months agozink: add renderdoc handling
Mike Blumenkrantz [Thu, 4 Mar 2021 15:44:36 +0000 (10:44 -0500)]
zink: add renderdoc handling

renderdoc won't work with zink in frontends that aren't dri,
so ZINK_RENDERDOC should be used to specify start:end frames
to ensure that the vulkan command stream is captured

this is not a renderdoc issue: there are no frame boundaries in rusticl
or gallium-nine, so there is no possible way that renderdoc could
determine when/how to split frames

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

19 months agovenus: vn_queue: align vulkan object variable naming
Juston Li [Wed, 11 Jan 2023 19:56:43 +0000 (11:56 -0800)]
venus: vn_queue: align vulkan object variable naming

Per Yiwei:
"For vn_QueueSubmit and other exposed Vulkan entry points, we keep the
original Vulkan variable namings. If within the same function you need
to use struct vn_queue *queue, then we prefix a _ to the args in the
exposed entry points, so it becomes VkQueue _queue.

For all other places:

VkObject obj_handle
struct vn_object *obj

The obj in this file can be queue, fence, sem, event, cmd, dev, etc."

Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20088>

19 months agovenus: refactor QueueSubmit/QueueSubmit2
Juston Li [Wed, 21 Dec 2022 17:33:57 +0000 (09:33 -0800)]
venus: refactor QueueSubmit/QueueSubmit2

Refactor the QueueSubmit functions to share a common function differing
in the vkQueueSubmit/vkQueueSubmit2 call with differences with
VkSubmitInfo/VkSubmitInfo2 handled in the
vn_queue_submission_prepare_submit().

Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20088>

19 months agovenus: append fence feedback batch
Juston Li [Wed, 21 Dec 2022 00:53:47 +0000 (16:53 -0800)]
venus: append fence feedback batch

Instead of calling an additional QueueSubmit for fence feedback, append
a SubmitInfo batch for fence feedback. This does require copying the
submitted batches to a larger buffer with an additional slot for the
fence feedback batch.

Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20088>

19 months agovenus: drop VkQueueBindSparse
Juston Li [Tue, 20 Dec 2022 22:51:51 +0000 (14:51 -0800)]
venus: drop VkQueueBindSparse

Sparse binding is already disabled with fence feedback enabled by
default due to the difficulty getting both to work.

Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20088>

19 months agovenus: remove filtering external semaphores for QueueSubmit
Juston Li [Tue, 20 Dec 2022 22:47:20 +0000 (14:47 -0800)]
venus: remove filtering external semaphores for QueueSubmit

We now require VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT for
external semaphores.

Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20088>

19 months agovenus: require exportable/importable bit for ext semaphores sync fd
Juston Li [Tue, 20 Dec 2022 22:19:13 +0000 (14:19 -0800)]
venus: require exportable/importable bit for ext semaphores sync fd

Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20088>

19 months agovenus: require exportable bit for ext fence sync fd
Juston Li [Tue, 20 Dec 2022 22:18:08 +0000 (14:18 -0800)]
venus: require exportable bit for ext fence sync fd

Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20088>

19 months agovenus: require importable external semaphores for WSI
Juston Li [Mon, 9 Jan 2023 22:06:31 +0000 (14:06 -0800)]
venus: require importable external semaphores for WSI

Semaphore sync fd import required for WSI to skip scrubbing
the wsi/external wait semaphores.

Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20088>

19 months agovenus: refactor VK_KHR_synchronization2 ext sync fd requirements
Juston Li [Mon, 9 Jan 2023 21:47:27 +0000 (13:47 -0800)]
venus: refactor VK_KHR_synchronization2 ext sync fd requirements

In preparation for adding additional dependency requirements for
external sync fd support.

Move vn_physical_device_init_external_* so external sync fd support can
be retrieved earlier. Then move sync2 disabling to
vn_physical_device_get_passthrough_extensions and 1.3 downgrading
to vn_physical_device_init_properties.

Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20088>

19 months agovenus: refactor out vn_feedback_event_cmd_record2
Juston Li [Tue, 22 Nov 2022 19:37:11 +0000 (11:37 -0800)]
venus: refactor out vn_feedback_event_cmd_record2

Refactor out vn_feedback_event_cmd_record2 into a shared functon
that downgrades pipeline barrier commands for non synchronization2
commands.

Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20088>

19 months agogbm/backend: fix gbm compile without dri
Vincent Davis Jr [Wed, 28 Dec 2022 22:28:01 +0000 (16:28 -0600)]
gbm/backend: fix gbm compile without dri

Commit introduces a fix that allows for gbm to be built with an empty
backend. There are situation especially in a Yocto/OE cross compilation
environment where you want to build with an empty backend. The particular
situation is as such:

The mesa-gl recipe is the preferred provider for virtual/libgbm, virtual/libgl,
virtual/mesa, etc... But the x11 DISTRO_FEATURE in't included this leads to build
errors such as:

| /../../../ld: src/gbm/libgbm.so.1.0.0.p/main_backend.c.o: in function `find_backend':
| backend.c:(.text.find_backend+0xa4): undefined reference to `gbm_dri_backend'
| /../../../ld: src/gbm/libgbm.so.1.0.0.p/main_backend.c.o:(.data.rel.ro.builtin_backends+0x4):
                undefined reference to `gbm_dri_backend'
| collect2: error: ld returned 1 exit status

Issue should be replicable by setting -Ddri3=disabled and -Dgbm=enabled

Add fix to bypasses compilation issue by excluding gbm dri backend. If
HAVE_DRI || HAVE_DRIX not specified.

Acked-by: David Heidelberg <david.heidelberg@collabora.com>
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20447>

19 months agodzn: Fix clear bind flag logic
Jesse Natalie [Fri, 13 Jan 2023 20:39:22 +0000 (12:39 -0800)]
dzn: Fix clear bind flag logic

This is the patch I had meant to merge

Fixes: 8b79e6fb ("dzn: No need to add another bind flag for clears if one is already present")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20361>

19 months agodzn/ci: Add image test group, which is all passing now
Jesse Natalie [Fri, 16 Dec 2022 17:09:46 +0000 (09:09 -0800)]
dzn/ci: Add image test group, which is all passing now

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

19 months agodzn/ci: Remove flakes/fails that don't hit anymore
Jesse Natalie [Fri, 16 Dec 2022 17:06:17 +0000 (09:06 -0800)]
dzn/ci: Remove flakes/fails that don't hit anymore

The fails weren't causing pipeline failures because the tests just
aren't run, thanks to the dEQP fraction.

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

19 months agoci/windows: Download updated WARP 1.0.4 package
Jesse Natalie [Fri, 16 Dec 2022 17:04:51 +0000 (09:04 -0800)]
ci/windows: Download updated WARP 1.0.4 package

Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20361>

19 months agomesa: Trivially advertise NV_generate_mipmap_sRGB
Adam Jackson [Mon, 17 Oct 2022 21:13:22 +0000 (17:13 -0400)]
mesa: Trivially advertise NV_generate_mipmap_sRGB

... if you have EXT_framebuffer_sRGB. The extension just relaxes an
error check that we're already not performing, and sRGB rendering
implies sRGB texture support, and mipmap generation would need it to be
a valid render format. So advertise it if EXT_framebuffer_sRGB works.

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

19 months agomesa: Fix extension table formatting
Adam Jackson [Mon, 17 Oct 2022 21:13:08 +0000 (17:13 -0400)]
mesa: Fix extension table formatting

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

19 months agoradv: Use the new NIR builder tex helpers for meta
Jason Ekstrand [Wed, 2 Nov 2022 18:57:56 +0000 (13:57 -0500)]
radv: Use the new NIR builder tex helpers for meta

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

19 months agonir/builder: Add some texture helpers
Jason Ekstrand [Wed, 2 Nov 2022 18:37:06 +0000 (13:37 -0500)]
nir/builder: Add some texture helpers

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

19 months agonir: Add more opcodes to nir_tex_instr_is_query()
Jason Ekstrand [Wed, 2 Nov 2022 21:33:48 +0000 (16:33 -0500)]
nir: Add more opcodes to nir_tex_instr_is_query()

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

19 months agoglx: Harmonize glXCreateGLXPixmap with glXCreatePixmap
Adam Jackson [Fri, 6 Jan 2023 21:51:12 +0000 (16:51 -0500)]
glx: Harmonize glXCreateGLXPixmap with glXCreatePixmap

This was open-coding some things, and not perfectly. Likewise for the
destroy path.

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

19 months agoglx: Fix drawable type inference in visual/fbconfig setup
Adam Jackson [Fri, 6 Jan 2023 17:24:11 +0000 (12:24 -0500)]
glx: Fix drawable type inference in visual/fbconfig setup

This was just all kinds of wrong. Note that the comment implying "this
is a workaround for old XQuartz" is on the "not apple" side of the
ifdef. Anyway. xserver didn't start sending GLX_DRAWABLE_TYPE in the
fbconfig until:

    commit 8cde0af3c57f0375ba8ba77af9fdf74b79d9496d
    Author: Kristian Høgsberg <krh@redhat.com>
    Date:   Wed Apr 2 19:06:40 2008 -0400

        Send the GLX_EXT_texture_from_pixmap attributes to the client.

So we can remove this default from the fbconfig path. But we preserve it
for the GLXGetVisualConfigs path, because that is specified not to send
GLX_DRAWABLE_TYPE.

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

19 months agoglx: Inline a few single-use constant strings into their user
Adam Jackson [Wed, 4 Jan 2023 21:43:10 +0000 (16:43 -0500)]
glx: Inline a few single-use constant strings into their user

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

19 months agoglx: Move 1.2 GLXPixmap code into glx_pbuffer.c
Adam Jackson [Mon, 12 Dec 2022 19:30:02 +0000 (14:30 -0500)]
glx: Move 1.2 GLXPixmap code into glx_pbuffer.c

We're going to rename this file to something like glx_drawable.c
eventually, but for right now let's just get all the create/destroy calls
in the same place.

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

19 months agoglx: Check for initial "glX" first in glXGetProcAddress
Adam Jackson [Wed, 4 Jan 2023 17:23:38 +0000 (12:23 -0500)]
glx: Check for initial "glX" first in glXGetProcAddress

This makes us match eglGetProcAddress, otherwise you scan the entire GLX
function table on every glXGetProcAddress.

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

19 months agoglx: Reflow MakeContextCurrent a little
Adam Jackson [Tue, 3 Jan 2023 23:58:03 +0000 (18:58 -0500)]
glx: Reflow MakeContextCurrent a little

First, move a few early-out checks up since they don't need to take the
GLX lock. Second, move garbage collecting deleted contexts up to
immediately after they are unbound. This fixes a memory leak, albeit a
difficult one to hit, in the case where you switch away from a deleted
context but switching to the new one errors out. In that case we would
leak the deleted context, since it's been unbound from all threads and
there's no longer an XID for it.

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

19 months agoglx: Clean up some funny business from context bind/unbind
Adam Jackson [Tue, 3 Jan 2023 23:33:34 +0000 (18:33 -0500)]
glx: Clean up some funny business from context bind/unbind

We always fully unbind the old context before binding the new one, so
there's no point in passing both contexts to both the unbind and then
the bind.

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

19 months agoglx: Remove support for glXGetDriverConfig for old drivers
Adam Jackson [Tue, 3 Jan 2023 22:12:42 +0000 (17:12 -0500)]
glx: Remove support for glXGetDriverConfig for old drivers

gallium implements __DRI_CONFIG_OPTIONS version 2.

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

19 months agoglx: Remove a can't-happen NULL check
Adam Jackson [Tue, 3 Jan 2023 22:12:21 +0000 (17:12 -0500)]
glx: Remove a can't-happen NULL check

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

19 months agoglx: Remove glx_context::screen
Adam Jackson [Mon, 19 Dec 2022 20:46:02 +0000 (15:46 -0500)]
glx: Remove glx_context::screen

We're already keeping a back pointer to the glx_screen which already
tracks this, it's not important enough to keep the screen number in two
places.

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

19 months agoglx/dri3: Simplify protocol version tracking
Adam Jackson [Mon, 19 Dec 2022 17:00:42 +0000 (12:00 -0500)]
glx/dri3: Simplify protocol version tracking

This is really just a single elaborate capability check, so stash a
boolean in the display state for it.

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

19 months agoasahi: Handle sampler->compare_mode
Alyssa Rosenzweig [Thu, 5 Jan 2023 00:49:14 +0000 (19:49 -0500)]
asahi: Handle sampler->compare_mode

Instead of smashing unconditionally to 1. Not sure if this fixes anything but it
gets rid of an unknown at least. Possibly slightly faster.

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

19 months agoaco: Pass correct number of coords to Vega 1D LOD instruction.
Bas Nieuwenhuizen [Fri, 13 Jan 2023 15:32:41 +0000 (16:32 +0100)]
aco: Pass correct number of coords to Vega 1D LOD instruction.

If we pass a physical 2D texture descriptor we should also pass 2
coords. Otherwise it just uses the random content in the second
register which ends up funny sometimes.

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20696>

19 months agonir/nir_opt_move: fix ALWAYS_INLINE compiler error
t0b3 [Sat, 10 Dec 2022 13:32:53 +0000 (14:32 +0100)]
nir/nir_opt_move: fix ALWAYS_INLINE compiler error

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Closes: #6825
Fixes: f1d20ec6 ("nir/nir_opt_move: handle non-SSA defs ")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17439>

19 months agoradv: fix re-emitting RB+ when the non-compacted color format changes
Samuel Pitoiset [Fri, 13 Jan 2023 09:32:08 +0000 (10:32 +0100)]
radv: fix re-emitting RB+ when the non-compacted color format changes

If the previously emitted graphics pipeline uses the value A for
col_format_non_compacted and the new bound graphics pipeline uses B.

At bind time, radv_cmd_state::col_format_non_compacted will be set to
B and the rbplus flag will be dirtied. But if there is no draws and a
new graphics pipeline is bound with the same value as A, the next
draw will emit the rbplus state with B instead of A.

This can be basically triggered with meta operations after drawing
because the driver saves/restores the bound pipeline.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8073
Fixes: 11469f7553d ("radv: copy the non-compacted color format at pipeline bind time")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20692>

19 months agoradv: fix hashing pipeline keys if RADV_PERFTEST=ngg_streamout is used
Samuel Pitoiset [Thu, 12 Jan 2023 10:21:51 +0000 (11:21 +0100)]
radv: fix hashing pipeline keys if RADV_PERFTEST=ngg_streamout is used

On GFX10-10.3, RADV_PERFTEST=ngg_streamout can be used to replace the
legacy path but it should be in the pipeline key. Otherwise, it's
possible to load legacy shaders from the cache instead of NGG.

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

19 months agozink/ci: relocate radv testing from radv's gitlab-ci.yml
Martin Roukala (né Peres) [Thu, 12 Jan 2023 16:09:46 +0000 (18:09 +0200)]
zink/ci: relocate radv testing from radv's gitlab-ci.yml

Zink testing should happen in the layered-backends stage, not the AMD
one.

Suggested-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20677>

19 months agozink/ci: add a fail to the VG flake list
Martin Roukala (né Peres) [Thu, 12 Jan 2023 15:24:41 +0000 (17:24 +0200)]
zink/ci: add a fail to the VG flake list

It seems to have happened only once so far, but let's be proactive as
an unexpected pass is fatal.

Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20677>

19 months agozink/ci/radv: remove a test from the fails list
Martin Roukala (né Peres) [Thu, 12 Jan 2023 13:22:57 +0000 (15:22 +0200)]
zink/ci/radv: remove a test from the fails list

It seems `spec@ext_texture_array@fbo-depth-array stencil-draw` got
fixed last week, so let's update the expectations.

Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20677>

19 months agoci/piglit: compress results.csv before uploading it to GitLab
Martin Roukala (né Peres) [Thu, 12 Jan 2023 12:08:01 +0000 (14:08 +0200)]
ci/piglit: compress results.csv before uploading it to GitLab

The results.csv file of a full piglit run is about 6 MB.

Given how seldomly this file is being used, and the fact that it cannot
be viewed directly in gitlab's artifact page anyway.

Let's compress the file using zstd, and enjoy a ~90% reduction in size
at the cost of probably less than 500ms of compression time on a slow
device, and 55ms on the CI machines in the valve farm.

Acked-by: David Heidelberg <david.heidelberg@collabora.com>
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20669>

19 months agoci/deqp-runner: compress results.csv before uploading it to GitLab
Martin Roukala (né Peres) [Thu, 12 Jan 2023 11:49:02 +0000 (13:49 +0200)]
ci/deqp-runner: compress results.csv before uploading it to GitLab

The results.csv file can get ridiculously big for a vkcts run (up to
135MB). Given how seldomly this file is being used, and the fact that
it cannot be viewed directly in gitlab's artifact page anyway.

Let's compress the file using zstd, and enjoy a ~95% reduction in size
at the cost of probably less than 1 second of compression time on even
the slowest of the devices in CI (which would use sharing), and about
150ms on the CI machines in the Valve farm.

Suggested-by: Daniel Stone <daniels@collabora.com>
Acked-by: David Heidelberg <david.heidelberg@collabora.com>
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20669>

19 months agoRevert "ci: Collabora's LAVA lab for maintance"
Sergi Blanch Torne [Wed, 11 Jan 2023 07:25:14 +0000 (08:25 +0100)]
Revert "ci: Collabora's LAVA lab for maintance"

Farm up again

This reverts commit 900ccec7e8fa809ef0a9154db4d0ecec3fe26e9c.

Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20633>

19 months agoci: disable Collabora's LAVA lab for maintance
Sergi Blanch Torne [Wed, 11 Jan 2023 07:17:49 +0000 (08:17 +0100)]
ci: disable Collabora's LAVA lab for maintance

This is to inform you of some planned downtime in the LAVA lab as follows:

    Start: 2023-01-13 08:00 GMT
    End: 2023-01-13 12:00 GMT

Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20632>

19 months agoradv: fix missing implementation of creating images from swapchains
Samuel Pitoiset [Wed, 11 Jan 2023 08:14:08 +0000 (09:14 +0100)]
radv: fix missing implementation of creating images from swapchains

These pNext structs are part of VK_KHR_swapchain which is core Vulkan
1.1 but they were missing. Loosely based on ANV.

Passed WSI CTS.

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

19 months agointel/utrace: document tracepoints
Lionel Landwerlin [Wed, 25 May 2022 07:47:27 +0000 (10:47 +0300)]
intel/utrace: document tracepoints

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16655>

19 months agointel/ds: remove unused trace point
Lionel Landwerlin [Tue, 10 Jan 2023 21:01:06 +0000 (23:01 +0200)]
intel/ds: remove unused trace point

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16655>

19 months agointel/ds: add INTEL_GPU_TRACEPOINT envvar to toggle tracepoints
Lionel Landwerlin [Sun, 22 May 2022 13:00:40 +0000 (16:00 +0300)]
intel/ds: add INTEL_GPU_TRACEPOINT envvar to toggle tracepoints

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16655>

19 months agoanv: add support for command buffer tagging in traces
Lionel Landwerlin [Sun, 22 May 2022 10:18:42 +0000 (13:18 +0300)]
anv: add support for command buffer tagging in traces

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16655>

19 months agovulkan/debug_utils: copy debug util labels
Lionel Landwerlin [Thu, 12 Jan 2023 12:09:14 +0000 (14:09 +0200)]
vulkan/debug_utils: copy debug util labels

The copied structures currently can point to freed memory.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16655>

19 months agoutil/u_trace: add support for variable length trace points
Lionel Landwerlin [Wed, 11 Jan 2023 23:08:46 +0000 (01:08 +0200)]
util/u_trace: add support for variable length trace points

Use case being :

struct tp {
   ...
   char string[0];
};

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16655>

19 months agointel/ds: move event_id access to perfetto lambda
Lionel Landwerlin [Sun, 22 May 2022 14:15:50 +0000 (17:15 +0300)]
intel/ds: move event_id access to perfetto lambda

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16655>

19 months agointel/ds: track secondary cmdbuffers in perfetto
Lionel Landwerlin [Sat, 21 May 2022 16:04:21 +0000 (19:04 +0300)]
intel/ds: track secondary cmdbuffers in perfetto

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16655>

19 months agoanv: record secondaries' traces into primaries
Lionel Landwerlin [Fri, 20 May 2022 21:38:40 +0000 (00:38 +0300)]
anv: record secondaries' traces into primaries

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16655>