Eric Engestrom [Wed, 10 Jan 2024 09:29:48 +0000 (09:29 +0000)]
Vinson Lee [Fri, 29 Dec 2023 08:08:24 +0000 (00:08 -0800)]
ac/rgp: Fix single-bit-bitfield-constant-conversion warning
../src/amd/common/ac_rgp.c:119:48: warning: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Wsingle-bit-bitfield-constant-conversion]
119 | header->flags.is_semaphore_queue_timing_etw = 1;
| ^ ~
Fixes:
ed0c8522437 ("radv: add initial SQTT files generation support")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26839>
(cherry picked from commit
568f61787a5cd1a69c799d935c364138ff415a1e)
Dave Airlie [Fri, 27 Oct 2023 04:17:56 +0000 (14:17 +1000)]
radv: don't emit cp dma packets on video rings.
Only emit this on the gfx/ace rings.
Fixes hangs with CTS on video decode with navi3x.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26945>
(cherry picked from commit
71bd479a7f43ad80955e2c5043a1229e3fe35e2d)
Georg Lehmann [Sun, 7 Jan 2024 10:22:19 +0000 (11:22 +0100)]
aco: fix applying input modifiers to DPP8
Cc: mesa-stable
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26919>
(cherry picked from commit
a90d154f62d949e1d2315d7d09975fb1fcbce489)
Konstantin Seurer [Wed, 27 Dec 2023 14:19:12 +0000 (15:19 +0100)]
vtn: Remove transpose(m0)*m1 fast path
This is broken for games that rely on invariant geometry since the usage
of matrices can affect how gl_Position is computed. The fdot fastpath
relied on if and how fdot is lowered for correctness.
Totals from 6578 (7.73% of 85071) affected shaders:
MaxWaves: 147190 -> 147170 (-0.01%)
Instrs: 4451406 -> 4438140 (-0.30%); split: -0.31%, +0.01%
CodeSize:
23553020 ->
23541772 (-0.05%); split: -0.07%, +0.03%
VGPRs: 302304 -> 302328 (+0.01%)
SpillSGPRs: 1309 -> 1329 (+1.53%)
Latency:
22509985 ->
22177164 (-1.48%); split: -1.48%, +0.00%
InvThroughput: 4862795 -> 4842951 (-0.41%); split: -0.41%, +0.01%
VClause: 85035 -> 84998 (-0.04%); split: -0.06%, +0.02%
SClause: 131008 -> 131055 (+0.04%); split: -0.02%, +0.05%
Copies: 298935 -> 298060 (-0.29%); split: -0.71%, +0.41%
PreSGPRs: 266833 -> 267292 (+0.17%); split: -0.85%, +1.03%
PreVGPRs: 249511 -> 249601 (+0.04%)
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9562
cc: mesa-stable
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26821>
(cherry picked from commit
4d02543853eb86c6c3cb6dd2a84e9a673b44001f)
Daniel Schürmann [Wed, 24 Aug 2022 16:05:32 +0000 (18:05 +0200)]
nir/opt_move_discards_to_top: don't schedule discard/demote across subgroup operations
Fixes:
b447f5049b6d68fd80b7337bc1f7c79b1b1a4765 ('nir: Add a discard optimization pass')
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18249>
(cherry picked from commit
d434a127f9df32f67f901362b8d02ef9b564115e)
Leo Liu [Sat, 6 Jan 2024 02:26:21 +0000 (21:26 -0500)]
gallium/vl: match YUYV/UYVY swizzle with change of color channels
Update the sampler views with the color channels, that fixes the issue
caused by: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20815
It fixes the case:
`gst-launch-1.0 -v -v filesrc location=file.jpg ! jpegparse ! vaapijpegdec ! imagefreeze ! vaapisink`
Fixes:
dc2119bf3f ("util/format: Fix wrong colors when importing YUYV and UYVY")
Cc: mesa-stable
Signed-off-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Sathishkumar S <sathishkumar.sundararaju@amd.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26911>
(cherry picked from commit
9eac06521a810ea5e2276cd82be1e21fedfe2710)
Marek Olšák [Sat, 6 Jan 2024 22:57:26 +0000 (17:57 -0500)]
glthread: don't unroll draws using user VBOs with GLES
The unrolling uses glBegin, which is unsupported by GLES and the GL
dispatch fails.
Fixes:
50d791ca73e52c6 - glthread: add a vertex upload path that unrolls indices for glDrawElements
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26916>
(cherry picked from commit
56b4d199a05ef8f9d73ad3215b27238231a477fb)
Connor Abbott [Thu, 7 Dec 2023 12:27:12 +0000 (07:27 -0500)]
ir3/legalize: Fix helper propagation with b.any/b.all/getone
We need to set uses_helpers_beginning in order to propagate it to
predecessor blocks.
Fixes:
aa322a37fcb ("ir3: Implement helper invocation optimization")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26564>
(cherry picked from commit
862df28f6b1c42ec4b716cdcdd427cd1eab43899)
Lionel Landwerlin [Mon, 8 Jan 2024 10:17:54 +0000 (12:17 +0200)]
intel/fs: fix depth compute state for unchanged depth layout
There is no VK CTS exercising this case. If there was we would run
into hangs as noticed in
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26876
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26923>
(cherry picked from commit
4b30b46ffdbc962f09ef87529a71d78cf514f8d8)
Dave Airlie [Thu, 21 Dec 2023 00:39:08 +0000 (10:39 +1000)]
intel/compiler: reemit boolean resolve for inverted if on gen5
Gen5 adds some boolean conversion instructions after nir emits,
but that nir srcs don't line up with them, so reemit the boolean
conversion if we reemit the inot.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes:
31b5f5a51f3a ("nir/opt_if: Simplify if's with general conditions")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26782>
(cherry picked from commit
56a72e014fcda3c52cf119115cb71fce2fad86d8)
Lionel Landwerlin [Wed, 27 Dec 2023 20:20:22 +0000 (22:20 +0200)]
isl: implement Wa_22015614752
This workaround requires 64Kb alignment for compression with multiple
engine accesses.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8614
Reviewed-by: Jianxun Zhang <jianxun.zhang@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26890>
(cherry picked from commit
f12ffc6b0486944c362760e70eb1774cd4fe1950)
Mary Guillemard [Tue, 21 Nov 2023 08:29:41 +0000 (09:29 +0100)]
zink: Always fill external_only in zink_query_dmabuf_modifiers
Fix piglit.spec@ext_image_dma_buf_import@ext_image_dma_buf_import-modifiers
randomly skipping some tests as external_only content was never initialized.
Cc: mesa-stable
Reviewed-by: default avatarMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26305>
(cherry picked from commit
b6d828576e1d561ad49c01f19c1cb5ba39e3832a)
Mary Guillemard [Tue, 21 Nov 2023 08:17:16 +0000 (09:17 +0100)]
zink: Initialize pQueueFamilyIndices for image query / create
Fixes:
d922850e365 ("zink: break out image/buffer create info structs into helper funcs")
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26303>
(cherry picked from commit
db0f177edd793f30edee44c101bfdc7f9ea6e788)
Karol Herbst [Thu, 4 Jan 2024 01:42:16 +0000 (02:42 +0100)]
zink: fix heap-use-after-free on batch_state with sub-allocated pipe_resources
zink_bo_create can run into a heap-use-after-free when the bo is still
referencing an batch_state from an older destroyed context. In order to
fix this, every context gives back their batch_states to the zink, where
they can be reused from for new contexts.
Cc: mesa-stable
Suggested-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26889>
(cherry picked from commit
b06f6e00fba6e33c28a198a1bb14b89e9dfbb4ae)
Eric Engestrom [Mon, 8 Jan 2024 15:15:06 +0000 (15:15 +0000)]
Eric Engestrom [Mon, 8 Jan 2024 15:13:32 +0000 (15:13 +0000)]
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)
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)
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)
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)
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)
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)
Eric Engestrom [Thu, 4 Jan 2024 18:31:24 +0000 (18:31 +0000)]
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)
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)
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)
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)
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)
Eric Engestrom [Wed, 3 Jan 2024 23:02:03 +0000 (23:02 +0000)]
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)
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)
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)
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)
Eric Engestrom [Tue, 2 Jan 2024 16:20:06 +0000 (16:20 +0000)]
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)
Eric Engestrom [Thu, 28 Dec 2023 12:04:21 +0000 (12:04 +0000)]
Eric Engestrom [Thu, 28 Dec 2023 12:04:19 +0000 (12:04 +0000)]
Eric Engestrom [Thu, 28 Dec 2023 12:04:05 +0000 (12:04 +0000)]
Eric Engestrom [Thu, 28 Dec 2023 12:07:15 +0000 (12:07 +0000)]
Eric Engestrom [Wed, 27 Dec 2023 22:34:20 +0000 (22:34 +0000)]
docs: add sha256sum for 23.3.2
Eric Engestrom [Wed, 27 Dec 2023 22:27:12 +0000 (22:27 +0000)]
VERSION: bump 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
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)
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)
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)
Eric Engestrom [Wed, 27 Dec 2023 13:39:24 +0000 (13:39 +0000)]
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)
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)
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)
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)
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)
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)
Eric Engestrom [Fri, 22 Dec 2023 15:47:28 +0000 (15:47 +0000)]
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)
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)
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)
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)
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)
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)
Eric Engestrom [Wed, 20 Dec 2023 19:49:29 +0000 (19:49 +0000)]
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)
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)
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)
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)
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)
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)
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)
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)
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)
Eric Engestrom [Wed, 20 Dec 2023 00:01:45 +0000 (00:01 +0000)]
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)
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)
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)
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)
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)
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)
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)
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)
Eric Engestrom [Sun, 17 Dec 2023 23:26:48 +0000 (23:26 +0000)]
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)
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)
Eric Engestrom [Sun, 17 Dec 2023 22:55:29 +0000 (22:55 +0000)]
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Eric Engestrom [Wed, 13 Dec 2023 18:34:33 +0000 (18:34 +0000)]
Eric Engestrom [Wed, 13 Dec 2023 19:15:13 +0000 (19:15 +0000)]
docs: add sha256sum for 23.3.1