Commit Graph

183115 Commits

Author SHA1 Message Date
Eric Engestrom
26a96af808 VERSION: bump for 24.0.0-rc1 mesa-24.0.0-rc1 2024-01-11 14:19:21 +00:00
Eric Engestrom
2fab92ed9a docs: close the 23.2 cycle
There won't be any more 23.2.x releases.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26988>
24.0-branchpoint
2024-01-11 10:54:24 +00:00
Samuel Pitoiset
6f6905fc94 radv: move all per-device keys from radv_pipeline_key to radv_device_cache_key
radv_device_cache_key contains everything per-device, while
radv_pipeline_key is more like per-pipeline keys.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26948>
2024-01-11 08:37:36 +00:00
Samuel Pitoiset
4d44cea3e0 radv: introduce radv_device_cache_key for per-device cache compiler options
This replaces RADV_HASH_SHADER_xxx by radv_device_cache_key which is
a new struct that contains per-device compiler options. More options
will be moved there.

Blake3 is used to replace sha1.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26948>
2024-01-11 08:37:36 +00:00
Samuel Pitoiset
dc857e5c9e radv: initialize radv_device::disable_trunc_coord earlier
The per-device cache key will need to be initialized before compiling
any meta shaders, so this needs to be done earlier.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26948>
2024-01-11 08:37:36 +00:00
Samuel Pitoiset
10a25f39df radv: move RADV_HASH_SHADER_KEEP_STATISTICS to radv_pipeline_key
This is more like a per-pipeline option.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26948>
2024-01-11 08:37:35 +00:00
Samuel Pitoiset
4455c79299 radv: add missing disable_shrink_image_store to the pipeline key
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26948>
2024-01-11 08:37:35 +00:00
Samuel Pitoiset
3f655bc47c radv: do not issue SQTT marker with DISPATCH_MESH_INDIRECT_MULTI
According to PAL, only DISPATCH_TASKMESH_GFX is supposed to emit a
SQTT marker as part of the packet, probably because there is also
a packet emitted on ACE for executing task shaders.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10401
Fixes: 312103e0ff ("radv: set THREAD_TRACE_MARKER_ENABLE for mesh/task draws")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26936>
2024-01-11 07:59:40 +00:00
Iago Toral Quiroga
f37bb34d86 v3dv: expose VK_EXT_subgroup_size_control
This is trivial for us since we don't support variable subgroup sizes.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26968>
2024-01-11 07:21:36 +00:00
Yiwei Zhang
0b0c0511b8 venus: allow to retrieve pipeline cache on TLS ring
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26838>
2024-01-11 06:05:01 +00:00
Yiwei Zhang
bec287b2a2 venus: clean up secondary ring
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26838>
2024-01-11 06:05:01 +00:00
Yiwei Zhang
945165acad venus: TLS ring
This change adds a new venus feature: TLS ring
- co-owned by TLS and VkInstance
- initialized in TLS upon requested
- teardown happens upon thread exit or instance destroy
- teardown is split into 2 stages:
  1. one owner locks and destroys the ring and mark destroyed
  2. the other owner locks and frees up the tls ring storage

TLS ring supercedes the prior secondary ring and enables multi-thread
shader compilation and reduces the loading time of ROTTR from ~110s to
~21s (native is ~19s).

TLS ring is in fact a synchronous ring by design, and can be used to
redirect all exisiting synchronous submissions trivially. e.g. upon any
vn_call_*, request a TLS ring, wait for deps and then submit.

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26838>
2024-01-11 06:05:01 +00:00
Yiwei Zhang
30316246d0 venus: make tls hint specific to pipeline creation
This is to prepare for a new multi-ring design. A preview is as below:
- primary ring will migrate to be asynchronous only
- synchronous commands will be via thread local rings
- pipeline creations will be synchronous and dispatched to thread local
  rings unless being forced to be async on primary ring
- perf option no_multi_ring is made generic to force a single ring

Pipeline cache retrieval is temporarily moved back to primary ring, but
will be moved to thread local later since it's a synchronous command.
The dependency resolving will follow the same with pipeline create with
detailed rationale later.

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26838>
2024-01-11 06:05:01 +00:00
Juston Li
813b1939f6 venus: add LRU cache eviction for image mem reqs cache
Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26118>
2024-01-11 01:40:06 +00:00
Juston Li
b51ff22fbe venus: support caching image memory requirements
Similar idea to buffer memory requirements cache but CreateImage has
many more params that may affect the memory requirements.

Instead of a sparse array, generate a SHA1 hash of all the relevant
VkImageCreateInfo params including relevant pNext structures and use
part of the hash as a key to a hash table that stores the cache entries.

Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26118>
2024-01-11 01:40:06 +00:00
Juston Li
a32d76b545 venus: use vk_format helper for plane count
Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26118>
2024-01-11 01:40:06 +00:00
Juston Li
cb12a22264 venus: rename buffer cache to buffer reqs cache
Be more explicit in the name that it caches buffer memory requirements.

Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26118>
2024-01-11 01:40:06 +00:00
Daniel Stone
f2a593f756 ci: Re-enable Collabora farm
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26970>
2024-01-10 22:59:06 +00:00
Roman Stratiienko
4afcd0c6d6 u_gralloc: Add support for gbm_gralloc
Although gbm_gralloc has not been maintained for a long time, it is still
used in android-x86, BlissOS and WayDroid. Let's add support so that
x86 drivers no longer need to request tiling flags from the kernel.

Acked-by: Chia-I Wu <olvaffe@gmail.com>
Acked-by: David Heidelberg <david.heidelberg@collabora.com>
Tested-by: HMTheBoy154 <buingoc67@gmail.com>  # BlissOS 15 & Mesa 23.3.2
Tested-by: Mauro Rossi <issor.oruam@gmail.com>  # android-x86 for mesa 24.0.0-devel on Skylake GT2
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25380>
2024-01-10 22:26:18 +00:00
Eric Engestrom
b1c8ce172f docs: update calendar for 23.3.3
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26986>
2024-01-10 22:19:08 +00:00
Eric Engestrom
4895e00d26 docs: add sha256sum for 23.3.3
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26986>
2024-01-10 22:19:08 +00:00
Eric Engestrom
abf500ec84 docs: add release notes for 23.3.3
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26986>
2024-01-10 22:19:08 +00:00
Matt Turner
4ed0957ce7 nir/tests: Reenable tests that failed on big-endian
These tests were disabled due to the bug fixed in the previous commit.

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26964>
2024-01-10 21:47:30 +00:00
Matt Turner
5997cf7587 nir: Fix cast
We were wrongly telling `nir_const_value_as_uint()` that `iter` had
`bit_size` bits, but in one case it is explicitly i64. This works on
little endian platforms, but caused the nir_loop_unroll_test.fadd{,_rev}
tests to fail on big endian platforms.

Bug: https://bugs.gentoo.org/921297
Fixes: 268ad47c11 ("nir/loop_analyze: Handle bit sizes correctly in calculate_iterations")
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26964>
2024-01-10 21:47:30 +00:00
Yiwei Zhang
3923d43908 meson/vulkan/util: allow venus to drop compiler deps
Files to compile: 451 => 232

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26783>
2024-01-10 21:06:35 +00:00
Eric Engestrom
fb93475139 ci/deqp: set default platform to default instead of glx, to also support wayland
In our case (because we have the libs installed),
`-D DEQP_TARGET=default` = `xlib` (what `-D DEQP_TARGET=x11_glx` enables) + `xcb` + `wayland`

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26896>
2024-01-10 20:13:01 +00:00
Eric Engestrom
e1935daa19 ci: convert several find | xargs to find -exec
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26896>
2024-01-10 20:13:01 +00:00
Matt Turner
0ab7ea56b2 symbols-check: Add _GLOBAL_OFFSET_TABLE_
This is exported on hppa/parisc.

See also: https://gitlab.freedesktop.org/glvnd/libglvnd/-/merge_requests/291

Cc: mesa-stable
Bug: https://bugs.gentoo.org/908079
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26978>
2024-01-10 19:25:05 +00:00
Lionel Landwerlin
62c21c240e anv: remove ANV_ENABLE_GENERATED_INDIRECT_DRAWS variable
We have a threshold drirc value & environment variable.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26967>
2024-01-10 18:32:24 +00:00
Samuel Pitoiset
59c05b9cfa Revert "radv/rt: Lower ray payloads to registers"
This causes GPU hangs with vkd3d-proton in CI.

This reverts commit 658ce711d5.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26983>
2024-01-10 18:12:55 +00:00
Alessandro Astone
a077c14f15 zink: Fix resizable BAR detection logic
This was broken in two ways:
* When looking for the MAX biggest_ram it was actually comparing
  a candidate against biggest_vis_ram

* mem_props.memoryTypes[] should be accessed with the memory type
  index as found in heap_map

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10341
Cc: 23.3 <mesa-stable>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26979>
2024-01-10 17:53:21 +00:00
Ruijing Dong
9d1e69ca45 radeonsi/vcn: update session_info from vcn3 and up.
session_info needs to be updated to vcn4 and up, since
it is safe to change it from vcn3 to cover all the needed
VCNs, thus this change came from VCN3.

Reviewed-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26940>
2024-01-10 17:36:06 +00:00
David Heidelberg
39616c13e0 ci/rootfs: add libdrm also inside the rootfs
Fixes: 4023301010 ("ci: enable ci-deb-repo for libdrm 2.4.119 (and others in the future)")

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26971>
2024-01-10 16:39:20 +00:00
Eric Engestrom
0960fd5e8a ci: split & reuse debian version identifier
It was set on non-debian containers, and it was missing on debian-based
rootfs containers.

Fixes: 4023301010 ("ci: enable ci-deb-repo for libdrm 2.4.119 (and others in the future)")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26971>
2024-01-10 16:39:20 +00:00
Samuel Pitoiset
41cbd6f735 radv: rework declaring color arguments for PS epilogs
Rely on the actual FS outputs instead of the spi shader col format,
this is safer and it will help for future work.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26903>
2024-01-10 16:10:15 +00:00
Max R
75fa621d34 d3d10umd: Fix compilation
Fixes: 4eb4c9bba ("d3d10umd: use cso_context to set vertex buffers and elements")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10054
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26370>
2024-01-10 15:52:52 +00:00
Mike Blumenkrantz
0444d057ae zink: ignore tc buffer replacement info
without tc tracking cross-context buffer usage, this is intensely broken

Fixes: 96cf4531e1 ("Revert "gallium/u_threaded: buffer sharedness tracking"")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26959>
2024-01-10 15:35:12 +00:00
Mike Blumenkrantz
6e4d901a2e zink: fix buffer rebind early-out check
this was accidentally inverted; the rebind attempt is over if the
number of enacted rebinds >= the expected rebinds

Fixes: c32bcb9a8c ("zink: improve handling of buffer rebinds using tc info")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26959>
2024-01-10 15:35:12 +00:00
Alyssa Rosenzweig
8ddd89ffa5 nir,zink: Redefine flat_mask in terms of I/O locations
Robust against separable shaders, and still makes sense for lowered I/O drivers,
whereas just counting FS variables and expecting them to match with the VS is...
questionable.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Signed-off-by: antonino <antonino.maniscalco@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26888>
2024-01-10 14:30:14 +00:00
Roman Stratiienko
efe12ae7ee egl/android: Switch to generic buffer-info code
Switch to a new common buffer-info layer. After this change, the virgl
fallback logic is changed, but it should work as well.

Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com>
Tested-by: Mauro Rossi <issor.oruam@gmail.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24374>
2024-01-10 14:09:23 +00:00
Martin Roukala (né Peres)
ff82868a60 Revert "ci: disable mupuf's farm"
This reverts commit f5125637c085cd4b9bd6fe07813a2505aa3196cb, now that
the electricity rework is over.

Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26974>
2024-01-10 13:49:07 +00:00
Alyssa Rosenzweig
bec61b72b1 agx: clang-fmt
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963>
2024-01-10 08:44:38 -04:00
Alyssa Rosenzweig
5948e7ec2e agx: unit test split uniform opt
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963>
2024-01-10 08:44:38 -04:00
Alyssa Rosenzweig
ab7fb3d400 asahi: don't canonicalize nans/flush denorms when copying
CL image copies

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963>
2024-01-10 08:44:38 -04:00
Alyssa Rosenzweig
5cd7416542 asahi: fallback some resource copies
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963>
2024-01-10 08:44:38 -04:00
Alyssa Rosenzweig
355af1e903 agx: require min alignment for load/store vectorize
fixes test_basic vload_constant

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963>
2024-01-10 08:44:38 -04:00
Alyssa Rosenzweig
96cd467559 agx: add unit test for pcopy lowering bug
hit by test_basic.local_kernel_scope

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963>
2024-01-10 08:44:38 -04:00
Alyssa Rosenzweig
5b50040c51 agx: fix 64-bit phis with inlined immediates
test_basic  local_kernel_scope

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963>
2024-01-10 08:44:38 -04:00
Alyssa Rosenzweig
1f0abffdaf agx: expand agx_index
cl kernels can be large.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963>
2024-01-10 08:44:38 -04:00
Alyssa Rosenzweig
51f8bded0e agx: optimize split(64-bit uniform)
Trying to clean up CL.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963>
2024-01-10 08:44:38 -04:00