platform/upstream/mesa.git
2 years agovenus: update some obsolete assumptions described
Yiwei Zhang [Fri, 21 Jan 2022 20:07:50 +0000 (20:07 +0000)]
venus: update some obsolete assumptions described

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14657>

2 years agoetnaviv: make use of nir_lower_tex_shadow
Christian Gmeiner [Thu, 23 Dec 2021 13:07:32 +0000 (14:07 +0100)]
etnaviv: make use of nir_lower_tex_shadow

Also force the texture filter to nearest when the lowering
is used.

This enables the GL_ARB_shadow extension for all GPU models.

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

2 years agonir/nir_lower_tex_shadow: support tex_instr without deref src
Christian Gmeiner [Thu, 23 Dec 2021 13:41:39 +0000 (14:41 +0100)]
nir/nir_lower_tex_shadow: support tex_instr without deref src

Use texture_index if there is no deref src.

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14308>

2 years agonir: make lower_sample_tex_compare a common pass
Christian Gmeiner [Thu, 23 Dec 2021 12:25:53 +0000 (13:25 +0100)]
nir: make lower_sample_tex_compare a common pass

This pass was originally written for d3d12, but is useful for hardware
that lacks sample compare support like some etnaviv GPU models.

Also rename the lowering pass and some surrounding code to
nir_lower_tex_shadow as suggested by Emma.

I'd like to use the pass that's already in tree.

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14308>

2 years agodocs/panfrost: Add new Midgard/Bifrost chips
Alyssa Rosenzweig [Wed, 26 Jan 2022 01:23:46 +0000 (20:23 -0500)]
docs/panfrost: Add new Midgard/Bifrost chips

These should be fine. It's only the early chips that are too broken to see the
light of day.

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

2 years agopanfrost: Add Mali-G51 support
Alyssa Rosenzweig [Wed, 26 Jan 2022 01:06:55 +0000 (20:06 -0500)]
panfrost: Add Mali-G51 support

Just to prove it can be done in one line now :-)

Thanks to Robin Murphy for breaking out the ol' FPGA.

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

2 years agopan/bi: Assume future Valhall is 16-wide warps
Alyssa Rosenzweig [Wed, 26 Jan 2022 01:04:40 +0000 (20:04 -0500)]
pan/bi: Assume future Valhall is 16-wide warps

This is true for v10 at least, per the public data sheet. It seems like a
reasonable default going forward to eliminate a special case.

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

2 years agopan/bi: Clean up quirks
Alyssa Rosenzweig [Wed, 26 Jan 2022 00:56:42 +0000 (19:56 -0500)]
pan/bi: Clean up quirks

NO_PRELOAD isn't actually used. The other quirks are used, but they're
implementation details only affecting a few older models. So we can default to
no quirks and clean up a lot.

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

2 years agopanfrost: Get performance counters from table
Alyssa Rosenzweig [Fri, 28 Jan 2022 16:21:00 +0000 (11:21 -0500)]
panfrost: Get performance counters from table

Avoids yet another open-coded list of GPU IDs.

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

2 years agopanfrost: Make the GPU allowlist implicit
Alyssa Rosenzweig [Wed, 26 Jan 2022 00:20:58 +0000 (19:20 -0500)]
panfrost: Make the GPU allowlist implicit

Allowlist a GPU if and only if it has a model definition in-tree. This replaces
the explicit allowlist, which is somewhat cumbersome to maintain.

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

2 years agopanfrost: Replace panfrost_model_name with model->name
Alyssa Rosenzweig [Wed, 26 Jan 2022 00:19:11 +0000 (19:19 -0500)]
panfrost: Replace panfrost_model_name with model->name

One less place to update GPU IDs.

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

2 years agopanfrost: Centralize our model list
Alyssa Rosenzweig [Wed, 26 Jan 2022 00:15:26 +0000 (19:15 -0500)]
panfrost: Centralize our model list

Replaces panfrost-quirks.h

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

2 years agopanfrost: Don't pass quirks to pan_lower_framebuffer
Alyssa Rosenzweig [Wed, 26 Jan 2022 00:14:17 +0000 (19:14 -0500)]
panfrost: Don't pass quirks to pan_lower_framebuffer

There is a single quirk it cares about. Pass just that, so the relevant quirk
can be made a Midgard compiler quirk and not a global Panfrost quirk.

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

2 years agopanfrost: Fix v9 "Stencil from shader" bit
Alyssa Rosenzweig [Tue, 21 Dec 2021 21:40:52 +0000 (16:40 -0500)]
panfrost: Fix v9 "Stencil from shader" bit

Typo.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Fixes: 96acad5cd59 ("panfrost: Add XML for Valhall data structures")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14776>

2 years agopanfrost: Make primary_shader boolean
Alyssa Rosenzweig [Tue, 21 Dec 2021 17:36:17 +0000 (12:36 -0500)]
panfrost: Make primary_shader boolean

Fixes: 96acad5cd59 ("panfrost: Add XML for Valhall data structures")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14776>

2 years agoisaspec: Add support for special {:align=} field
Christian Gmeiner [Sun, 23 Jan 2022 14:48:27 +0000 (15:48 +0100)]
isaspec: Add support for special {:align=} field

Make it possible to just do alignment handling without an
actual field to print.

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

2 years agozink: fix vertex buffer mask computation for null buffers
Mike Blumenkrantz [Tue, 25 Jan 2022 20:20:50 +0000 (15:20 -0500)]
zink: fix vertex buffer mask computation for null buffers

off by N

affects:
KHR-GL46.texture_cube_map_array.sampling

Fixes: 53aade0ef0d ("zink: fix enabled vertex buffer mask calculation")

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

2 years agoaux/tc: add tc_buffer_write to replace pipe_buffer_write usage
Mike Blumenkrantz [Wed, 26 Jan 2022 19:53:44 +0000 (14:53 -0500)]
aux/tc: add tc_buffer_write to replace pipe_buffer_write usage

tc_buffer_write is the tc-safe version of this function which will
avoid accidental invalidations that break behavior

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

2 years agozink: remove tmp buffer rebinds
Mike Blumenkrantz [Fri, 21 Jan 2022 15:35:38 +0000 (10:35 -0500)]
zink: remove tmp buffer rebinds

this is no longer used/necessary

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

2 years agozink: simplify buffer case for zink_resource_object_init_storage()
Mike Blumenkrantz [Fri, 21 Jan 2022 15:32:51 +0000 (10:32 -0500)]
zink: simplify buffer case for zink_resource_object_init_storage()

this is a no-op, but leave the case to simplify the caller

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

2 years agozink: flag all buffer resources with PIPE_BIND_SHADER_IMAGE
Mike Blumenkrantz [Fri, 21 Jan 2022 15:25:33 +0000 (10:25 -0500)]
zink: flag all buffer resources with PIPE_BIND_SHADER_IMAGE

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

2 years agozink: use the storage buffer for bufferview creation when format allows
Mike Blumenkrantz [Fri, 21 Jan 2022 16:15:41 +0000 (11:15 -0500)]
zink: use the storage buffer for bufferview creation when format allows

this avoids issues where a buffer created for storage can't be used
for texturing due to having the storage bit

fixes (anv):
KHR-GL46.texture_buffer.texture_buffer_texture_buffer_range crash -> fail

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

2 years agozink: always create a separate VkBuffer for storage use
Mike Blumenkrantz [Fri, 21 Jan 2022 15:21:40 +0000 (10:21 -0500)]
zink: always create a separate VkBuffer for storage use

bufferview objects must be created with or without the storage bit as
the driver permits, so create two buffer objects that can be used as needed

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

2 years agozink: use VkImageViewUsageCreateInfo to remove attachment bits
Mike Blumenkrantz [Tue, 25 Jan 2022 18:07:17 +0000 (13:07 -0500)]
zink: use VkImageViewUsageCreateInfo to remove attachment bits

this avoids issues where the driver may not support attachment bits
for texture views

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

2 years agozink: allow resource creation without VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
Mike Blumenkrantz [Tue, 25 Jan 2022 16:52:43 +0000 (11:52 -0500)]
zink: allow resource creation without VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT

as long as this isn't multisampled, it should be okay since it could be used
with texture_subdata

fixes (anv):
dEQP-GLES31.functional.srgb_texture_decode.skip_decode.sr8.conversion_gpu
dEQP-GLES31.functional.srgb_texture_decode.skip_decode.sr8.enabled
dEQP-GLES31.functional.srgb_texture_decode.skip_decode.sr8.multiple_textures
dEQP-GLES31.functional.srgb_texture_decode.skip_decode.sr8.skipped
dEQP-GLES31.functional.srgb_texture_decode.skip_decode.sr8.texel_fetch
dEQP-GLES31.functional.srgb_texture_decode.skip_decode.sr8.toggled
dEQP-GLES31.functional.srgb_texture_decode.skip_decode.sr8.using_sampler
dEQP-GLES31.functional.texture.filtering.cube_array.formats.sr8_linear
dEQP-GLES31.functional.texture.filtering.cube_array.formats.sr8_linear_mipmap_linear
dEQP-GLES31.functional.texture.filtering.cube_array.formats.sr8_linear_mipmap_nearest
dEQP-GLES31.functional.texture.filtering.cube_array.formats.sr8_nearest
dEQP-GLES31.functional.texture.filtering.cube_array.formats.sr8_nearest_mipmap_linear
dEQP-GLES31.functional.texture.filtering.cube_array.formats.sr8_nearest_mipmap_nearest
dEQP-GLES31.functional.texture.format.sized.cube_array.srgb_r8_npot
dEQP-GLES31.functional.texture.format.sized.cube_array.srgb_r8_pot

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

2 years agozink: flag has_work when a GL semaphore is signalled
Mike Blumenkrantz [Wed, 26 Jan 2022 15:06:48 +0000 (10:06 -0500)]
zink: flag has_work when a GL semaphore is signalled

this is an async flush, so it has to have this flag set or else
the subsequent (also async) flush won't do anything

Fixes: 32597e116d7 ("zink: implement GL semaphores")

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

2 years agozink: emit same number of timeline signals as semaphore signals
Mike Blumenkrantz [Wed, 26 Jan 2022 15:04:43 +0000 (10:04 -0500)]
zink: emit same number of timeline signals as semaphore signals

spec requires these counts/arrays to match, and I did match them, but
it was only in my kopper branch, which didn't propagate back to the
original implementation

Fixes: 32597e116d7 ("zink: implement GL semaphores")

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

2 years agov3dv: expose VK_KHR_depth_stencil_resolve
Iago Toral Quiroga [Thu, 27 Jan 2022 10:58:30 +0000 (11:58 +0100)]
v3dv: expose VK_KHR_depth_stencil_resolve

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

2 years agov3dv: fallback to blit resolve if render area is not aligned to tile boundaries
Iago Toral Quiroga [Thu, 27 Jan 2022 10:11:51 +0000 (11:11 +0100)]
v3dv: fallback to blit resolve if render area is not aligned to tile boundaries

Just as with all other TLB operations, we can only use the TLB if the render
area is aligned to tile boundaries. If it is not, then the operation would
overwrite pixels outside the render area, which is not allowed.

In this case, we can't even emit a previous TLB load to fix this because the
TLB has the multisampled attachment, not the resolve attachment, which is
just a destination buffer for the tile store.

Because the condition for tile alignment has to be determined for each
subpass, we handle this by storing this information in the attachment
state of the command buffer with the start of each subpass. We store
whether the attachment is to be resolved and whether it can use the
TLB (considering tile alignment restrictions).

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

2 years agov3dv: support resolving depth/stencil attachments
Iago Toral Quiroga [Thu, 27 Jan 2022 10:57:08 +0000 (11:57 +0100)]
v3dv: support resolving depth/stencil attachments

This implements the bulk of VK_KHR_depth_stencil_resolve

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

2 years agoci: Rebalance Iris jobs
Tomeu Vizoso [Fri, 14 Jan 2022 10:25:09 +0000 (11:25 +0100)]
ci: Rebalance Iris jobs

More boards have been added to Collabora's lab, and the reliability
should be fine now.

Use them to the max!

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14557>

2 years agoanv: Fix subgroupSupportedStages physical property
Caio Oliveira [Fri, 28 Jan 2022 08:57:03 +0000 (00:57 -0800)]
anv: Fix subgroupSupportedStages physical property

Use the proper Vulkan values that can be combined into a bitmask.

Fixes: f40a08d25c9 ("anv: Don't advertise unsupported shader stages")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14761>

2 years agoradv/sqtt: Add and enable basic EXT_debug_utils support.
Tatsuyuki Ishi [Fri, 21 Jan 2022 02:20:31 +0000 (11:20 +0900)]
radv/sqtt: Add and enable basic EXT_debug_utils support.

Only CommandBuffer markers for now.

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

2 years agov3dv: Add missing unlocks on errors.
Vinson Lee [Sun, 23 Jan 2022 07:22:37 +0000 (23:22 -0800)]
v3dv: Add missing unlocks on errors.

Fix defects reported by Coverity Scan.

Missing unlock (LOCK)
missing_unlock: Returning without unlocking.

Fixes: a7052dcf2cf ("v3dv: enable multiple semaphores for csd job")
Fixes: ad09e50129e ("v3dv: enable multiple semaphores for tfu job")
Fixes: ff8586c3452 ("v3dv: enable multiple semaphores on cl submission")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14663>

2 years agoiris: Support the XeHP media compression format
Nanley Chery [Wed, 1 Sep 2021 23:39:39 +0000 (16:39 -0700)]
iris: Support the XeHP media compression format

The format on this platform is slightly different from the one used on
TGL. Also it's part of the surface state instead of an aux-map.

Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14355>

2 years agointel/isl: Support the XeHP media compression format
Nanley Chery [Wed, 4 Aug 2021 20:34:06 +0000 (13:34 -0700)]
intel/isl: Support the XeHP media compression format

The format on this platform is slightly different from the one used on
TGL. Also it's part of the surface state instead of an aux-map.

Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14355>

2 years agointel: Rename a RenderCompressionFormat field
Nanley Chery [Wed, 29 Dec 2021 14:41:54 +0000 (09:41 -0500)]
intel: Rename a RenderCompressionFormat field

The name of the bit field is CompressionFormat. The format subsections
of the field specify the alternate names of RenderCompressionFormat or
MediaCompressionFormat depending on the compression type.

We're going to start programming this field for media compression, so
we'd like to use either the bit field name or a new
MediaCompressionFormat field. Either option seems fine, so we go with
the first.

Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14355>

2 years agoiris: Use iris_format_for_usage in map_aux_addresses
Nanley Chery [Mon, 27 Dec 2021 21:08:47 +0000 (16:08 -0500)]
iris: Use iris_format_for_usage in map_aux_addresses

Enables dropping the format-mapping switch statement in
iris_resource_finish_aux_import.

Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14355>

2 years agoiris: Drop stale media compression import code
Nanley Chery [Wed, 29 Dec 2021 16:18:27 +0000 (11:18 -0500)]
iris: Drop stale media compression import code

With commit f57c074270e,
("gallium/dri: Allow use of R8G8_R8B8 for YUYV and G8R8_B8R8 for UYVY"),
iris stopped lowering media compressed surfaces to multiple planes.

Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14355>

2 years agointel/isl: Support YUV pipe-to-isl format mapping
Nanley Chery [Mon, 27 Dec 2021 21:05:59 +0000 (16:05 -0500)]
intel/isl: Support YUV pipe-to-isl format mapping

This will help to configure surfaces for media compression.

Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14355>

2 years agoiris: Explicitly rely on gallium fallbacks for YUV
Nanley Chery [Tue, 28 Dec 2021 00:01:52 +0000 (19:01 -0500)]
iris: Explicitly rely on gallium fallbacks for YUV

iris_is_format_supported has been returning false for YUV pipe formats.
We're going to update isl_format_for_pipe_format to map some YUV pipe
formats, but we don't want iris_is_format_supported to start returning
true for them.

Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14355>

2 years agoci/freedreno: Switch 2 default a630 VK jobs to being GLES and VK ASan jobs.
Emma Anholt [Wed, 15 Dec 2021 23:15:48 +0000 (15:15 -0800)]
ci/freedreno: Switch 2 default a630 VK jobs to being GLES and VK ASan jobs.

The automatic VK coverage we care about is happening on a618, which is the
HW we're shipping.  Having the old 630 runners make sure we don't leak
memory is a great use for them.  Still, keep one default A630 VK job to
make sure we don't totally trash it.

Reviewed-by: Hyunjun Ko <zzoon@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14235>

2 years agoci: Use a dlclose-disabling preload library for leak checking in Vulkan.
Emma Anholt [Wed, 15 Dec 2021 22:47:06 +0000 (14:47 -0800)]
ci: Use a dlclose-disabling preload library for leak checking in Vulkan.

For GL, we disable the dlclose() call on the driver in asan builds so that
leak reports get proper backtraces.  For Vulkan, the dlclose() happens
from libvulkan so you need a bigger hammer to keep our drivers loaded.

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

2 years agoturnip: Drop references to layout of all sets on pool reset/destruction
Danylo Piliaiev [Thu, 27 Jan 2022 14:04:06 +0000 (16:04 +0200)]
turnip: Drop references to layout of all sets on pool reset/destruction

We dropped the references only for non-host_memory_base pools.
Create a list of alive descriptor to account for all of them.

Fixes: 1b513f49 ("tu: add reference counting for descriptor set layouts")

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

2 years agovulkan: Fix leak of error messages
Emma Anholt [Thu, 16 Dec 2021 23:54:02 +0000 (15:54 -0800)]
vulkan: Fix leak of error messages

Fixes: 0cad3beb2a0d ("vulkan/log: Add common vk_error and vk_errorf helpers")
Acked-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14235>

2 years agoisl: Enable compression with multisampled Tile64
Nanley Chery [Mon, 29 Mar 2021 18:02:56 +0000 (11:02 -0700)]
isl: Enable compression with multisampled Tile64

We haven't tested the single-sampled case, so this doesn't enable any
more uses of standalone CCS. This does however, allow multisampled
surfaces with MCS or HIZ to get upgraded to MCS_CCS and HIZ_CCS,
respectively.

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

2 years agoisl: Enable compression with Tile4
Jordan Justen [Mon, 1 Feb 2021 21:16:30 +0000 (13:16 -0800)]
isl: Enable compression with Tile4

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

2 years agoanv: Don't allocate VMA for CCS on XeHP
Nanley Chery [Fri, 31 Dec 2021 21:32:50 +0000 (16:32 -0500)]
anv: Don't allocate VMA for CCS on XeHP

On XeHP, CCS doesn't require VMA on XeHP. The HW provides anything
allocated in LMEM a mapping to a CCS memory range for free. So, we:

1) use the implicit CCS framework to avoid adding an image memory
   binding for the CCS surface.
2) leave each BO sized as-is instead of adding on space for the CCS.
   Thankfully the framework only adds on space if an aux-map is present.
   XeHP has no aux-map, so this patch doesn't explicitly do anything for
   this.

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

2 years agoanv: Require the local heap for CCS on XeHP
Nanley Chery [Fri, 31 Dec 2021 22:21:25 +0000 (17:21 -0500)]
anv: Require the local heap for CCS on XeHP

This platform doesn't support CCS in system memory.

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

2 years agoanv: Disable the SMEM fallback for local memory
Nanley Chery [Fri, 31 Dec 2021 22:06:01 +0000 (17:06 -0500)]
anv: Disable the SMEM fallback for local memory

The fallback is incompatible with allocations that use CCS on XeHP. On
that platform, compression can't be used in SMEM.

Apps should be okay with this change. They're able to manage local and
system memory heaps directly (see VK_EXT_memory_budget).

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

2 years agoanv: Drop redundant disabling of non-renderable CCS
Nanley Chery [Fri, 31 Dec 2021 20:54:55 +0000 (15:54 -0500)]
anv: Drop redundant disabling of non-renderable CCS

ISL reports no CCS support for these formats, except for
R10G10B10A2_UNORM_SRGB. Anv doesn't support that format at all however.

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

2 years agovulkan/wsi/x11: fix x11_image_init return value on errors
Chia-I Wu [Wed, 26 Jan 2022 23:41:25 +0000 (15:41 -0800)]
vulkan/wsi/x11: fix x11_image_init return value on errors

fail_pixmap is reached when xshmfence alloc/map fails.  result is
VK_SUCCESS and we need to pick an error code explicitly.

Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14748>

2 years agor300: Set consistent PIPE_SHADER_CAP_PREFERRED_IR
Pavel Ondračka [Wed, 26 Jan 2022 08:16:37 +0000 (09:16 +0100)]
r300: Set consistent PIPE_SHADER_CAP_PREFERRED_IR

This efectivelly enables NIR to TGSI for swtcl chipsets.

Otherwise on swtcl chipsets we can end with PIPE_SHADER_IR_TGSI
for vertex stage and PIPE_SHADER_IR_NIR for fragment stage.
This is not expected by core mesa and leads to issues most
visible as crashing piglit atan tests.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5916
Reviewed-by: Emma Anholt <emma@anholt.net>
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14732>

2 years agor300: Disable integers and indirect temporary addressing with swctl
Pavel Ondračka [Wed, 26 Jan 2022 11:46:54 +0000 (12:46 +0100)]
r300: Disable integers and indirect temporary addressing with swctl

This is not needed with TGSI, but will be needed by the next commit
after we switch to NIR. Copied from i915 including the comments.

Reviewed-by: Emma Anholt <emma@anholt.net>
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14732>

2 years agovenus: handle VkBindImageMemorySwapchainInfoKHR
Chia-I Wu [Thu, 13 Jan 2022 20:03:29 +0000 (12:03 -0800)]
venus: handle VkBindImageMemorySwapchainInfoKHR

The common WSI advertises VK_KHR_swapchain v70.  We must handle
VkBindImageMemorySwapchainInfoKHR.

Fixes dEQP-VK.wsi.*.image_swapchain_create_info.

v2: try to match vn_wsi_create_image (Yiwei) and the common WSI
v3: match modifier as well (Yiwei)

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

2 years agovenus: remember the memory bound to a swapchain image
Chia-I Wu [Thu, 13 Jan 2022 20:02:46 +0000 (12:02 -0800)]
venus: remember the memory bound to a swapchain image

It will be needed for VkBindImageMemorySwapchainInfoKHR.

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

2 years agovenus: format with clang-format
Chia-I Wu [Thu, 13 Jan 2022 20:07:30 +0000 (12:07 -0800)]
venus: format with clang-format

clang-format misaligns one of the comments in
vn_physical_device_get_passthrough_extensions, but we can live with
that.

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

2 years agovenus: fix VK_KHR_driver_properties
Chia-I Wu [Thu, 27 Jan 2022 00:19:24 +0000 (16:19 -0800)]
venus: fix VK_KHR_driver_properties

VK-GL-CTS 1.2.7.1 does not really recognize VK_DRIVER_ID_MESA_VENUS, but
it is harmless to lie.

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

2 years agoturnip/trace: Delete unused start/end_resolve tracepoints
Danylo Piliaiev [Thu, 27 Jan 2022 14:58:37 +0000 (16:58 +0200)]
turnip/trace: Delete unused start/end_resolve tracepoints

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

2 years agoturnip/perfetto: handle gpu timestamps being non-monotonic
Danylo Piliaiev [Wed, 15 Sep 2021 14:35:56 +0000 (17:35 +0300)]
turnip/perfetto: handle gpu timestamps being non-monotonic

Perfetto requires time in clock snaphots to be monotonic, otherwise
the clock would be excluded.
GPU timestamps start from zero after every suspend-resume cycle
which makes them non-monotonic.

As a solution on msm we check whether GPU was just resumed and
remember previous highest timestamp to then add it to the next
timestamps.

If the functionality to get whether gpu is resumed is unavailable
or doesn't work - we fallback to a check for a discontinuity
in timestamps. For kgsl we always use fallback.

Fixes renderstage timeline disappearing in AGI.

Or you could avoid the issue altogether by preventing GPU from going to
sleep by increasing auto suspend delay e.g.:

  echo 5000 > /sys/devices/platform/soc\@0/3d00000.gpu/power/autosuspend_delay_ms

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

2 years agoturnip/trace: process u_trace chunks on queue submission
Danylo Piliaiev [Tue, 14 Sep 2021 12:25:47 +0000 (15:25 +0300)]
turnip/trace: process u_trace chunks on queue submission

tu_QueuePresentKHR was not the best place since application
isn't required to call it.

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

2 years agoturnip: rename tu_drm_get_timestamp into tu_device_get_gpu_timestamp
Danylo Piliaiev [Tue, 14 Sep 2021 11:49:43 +0000 (14:49 +0300)]
turnip: rename tu_drm_get_timestamp into tu_device_get_gpu_timestamp

It is not drm specific and will be implemented in kgsl.

Change parameter to tu_device along the way.

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

2 years agoturnip/trace: refactor creation and usage of trace flush data
Danylo Piliaiev [Fri, 10 Sep 2021 14:33:20 +0000 (17:33 +0300)]
turnip/trace: refactor creation and usage of trace flush data

Fixes the case when last cmd buffer in submission doesn't have
tracepoints leading to flush data not being freed.

Added a few comments, renamed things, refactored allocations - now
the data flow should be a bit more clean.

Extracted submission data creation into tu_u_trace_submission_data_create
which would be later used in in tu_kgsl.

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

2 years agoturnip/perfetto: Optimize timestamp synchronization
Danylo Piliaiev [Thu, 23 Sep 2021 15:18:37 +0000 (18:18 +0300)]
turnip/perfetto: Optimize timestamp synchronization

We shouldn't do ioctl to get timestamp if perfetto isn't connected.
Also it's better to sync timestamps after submission since the
call could block until GPU is resumed.

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

2 years agovirgl/ci: make crosvm-runner pass variables in a secure way
Guilherme Gallo [Fri, 14 Jan 2022 21:43:08 +0000 (18:43 -0300)]
virgl/ci: make crosvm-runner pass variables in a secure way

crosvm-runner.sh was using `export -p` to create an environment script
for the virtualized system, but this command will dump every declared
environment variable in the system, which includes Gitlab's CI variables
with sensitive data, such as passwords and auth tokens.

Replacing `export -p` to `generate-env.sh`, which only exports the
necessary variables for Mesa CI jobs.

Extra changes:

* Stop changing ${PWD} variable programmatically in scripts. ${PWD} is a
variable used by most prolific coreutils and bash commands, such as `cd`
and `pwd`, besides it is set by subshells [1]; changing this variable
may lead to complex situations.
As drop-in replacement for ${PWD}, use ${DEQP_BIN_DIR} to flag that
there is a special folder where dEQP should be run.
* Double quote path and array variables. See: https://github.com/koalaman/shellcheck/wiki/SC2086
* Do not export variables directly from commands output. See: https://github.com/koalaman/shellcheck/wiki/SC2155

[1]
```
$ cd /tmp
$ export PWD=test; bash -c 'echo $PWD'
/tmp
```

v2:
- Revert $DEQP_BIN_DIR quoting in crosvm-runner.sh and crosvm-init.sh
- Log all the passed variables to stdout, to help with debugging when
  new variable are needed to be put in `generate-env.sh`

v3:
- Revert $DEQP_BIN_DIR quoting leftovers

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Reviewed-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14626>

2 years agoci/freedreno: Update hashes for closed traces.
Emma Anholt [Wed, 26 Jan 2022 20:40:04 +0000 (12:40 -0800)]
ci/freedreno: Update hashes for closed traces.

These two had different pixel results from last time someone updated them,
but things still look fine.

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

2 years agotu: Report code size in pipeline statistics
Connor Abbott [Thu, 27 Jan 2022 15:48:05 +0000 (16:48 +0100)]
tu: Report code size in pipeline statistics

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

2 years agointel/ci: expected failure for 1.3 with older CTS
Lionel Landwerlin [Thu, 27 Jan 2022 08:17:46 +0000 (10:17 +0200)]
intel/ci: expected failure for 1.3 with older CTS

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

2 years agorelnotes/features: updates for Vulkan 1.3
Lionel Landwerlin [Tue, 25 Jan 2022 13:05:54 +0000 (15:05 +0200)]
relnotes/features: updates for Vulkan 1.3

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14706>

2 years agoanv: Advertise Vulkan 1.3
Jason Ekstrand [Tue, 7 Sep 2021 15:45:16 +0000 (10:45 -0500)]
anv: Advertise Vulkan 1.3

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

2 years agoanv: switch a bunch of struct/enum to 1.3 versions
Lionel Landwerlin [Fri, 3 Sep 2021 08:39:50 +0000 (11:39 +0300)]
anv: switch a bunch of struct/enum to 1.3 versions

Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14706>

2 years agoanv: Implement 1.3 features/properties
Jason Ekstrand [Wed, 12 Jan 2022 20:17:27 +0000 (12:17 -0800)]
anv: Implement 1.3 features/properties

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

2 years agoanv: SPIR-V 1.6 shaders imply ALLOW_VARYING_SUBGROUP_SIZE
Caio Marcelo de Oliveira Filho [Fri, 17 Sep 2021 00:49:54 +0000 (17:49 -0700)]
anv: SPIR-V 1.6 shaders imply ALLOW_VARYING_SUBGROUP_SIZE

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

2 years agopanvk: Fix pointer corruption in panvk_add_wait_event_syncobjs
Manas Chaudhary [Wed, 26 Jan 2022 20:56:41 +0000 (02:26 +0530)]
panvk: Fix pointer corruption in panvk_add_wait_event_syncobjs

nr_in_fences was being incremented to point to an
illegal address

Fixes: 1e23004600c3 ("panvk: Add vkEvents support")
Cc: mesa-stable
Signed-off-by: Manas Chaudhary <manas.chaudhary@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14744>

2 years agozink: unify some context casts in zink_create_sampler_view
Mike Blumenkrantz [Wed, 26 Jan 2022 21:55:02 +0000 (16:55 -0500)]
zink: unify some context casts in zink_create_sampler_view

no functional changes

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14746>

2 years agoanv: silence wsi debug logging
Mike Blumenkrantz [Wed, 26 Jan 2022 20:46:36 +0000 (15:46 -0500)]
anv: silence wsi debug logging

this is triggered by mesa's own wsi handling, so stop printing nonsense

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

2 years agovulkan/wsi/x11: document implementation
Roman Gilg [Mon, 31 Aug 2020 00:35:57 +0000 (02:35 +0200)]
vulkan/wsi/x11: document implementation

To extend the shared understanding of our code base and ease contributing
document purpose and flow for many of our internal functions.

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

2 years agoradv/ci: mark the dEQP fails related to a missing VKCTS 1.3 as expected
Martin Roukala (né Peres) [Wed, 26 Jan 2022 07:56:01 +0000 (09:56 +0200)]
radv/ci: mark the dEQP fails related to a missing VKCTS 1.3 as expected

Now that RADV is exposing Vulkan 1.3 by default, VKCTS is getting
confused by it and fails 2 tests:

 - dEQP-VK.api.version_check.version: This version of CTS does not
   support Vulkan device version 1.3.204 (Fail)
 - dEQP-VK.info.device_properties: deviceProperties apiVersion not
   valid (Fail)

Mark both of these failures as expected, while we wait for VKCTS 1.3
to be released.

Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14729>

2 years agov3dv: document why we don't expose VK_EXT_scalar_block_layout
Iago Toral Quiroga [Tue, 25 Jan 2022 11:53:20 +0000 (12:53 +0100)]
v3dv: document why we don't expose VK_EXT_scalar_block_layout

And since this is an optional feature in Vulkan 1.2, fill in the
corresponding feature query while we are at it.

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

2 years agov3dv: rework Vulkan 1.2 feature queries
Iago Toral Quiroga [Tue, 25 Jan 2022 11:49:44 +0000 (12:49 +0100)]
v3dv: rework Vulkan 1.2 feature queries

Fill them into a VkPhysicalDeviceVulkan12Features struct like we
do for Vulkan 1.1, and then read them from there.

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

2 years agov3dv: implement VK_KHR_imageless_framebuffer
Iago Toral Quiroga [Mon, 24 Jan 2022 12:38:08 +0000 (13:38 +0100)]
v3dv: implement VK_KHR_imageless_framebuffer

Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14704>

2 years agov3dv: drop signature of undefined function
Iago Toral Quiroga [Mon, 24 Jan 2022 13:26:28 +0000 (14:26 +0100)]
v3dv: drop signature of undefined function

This is a left over from when we added multi-version support in the
driver, where we turned this helper into a versioned scheme.

Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14704>

2 years agoci/traces: Always generate the junit XML.
Emma Anholt [Wed, 12 Jan 2022 19:27:03 +0000 (11:27 -0800)]
ci/traces: Always generate the junit XML.

While it's not the primary interface to interpreting trace job failures,
it was set in all the traces jobs it looks like and it's low cost anyway.

Reviewed-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14604>

2 years agoci/traces: Drop PIGLIT_REPLAY_UPLOAD_TO_MINIO.
Emma Anholt [Wed, 12 Jan 2022 19:24:44 +0000 (11:24 -0800)]
ci/traces: Drop PIGLIT_REPLAY_UPLOAD_TO_MINIO.

You have to do this as part of the traces workflow, otherwise there are no
baseline images for your driver to compare to in the HTML summary.

Reviewed-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14604>

2 years agoci/traces: Drop the baseline file creation for trace results.
Emma Anholt [Wed, 12 Jan 2022 19:19:39 +0000 (11:19 -0800)]
ci/traces: Drop the baseline file creation for trace results.

It's always empty for traces.  This reduces more noise in the job logs so
people are more likely to see the link to the HTML.

Reviewed-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14604>

2 years agoci/traces: Clean up the failure report message.
Emma Anholt [Wed, 12 Jan 2022 19:13:12 +0000 (11:13 -0800)]
ci/traces: Clean up the failure report message.

You really want to be reviewing the HTML summary with image diffs, not the
junit XML (though we do still generate it so you get the results in the
gitlab UI if that's how you like to interact with it).

Reviewed-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14604>

2 years agoci/traces: Drop the PIGLIT_PROFILES setting for traces replay.
Emma Anholt [Wed, 12 Jan 2022 19:06:08 +0000 (11:06 -0800)]
ci/traces: Drop the PIGLIT_PROFILES setting for traces replay.

Now that the script just does traces, no need to conditionalize this
stuff.

Reviewed-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14604>

2 years agoci/traces: Rename the piglit/run.sh script to piglit-traces.sh.
Emma Anholt [Wed, 12 Jan 2022 18:59:08 +0000 (10:59 -0800)]
ci/traces: Rename the piglit/run.sh script to piglit-traces.sh.

That's the only use of this script that's left.

Reviewed-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14604>

2 years agoci/llvmpipe,softpipe: Switch piglit testing to piglit-runner.
Emma Anholt [Wed, 12 Jan 2022 17:54:44 +0000 (09:54 -0800)]
ci/llvmpipe,softpipe: Switch piglit testing to piglit-runner.

The new runner reduces the runtime by about 1/3 thanks to using rust
instead of python, and includes automatic flake handling so you don't just
have to skip flaky tests.  The wrapper script also includes IRC flake
reporting (so one can track and update the flakes list to improve CI
reliability), always uploading results to CI for review (so you can
diagnose flakes and look at timings), has a prettier regressions report
and a helpful timing report, and is the same as what's used by all the HW
runners as well.

The downside is that by dropping the massive list of skips, you no longer
get flagged if Mesa refactors end up accidentally disabling extensions and
thus making tests skip.  For that, I've started on
https://gitlab.freedesktop.org/anholt/deqp-runner/-/merge_requests/33 so
that hardware drivers get extension checking coverage too.

Thanks to the perf improvement, we get to drop one of the jobs for
llvmpipe.

xfail lists were mostly sed-jobs from the prior expectations lists.  The
exceptions to that you'll find in the form of whitespace around the
affected test group (usually changes of capitalization or
special-characters), or an explanation for the more interesting changes
(which thankfully we can now record in the xfails lists!).

Reviewed-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14604>

2 years agoci/llvmpipe: Drop the skip of piglit edgeflag test.
Emma Anholt [Wed, 12 Jan 2022 18:35:45 +0000 (10:35 -0800)]
ci/llvmpipe: Drop the skip of piglit edgeflag test.

I think the fail was fixed by 39ea95330fb5 ("mesa: ensure parameter list
capacity before associating uniform storage"), it doesn't reproduce for me
any more.

Reviewed-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14604>

2 years agoRevert "ci: freedreno: Update a530 dEQP fail expectation list"
Emma Anholt [Wed, 26 Jan 2022 16:52:14 +0000 (08:52 -0800)]
Revert "ci: freedreno: Update a530 dEQP fail expectation list"

This reverts commit a35c5540e4241cb4473f5cc9cb1a53bdeee85ada.  Another
patch doing so had already landed, so 530 was now failing all its (manual)
tests.

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

2 years agofreedreno: Add missing generated header dependency
Rob Clark [Wed, 26 Jan 2022 17:34:48 +0000 (09:34 -0800)]
freedreno: Add missing generated header dependency

Fixes:

  In file included from ../mesa-freedreno-22.0.0_pre/src/gallium/drivers/freedreno/ir3/ir3_cmdline.c:45:
  In file included from ../mesa-freedreno-22.0.0_pre/src/gallium/drivers/freedreno/ir3/ir3_gallium.h:34:
  In file included from ../mesa-freedreno-22.0.0_pre/src/gallium/drivers/freedreno/freedreno_util.h:31:
  ../mesa-freedreno-22.0.0_pre/src/freedreno/drm/freedreno_ringbuffer.h:35:10: fatal error: 'adreno_common.xml.h' file not found
  #include "adreno_common.xml.h"
           ^~~~~~~~~~~~~~~~~~~~~
  1 error generated.

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

2 years agodri_interface: Remove the remaining DRI1 API definitions
Adam Jackson [Wed, 26 Jan 2022 19:10:34 +0000 (14:10 -0500)]
dri_interface: Remove the remaining DRI1 API definitions

None of these are used anymore, and as a bonus we can drop the dance
around the libdrm headers.

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

2 years agoanv: Re-enable CCS_E on TGL+
Nanley Chery [Tue, 25 Jan 2022 17:19:33 +0000 (12:19 -0500)]
anv: Re-enable CCS_E on TGL+

Commit e6147895885 ("anv: Also disallow CCS_E for multi-LOD images")
accidentally disabled CCS_E on TGL+ because it checked for
image->vk.mip_levels > 0 instead of image->vk.mip_levels > 1.

Instead of reverting it, we remove the code which disables CCS_E for
mipmapped or arrayed images now that we've sufficiently handled the
clear color issue in other ways.

Fixes: e6147895885 ("anv: Also disallow CCS_E for multi-LOD images")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14723>

2 years agoanv: Use ANV_FAST_CLEAR_DEFAULT_VALUE for CCS on TGL+
Nanley Chery [Tue, 25 Jan 2022 21:33:26 +0000 (16:33 -0500)]
anv: Use ANV_FAST_CLEAR_DEFAULT_VALUE for CCS on TGL+

On TGL, if a block of fragment shader outputs match the surface's clear
color, the HW may convert them to fast-clears (see HSD 14010672564).
This can lead to rendering corruptions if not handled properly. We
restrict the clear color to zero to avoid issues that can occur with:

   - Texture view rendering (including blorp_copy calls)
   - Images with multiple levels or array layers

Fixes: e6147895885 ("anv: Also disallow CCS_E for multi-LOD images")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14723>

2 years agoanv: Disable CCS_E for some 8/16bpp copies on TGL+
Nanley Chery [Mon, 24 Jan 2022 23:53:37 +0000 (18:53 -0500)]
anv: Disable CCS_E for some 8/16bpp copies on TGL+

CCS_E is currently disabled on TGL+, but we'll enable it soon. We choose
to explicitly disable it for certain copy operations to avoid CTS
failures in the following groups:

- dEQP-VK.drm_format_modifiers.export_import.*
- dEQP-VK.synchronization*

Fixes: e6147895885 ("anv: Also disallow CCS_E for multi-LOD images")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14723>

2 years agoanv: Drop assert against modifier with aux on gfx12
Nanley Chery [Mon, 24 Jan 2022 23:54:17 +0000 (18:54 -0500)]
anv: Drop assert against modifier with aux on gfx12

Commit b664349973b ("anv: Enable implicit CCS for external images")
introduced support for implicit CCS with I915_FORMAT_MOD_Y_TILED.

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

2 years agodocs: use http-redirect when possible
Erik Faye-Lund [Sat, 1 Jan 2022 13:03:53 +0000 (14:03 +0100)]
docs: use http-redirect when possible

GitLab Pages has added a feature to do proper HTTP redirects, which
are genreally better than the HTML redirects we currently use.

Unfortunately, it doesn't support redirecting to other domains, all
paths must start with a slash. So there's sadly *one* redirect this
doesn't work for. So let's leave that one using a HTML redirect, and
use HTTP redirects when we can.

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

2 years agosoftpipe: Dispatch 4 CS invocations per tgsi_exec thread.
Emma Anholt [Wed, 26 Jan 2022 05:31:06 +0000 (21:31 -0800)]
softpipe: Dispatch 4 CS invocations per tgsi_exec thread.

We were executing 1 non-helper invocation and 3 helpers per CS tgsi_exec
machine, which was a total waste of the CPU when we could trivially have
all 4 invocations do real work (at least in the common case of a
gl_WorkGroupSize.x >= 4).

This didn't have the effect on dEQP that I was hoping for, as it turns out
that its shaders are almost all 1x1x1 workgroups.  However, it does reduce
the runtime of piglit arb_compute_shader-local-id from 2:10 to 47 seconds
on my system.

Part of #4097

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

2 years agosoftpipe: Initialize the CS dispatch mask at machine setup time.
Emma Anholt [Wed, 26 Jan 2022 05:29:40 +0000 (21:29 -0800)]
softpipe: Initialize the CS dispatch mask at machine setup time.

It's not modified later, so no need to reset it per barrier or per
workgroup.

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