platform/upstream/mesa.git
4 months ago.pick_status.json: Update to 031978933151e95690e93919e7bfd9f1753f2794
Eric Engestrom [Mon, 8 Jan 2024 15:13:32 +0000 (15:13 +0000)]
.pick_status.json: Update to 031978933151e95690e93919e7bfd9f1753f2794

4 months agoradv/rt: Free traversal NIR after compilation
Friedrich Vock [Thu, 4 Jan 2024 13:37:08 +0000 (14:37 +0100)]
radv/rt: Free traversal NIR after compilation

Could lead to OOM in games that compile RTPSOs often,
like Ghostwire Tokyo.

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26892>
(cherry picked from commit 34cc76517286b88c8191a3e10dda0a3293c09127)

4 months agoradv: disable stencil test without a stencil attachment
Samuel Pitoiset [Tue, 2 Jan 2024 10:19:34 +0000 (11:19 +0100)]
radv: disable stencil test without a stencil attachment

Implementations are supposed to do that per the Vulkan spec.

This fixes the following new VKCTS tests
dEQP-VK.pipeline.*.stencil.no_stencil_att.*

Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26847>
(cherry picked from commit 8b7b5be98bc28117e6f4ce144a9d2fa087c18782)

4 months agoradv: fix binding partial depth/stencil views with dynamic rendering
Samuel Pitoiset [Tue, 12 Dec 2023 13:55:29 +0000 (14:55 +0100)]
radv: fix binding partial depth/stencil views with dynamic rendering

With dynamic rendering, it's allowed to begin rendering with depth or
stencil only but still with a depth/stencil format. The test below
checks that unbound part of ds isn't modified, if depth is bound and
stencil not and vice versa.

This fixes a recent CTS
dEQP-VK.dynamic_rendering.primary_cmd_buff.basic.partial_binding_depth_stencil.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25350>
(cherry picked from commit 1ef5feac5ef48515bba2fa22c8a2a4e517739519)

4 months agollvmpipe: fix caching for texture shaders.
Dave Airlie [Tue, 10 Oct 2023 06:41:21 +0000 (16:41 +1000)]
llvmpipe: fix caching for texture shaders.

caching only works if you check the size and store the result,
later the size is always set.

Fixes: f675e4ee8231 ("llvmpipe: Pre compile sample functions")
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25648>
(cherry picked from commit c2f79d7fb1c3c4931bee8171750a67d867366fda)

4 months agointel/compiler: fix release build unused variable.
Dave Airlie [Wed, 3 Jan 2024 06:31:23 +0000 (16:31 +1000)]
intel/compiler: fix release build unused variable.

This is only used in an assert.

Fixes: 158ac265dfd0 ("intel/fs: Make helpers for saving/restoring instruction order")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26863>
(cherry picked from commit 37366fef682fbadcfd5d4376008ed0fc5542c8f1)

4 months agogallivm: handle llvm 16 atexit ordering problems.
Dave Airlie [Wed, 3 Jan 2024 20:17:50 +0000 (06:17 +1000)]
gallivm: handle llvm 16 atexit ordering problems.

This is ported from amd ac_llvm_helper.cpp, thanks to Marek for the pointer.

This is needed to avoid crashes due to atexit ordering between some piglit
tests and mesa internals.

Cc: mesa-stable
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26883>
(cherry picked from commit b3cfec2fd824a52023c92fd5928f4f5c1cb449a0)

4 months ago.pick_status.json: Update to e2a7c877ad1fd6bda4032f707eea7646e5229969
Eric Engestrom [Thu, 4 Jan 2024 18:31:24 +0000 (18:31 +0000)]
.pick_status.json: Update to e2a7c877ad1fd6bda4032f707eea7646e5229969

4 months agozink: enforce maxTexelBufferElements for texel buffer sizing
Mike Blumenkrantz [Wed, 3 Jan 2024 15:08:12 +0000 (10:08 -0500)]
zink: enforce maxTexelBufferElements for texel buffer sizing

according to spec, creating larger texel buffers is legal for apps
but the resulting texel buffer must be clamped to device limits

fixes #10068

backport-to: 23.3

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26873>
(cherry picked from commit 49378bc3cda770493c656e0de1b2e2a1e35d79f4)

4 months agozink: lock screen queue on context_destroy and CreateSwapchain
Karol Herbst [Tue, 31 Oct 2023 23:59:55 +0000 (00:59 +0100)]
zink: lock screen queue on context_destroy and CreateSwapchain

Cc: mesa-stable
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25985>
(cherry picked from commit 208875516c10f5163d5a7333e2f5fe271fad4ee1)

4 months agoaco/tests: use more raw strings
Rhys Perry [Tue, 2 Jan 2024 12:44:24 +0000 (12:44 +0000)]
aco/tests: use more raw strings

Python 3.12 started giving a SyntaxWarning for unrecognized escapes such
as "\w". This might become a SyntaxError in a future python version.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26850>
(cherry picked from commit cad2c0915d60b2f217aa228e8c4c53d1abf65c21)

4 months agoRevert "d3d12: Fix screen->winsys leak in d3d12_screen"
Sil Vilerino [Wed, 3 Jan 2024 14:23:02 +0000 (09:23 -0500)]
Revert "d3d12: Fix screen->winsys leak in d3d12_screen"

This reverts commit 81c8e89ff8e846839fffc1d103b2080bef5c1b5c.

Fixes: 81c8e89ff8e ("d3d12: Fix screen->winsys leak in d3d12_screen")
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26872>
(cherry picked from commit e11605321aaf94e537751b09f3ec5133c385cc83)

4 months agoRevert "d3d12: Only destroy the winsys during screen destruction, not reset"
Sil Vilerino [Wed, 3 Jan 2024 14:22:52 +0000 (09:22 -0500)]
Revert "d3d12: Only destroy the winsys during screen destruction, not reset"

This reverts commit 325fb6e26b62326c86514d263ffedd241fd36865.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10371
Fixes: 325fb6e26b6 ("d3d12: Only destroy the winsys during screen destruction, not reset")
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26872>
(cherry picked from commit 97cc7ea5a591ed7afaddd00370de3ca62d55cbb4)

4 months ago.pick_status.json: Update to 2c078bfd18cae0ed1a0a3916020e49fb74668504
Eric Engestrom [Wed, 3 Jan 2024 23:02:03 +0000 (23:02 +0000)]
.pick_status.json: Update to 2c078bfd18cae0ed1a0a3916020e49fb74668504

4 months agozink: put sysmacros.h include under #ifdef MAJOR_IN_SYSMACROS
Jonathan Gray [Mon, 18 Dec 2023 11:03:23 +0000 (22:03 +1100)]
zink: put sysmacros.h include under #ifdef MAJOR_IN_SYSMACROS

Fixes the build on OpenBSD, where major() is in sys/types and
sys/sysmacros.h does not exist.  Also include sys/mkdev.h if
MAJOR_IN_MKDEV is defined.

Fixes: 6d60115be7c ("zink: Fix enumerate devices when running compositor")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26735>
(cherry picked from commit 33eecafe757264ed58e33b87e010aacc6a376da8)

4 months agozink: use KHR version of maint5 features
Erik Faye-Lund [Thu, 30 Nov 2023 11:43:47 +0000 (12:43 +0100)]
zink: use KHR version of maint5 features

This is still not in Vulkan core, so we can't refer to it without the
KHR suffix.

Fixes: f501f9453ad ("zink: use maintenance5")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26419>
(cherry picked from commit 5024b212b6224a67d60d472c12062639185a3916)

4 months agozink: update profile schema
Erik Faye-Lund [Thu, 30 Nov 2023 11:42:20 +0000 (12:42 +0100)]
zink: update profile schema

This is needed for VK_KHR_maintenance5 support.

Fixes: f501f9453ad ("zink: use maintenance5")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26419>
(cherry picked from commit 021645ebf5399a8c74f7f895a06d8919215243be)

4 months agomeson: Support for both packaging and distutils
Yonggang Luo [Mon, 18 Dec 2023 10:16:47 +0000 (18:16 +0800)]
meson: Support for both packaging and distutils

distutils was deprecated and is now gone on modern systems.
so the default behavior is to use the supported thing, which is packaging.version, and when on an old system, fallback to the old distutils.version.

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

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26746>
(cherry picked from commit 670a799ebff9a98daafccf49324c2a01311b0c41)

4 months ago.pick_status.json: Update to 39c8cca34fb72db055df18abf1d473e099f4b05b
Eric Engestrom [Tue, 2 Jan 2024 16:20:06 +0000 (16:20 +0000)]
.pick_status.json: Update to 39c8cca34fb72db055df18abf1d473e099f4b05b

4 months agoanv: Assume that imported bos already have flat CCS requirements satisfied
José Roberto de Souza [Fri, 15 Dec 2023 16:24:26 +0000 (08:24 -0800)]
anv: Assume that imported bos already have flat CCS requirements satisfied

Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10291
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26711>
(cherry picked from commit 3465e9f3526c8dbba3ef5ab5bd6158b70422ab83)

4 months ago.pick_status.json: Mark 8d0e70f628b745ad81124e0c3fe5e46ea84f6b46 as denominated
Eric Engestrom [Thu, 28 Dec 2023 12:04:21 +0000 (12:04 +0000)]
.pick_status.json: Mark 8d0e70f628b745ad81124e0c3fe5e46ea84f6b46 as denominated

4 months ago.pick_status.json: Mark 060439bdf0e74f0f2e255d0a81b5356f9a2f5457 as denominated
Eric Engestrom [Thu, 28 Dec 2023 12:04:19 +0000 (12:04 +0000)]
.pick_status.json: Mark 060439bdf0e74f0f2e255d0a81b5356f9a2f5457 as denominated

4 months ago.pick_status.json: Update to ebee672ef87794f3f4201270623a92f34e62b8ff
Eric Engestrom [Thu, 28 Dec 2023 12:04:05 +0000 (12:04 +0000)]
.pick_status.json: Update to ebee672ef87794f3f4201270623a92f34e62b8ff

4 months ago.pick_status.json: Mark eb5bb5c784e97c533e30b348e82e446ac0da59c8 as denominated
Eric Engestrom [Thu, 28 Dec 2023 12:07:15 +0000 (12:07 +0000)]
.pick_status.json: Mark eb5bb5c784e97c533e30b348e82e446ac0da59c8 as denominated

4 months agodocs: add sha256sum for 23.3.2
Eric Engestrom [Wed, 27 Dec 2023 22:34:20 +0000 (22:34 +0000)]
docs: add sha256sum for 23.3.2

4 months agoVERSION: bump for 23.3.2
Eric Engestrom [Wed, 27 Dec 2023 22:27:12 +0000 (22:27 +0000)]
VERSION: bump for 23.3.2

4 months agodocs: add release notes for 23.3.2
Eric Engestrom [Wed, 27 Dec 2023 22:26:11 +0000 (22:26 +0000)]
docs: add release notes for 23.3.2

4 months agoiris: Skip mi_builder init for indirect draws
Kenneth Graunke [Fri, 22 Dec 2023 12:48:20 +0000 (04:48 -0800)]
iris: Skip mi_builder init for indirect draws

We only need it for indirect draws.

Improves performance on an i7-12700 and A770:

- Piglit's drawoverhead base case +150.639% +/- 2.86933% (n=15).
- gfxbench5 gl_driver2_off +19.7219% +/- 1.13778% (n=15)
- SPECviewperf2020 catiav5test1 +1.6831% +/- 0.552052% (n=10).

Cc: mesa-stable
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26806>
(cherry picked from commit 55c262898ae7188311c89a60e4ec0fbb67b7a95b)

4 months agoiris: Don't search the exec list if BOs have never been added to one
Kenneth Graunke [Fri, 22 Dec 2023 12:02:47 +0000 (04:02 -0800)]
iris: Don't search the exec list if BOs have never been added to one

Whenever we use a BO in a batch, we need to find its corresponding exec
list entry, either to a) record that it's been used, b) update whether
it's being written, c) check for cross-batch implicit dependencies.

bo->index exists to accelerate these lookups.  If a BO is used multiple
times by a batch, bo->index is its location in the list.  Because the
field is global, and a BO can in theory be used concurrently by multiple
contexts, we need to double-check whether it's still there.  If not, we
fall back to a linear search of all BOs in the list, looking to see if
our index was simply wrong (but presumably right for another context).

However, there's one glaringly obvious case that we missed here.  If
bo->index is -1, then it's wrong for /all/ contexts, and in fact implies
that said BO has never been added to any exec list, ever.  This is quite
common in fact: a new BO, never been used before, say from the BO cache,
or streaming uploaders, gets used for the first time.

In this case we can simply conclude that it's not in the list and skip
the linear walk through all buffers referenced by the batch.

Improves performance on an i7-12700 and A770:

- SPECviewperf2020 catiav5test1: 72.9214% +/- 0.312735% (n=45)

Cc: mesa-stable
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26806>
(cherry picked from commit d55b5d4af5d55a25837d8507840f4ab9b1075ea3)

4 months agoiris: Initialize bo->index to -1 when importing buffers
Kenneth Graunke [Fri, 22 Dec 2023 12:00:37 +0000 (04:00 -0800)]
iris: Initialize bo->index to -1 when importing buffers

A value of -1 means that the buffer has never been used in an execbuf
buffer list in any of our contexts.  While setting this isn't critical,
doing so will allow us to short-circuit some looping in the next patch.

Cc: mesa-stable
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26806>
(cherry picked from commit d178334d5cafa9b215d38c7c443c4dbc168e66c5)

4 months ago.pick_status.json: Update to 55c262898ae7188311c89a60e4ec0fbb67b7a95b
Eric Engestrom [Wed, 27 Dec 2023 13:39:24 +0000 (13:39 +0000)]
.pick_status.json: Update to 55c262898ae7188311c89a60e4ec0fbb67b7a95b

4 months agodrirc/anv: disable FCV optimization for Baldur's Gate 3
Tapani Pälli [Tue, 19 Dec 2023 10:45:50 +0000 (12:45 +0200)]
drirc/anv: disable FCV optimization for Baldur's Gate 3

Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26754>
(cherry picked from commit 9e88c711a3da96cb633bdc35e009bcb1bd193d74)

4 months agoetnaviv: Remove duplicate initializers
Vinson Lee [Wed, 20 Dec 2023 05:13:16 +0000 (21:13 -0800)]
etnaviv: Remove duplicate initializers

Fix initializer-overrides warnings.

../src/gallium/drivers/etnaviv/etnaviv_compiler.c:62:29: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
   62 |       .lower_extract_byte = true,
      |                             ^~~~
../src/gallium/drivers/etnaviv/etnaviv_compiler.c:63:29: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
   63 |       .lower_extract_word = true,
      |                             ^~~~

Fixes: 9dc4ee91215 ("etnaviv: lower (un)pack_{2x16,2x32}_split and extract_{byte,word}")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26773>
(cherry picked from commit f5d08bdf4e3a0e75a846b76889e234b7c9bbd754)

4 months agomesa: fix enum support for EXT_clip_cull_distance
Tapani Pälli [Thu, 14 Dec 2023 11:12:23 +0000 (13:12 +0200)]
mesa: fix enum support for EXT_clip_cull_distance

Extension was enabled but required enums not.

Fixes: 979bcb9f428 ("glsl: add EXT_clip_cull_distance support based on ARB_cull_distance")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26688>
(cherry picked from commit 629b15f446a41492fc5057c04008c6de9c52b078)

4 months agointel/common: add directory prefix to intel_gem.h include
Jonathan Gray [Tue, 19 Dec 2023 07:27:16 +0000 (18:27 +1100)]
intel/common: add directory prefix to intel_gem.h include

Otherwise common/intel_gem.h may get included instead of
common/i915/intel_gem.h when building in a different directory.

Fixes: e050a00b9f4 ("intel/common: Move i915 files to i915 folder")
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26784>
(cherry picked from commit fbb9ce014080edd085b2e998c3e6d7fb569ef0b0)

4 months agorusticl: check rustc version for flags requiring newer rustc/clippy
Karol Herbst [Wed, 20 Dec 2023 22:08:34 +0000 (23:08 +0100)]
rusticl: check rustc version for flags requiring newer rustc/clippy

Fixes: 7e74ee07e3a ("rusticl: silence clippy::arc-with-non-send-sync for now")
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26780>
(cherry picked from commit 9643671dae06701fa5ad926b6f30909407d1f8ac)

4 months agorusticl: silence clippy::arc-with-non-send-sync for now
Karol Herbst [Mon, 18 Dec 2023 22:05:58 +0000 (23:05 +0100)]
rusticl: silence clippy::arc-with-non-send-sync for now

Allows compilation with newer clippy

Cc: mesa-stable
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26764>
(cherry picked from commit 7e74ee07e3a7aebc46cbd6d724b49790cb9f9c29)

4 months ago.pick_status.json: Update to 1e6fcd6a611574241b1cde306afcc416a03ac76b
Eric Engestrom [Fri, 22 Dec 2023 15:47:28 +0000 (15:47 +0000)]
.pick_status.json: Update to 1e6fcd6a611574241b1cde306afcc416a03ac76b

4 months agoradeonsi/sqtt: use calloc instead of malloc
Pierre-Eric Pelloux-Prayer [Mon, 13 Nov 2023 20:20:12 +0000 (21:20 +0100)]
radeonsi/sqtt: use calloc instead of malloc

This makes sure the record is fully initialized and
fixes RGP crashes or missing shaders.

Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26774>
(cherry picked from commit af8e6c93473da991abbf588ce24ef409b08e84ce)

4 months agoradeonsi/sqtt: rework pm4.reg_va_low_idx
Pierre-Eric Pelloux-Prayer [Tue, 7 Nov 2023 15:05:52 +0000 (16:05 +0100)]
radeonsi/sqtt: rework pm4.reg_va_low_idx

The initial logic was to remember the place were SPI_SHADER_PGM_LO_*
are written, then assume that we can get the register offset because
the sequence would always be:

   PKT3_SET_SH_REG
   SPI_SHADER_PGM_LO_* register offset
   VA low 32 bits value <- reg_va_low_idx

The problem is that this sequence isn't guaranteed, for instance we
can get this instead:

   0   c0067600 |
   1   00000046 |
   2   003ffffd | SPI_SHADER_PGM_RSRC3_VS
   3   00000020 | SPI_SHADER_LATE_ALLOC_VS
   4 * 00002080 | SPI_SHADER_PGM_LO_VS
   5   00000080 | SPI_SHADER_PGM_HI_VS

So the assert in si_state_draw.cpp would fail as well as the VA
update logic.

So instead remember which the SPI_SHADER_PGM_LO_* offset, and the low
32 bits of the VA in si_update_shaders.

Fixes: 8034a71430b ("radeonsi/sqtt: re-export shaders in a single bo")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26774>
(cherry picked from commit b55a2065e03e0f033217b1b58a0c18e3a5e86136)

4 months agoradeonsi/sqtt: clear record_counts variable
Pierre-Eric Pelloux-Prayer [Mon, 25 Sep 2023 09:21:38 +0000 (11:21 +0200)]
radeonsi/sqtt: clear record_counts variable

This avoids hitting the asserts in ac_sqtt_finish.

Fixes: 94ce6540d8c ("ac/sqtt: add helpers for initializing ac_thread_trace_data")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26774>
(cherry picked from commit e4d537fb84369906d7eda9229f847f5d4cdfb124)

4 months agoradeonsi/sqtt: fix RGP pm4 state emit function
Pierre-Eric Pelloux-Prayer [Mon, 25 Sep 2023 09:14:20 +0000 (11:14 +0200)]
radeonsi/sqtt: fix RGP pm4 state emit function

It was missing in c3129b2b839.

Fixes: c3129b2b839 ("radeonsi: add a simple version of si_pm4_emit_state for non-shader states")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26774>
(cherry picked from commit 77098ec467fae56d3e3885d8e84137ac410e15cc)

4 months agoradv: Use correct writemask for cooperative matrix ordering.
Bas Nieuwenhuizen [Tue, 19 Dec 2023 23:19:55 +0000 (00:19 +0100)]
radv: Use correct writemask for cooperative matrix ordering.

Not expecting this to actually fix anything externally visible,
but reduces some invalid usage when the resulting vector is
not 16 elements long (e.g. the C/result matrix).

Fixes: 9df4703fbb5 ("radv: Add cooperative matrix lowering.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26768>
(cherry picked from commit 07ad6fd34a6ed32b74a3f9697545261a3fd84de2)

4 months agorusticl: do not warn on empty RUSTICL_DEBUG or RUSTICL_FEATURES
Karol Herbst [Mon, 18 Dec 2023 22:05:46 +0000 (23:05 +0100)]
rusticl: do not warn on empty RUSTICL_DEBUG or RUSTICL_FEATURES

Fixes: b90d1cfbfea ("rusticl/platform: add RUSTICL_FEATURES boilerplate")
Fixes: ca1e9917a9b ("rusticl/program: allow dumping compilation logs through RUSTICL_DEBUG")
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26764>
(cherry picked from commit 382718e0e1493ae9d654a667f4c5a75ac86422b6)

4 months ago.pick_status.json: Update to e61fae6eb8ae1ae1228d6f89329324310db808ae
Eric Engestrom [Wed, 20 Dec 2023 19:49:29 +0000 (19:49 +0000)]
.pick_status.json: Update to e61fae6eb8ae1ae1228d6f89329324310db808ae

4 months agod3d12: Fix AV1 video encode 32 bits build
Sil Vilerino [Thu, 7 Dec 2023 01:09:44 +0000 (20:09 -0500)]
d3d12: Fix AV1 video encode 32 bits build

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26573>
(cherry picked from commit 096e17b57832e96e36fc27f70e7a0e5ccbb0ac8a)

4 months agointel/fs: Don't optimize DW*1 MUL if it stores value to the accumulator
Sviatoslav Peleshko [Fri, 13 Oct 2023 02:02:22 +0000 (05:02 +0300)]
intel/fs: Don't optimize DW*1 MUL if it stores value to the accumulator

Fixes: a8b86459 ("i965/fs: Optimize a * 1.0 -> a.")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9570
Signed-off-by: Sviatoslav Peleshko <sviatoslav.peleshko@globallogic.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25710>
(cherry picked from commit 8f8cde4c6050d1e91101ec66e8982036da9d7700)

4 months agonir/loop_analyze: Don't test non-positive iterations count
Sviatoslav Peleshko [Mon, 13 Nov 2023 11:40:10 +0000 (13:40 +0200)]
nir/loop_analyze: Don't test non-positive iterations count

Testing negative iterations count makes no sense, and can cause issues
when the unsigned type is used.
Testing 0 iterations is already covered with
will_break_on_first_iteration, so it can be skipped too.

Fixes: 6772a17a ("nir: Add a loop analysis pass")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9913
Signed-off-by: Sviatoslav Peleshko <sviatoslav.peleshko@globallogic.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26173>
(cherry picked from commit a6459e0f7bcb662130c79764ccf54ccfa9151182)

4 months agoegl/glx: fallback to software when Zink is forced and fails
José Expósito [Tue, 14 Nov 2023 08:23:23 +0000 (09:23 +0100)]
egl/glx: fallback to software when Zink is forced and fails

When `MESA_LOADER_DRIVER_OVERRIDE` is set to `zink` and the display
initialization fails, fallback to software rendering.

The error was reported in #10123 and it can be reproduced with:

    $ MESA_LOADER_DRIVER_OVERRIDE=zink eglinfo

`eglinfo` would crash in `dri2_display_release()` because of
`assert(dri2_dpy->ref_count > 0)`.

After bisecting the error to commit 8cd44b884387 ("egl/glx: add
autoloading for zink"), I found out that, before this change, the
display was set to initialized even when `_eglDriver.Initialize(disp)`
failed:

    disp->Options.Zink = env && !strcmp(env, "zink");
    // disp->Options.Zink is true

    if (!_eglDriver.Initialize(disp)) {
       [...]
       // Zink initialization has failed at this point
       // However, success is set to true:
       bool success = disp->Options.Zink;
       if (!disp->Options.Zink && !getenv("GALLIUM_DRIVER")) {
          [...]
       }
       // Software initialization is ignored because success is true
       if (!success) {
          [...]
       }
    }

    // The display is set as initialized even though it shouldn't
    disp->Initialized = EGL_TRUE;

Resolves: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10123
Fixes: 8cd44b884387 ("egl/glx: add autoloading for zink")
Signed-off-by: José Expósito <jexposit@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26184>
(cherry picked from commit d913927fe9201f0fea71ef0e614b9c400c122d49)

4 months agod3d12: Only destroy the winsys during screen destruction, not reset
Jesse Natalie [Mon, 18 Dec 2023 18:44:25 +0000 (10:44 -0800)]
d3d12: Only destroy the winsys during screen destruction, not reset

Fixes: 81c8e89f ("d3d12: Fix screen->winsys leak in d3d12_screen")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26744>
(cherry picked from commit 325fb6e26b62326c86514d263ffedd241fd36865)

4 months agoglx: Handle IGNORE_GLX_SWAP_METHOD_OML regardless of GLX_USE_APPLEGL
Michel Dänzer [Thu, 14 Dec 2023 10:43:44 +0000 (11:43 +0100)]
glx: Handle IGNORE_GLX_SWAP_METHOD_OML regardless of GLX_USE_APPLEGL

Avoids tons of

 WARNING: unknown fbconfig attribute from server: tag 0x8060 value 0x8063

messages with LIBGL_DEBUG=verbose.

Fixes: e64ab3e4a94c ("glx: Delete support for GLX_OML_swap_method.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26685>
(cherry picked from commit f0594915e631877bcdf8ce67636143a017b41fb1)

4 months agogallium/dri: Return __DRI_ATTRIB_SWAP_UNDEFINED for _SWAP_METHOD
Michel Dänzer [Thu, 14 Dec 2023 10:32:53 +0000 (11:32 +0100)]
gallium/dri: Return __DRI_ATTRIB_SWAP_UNDEFINED for _SWAP_METHOD

In contrast to __DRI_ATTRIB_SWAP_EXCHANGE, this is compatible with Mesa
< 23.3 on the client side.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10080
Fixes: e64ab3e4a94c ("glx: Delete support for GLX_OML_swap_method.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26685>
(cherry picked from commit 9548f969bda1075b20dd56a73cbf1e35c0cf7aba)

4 months agoiris: use intel_needs_workaround with 14015055625
Tapani Pälli [Fri, 15 Dec 2023 08:15:32 +0000 (10:15 +0200)]
iris: use intel_needs_workaround with 14015055625

This was missing from the FS stage primitive-id check. Also add usage
of macro to avoid running any extra code on platforms where this WA
would not apply.

Fixes: 0f147240398 ("iris: Implement Wa_14015297576")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26709>
(cherry picked from commit 82553774e2d1c3edff4c8e8683808d159846f83d)

4 months agointel/compiler: move gen5 final pass to actually be final pass
Dave Airlie [Mon, 18 Dec 2023 06:47:56 +0000 (16:47 +1000)]
intel/compiler: move gen5 final pass to actually be final pass

This got broken by the register conversion, this pass needs to be
after all the others.

Fixes: ce75c3c3fea9 ("intel: Switch to intrinsic-based registers")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26731>
(cherry picked from commit f76f4be301ef311e6be21486b6a3f5fd5e90240f)

4 months ago.pick_status.json: Update to 670a799ebff9a98daafccf49324c2a01311b0c41
Eric Engestrom [Wed, 20 Dec 2023 00:01:45 +0000 (00:01 +0000)]
.pick_status.json: Update to 670a799ebff9a98daafccf49324c2a01311b0c41

5 months agovulkan/wsi/wayland: ensure drm modifiers stored in chain are immutable
Yiwei Zhang [Sat, 9 Dec 2023 23:31:05 +0000 (23:31 +0000)]
vulkan/wsi/wayland: ensure drm modifiers stored in chain are immutable

Chain stored modifiers point to the mapping of the current feedback
shmem of the surface. The surface tracked feedback mapping will be gone
and replaced with new mapping during surface_dmabuf_feedback_done. There
are two issues here:
1. One issue is that the existing mapping is closed before been used to
   compare against new modifiers in sets_of_modifiers_are_the_same.
2. The other issue is that when the chain is still optimal, the chain
   persists while the mapping is still replaced with the one from the
   new format table shmem.

This change makes a deep copy of the modifiers to store in the chain to
ensure the modifiers used for the current chain are immutable through
the chain lifecycle.

Cc: mesa-stable
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26618>
(cherry picked from commit ddf2ca4faffdd309638aa0ebfcba2c43b4fc439d)

5 months agovulkan: Fix dynamic graphics state enum usage
George Ouzounoudis [Thu, 24 Aug 2023 17:03:02 +0000 (20:03 +0300)]
vulkan: Fix dynamic graphics state enum usage

Simply replace the correct rasterization stream enum

Fixes: 9d0ed9cbcc01 ("vulkan: Add more dynamic rasterizer state")
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24872>
(cherry picked from commit d8945dd51e47a026b5219b9f9d89fedb4ace04ca)

5 months agovulkan/wsi: fix build when platform headers are installed in non-standard locations
Eric Engestrom [Fri, 15 Dec 2023 18:21:49 +0000 (18:21 +0000)]
vulkan/wsi: fix build when platform headers are installed in non-standard locations

Anything that uses the platform defines in `vulkan_wsi_list` will need
to be able to resole the includes they trigger, which are provided by
`vulkan_wsi_deps`.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10304
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26715>
(cherry picked from commit 8043e8c4a66673675b2e1018f214e471942c717d)

5 months agoradv/rt: Initialize unused children in PLOC early-exit
Friedrich Vock [Fri, 15 Dec 2023 16:40:35 +0000 (17:40 +0100)]
radv/rt: Initialize unused children in PLOC early-exit

Bad things happen when these aren't initialized.

Fixes GPU hangs when loading Avatar: Frontiers of Pandora savegames.

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26712>
(cherry picked from commit f9a394b753b55ccfc869568413b6fc6795dc1636)

5 months agodrirc: setup anv_assume_full_subgroups=16 for UnrealEngine5.1
Tapani Pälli [Tue, 12 Dec 2023 08:40:38 +0000 (10:40 +0200)]
drirc: setup anv_assume_full_subgroups=16 for UnrealEngine5.1

We set max subgroup size as 16 for 'UnrealEngine5.1', this improves a
customer benchmark by 50% on A750.

Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26385>
(cherry picked from commit 012b6fbe632e190138f864ae4c6c6abe4c0ee81a)

5 months agoanv/hasvk/drirc: change anv_assume_full_subgroups to have subgroup size
Tapani Pälli [Tue, 12 Dec 2023 08:30:07 +0000 (10:30 +0200)]
anv/hasvk/drirc: change anv_assume_full_subgroups to have subgroup size

Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26385>
(cherry picked from commit 7ff8f79a8841d439af449fac8b382070a7b76c9f)

5 months agonir: Scalarize bounds checked loads and stores
Faith Ekstrand [Tue, 5 Dec 2023 18:36:43 +0000 (12:36 -0600)]
nir: Scalarize bounds checked loads and stores

Fixes: 39da1deb497a ("nir/lower_io: Add a bounds-checked 64-bit global address format")
Reviewed-by: M Henning <drawoc@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26526>
(cherry picked from commit 1cf1b9d7412e94f70a5f68f81eed7ac22ad75613)

5 months agoanv: wait for CS write completion before executing secondary
Lionel Landwerlin [Wed, 13 Dec 2023 09:45:31 +0000 (11:45 +0200)]
anv: wait for CS write completion before executing secondary

Got a error state on DG2 with a jump to secondary. The secondary is
empty and padded with MI_NOOPs to workaround the CS prefetching.
According to the error state, the return jump address from the
secondary to the primary is 0x0. The ACTHD register value is 0x10, so
it seems that the command streamer indeed jumped to 0x0 and hanged on
a few dwords after that.

The return address should have been set edited by a previous
MI_STORE_DATA_IMM instruction. So it appears it did not complete in
time for the command stream to catch it. On Gfx12+ this can happend if
we do not set ForceWriteCompletionCheck.

This change also takes the opportunity to remove the padding MI_NOOPs
at the end of secondaries on Gfx12+ by using disabling the prefetching
just before jumping into secondaries and reenabling it at the
beginning of each secondary.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26665>
(cherry picked from commit 6a92af158dc132eee449c175bdee66d92c68d191)

5 months ago.pick_status.json: Updates notes for 6a92af158dc132eee449c175bdee66d92c68d191
Eric Engestrom [Sun, 17 Dec 2023 23:26:48 +0000 (23:26 +0000)]
.pick_status.json: Updates notes for 6a92af158dc132eee449c175bdee66d92c68d191

5 months agoegl/surfaceless: Fix EGL_DEVICE_EXT implementation
Robert Foss [Thu, 9 Nov 2023 14:16:46 +0000 (15:16 +0100)]
egl/surfaceless: Fix EGL_DEVICE_EXT implementation

The native_display checks are incorrect and partially never
executed due to native_display always being NULL.

Fixes: 1efaa858890 ("egl: Fix attrib_list[0] == EGL_NONE check")
Signed-off-by: Robert Foss <rfoss@kernel.org>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26131>
(cherry picked from commit cda9980f9639093cf86897a760e90c89df7b6c0f)

5 months agoci/b2c: drop passthrough of unset CI_JOB_JWT
Eric Engestrom [Tue, 12 Dec 2023 13:17:16 +0000 (13:17 +0000)]
ci/b2c: drop passthrough of unset CI_JOB_JWT

Fixes: dabc068e6c04dca7800c ("ci: Use ci-fairy minio login via token file")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26653>
(cherry picked from commit 6cc6ebde3a16f76c5fe42aac7136c3384bafe338)

5 months ago.pick_status.json: Update to 377c6b2d45ee73da3e5431846a3b4bfdd7ae2b83
Eric Engestrom [Sun, 17 Dec 2023 22:55:29 +0000 (22:55 +0000)]
.pick_status.json: Update to 377c6b2d45ee73da3e5431846a3b4bfdd7ae2b83

5 months agor600/sfn: keep workgroup and invocation ID registers for whole shader
Gert Wollny [Sun, 22 Oct 2023 19:31:08 +0000 (21:31 +0200)]
r600/sfn: keep workgroup and invocation ID registers for whole shader

For some reason one must not overwrite these values "too early", so
pin them for the whole shader.

Fixes: 79ca45 (r600/sfn: rewrite NIR backend)
Related: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10004

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25846>
(cherry picked from commit eb25c7a4e284cf5a8986978d4f35cb105c073712)

5 months agodzn: Fixes -Werror=incompatible-pointer-type
Yonggang Luo [Mon, 4 Dec 2023 17:53:09 +0000 (01:53 +0800)]
dzn: Fixes -Werror=incompatible-pointer-type

Error message:

../../src/microsoft/vulkan/dzn_device.c:3840:108: error: passing argument 5 of 'device->dev13->lpVtbl->OpenExistingHeapFromAddress1' from incompatible pointer type [-Werror=incompatible-pointer-types]

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26508>
(cherry picked from commit 767aa002304e4b53df51570d5deec2a063593ec8)

5 months agoutil/hash_table: Don't leak hash_key_u64 objects when the u64 hash table is destroyed
Boris Brezillon [Wed, 29 Nov 2023 20:02:49 +0000 (21:02 +0100)]
util/hash_table: Don't leak hash_key_u64 objects when the u64 hash table is destroyed

Allocate a ralloc sub-context which takes the u64 hash table as a parent
and attach a destructor to it so we can free the hash_key_u64 objects
that were allocated by _mesa_hash_table_u64_insert().

The order of creation of this sub-context is crucial: it needs to happen
after the _mesa_hash_table_create() call to guarantee that the
destructor is called before ht->table and its children are freed,
otherwise the _mesa_hash_table_u64_clear() call in the destructor leads
to a use-after-free situation.

Fixes: ff494361bee7 ("util: rzalloc and free hash_table_u64")
Cc: stable
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26423>
(cherry picked from commit db5166718d89ba71f8d12fbdceffb05d7c5e9a03)

5 months agoutil/hash_table: Don't leak hash_u64_key objects when the entry exists
Boris Brezillon [Fri, 1 Dec 2023 18:12:08 +0000 (19:12 +0100)]
util/hash_table: Don't leak hash_u64_key objects when the entry exists

When an entry exists, _mesa_hash_table_insert() updates the entry with
the new data/key pair, which causes a leak if the key has previously
been dynamically allocated, like is the case for hash_u64_key keys.

One solution to solve that is to do the insertion in two steps: first
_mesa_hash_table_search_pre_hashed(), and if the entry doesn't exist
_mesa_hash_table_insert_pre_hashed(). But approach forces us to do the
double-hashing twice.

Another approach is to extract the logic in hash_table_insert() that's
responsible for the searching and entry allocation into a separate helper
called hash_table_get_entry(), and keep the entry::{key,data} assignment
in hash_table_insert().

This way we can re-use hash_table_get_entry() from
_mesa_hash_table_u64_insert(), and lake sure we free the allocated
key if the entry was already present.

Fixes: 6649b840c340 ("mesa/util: add a hash table wrapper which support 64-bit keys")
Cc: stable
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26423>
(cherry picked from commit 5a60fd7b14e9a3045513a4b46ebd109c422c5b2e)

5 months agoutil/hash_table: Use FREE() to be consistent with the CALLOC_STRUCT() call
Boris Brezillon [Fri, 1 Dec 2023 17:39:31 +0000 (18:39 +0100)]
util/hash_table: Use FREE() to be consistent with the CALLOC_STRUCT() call

CALLOC_STRUCT() calls the OS abstraction layer to do the allocation.
Call FREE() to free the corresponding objects so we keep things
consistent and have proper debug traces when memory-debugging
is enabled.

Fixes: 6649b840c340 ("mesa/util: add a hash table wrapper which support 64-bit keys")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26423>
(cherry picked from commit 977cc3157dc0215c065bc3039f7fd5c8b359dc17)

5 months agoetnaviv: Add static_assert(..) to catch memory corruption
Christian Gmeiner [Wed, 13 Dec 2023 09:19:29 +0000 (10:19 +0100)]
etnaviv: Add static_assert(..) to catch memory corruption

When we start to support GPUs with more then 16 varyings the code base
tells us that there is some work to do.

Cc: mesa-stable
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26662>
(cherry picked from commit 2f205caea484e3882a209d4262f2f1ce1e0734a8)

5 months agoetnaviv: Update headers from rnndb
Christian Gmeiner [Tue, 24 Oct 2023 13:30:26 +0000 (15:30 +0200)]
etnaviv: Update headers from rnndb

Update to rnndb commit 071f5a60dcb8.

This updates VIVS_PA_SHADER_ATTRIBUTES__LEN define from 10 to 16 and
fixes memory corruption if more then 10 varyings are used. The current
upper limit for varyings is 16.

Cc: mesa-stable
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26662>
(cherry picked from commit 11ffb20b7072b4096dc4e033395f36ff6fbfd42e)

5 months agoradeonsi: fix divide by zero in si_get_small_prim_cull_info()
Timothy Arceri [Wed, 13 Dec 2023 05:48:01 +0000 (16:48 +1100)]
radeonsi: fix divide by zero in si_get_small_prim_cull_info()

This fixes a crash on startup with the game
"Ty the Tasmanian Tiger 3"

Fixes: f8a0aa685275 ("radeonsi: fix view culling for wide lines")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26661>
(cherry picked from commit bed1b8b90d844d8bf36d3d1aa7c3f83e086d9cf6)

5 months agorusticl/kernel: explicitly set rounding modes
Karol Herbst [Tue, 12 Dec 2023 14:46:48 +0000 (15:46 +0100)]
rusticl/kernel: explicitly set rounding modes

Since dbbf566588c ("aco,ac/llvm,radeonsi: lower f2f16 to f2f16_rtz in nir")
radeonsi behavior changed and some of the core fp16 ops broke as a result.

We should explicitly specify the rounding mode until we add an gallium API
for drivers to advertize what they prefer.

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26655>
(cherry picked from commit d136583c82d5036696b322bbe966490b321c96e1)

5 months agoradv,vtn,driconf: Add and use radv_rt_ssbo_non_uniform workaround for Crysis 2/3...
Friedrich Vock [Wed, 29 Nov 2023 00:20:54 +0000 (01:20 +0100)]
radv,vtn,driconf: Add and use radv_rt_ssbo_non_uniform workaround for Crysis 2/3 Remastered

Crysis 2 and 3 Remastered's RT shaders non-uniformly index into SSBO
descriptor arrays without specifying the NonUniformEXT qualifier on the
relevant access chains/load ops. This leads to artifacts around objects.

To add insult to injury, the game fails to provide a meaningful
applicationName/engineName in the Vulkan part of the DX11-Vulkan interop
solution used for RT. Both of these fields are set to "nvpro-sample"
(perhaps the code has been copied from NVIDIA's sample applications).
Therefore, fall back to executable name matching.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9883
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26391>
(cherry picked from commit f1817ab7e03f188164c7d6850149781066418d49)

5 months agoci/freedreno: fail introduced by ARB_post_depth_coverage
David Heidelberg [Tue, 12 Dec 2023 17:01:04 +0000 (18:01 +0100)]
ci/freedreno: fail introduced by ARB_post_depth_coverage

Fixes: fd00e994449d ("freedreno/a6xx: ARB_post_depth_coverage")

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26611>
(cherry picked from commit c2558a2df8c3a018820022583d9221f371801cbc)

5 months agoci/freedreno: timestamp-get no longer fails on Adreno
David Heidelberg [Tue, 12 Dec 2023 14:51:44 +0000 (15:51 +0100)]
ci/freedreno: timestamp-get no longer fails on Adreno

Fixes: 659e557676d2 ("freedreno: Fix timestamp conversion")
Cc: mesa-stable #23.3
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26611>
(cherry picked from commit 5527c090f41ab665efe1a89936f7306d201a1faa)

5 months agoanv: fix incorrect queue_family access on command buffer
Lionel Landwerlin [Tue, 12 Dec 2023 08:04:21 +0000 (10:04 +0200)]
anv: fix incorrect queue_family access on command buffer

The queue_family field is not an array, but a pointer.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 9866c4e32b ("anv: Skip layout transition on the compute queue")
Reviewed-by: Rohan Garg <rohan.garg@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26645>
(cherry picked from commit aa8c88f96cd3cc0078edfdff1e1cd7f40869a883)

5 months agonir/divergence: handle printf intrinsic
Lionel Landwerlin [Thu, 30 Nov 2023 17:13:07 +0000 (19:13 +0200)]
nir/divergence: handle printf intrinsic

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26505>
(cherry picked from commit 4e4a3820abc9f4de717393ecc51700c7b798fd79)

5 months agonir/clone: fix missing printf_info clone
Lionel Landwerlin [Thu, 19 Oct 2023 13:48:26 +0000 (16:48 +0300)]
nir/clone: fix missing printf_info clone

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26505>
(cherry picked from commit 81b3dea9937baefd19d1791e1a592eec443f9085)

5 months ago.pick_status.json: Update to d761871761e5fe7d498b0cc818ed627698ed1225
Eric Engestrom [Wed, 13 Dec 2023 18:34:33 +0000 (18:34 +0000)]
.pick_status.json: Update to d761871761e5fe7d498b0cc818ed627698ed1225

5 months agodocs: add sha256sum for 23.3.1
Eric Engestrom [Wed, 13 Dec 2023 19:15:13 +0000 (19:15 +0000)]
docs: add sha256sum for 23.3.1

5 months agoVERSION: bump for 23.3.1
Eric Engestrom [Wed, 13 Dec 2023 18:58:59 +0000 (18:58 +0000)]
VERSION: bump for 23.3.1

5 months agodocs: add release notes for 23.3.1
Eric Engestrom [Wed, 13 Dec 2023 18:57:25 +0000 (18:57 +0000)]
docs: add release notes for 23.3.1

5 months agoci: do not mount already mounted directories
Juan A. Suarez Romero [Wed, 6 Dec 2023 11:42:37 +0000 (12:42 +0100)]
ci: do not mount already mounted directories

In some cases we are using an initramfs image that pre-mounts some of
the directories, so let's skip them in the next stage.

Reviewed-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26552>
(cherry picked from commit d0ae58f4134bededcab45cf80dc9f194fdc1bdf3)

5 months agoci/baremetal: make BM_BOOTCONFIG optional
Juan A. Suarez Romero [Wed, 6 Dec 2023 11:39:49 +0000 (12:39 +0100)]
ci/baremetal: make BM_BOOTCONFIG optional

In some cases we can have the config.txt boot file already available in
the tftp folder.

Reviewed-by: Eric Engestrom <eric@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26552>
(cherry picked from commit f97e065c4f72856eccefcbf7dbe72253a6918294)

5 months agoci: fix kdl commit fetch
Eric Engestrom [Sat, 18 Nov 2023 16:12:17 +0000 (16:12 +0000)]
ci: fix kdl commit fetch

Doing a `clone --depth 1` of the default branch then checking out
a commit that might not be the latest of that branch cannot work.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26270>
(cherry picked from commit 5efa4d56e2b7f2440d263ffb794ab3247d70d529)

5 months agodriconfig: add a workaround for Hades (Vulkan backend)
Yiwei Zhang [Sat, 9 Dec 2023 06:02:10 +0000 (06:02 +0000)]
driconfig: add a workaround for Hades (Vulkan backend)

Vulkan backend of Hades can only handle at most 3 swapchain images.

It affects all drivers after below commit:
04d654a5d0b7bb4a072f515f6fbe2a686fc7f7f8

and then only affects specific driver backend which enables
extra_xwayland_image in wsi device options after below commit:
c1a62476acefcc94de9fd8e7f74d6bd9576796a7

Cc: mesa-stable
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Renato Pereyra <renatopereyra@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26607>
(cherry picked from commit 88c5affacf947ce64361fbe4155d2d9600f6a981)

5 months agospirv: add missing build dependency
Eric Engestrom [Sun, 10 Dec 2023 16:35:53 +0000 (16:35 +0000)]
spirv: add missing build dependency

Fixes: 59a72570b66ad7c4fd95 ("compiler: Move spirv into a module of its own")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10277
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26624>
(cherry picked from commit c51e40dd8b031fb43993e3e6413c035f81ab1afa)

5 months agonir: Handle divergence for decl_reg
Ian Romanick [Thu, 30 Nov 2023 21:30:53 +0000 (13:30 -0800)]
nir: Handle divergence for decl_reg

Once decl_reg is handled, src[0].ssa->divergent will be properly set, so
load_reg and load_reg_indirect do not need special treatment.

shader-db can run to completion on HSW, IVB, and SNB now. No other
testing was done.

v2: Refactor nir_intrinsic_load_reg and nir_intrinsic_load_reg_indirect
handling. Suggested by Daniel Schürmann.

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Fixes: 4fd257d20fe ("nir: Properly handle divergence for load_reg")
Fixes: 6dbb5f1e07b ("intel/fs: rerun divergence analysis prior to convert_from_ssa")
Closes: #10233
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26436>
(cherry picked from commit 7fce0a5598fbfba73e10460b37865fe54b7c5bfc)

5 months agodocs: drop unused manual optimizations override
David Heidelberg [Sun, 10 Dec 2023 16:02:35 +0000 (17:02 +0100)]
docs: drop unused manual optimizations override

Fixes: ed4fd1d90e3f ("util: cleanup cpuinfo.* and it's related files")

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26620>
(cherry picked from commit 81be60a2330296eef1186d6508a2a48e5483bc1a)

5 months ago.pick_status.json: Update to a921a69010102c6e35267066dc8a50461cae46fd
Eric Engestrom [Tue, 12 Dec 2023 09:59:52 +0000 (09:59 +0000)]
.pick_status.json: Update to a921a69010102c6e35267066dc8a50461cae46fd

5 months agovenus: fix query feedback copy sanitize off by 1
Juston Li [Fri, 8 Dec 2023 21:51:12 +0000 (13:51 -0800)]
venus: fix query feedback copy sanitize off by 1

Copy sanitization incorrectly included +1 range of the reset.

Eg Reset Query=0 QueryCount=5 is [0,5) exclusive, not [0,5] inclusive.

Fixes: 5b24ab91e43 ("venus: switch to unconditionally deferred query feedback")

Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26603>
(cherry picked from commit 4f2b4b81d16edec691940f84e9b2b8e2cdb3dfd4)

5 months agofreedreno/a6xx: Fix NV12+UBWC import
Rob Clark [Fri, 8 Dec 2023 19:30:44 +0000 (11:30 -0800)]
freedreno/a6xx: Fix NV12+UBWC import

Treat R8_G8B8_420_UNORM and NV12 the same, because dri2 frontend doesn't
understand or care about the difference from the sampler PoV.

Fixes: 1e820ac12850 ("freedreno: Rework supported-modifiers handling")
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26601>
(cherry picked from commit 2132f95de0b0f291b116a67149793eaac2e2b5bf)

5 months agomeson: Update lua wrap to 5.4.6-4
Mark Collins [Tue, 14 Nov 2023 07:43:10 +0000 (07:43 +0000)]
meson: Update lua wrap to 5.4.6-4

This version of the lua wrap fixes installation of the library which
was previously causing liblua SOs to be missing when Mesa was installed
using `meson install`.

Signed-off-by: Mark Collins <pixelyion@protonmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26185>
(cherry picked from commit fa0476fa6e98b3ccdbcbe5d562ab8dbb7cba0c84)

5 months ago.pick_status.json: Update to 9ab59574ef162393f89c36980a366eeb8ecccb64
Eric Engestrom [Sun, 10 Dec 2023 17:27:26 +0000 (17:27 +0000)]
.pick_status.json: Update to 9ab59574ef162393f89c36980a366eeb8ecccb64

5 months agonvk: fix transform feedback with multiple saved counters.
Dave Airlie [Thu, 7 Dec 2023 03:14:34 +0000 (13:14 +1000)]
nvk: fix transform feedback with multiple saved counters.

The SET_STREAM_OUT_BUFFER_LOAD_WRITE_POINTER registers have an
8 dword stride, but the code is only adding one dword between them
then the MME is calling an illegal method.

This is the simple fix, otherwise I think we'd have to multiply
somehow in the MME which seems pointless.

Fixes KHR-GL45.transform_feedback* on zink on nvk.

Fixes: 5fd7df4aa2c3 ("nvk: Support for vertex shader transform feedback")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26558>
(cherry picked from commit 1b27a6be20732b251648c5ca6f93e6c0a9279f7f)

5 months agovenus: properly initialize ring monitor initial alive status
Yiwei Zhang [Tue, 28 Nov 2023 20:17:29 +0000 (12:17 -0800)]
venus: properly initialize ring monitor initial alive status

This avoids a potential race condition if two threads are competing for
the monitor with the initial states, and the losing one may run into
alive status being false and abort.

Fixes: 4a4b05869a6 ("venus: check and configure new ringMonitoring feature")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reported-by: Lina Versace <lina@kiwitree.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26179>
(cherry picked from commit 8ac7d78bf3512aa7575f9c8595494ea592ab2e58)