Commit graph

211415 commits

Author SHA1 Message Date
Calder Young
a8e64e83c2 anv: Update video test expectations for layered_dpb
Remove all layered_dpb fails that have a passing separated_dpb equivalent

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35651>
2025-09-03 06:41:44 +00:00
Calder Young
0b911356e5 anv: Report disjoint images as unsupported for video usage
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35651>
2025-09-03 06:41:44 +00:00
Calder Young
9bbb68a817 anv: Add support for using layered surfaces in VP9 video decoding
Reviewed-by: Hyunjun Ko <zzoon@igalia.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35651>
2025-09-03 06:41:44 +00:00
Calder Young
d0bf3a96f6 anv: Add support for using layered surfaces in AV1 video decoding
Reviewed-by: Hyunjun Ko <zzoon@igalia.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35651>
2025-09-03 06:41:44 +00:00
Calder Young
30b763f6e2 anv: Add support for using layered surfaces in H.264 and H.265 video coding
Reviewed-by: Hyunjun Ko <zzoon@igalia.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35651>
2025-09-03 06:41:44 +00:00
Calder Young
3fb25cc78a anv: Add support for creating layered surfaces for video encode/decode
Layered surfaces (array textures) with video encode/decode usage bits
will have their slices aligned to make them addressable to the media
engine. Multi-planar layered surfaces will be stored with their slices
interleaved so that a relative offset can be programmed between the
gamma and chroma slices.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35651>
2025-09-03 06:41:44 +00:00
Calder Young
73608eb8b7 isl: Add support for creating layered surfaces for video encode/decode
Adds support for creating layered surfaces with slices that are addressable
to the media engine for video encoding and decoding.

Co-authored-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35651>
2025-09-03 06:41:44 +00:00
Samuel Pitoiset
3cb77cb144 radv/rt: fix a potential issue with RADV_PERFTEST=dmashaders
Shaders must be synchronized before doing anything.

Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37126>
2025-09-03 06:16:14 +00:00
Samuel Pitoiset
decf9af472 radv/rt: only use one user SGPR for the traversal shader addr
All shaders are allocated in the 32-bit addr space. To avoid an issue
with alignment, and also for future work, there is an unused user SGPR.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37133>
2025-09-03 05:53:41 +00:00
Qiang Yu
17647e8eeb gallium/noop: add mesh shader callbacks
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36976>
2025-09-03 10:21:17 +08:00
Qiang Yu
b366f14b51 mesa: program pipeline support mesh shader
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36976>
2025-09-03 10:21:17 +08:00
Qiang Yu
d4a71d5367 mesa: not fail the assert when detach mesh shader
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36976>
2025-09-03 10:21:17 +08:00
Qiang Yu
2ca3ad3ca2 mesa/st: convert mesh shader to gl stages
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36976>
2025-09-03 10:21:17 +08:00
Qiang Yu
6b52b371df gallium/trace: dump mesh shader queries
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36976>
2025-09-03 10:21:17 +08:00
Qiang Yu
51d6e4404a mesa: allow NULL for vertex shader when mesh pipeline
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36976>
2025-09-03 10:21:17 +08:00
Qiang Yu
3bc4004ca9 gallium/ddebug: support mesh shader
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36976>
2025-09-03 10:21:17 +08:00
Qiang Yu
e1bd743c3a gallium/u_blitter: save mesh shader
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36976>
2025-09-03 10:21:17 +08:00
Qiang Yu
5e35be338c gallium: threaded context support mesh shader
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36976>
2025-09-03 10:21:17 +08:00
Qiang Yu
f03e49c609 mesa,gallium: handle mesh shader create and delete
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36976>
2025-09-03 10:21:17 +08:00
Qiang Yu
39d2bf5e68 mesa: implement mesh shader draw calls
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36976>
2025-09-03 10:21:17 +08:00
Qiang Yu
e8a817f196 mesa: handle mesh shader in state management
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36976>
2025-09-03 10:21:17 +08:00
Qiang Yu
a47c70ce42 mesa: add mesh shader states
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36976>
2025-09-03 10:21:17 +08:00
Qiang Yu
6459dacb8b gallium: cso context support mesh shader
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36976>
2025-09-03 10:21:16 +08:00
Qiang Yu
bbd97a59c0 mesa: use bitset for driver states tracker
We are going to add 16 mesh shader states, but existing
states run out of all bits of uint64_t. So use bitset to
extend the capacity.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36976>
2025-09-03 10:21:16 +08:00
Lionel Landwerlin
0e198f796c anv/utrace: avoid memseting timestamp buffers by using tracepoint flags
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Using the flag we can deduce how the timestamp was written and avoid
guessing when reading back.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13806
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37111>
2025-09-02 21:59:56 +00:00
Lionel Landwerlin
f262865a90 anv: fix pipeline barriers with pre-rasterization stages
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Pre-rasterization stages need a CS stall if they need to wait on the
flushes from a PIPE_CONTROL.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37132>
2025-09-02 20:13:11 +00:00
Gurchetan Singh
8a9baab791 mesa3d: util: rust: add proper stubs
Fixes some errors when compiling on non-traditional platforms.

Reviewed-by: David Gilhooley <djgilhooley.gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37097>
2025-09-02 19:37:19 +00:00
Gurchetan Singh
68f957292e util: rust: fix some warnings
Fixes some warnings.

21 |     pub fn new(data: &[u8]) -> Reader {
   |                      ^^^^^     ------ the same lifetime is hidden here
   |                      |
   |                      the lifetime is elided here
   |
   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
   = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
help: use `'_` for type paths
   |
21 |     pub fn new(data: &[u8]) -> Reader<'_> {
   |                                      ++++

Reviewed-by: David Gilhooley <djgilhooley.gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37097>
2025-09-02 19:37:19 +00:00
Daniel Schürmann
fcf8899c9e radv/rt: use ACCESS_CAN_REORDER when loading SBT entries
Totals from 56 (0.07% of 79839) affected shaders: (Navi48)

Instrs: 2790220 -> 2790130 (-0.00%); split: -0.00%, +0.00%
CodeSize: 14704952 -> 14704292 (-0.00%)
Latency: 13994383 -> 13953444 (-0.29%); split: -0.29%, +0.00%
InvThroughput: 2717973 -> 2710748 (-0.27%); split: -0.27%, +0.00%
VClause: 68783 -> 68687 (-0.14%)
SClause: 51910 -> 52007 (+0.19%)
Copies: 223192 -> 223190 (-0.00%); split: -0.01%, +0.01%
VALU: 1557513 -> 1557451 (-0.00%); split: -0.00%, +0.00%
VMEM: 118789 -> 118692 (-0.08%)
SMEM: 66498 -> 66595 (+0.15%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36933>
2025-09-02 19:07:30 +00:00
sarbes
d0b134a71e lima: clean up unused PP struct
Reviewed-by: Erico Nunes <nunes.erico@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36541>
2025-09-02 18:44:36 +00:00
Pierre-Eric Pelloux-Prayer
9171461565 radeonsi/sqtt: retry a frame capture after reiszing the buffer
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36930>
2025-09-02 17:46:47 +00:00
Pierre-Eric Pelloux-Prayer
cd5f77f6c2 radeonsi: sync harder on finish
With the threaded submit code, there's a small window where
the fence can be signalled but the buffer lists cleanup code
from amdgpu_cs_submit_ib has not executed yet.

This is harmless in general, because num_active_ioctls is
an optimization.

When the glFinish is called though, it's best to avoid this
inconsistencies because it can create odd behavior as shown
by the flakes being fixed by this commit.
The test runs a query, uses glFinish and expect the results
to be available. Since results availability depends on
num_active_ioctls, it made the test flaky.

Fix this by syncing when PIPE_FLUSH_HINT_FINISH is set.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36930>
2025-09-02 17:46:46 +00:00
Mike Blumenkrantz
b536e38607 kopper: unwrap screen before checking cpu flag
this otherwise may access the trace screen and return garbage

Fixes: 316bf3bd8a ("kopper, dri: remove trace_screen_unwrap")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37140>
2025-09-02 17:01:38 +00:00
Alyssa Ross
6f8cdd8a3c gfxstream: guest: don't use transitional LFS64 API
musl removed the LFS64 APIs like mmap64(), which were intended to be a
transitional measure multiple decades ago, causing a build failure
here.  Since virtio-gpu sizes and offsets are 64-bit, we do still want
to make sure that we're using 64-bit mmap here, so I've added
-D_FILE_OFFSET_BITS=64, which will ensure that off_t is always 64-bit
in gfxstream guest, and which is generally the modern solution here.

With this change, I am able to build gfxstream with musl.

Fixes: fec8e296a3 ("Make VirtGpu* interfaces")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37086>
2025-09-02 16:45:20 +00:00
Simon Perretta
880098158d nir/nir_lower_calls_to_builtins: trivially handle IA64 mangled functions
Using __attribute__((overloadable)) when declaring nir ops with
variable-width params in clc results in their symbol names being (IA64)
mangled; this change enables the mangled names to be handled when later
lowering the calls.

Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36873>
2025-09-02 16:04:19 +00:00
Job Noorman
082f4b79ae bin/rb: update Alyssa's email address in test case
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Also assert that a is not None to stop pyright from complaining.

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37119>
2025-09-02 15:57:17 +00:00
Mike Blumenkrantz
1084fc6f4c mesa: add MESA_DEBUG=fallback_tex
this is one of the most common sources of misrendering, and being able
to pinpoint it immediately solves a lot of issues

Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37054>
2025-09-02 15:18:21 +00:00
Mike Blumenkrantz
5fde46f883 mesa: tag a couple framebuffer commands for MESA_VERBOSE=api
Acked-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37054>
2025-09-02 15:18:21 +00:00
Mike Blumenkrantz
5cf9318ff2 zink: add some cml flakes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37068>
2025-09-02 10:46:20 -04:00
Mike Blumenkrantz
4971b58c96 zink: don't increase db scale when resizing a db up to the current scale
this otherwise triggers infinite db scaling

cc: mesa-stable

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37068>
2025-09-02 14:43:34 +00:00
Mike Blumenkrantz
a0e149ab1d zink: reset batch descriptor states again before use on recycle
this otherwise would lead to enlarging mid-batch again, which incurs
unnecessary sync

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37068>
2025-09-02 14:43:34 +00:00
Mike Blumenkrantz
335610c302 zink: don't init non-db batch stuff in db mode
some minor memory savings

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37068>
2025-09-02 14:43:34 +00:00
Mike Blumenkrantz
fbddc97b9e zink: zero db offset on batch reset
seems weird this hasn't been caught before

cc: mesa-stable

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37068>
2025-09-02 14:43:34 +00:00
Mike Blumenkrantz
a3630c865f zink: once there are many outstanding submits, check for timeline updates
this should ensure that there are never too many cmdbufs pending

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37068>
2025-09-02 14:43:34 +00:00
Mike Blumenkrantz
86d0fc7b38 zink: stop deferring resource object unrefs
now that batch state reset is threaded, this is unnecesary

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37068>
2025-09-02 14:43:34 +00:00
Mike Blumenkrantz
cdb9bec202 zink: move buffer hashlist clear to normal batch state reset
this is threaded now so it doesn't need to be in the submit thread

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37068>
2025-09-02 14:43:34 +00:00
Mike Blumenkrantz
a184a4ca30 zink: rename zink_batch_state::unref_resources -> unref_resource_objs
more accurate

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37068>
2025-09-02 14:43:34 +00:00
Mike Blumenkrantz
3b39ecbdf8 zink: stop trying to oom prune batch states
this should be regular enough now that such checks are no longer
necessary

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37068>
2025-09-02 14:43:34 +00:00
Mike Blumenkrantz
ffa5518c45 zink: stop using atomics to check fence submit/complete
this isn't actually achieving anything since reading a "wrong" value
here isn't harmful

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37068>
2025-09-02 14:43:34 +00:00
Mike Blumenkrantz
d1f8cd54f4 zink: check ctx batch states first when finding a usable one
this ensures the completed ones get queued for recycling faster

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37068>
2025-09-02 14:43:34 +00:00