platform/upstream/mesa.git
15 months agoiris: Convert to use nir_foreach_function_impl
Yonggang Luo [Thu, 29 Jun 2023 20:24:32 +0000 (04:24 +0800)]
iris: Convert to use nir_foreach_function_impl

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24040>

15 months agointel/vulkan: Convert to use nir_foreach_function_impl when possible
Yonggang Luo [Thu, 29 Jun 2023 20:22:52 +0000 (04:22 +0800)]
intel/vulkan: Convert to use nir_foreach_function_impl when possible

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24040>

15 months agozink: The result should be assigned a value when returned
xurui [Fri, 7 Jul 2023 02:03:42 +0000 (10:03 +0800)]
zink: The result should be assigned a value when returned

Signed-off-by: xurui <xurui@kylinos.cn>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24034>

15 months agolavapipe: Always advertise formatless storage image OPs
Konstantin Seurer [Thu, 6 Jul 2023 11:32:35 +0000 (13:32 +0200)]
lavapipe: Always advertise formatless storage image OPs

The pipe cap isn't really accurate since shaders created by lavapipe take
a different codepath compared to GL. The format information is part of
the descriptor.

This allows vkd3d-proton to advertise typed UAV loads. (Whatever that
means)

Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24014>

15 months agorusticl: support subgroups
Karol Herbst [Sun, 7 May 2023 15:10:14 +0000 (17:10 +0200)]
rusticl: support subgroups

Signed-off-by: Karol Herbst <git@karolherbst.de>
Reviewed-by: Nora Allen <blackcatgames@protonmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22893>

15 months agorusticl: deal with compute_param returning 0
Karol Herbst [Sat, 6 May 2023 23:45:22 +0000 (01:45 +0200)]
rusticl: deal with compute_param returning 0

Some drivers might return 0 indicating they haven't written any data. But
treating it as 0 for all current `COMPUTE_CAP`s is fine, so no need to
panic at runtime here.

Signed-off-by: Karol Herbst <git@karolherbst.de>
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Nora Allen <blackcatgames@protonmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22893>

15 months agogallium: change PIPE_COMPUTE_CAP_SUBGROUP_SIZE to a bitfield of sizes
Karol Herbst [Sun, 7 May 2023 01:16:31 +0000 (03:16 +0200)]
gallium: change PIPE_COMPUTE_CAP_SUBGROUP_SIZE to a bitfield of sizes

This will be required for `cl_intel_required_subgroup_size`, but it
already helps implementing OpenCL subgroups as this allows us to check
with every subgroup size when implementing
`CL_KERNEL_LOCAL_SIZE_FOR_SUB_GROUP_COUNT`.

Signed-off-by: Karol Herbst <git@karolherbst.de>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22893>

15 months agorusticl/device: rework subgroups to subgroup_sizes
Karol Herbst [Sat, 6 May 2023 23:47:09 +0000 (01:47 +0200)]
rusticl/device: rework subgroups to subgroup_sizes

Signed-off-by: Karol Herbst <git@karolherbst.de>
Reviewed-by: Nora Allen <blackcatgames@protonmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22893>

15 months agorusticl/util: add div_round_up
Karol Herbst [Sat, 6 May 2023 23:47:23 +0000 (01:47 +0200)]
rusticl/util: add div_round_up

Same as DIV_ROUND_UP

Signed-off-by: Karol Herbst <git@karolherbst.de>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Nora Allen <blackcatgames@protonmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22893>

15 months agorusticl/util: add an Iterator to iterate over set bits in an integer
Karol Herbst [Mon, 8 May 2023 21:09:22 +0000 (23:09 +0200)]
rusticl/util: add an Iterator to iterate over set bits in an integer

Signed-off-by: Karol Herbst <git@karolherbst.de>
Reviewed-by: Nora Allen <blackcatgames@protonmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22893>

15 months agoiris: implement get_compute_state_subgroup_size
Karol Herbst [Sat, 6 May 2023 19:07:10 +0000 (21:07 +0200)]
iris: implement get_compute_state_subgroup_size

Signed-off-by: Karol Herbst <git@karolherbst.de>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22893>

15 months agogallium: add PIPE_COMPUTE_CAP_MAX_SUBGROUPS
Karol Herbst [Sat, 6 May 2023 23:44:35 +0000 (01:44 +0200)]
gallium: add PIPE_COMPUTE_CAP_MAX_SUBGROUPS

This is required for enabling OpenCL subgroups.

Signed-off-by: Karol Herbst <git@karolherbst.de>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22893>

15 months agogallium: add get_compute_state_subgroup_size
Karol Herbst [Sat, 6 May 2023 19:04:18 +0000 (21:04 +0200)]
gallium: add get_compute_state_subgroup_size

This will be required by drivers supporting multiple subgroup sizes with
a given CSO to properly implement OpenCL subgroups.

Signed-off-by: Karol Herbst <git@karolherbst.de>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22893>

15 months agogallium: add simd_sizes to pipe_compute_state_object_info
Karol Herbst [Sun, 4 Jun 2023 14:35:44 +0000 (16:35 +0200)]
gallium: add simd_sizes to pipe_compute_state_object_info

Signed-off-by: Karol Herbst <git@karolherbst.de>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22893>

15 months agollvmpipe: report the proper subgroup size
Karol Herbst [Thu, 11 May 2023 11:27:38 +0000 (13:27 +0200)]
llvmpipe: report the proper subgroup size

Signed-off-by: Karol Herbst <git@karolherbst.de>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22893>

15 months agoclc: rework optional subgroup feature
Karol Herbst [Wed, 10 May 2023 12:03:06 +0000 (14:03 +0200)]
clc: rework optional subgroup feature

OpenCL 3.0 core requires __opencl_c_subgroups to be set, the OpenCL
cl_khr_subgroups extenions can only be enabled if and only if the driver
guarentees independent forward progress between subgroups.

See CL_DEVICE_SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS for more information.

Signed-off-by: Karol Herbst <git@karolherbst.de>
Reviewed-by: Nora Allen <blackcatgames@protonmail.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22893>

15 months agovtn: more CL subgroups
Karol Herbst [Sat, 6 May 2023 18:58:22 +0000 (20:58 +0200)]
vtn: more CL subgroups

v2: handle ExecutionModes

Signed-off-by: Karol Herbst <git@karolherbst.de>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Nora Allen <blackcatgames@protonmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22893>

15 months agodocs: add missing get_compute_state_info documentation
Karol Herbst [Sat, 6 May 2023 19:03:53 +0000 (21:03 +0200)]
docs: add missing get_compute_state_info documentation

Signed-off-by: Karol Herbst <git@karolherbst.de>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22893>

15 months agov3dv: Use vk_index_type_to_bytes
Alyssa Rosenzweig [Thu, 6 Jul 2023 13:00:35 +0000 (09:00 -0400)]
v3dv: Use vk_index_type_to_bytes

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24017>

15 months agolavapipe: Use vk_index_type_to_bytes
Alyssa Rosenzweig [Thu, 6 Jul 2023 12:59:59 +0000 (08:59 -0400)]
lavapipe: Use vk_index_type_to_bytes

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24017>

15 months agovulkan: Add vk_index_type_to_bytes helper
Alyssa Rosenzweig [Thu, 6 Jul 2023 12:58:54 +0000 (08:58 -0400)]
vulkan: Add vk_index_type_to_bytes helper

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24017>

15 months agoetnaviv: Convert to use nir_foreach_function_impl
Yonggang Luo [Thu, 29 Jun 2023 20:25:26 +0000 (04:25 +0800)]
etnaviv: Convert to use nir_foreach_function_impl

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24037>

15 months agomeson: Prefix Vulkan "Ray Tracing" summary with "Intel"
Friedrich Vock [Tue, 4 Jul 2023 10:20:01 +0000 (12:20 +0200)]
meson: Prefix Vulkan "Ray Tracing" summary with "Intel"

This only applies to Intel's ray tracing. With RADV also having
ray tracing support that is always compiled in, seeing
"Ray Tracing: NO" is a bit misleading.

Reviewed-by: Joshua Ashton <joshua@froggi.es>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24008>

15 months agoetnaviv: blt: fix multisampled blits
Lucas Stach [Mon, 12 Jun 2023 10:35:07 +0000 (12:35 +0200)]
etnaviv: blt: fix multisampled blits

The BLT blit currently assumes that all blits with src samples > 1
are downsampling blits. This isn't correct, as we can also blit
between two multisampled resources with src and dst samples > 1.

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

15 months agoetnaviv: rs: fix multisampled blits
Lucas Stach [Mon, 12 Jun 2023 10:04:59 +0000 (12:04 +0200)]
etnaviv: rs: fix multisampled blits

When blitting between two multisampled resources, the blit region needs
to be scaled by the number of samples. Currently this is only done
correctly for downsampling blits where src samples > dst samples. Fix
it to also work as expected when src samples == dst samples.

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

15 months agoetnaviv: move resource level dimension members to make comments line up
Lucas Stach [Mon, 12 Jun 2023 10:38:30 +0000 (12:38 +0200)]
etnaviv: move resource level dimension members to make comments line up

Width and height of the resource level are stored in pixels, while
the padded dimensions are stored in samples. Move the members to
make them line up with the comments.

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

15 months agor600/sfn: Shorten array elements live range
Gert Wollny [Thu, 6 Jul 2023 19:29:53 +0000 (21:29 +0200)]
r600/sfn: Shorten array elements live range

If an array is accessed indirectly, add a buffer live range of
one cycle before (for write) or after (for read), instead of pinning
the array from the start.

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

15 months agor600/sfn: Be more conservative with AR re-use
Gert Wollny [Thu, 6 Jul 2023 18:15:40 +0000 (20:15 +0200)]
r600/sfn: Be more conservative with AR re-use

If we try to re-use the AR register after a new CF was started
we will get into trouble, because it is no longer loaded, so
clear the AR register handle when we hit a non-ALU instruction
while scanning the shader to split AR loads. With that
dependencies will be set accodingly.

Fixes: d21054b4bc92a1a9240841dca719f81a142fd5cc
    r600/sfn: Add pass to split address and index register loads

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

15 months agor600: Pre-EG - Set wrap texture modes to repeat when seemless cube is used
Gert Wollny [Sun, 25 Jun 2023 10:13:23 +0000 (12:13 +0200)]
r600: Pre-EG  - Set wrap texture modes to repeat when seemless cube is used

On Pre-Evergreen hardware we have a flag
   "Force Clamp X,Y policy to wrap for CubeMaps"
but it doesn't seem to affect how border clamping is done. With
bf3027 this is set to PIPE_TEX_WRAP_CLAMP_TO_EDGE for cube maps,
and results in the regression reported in #9028.
Forcing repeat mode fixes the issue.

Fixes: bf3027c3916ad5be172c22851e7172671709a9bc
   mesa/st: Normalize wrap modes for seamless cubes

Related: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9028

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

15 months agovenus: recheck valid bit after acquiring lock to init ahb mem type bits
Yiwei Zhang [Thu, 6 Jul 2023 23:14:21 +0000 (16:14 -0700)]
venus: recheck valid bit after acquiring lock to init ahb mem type bits

Fixes: 432ffaf10a5 ("venus: refactor ahb buffer mem type bits cache to be lazy")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24033>

15 months agoci/radv: Add testing of the GLES CTS using ANGLE on stoney.
Emma Anholt [Thu, 1 Dec 2022 21:41:50 +0000 (13:41 -0800)]
ci/radv: Add testing of the GLES CTS using ANGLE on stoney.

We're interested in a Vulkan-only stack in Chrome OS, where Android's GLES
would be provided by ANGLE-over-Venus-over-RADV.  Let's get some testing
covering ANGLE-on-RADV first.

This is structured as a single partial job pre-merge to catch most
regressions, and 2 longer manual jobs to do full coverage for when you
need to update the xfails list.

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

15 months agoci/radv+radeonsi: Fix the combo rules to include core vulkan changes.
Emma Anholt [Thu, 1 Dec 2022 23:53:55 +0000 (15:53 -0800)]
ci/radv+radeonsi: Fix the combo rules to include core vulkan changes.

We were retesting on core GL changes, and radeonsi and radv driver
changes, but not core VK changes.  Affects amd-raven-skqp.

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

15 months agoci/anv: Add testing of the GLES CTS using ANGLE on TGL.
Emma Anholt [Thu, 1 Dec 2022 19:54:03 +0000 (11:54 -0800)]
ci/anv: Add testing of the GLES CTS using ANGLE on TGL.

We're interested in a Vulkan-only stack in Chrome OS, where Android's GLES
would be provided by ANGLE-over-Venus-over-ANV.  Let's get some testing
covering ANGLE-on-ANV first.

This is structured as a single partial job pre-merge to catch most
regressions, and a longer manual job to do full coverage for when you need
to update the xfails list.

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

15 months agoci/x86: Build ANGLE for testing layering on VK drivers.
David Heidelberg [Thu, 29 Sep 2022 17:40:53 +0000 (19:40 +0200)]
ci/x86: Build ANGLE for testing layering on VK drivers.

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

15 months agoci/amd: Report flakes to #amd-ci on OFTC.
Emma Anholt [Mon, 5 Dec 2022 17:27:51 +0000 (09:27 -0800)]
ci/amd: Report flakes to #amd-ci on OFTC.

Until we get better tooling for crawling job logs, this is our best way of
tracking and updating flaky tests.

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

15 months agoci: Clean up .intel-rules definition.
Emma Anholt [Tue, 27 Jun 2023 19:46:00 +0000 (12:46 -0700)]
ci: Clean up .intel-rules definition.

The "!reference" syntax means we can just pull the two driver's rulesets
together.

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

15 months agoci/anv: Make anv-manual-rules actually manual on anv-only changes.
Emma Anholt [Tue, 27 Jun 2023 19:41:21 +0000 (12:41 -0700)]
ci/anv: Make anv-manual-rules actually manual on anv-only changes.

I guess that's why I've seen some zink-anv-tgl-full runs (the only
consumer) happen on people's MRs that I hadn't kicked off myself.

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

15 months agovenus: refactor query batch handling
Yiwei Zhang [Thu, 6 Jul 2023 22:13:25 +0000 (15:13 -0700)]
venus: refactor query batch handling

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

15 months agovenus: cache query batches at cmd pool
Yiwei Zhang [Thu, 6 Jul 2023 20:18:00 +0000 (13:18 -0700)]
venus: cache query batches at cmd pool

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

15 months agovenus: refactor vn_cmd_add_query_feedback and miscs
Yiwei Zhang [Thu, 6 Jul 2023 19:34:39 +0000 (12:34 -0700)]
venus: refactor vn_cmd_add_query_feedback and miscs

There's no functional changes:
1. remove unused function arg and use snake case
2. do early return for direct recording (avoid dup feedback checks)
3. use vk_alloc instead of vk_zalloc if applicable
4. move local struct closer to usage, and use assignment
5. convert secondary cmd in_render_pass condition check to assert
6. avoid redundant list_del upon freeing up

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

15 months agovenus: cmd to reuse alloc copy from cmd pool
Yiwei Zhang [Tue, 4 Jul 2023 22:36:31 +0000 (15:36 -0700)]
venus: cmd to reuse alloc copy from cmd pool

Directly use the alloc callback upon pool reset/destroy since the compat
is blessed by the spec.

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

15 months agovenus: track pool in cmd and track device in pool
Yiwei Zhang [Tue, 4 Jul 2023 22:21:23 +0000 (15:21 -0700)]
venus: track pool in cmd and track device in pool

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

15 months agovenus: fix leaks from tracked present src images
Yiwei Zhang [Tue, 4 Jul 2023 23:17:47 +0000 (16:17 -0700)]
venus: fix leaks from tracked present src images

The cmd can be reset and freed during render pass recording as well.

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

15 months agovenus: fix a cmd tmp storage leak
Yiwei Zhang [Tue, 4 Jul 2023 21:44:49 +0000 (14:44 -0700)]
venus: fix a cmd tmp storage leak

When the pool is destroyed, cmds are implicitly freed. Cmd level allocs
have to be cleaned up to avoid leak.

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

15 months agovenus: extend VkBuffer cache to cover concurrent sharing
Yiwei Zhang [Tue, 27 Jun 2023 00:27:44 +0000 (17:27 -0700)]
venus: extend VkBuffer cache to cover concurrent sharing

vkd3d-proton always use concurrent sharing when there exists multiple
queue families, and all queue families are used. This change adds the
exact simple case to the existing cache.

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

15 months agovenus: refactor buffer cache related bits
Yiwei Zhang [Wed, 28 Jun 2023 23:00:11 +0000 (16:00 -0700)]
venus: refactor buffer cache related bits

Simplify returns and reorder inits.

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

15 months agovenus: refactor ahb buffer mem type bits cache to be lazy
Yiwei Zhang [Wed, 28 Jun 2023 22:55:09 +0000 (15:55 -0700)]
venus: refactor ahb buffer mem type bits cache to be lazy

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

15 months agoci/etnaviv: update ci expectation
Christian Gmeiner [Thu, 6 Jul 2023 08:49:37 +0000 (10:49 +0200)]
ci/etnaviv: update ci expectation

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24029>

15 months agodocs/features: add hasvk entries
Lionel Landwerlin [Tue, 4 Jul 2023 07:02:41 +0000 (10:02 +0300)]
docs/features: add hasvk entries

Automatically generated using
https://github.com/djdeath/mesa-jhbuild/blob/master/update_features.py

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

15 months agodocs/features: add more missing extensions
Lionel Landwerlin [Tue, 4 Jul 2023 06:58:40 +0000 (09:58 +0300)]
docs/features: add more missing extensions

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

15 months agofrontend/va: Remove fence_server_sync for surface in vlVaHandleVAProcPipelineParamete...
Sil Vilerino [Thu, 6 Jul 2023 15:48:48 +0000 (11:48 -0400)]
frontend/va: Remove fence_server_sync for surface in vlVaHandleVAProcPipelineParameterBufferType

Fixes: fb1783616e3 ("frontend/va: Add video processing async fence support")

Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24023>

15 months agofrontend/va: Fix vaSyncSurface and vaQuerySurface status for drivers not implementing...
Sil Vilerino [Thu, 6 Jul 2023 14:39:15 +0000 (10:39 -0400)]
frontend/va: Fix vaSyncSurface and vaQuerySurface status for drivers not implementing get_processor_fence

Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24023>

15 months agodocs/codingstyle: fix clang-format command
Eric Engestrom [Thu, 6 Jul 2023 17:19:58 +0000 (18:19 +0100)]
docs/codingstyle: fix clang-format command

I should've copy/pasted it back into my terminal to double-check it.

The `-o` is incorrect (it splits each char that matches into its own
line) and there's a missing `^` to remove lines that start with a hash
even if they contain anything else.

Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24028>

15 months agozink/ci: fix skips & flakes for zink+radv on vangogh & navi10
Eric Engestrom [Thu, 6 Jul 2023 16:29:00 +0000 (17:29 +0100)]
zink/ci: fix skips & flakes for zink+radv on vangogh & navi10

These are regexes, not globs.

Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24021>

15 months agoetnaviv/ci: fix skips definition
Eric Engestrom [Thu, 6 Jul 2023 16:56:46 +0000 (17:56 +0100)]
etnaviv/ci: fix skips definition

Skips are regexes, not globs :)

Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24025>

15 months agointel/ci: fix skips definitions
Eric Engestrom [Thu, 6 Jul 2023 16:47:02 +0000 (17:47 +0100)]
intel/ci: fix skips definitions

Skips are regexes, not globs :)

Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24024>

15 months agopanfrost/ci: drop invalid skips that are already marked as known flakes
Eric Engestrom [Thu, 6 Jul 2023 16:38:55 +0000 (17:38 +0100)]
panfrost/ci: drop invalid skips that are already marked as known flakes

Skips are regexes, which means the `*` would've needed to be escaped. As
is, they can't match any existing test.

Since these lines are also all in `-fails.txt` as `Crash`es, let's just
remove them from the skips.

Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24022>

15 months agozink: fix anv ci flakes (for real this time)
Mike Blumenkrantz [Thu, 6 Jul 2023 16:23:13 +0000 (12:23 -0400)]
zink: fix anv ci flakes (for real this time)

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

15 months agovk/wsi: add error logging for syncfile import/export failures
Mike Blumenkrantz [Mon, 19 Jun 2023 15:47:22 +0000 (11:47 -0400)]
vk/wsi: add error logging for syncfile import/export failures

these are otherwise pretty obscure

Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Joshua Ashton <joshua@froggi.es>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23835>

15 months agovk/wsi: unify dmabuf exporting
Mike Blumenkrantz [Thu, 15 Jun 2023 17:26:23 +0000 (13:26 -0400)]
vk/wsi: unify dmabuf exporting

Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Joshua Ashton <joshua@froggi.es>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23835>

15 months agovk/wsi/x11: stop roundtripping on presentation
Mike Blumenkrantz [Thu, 15 Jun 2023 14:36:19 +0000 (10:36 -0400)]
vk/wsi/x11: stop roundtripping on presentation

there's no requirement to return SUBOPTIMAL based on processed events
at present time, nor is SURFACE_LOST required here vs as a result of
acquire, so allow both of these conditions to be reported there instead

improves presentation perf by ~60%

Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Joshua Ashton <joshua@froggi.es>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23835>

15 months agovk/wsi/x11: handle geometry updating more asynchronously
Mike Blumenkrantz [Tue, 13 Jun 2023 20:55:45 +0000 (16:55 -0400)]
vk/wsi/x11: handle geometry updating more asynchronously

this uses geometry updates from events when possible in order to avoid
roundtripping during vkGetPhysicalDeviceSurfaceCapabilitiesKHR, which
significantly improves wsi performance in severely bottlenecked scenarios

now that roundtripping is completely eliminated from acquires in most scenarios,
this improves acquire perf by 10%+

Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23835>

15 months agovk/wsi/x11: move surface alpha check from get_caps to creation
Mike Blumenkrantz [Tue, 13 Jun 2023 20:18:44 +0000 (16:18 -0400)]
vk/wsi/x11: move surface alpha check from get_caps to creation

this makes get_caps a bit less heavy

Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23835>

15 months agozink: Free the cdt when an error occurs
xurui [Thu, 6 Jul 2023 03:04:10 +0000 (11:04 +0800)]
zink: Free the cdt when an error occurs

Signed-off-by: xurui <xurui@kylinos.cn>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24012>

15 months agonir/opt_shrink_vectors: enable sparse intrinsics shrinking
Lionel Landwerlin [Tue, 4 Jul 2023 12:06:50 +0000 (15:06 +0300)]
nir/opt_shrink_vectors: enable sparse intrinsics shrinking

Image sparse loads can be stripped from their sparse component if
unused and turned into non sparse variants.

Texture sparse accesses can also be turned off if unused.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23995>

15 months agointel/fs: disable coarse pixel shader with interpolater messages at sample
Lionel Landwerlin [Sat, 1 Jul 2023 20:36:19 +0000 (23:36 +0300)]
intel/fs: disable coarse pixel shader with interpolater messages at sample

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

15 months agorusticl: Drop Program::kernel_count
Antonio Gomes [Wed, 5 Jul 2023 01:08:01 +0000 (22:08 -0300)]
rusticl: Drop Program::kernel_count

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

15 months agorusticl: Drop some Kernel data and have a NirKernelBuild ref instead
Antonio Gomes [Wed, 5 Jul 2023 00:33:41 +0000 (21:33 -0300)]
rusticl: Drop some Kernel data and have a NirKernelBuild ref instead

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

15 months agotgsi: uint -> unsigned
Erik Faye-Lund [Mon, 26 Jun 2023 07:43:07 +0000 (09:43 +0200)]
tgsi: uint -> unsigned

Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24002>

15 months agotgsi: uint -> uint32_t
Erik Faye-Lund [Mon, 26 Jun 2023 08:25:50 +0000 (10:25 +0200)]
tgsi: uint -> uint32_t

Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24002>

15 months agotgsi: use enum for interpolate-mode
Erik Faye-Lund [Mon, 26 Jun 2023 09:57:39 +0000 (11:57 +0200)]
tgsi: use enum for interpolate-mode

Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24002>

15 months agotgsi: use enum for shader-type
Erik Faye-Lund [Mon, 26 Jun 2023 09:30:57 +0000 (11:30 +0200)]
tgsi: use enum for shader-type

Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24002>

15 months agotgsi: use enum for property-name
Erik Faye-Lund [Mon, 26 Jun 2023 09:51:26 +0000 (11:51 +0200)]
tgsi: use enum for property-name

Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24002>

15 months agotgsi: use enum for tgsi-file type
Erik Faye-Lund [Mon, 26 Jun 2023 09:21:08 +0000 (11:21 +0200)]
tgsi: use enum for tgsi-file type

Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24002>

15 months agotgsi: use stdint.h types
Erik Faye-Lund [Mon, 26 Jun 2023 08:31:40 +0000 (10:31 +0200)]
tgsi: use stdint.h types

Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24002>

15 months agotgsi: use enum instead of defines
Erik Faye-Lund [Fri, 30 Jun 2023 11:24:36 +0000 (13:24 +0200)]
tgsi: use enum instead of defines

Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24002>

15 months agoaux/util: uint -> unsigned
Erik Faye-Lund [Mon, 26 Jun 2023 07:43:07 +0000 (09:43 +0200)]
aux/util: uint -> unsigned

Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24002>

15 months agoaux/util: use stdint.h types
Erik Faye-Lund [Mon, 26 Jun 2023 08:31:37 +0000 (10:31 +0200)]
aux/util: use stdint.h types

Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24002>

15 months agoaux/util: use unsigned instead of uint
Erik Faye-Lund [Fri, 23 Jun 2023 14:46:48 +0000 (16:46 +0200)]
aux/util: use unsigned instead of uint

Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24002>

15 months agoaux/util: use enum for primitive-type
Erik Faye-Lund [Fri, 23 Jun 2023 14:50:49 +0000 (16:50 +0200)]
aux/util: use enum for primitive-type

Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24002>

15 months agoaux/util: match type of pipe_draw_start_count_bias::start/count
Erik Faye-Lund [Fri, 23 Jun 2023 14:48:29 +0000 (16:48 +0200)]
aux/util: match type of pipe_draw_start_count_bias::start/count

Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24002>

15 months agoaux/util: use enum for render-condition
Erik Faye-Lund [Fri, 23 Jun 2023 14:46:30 +0000 (16:46 +0200)]
aux/util: use enum for render-condition

Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24002>

15 months agoaux/pp: use unsigned instead of uint
Erik Faye-Lund [Fri, 23 Jun 2023 14:43:42 +0000 (16:43 +0200)]
aux/pp: use unsigned instead of uint

Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24002>

15 months agogallivm: use unsigned instead of uint
Erik Faye-Lund [Fri, 23 Jun 2023 14:21:37 +0000 (16:21 +0200)]
gallivm: use unsigned instead of uint

Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24002>

15 months agopipebuffer: use unsigned instead of uint
Erik Faye-Lund [Fri, 23 Jun 2023 14:19:10 +0000 (16:19 +0200)]
pipebuffer: use unsigned instead of uint

Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24002>

15 months agoaux/trace: use stdint.h types
Erik Faye-Lund [Fri, 23 Jun 2023 14:17:11 +0000 (16:17 +0200)]
aux/trace: use stdint.h types

...as well as stdbool.h ;)

Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24002>

15 months agomath: drop MAT_[ST][XYZ] defines
Erik Faye-Lund [Mon, 26 Jun 2023 13:38:30 +0000 (15:38 +0200)]
math: drop MAT_[ST][XYZ] defines

These were used a single time each, and that argually made the code a
bit more confusing to read. Let's just drop these, and use the correct
indexes directly.

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

15 months agomath: remove unused defines
Erik Faye-Lund [Mon, 26 Jun 2023 13:24:38 +0000 (15:24 +0200)]
math: remove unused defines

Since libmesa_classic got removed, we no longer have the assembly
sources that used these defines, so let's get rid of them.

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

15 months agomath: fix indentation in m_matrix.[ch]
Erik Faye-Lund [Mon, 26 Jun 2023 13:52:55 +0000 (15:52 +0200)]
math: fix indentation in m_matrix.[ch]

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

15 months agolima: use u_pipe_screen_lookup_or_create in the renderonly path too
Zhang Ning [Fri, 9 Jun 2023 01:52:18 +0000 (09:52 +0800)]
lima: use u_pipe_screen_lookup_or_create in the renderonly path too

close #8739

Signed-off-by: Zhang Ning <zhangn1985@outlook.com>
Reviewed-by: Erico Nunes <nunes.erico@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23538>

15 months agodocs/features.txt(fix): mark VK_EXT_pipeline_robustness as supported on radv
QwertyChouskie [Thu, 6 Jul 2023 04:32:31 +0000 (04:32 +0000)]
docs/features.txt(fix): mark VK_EXT_pipeline_robustness as supported on radv

This was implemented in https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23912

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

15 months agovbo: correctly restore _VaryingInputs for display list fast path
Marek Olšák [Thu, 22 Jun 2023 11:15:02 +0000 (07:15 -0400)]
vbo: correctly restore _VaryingInputs for display list fast path

Fixes: 3a294ff0 - mesa: move the _mesa_set_varying_vp_inputs call to where the state changes
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9007

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

15 months agost/glsl: merge st_glsl_to_ir.cpp with st_glsl_to_nir.cpp
Timothy Arceri [Wed, 5 Jul 2023 02:48:34 +0000 (12:48 +1000)]
st/glsl: merge st_glsl_to_ir.cpp with st_glsl_to_nir.cpp

There is no longer any other IR so lets finally merge these together
to make the code easier to follow.

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

15 months agost/glsl: merge st_link_glsl_to_nir() into st_link_nir()
Timothy Arceri [Wed, 5 Jul 2023 02:35:51 +0000 (12:35 +1000)]
st/glsl: merge st_link_glsl_to_nir() into st_link_nir()

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

15 months agost/glsl: merge link_shader() into st_link_nir()
Timothy Arceri [Wed, 5 Jul 2023 02:31:30 +0000 (12:31 +1000)]
st/glsl: merge link_shader() into st_link_nir()

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

15 months agoglsl: remove glsl ir optimisation loop from linker
Timothy Arceri [Thu, 22 Jun 2023 04:33:53 +0000 (14:33 +1000)]
glsl: remove glsl ir optimisation loop from linker

We no longer need to call this here and can depend on the glsl_to_nir
pass to call it and clean up anything it cannot handle. Everything
else can now depend on the nir optimisation passes.

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

15 months agoglsl: move store_fragdepth_layout() to nir linker
Timothy Arceri [Thu, 22 Jun 2023 04:26:12 +0000 (14:26 +1000)]
glsl: move store_fragdepth_layout() to nir linker

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

15 months agoglsl: drop link_invalidate_variable_locations()
Timothy Arceri [Wed, 21 Jun 2023 03:26:10 +0000 (13:26 +1000)]
glsl: drop link_invalidate_variable_locations()

All this code does is reinitialise the values to what the original
ir_variable() call already set them too. This code is very old dating
to the initial glsl compiler support, it has probably been unrequired
for a long time now.

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

15 months agoglsl: set last_vert_prog in the nir linker
Timothy Arceri [Wed, 21 Jun 2023 03:09:51 +0000 (13:09 +1000)]
glsl: set last_vert_prog in the nir linker

Another step to removing the GLSL IR linker

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

15 months agoglsl: inline link_varyings()
Timothy Arceri [Wed, 21 Jun 2023 03:02:46 +0000 (13:02 +1000)]
glsl: inline link_varyings()

Most code has already been moved to the NIR linker.

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