Commit graph

70395 commits

Author SHA1 Message Date
Valentine Burley
2b871958dc freedreno/ci: Streamline using common a6xx-skips
Use the existing DRIVER_NAME mechanism to pick up common skips.
This is less error prone than manually adding the skips.

A redundant freedreno-a618-skips.txt is also dropped, as it's already
included via GPU_VERSION.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36215>
2025-07-21 15:35:25 +00:00
Valentine Burley
89fc986e9f freedreno/ci: Remove a630 jobs
The cheza runners were decommissioned.

Rename the restricted trace results to a618 (same GPU generation) to keep
the history.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36215>
2025-07-21 15:35:25 +00:00
Alyssa Rosenzweig
a85219f89f asahi: use tex builders
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36050>
2025-07-21 12:11:42 +00:00
Alyssa Rosenzweig
d1f5953965 freedreno: use tex builder
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36050>
2025-07-21 12:11:42 +00:00
Alyssa Rosenzweig
6b34e2174e nir: introduce ergonomic tex builder
for intrinsics, we have these really nice builders using designated initializers
+ macros to specify optional indices. texture instrs have even more craziness
involved, but we can do the same trick. this commit takes the existing "fixed
form" deref-centric tex builders and generalizes them to work with non-deref
textures, making it useful also for GL and late VK passes, while providing an
API that strives to be ergonomic and consistent.

this series only implements a subset of possible texture operations for now, but
more generalizing could be added as people have need.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36050>
2025-07-21 12:11:41 +00:00
Alyssa Rosenzweig
2dd91b0d1c agx: simplify block image store offset
just make 32-bit offset.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36257>
2025-07-21 11:42:20 +00:00
Alyssa Rosenzweig
ecfca8ec6f util: crib SWAP macro from freedreno
we have a bunch of copies across the tree, unify them.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36257>
2025-07-21 11:42:18 +00:00
Karol Herbst
7ce8369985 rusticl/queue: do not return event status errors on flush/finish
Fixes random fails in the test_events userevents test as it sets an event
to -1 and clFinish returned that error code making the test fail.

Fixes: 3129fd8dcf ("rusticl/queue: check device error status")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36250>
2025-07-21 11:26:52 +00:00
David Rosca
21573c3d2d radeonsi/video: Use ac_modifier_supports_video
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36192>
2025-07-21 10:56:34 +00:00
Marek Olšák
c1a939ca11 gallium: replace get_compiler_options with pipe_screen::nir_options
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36094>
2025-07-21 00:18:20 +00:00
Marek Olšák
a30f1fa7f0 gallium: make pipe_screen::finalize_nir return void
The returned message was replaced by create_xx_state returning the message.

Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36094>
2025-07-21 00:18:20 +00:00
Lucas Stach
5afcf93a59 etnaviv: use new shader range registers when icache is present
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
As seen in the Vivante kernel driver context init, GPUs with the icache
feature have a new set of states to specify the shader ranges. While the
old state still seems to work, it limits the size of the shader that can
be executed to 64K instructions. The new range states holds up to 20 bits
according to the comment in the Vivante kernel driver, which allows up
to 1M instructions.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36114>
2025-07-20 11:44:52 +00:00
Lucas Stach
534b948a9c etnaviv: don't emit start/end PC states when unified instmem is present
Cores with unified instruction memory get the start and end points of
the shaders via the shader range registers. Don't emit the unnecessary
START_PC and END_PC states on those cores.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36114>
2025-07-20 11:44:52 +00:00
Lucas Stach
a0d4418de3 etnaviv: update code steering bit when writing shader instructions
When writing new shader instructions through the unified state area
we must tell the GPU which caches to flush by setting the appropriate
code steering bit. Failing to do this doesn't seem to have much of an
effect when only loading shaders through the state memory, but when
toggling between using icache (as in load shaders from memory) and
loading instructions from the state area, this fixes severe corruption
and GPU hangs due to old code being executed.

Programming the steering bits is only needed for GPUs with either
unified instruction or unified uniform states.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36114>
2025-07-20 11:44:51 +00:00
Lucas Stach
845e7c4426 etnaviv: stop touching code steering bits while updating uniforms
Bit 0 of the SH_CONTROL register does not control uniform cache
flushes so stop touching this bit when updating the uniforms.
While it is harmless to change the bit at this time in the emit
sequence, it's confusing and not needed.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36114>
2025-07-20 11:44:51 +00:00
Lucas Stach
b093fa9dcf etnaviv: Update headers from rnndb
Update from rnndb commit 19bc9377a80a ("rnndb: rename
UNIFORM_CACHE to CONTROL and document code cache flushing")

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36114>
2025-07-20 11:44:51 +00:00
Asahi Lina
140c625bda asahi: Ensure shared BOs have a prime_fd
The GL driver expects special sync handling when a buffer is newly
exported, and also requires that bo->prime_fd be set so the batch code
can use it later. Add a function to do this for the KMS export case,
which otherwise would not need a PRIME fd.

agx_bo_export() then becomes a simple dup of bo->prime_fd (which is
probably marginally faster than redoing drmPrimeHandleToFD() anyway).

The thread safety story here is that as long as we do all this the first
time a BO is exported (in any way), there is no way for another thread
to have gotten ahold of the BO already, so no need for extra locking.

This does not affect hk, since it doesn't rely on bo->prime_fd for
anything. It also doesn't affect the timestamp BO and other special
cases.

Fixes: 067d820c9d ("asahi: Mark KMS exported resource BOs as shared")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13563
Signed-off-by: Asahi Lina <lina@asahilina.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36241>
2025-07-20 00:45:48 +09:00
Pohsiang (John) Hsu
4f7076f458 mediafoundation: change frame preanalysis rc from ifdef to runtime control
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
add support for specifying the following experimental controls

- CODECAPI_AVEncVideoRateControlFramePreAnalysis
- CODECAPI_AVEncVideoRateControlFramePreAnalysisExternalReconDownscale

to make testing easier.

Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36236>
2025-07-19 01:28:01 +00:00
Sil Vilerino
71f61ae7bb mediafoundation: Do GPU-GPU encoder sync for two-pass input vpblit
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36236>
2025-07-19 01:28:01 +00:00
Sil Vilerino
2142f03031 mediafoundation: Fix recon pic two pass VPBlit target
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36236>
2025-07-19 01:28:01 +00:00
Wenfeng Gao
f6e95a7233 mediafoundation: support CODECAPI_AVEncVideoSatdMapBlockSize and MFSampleExtension_VideoEncodeSatdMap for SATD map.
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36236>
2025-07-19 01:28:00 +00:00
Vasily Khoruzhick
2e38cbc40c lima: ppir: index SSA nodes the same way as we index registers
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
var_nodes size is x4 of nir defs count, since we need to track a node
for each individual channel of a register write. We don't need that for
SSA, but we used non-shifted indices for SSA, which made the compiler
reliant of reg nir def indeces to start after all the SSA indices.

That has changed with 7b70b419b528("nir: always index SSA defs before
printing").

Fix that by shifting SSA index as well, that would allow not to rely on
any assumptions on nir def indices.

Backport-to: 25.2
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Reviewed-by: Erico Nunes <nunes.erico@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36206>
2025-07-18 17:13:05 +00:00
Valentine Burley
68871363b0 lavapipe/ci: Add Android Hardware Buffer test set
Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Tested-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Lucas Fryzek <lfryzek@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36204>
2025-07-18 16:20:13 +00:00
Yiwei Zhang
209e402720 lavapipe: do not short-circuit AHB export alloc (non-import)
Per spec VUID-VkMemoryAllocateInfo-pNext-01874:

If the parameters do not define an import operation, and the pNext chain
includes a VkExportMemoryAllocateInfo structure with
VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID
included in its handleTypes member, and the pNext chain includes a
VkMemoryDedicatedAllocateInfo structure with image not equal to
VK_NULL_HANDLE, then allocationSize must be 0

- before: total 116, skip 66, pass 36, fail 14
- after:  total 116, skip 66, pass 50, fail 0

Fixes: cebb2bf266 ("lavapipe: Add AHB extension")
Reviewed-by: Lucas Fryzek <lfryzek@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36204>
2025-07-18 16:20:13 +00:00
Yiwei Zhang
91c8372c67 lavapipe: populate AHB memory mapping
- before: total 116, skip 66, pass 36, fail 14
- after:  total 116, skip 66, pass 38, fail 12

Fixes: cebb2bf266 ("lavapipe: Add AHB extension")
Reviewed-by: Lucas Fryzek <lfryzek@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36204>
2025-07-18 16:20:13 +00:00
Yiwei Zhang
faa71af431 lavapipe: properly handle AHB release
Need to release the AHB ref upon vkFreeMemory.

Fixes: cebb2bf266 ("lavapipe: Add AHB extension")
Reviewed-by: Lucas Fryzek <lfryzek@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36204>
2025-07-18 16:20:13 +00:00
Yiwei Zhang
160cd3a317 lavapipe: do not close import fd on error and amend an error code
The implementation only takes the ownership after a successful import.
On import failure, the caller is going to handle the fd. Meanwhile,
amend a missing error code on an error path.

Fixes: 895d3399f7 ("lavapipe: add support for KHR_external_memory_fd")
Reviewed-by: Lucas Fryzek <lfryzek@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36204>
2025-07-18 16:20:13 +00:00
Yiwei Zhang
f1af533b2c lavapipe: implement GetMemoryAndroidHardwareBufferANDROID
lvp hasn't used common device memory obj, and it allocates and imports
ahb on its own. Thus it has to implement the AHB export api itself.

- before: total 116, skip 66, pass 24, fail 26
- after:  total 116, skip 66, pass 36, fail 14

Fixes: cebb2bf266 ("lavapipe: Add AHB extension")
Reviewed-by: Lucas Fryzek <lfryzek@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36204>
2025-07-18 16:20:12 +00:00
Yiwei Zhang
3167e30ee2 lavapipe: allow AHB export allocation
This fix came from below error log:

> E MESA    : lavapipe: unimplemented external memory type 1024

Fixes: cebb2bf266 ("lavapipe: Add AHB extension")
Reviewed-by: Lucas Fryzek <lfryzek@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36204>
2025-07-18 16:20:12 +00:00
Collabora's Gfx CI Team
46cbe95ccf Uprev Piglit to 0980079dcfb5adbad873d88e00181268f55cb8ef
a0a27e528f...0980079dcf

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35625>
2025-07-18 15:33:14 +00:00
David Rosca
b665bd21cb radeonsi/vcn: Correctly handle tile swizzle
Currently tile swizzle can only be non zero for single plane
formats, for multi plane formats we always set PIPE_BIND_SHARED.

Luma only (Y400) JPG decode and encode with RGB input surface (EFC)
are the only two cases where we can get surface with tile swizzle
and ignoring it would result in corrupted output.

Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13346
Acked-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35647>
2025-07-18 15:14:04 +00:00
Mike Blumenkrantz
f45778fbc7 zink: flag dmabuf exports on usage set, not synchronization
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
this should be a bit more accurate

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36220>
2025-07-18 12:33:47 +00:00
Karol Herbst
d8793e3874 rusticl/mem: relax flags validation for clGetSupportedImageFormats
While the API spec does describe which flags _may_ be passed in, the
overall CL working group agreement is, that implementations should expect
random flags to be passed in as other implementations _may_ use them to
further restrict or allow image formats.

Also fix validation for importing GL objects while at it.

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36216>
2025-07-18 11:47:15 +00:00
Mike Blumenkrantz
92811d9a56 zink: use maint9 implicit query resets when available
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36219>
2025-07-18 11:20:57 +00:00
Karol Herbst
5965f34b5d rusticl/queue: offload waiting on fences to another thread
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This unblocks the main worker thread to keep submitting work to the driver
while we still have something waiting on the completion of batches sent to
the hardware and to signal completion to the attached events.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36158>
2025-07-18 08:49:11 +00:00
Karol Herbst
70b9c88807 rusticl/mesa: add return status to PipeFence::wait
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36158>
2025-07-18 08:49:11 +00:00
Mike Blumenkrantz
a333e7a6b8 lavapipe: VK_KHR_unified_image_layouts
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35743>
2025-07-17 21:37:22 +00:00
Mike Blumenkrantz
e6f18bfb42 lavapipe: maintenance9
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35743>
2025-07-17 21:37:22 +00:00
Mike Blumenkrantz
6d2d4e9bbf lavapipe: call nir_lower_int64
otherwise the 64bit ops unsupported by llvmpipe will not be lowered

cc: mesa-stable

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35743>
2025-07-17 21:37:22 +00:00
Yiwei Zhang
3cdaf55334 lvp: hook up AHB image and buffer properties queries
Hook up AHB support in below API calls:
- vkGetPhysicalDeviceImageFormatProperties2
- vkGetPhysicalDeviceExternalBufferProperties

Acked-by: Rob Clark <robclark@freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36151>
2025-07-17 20:12:23 +00:00
Mike Blumenkrantz
c768699a73 zink: fix valid contents check for adding new bind
the previous one didn't account for buffers

Fixes: b022cdc8a1 ("zink: only copy resource during add_bind if it is valid")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36201>
2025-07-17 19:54:23 +00:00
Karol Herbst
a0a9c12124 rusticl/mem: set swizzle for intensity images
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36199>
2025-07-17 19:13:37 +00:00
Karol Herbst
e03d23ddc9 zink: disable shader images for intensity formats
Vulkan only allows identity remapping on storage images descriptors.

Fixes: 475c43cf8a ("zink: translate intensity formats")
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36199>
2025-07-17 19:13:37 +00:00
Karol Herbst
146e843254 zink: disallow intensity buffer images
Fixes: 475c43cf8a ("zink: translate intensity formats")
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36199>
2025-07-17 19:13:37 +00:00
Antonio Ospite
0f09c9436b ci/android: update comment about ANDROID_CTS_MODULES
After commit 545727f97c (ci/android: Move ANDROID_CTS_MODULES to build
script, 2025-06-24) the comment about ANDROID_CTS_MODULES in
lvp-android-angle-android-cts-include.txt has become inaccurate.

Update the instructions to reflect the latest status.

Fixes: 545727f97c
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36187>
2025-07-17 14:31:40 +00:00
Boyuan Zhang
a63e5f015e radeon/vcn: add gaps_in_frame flag to h264 sps
Implement gaps_in_frame_num_value_allowed_flag in h264 msg buffer.
Replace hardcoded flag values with defines.

Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com>
Reviewed-by: David Rosca <david.rosca@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36056>
2025-07-17 12:44:51 +00:00
Boyuan Zhang
a7567ec6f4 frontends/va: get gaps_in_frame for h264 dec
Get gaps_in_frame_num_value_allowed_flag value from Va-api interface.

Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com>
Reviewed-by: David Rosca <david.rosca@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36056>
2025-07-17 12:44:51 +00:00
Boyuan Zhang
587102196c pipe: add gaps_in_frame for h264
Add gaps_in_frame_num_value_allowed_flag to h264 sps struct.

Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com>
Reviewed-by: David Rosca <david.rosca@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36056>
2025-07-17 12:44:51 +00:00
Mike Blumenkrantz
ce09d80698 gallium/hud: set the framebuffer texture when drawing
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13545

Fixes: 2eb45daa9c ("gallium: de-pointerize pipe_surface")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36167>
2025-07-17 11:48:51 +00:00
Valentine Burley
34c969f767 freedreno,zink+tu/ci: Document Piglit bug
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Document the Piglit bug exposed in 08b522d21e
("glsl: check against varying limits using NIR shader_info after nir_opt_varyings")

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36027>
2025-07-17 09:07:28 +00:00