Commit graph

71414 commits

Author SHA1 Message Date
Vitaliy Triang3l Kuzmin
fe165f4e2a radeonsi: Disable TC-compatible HTILE when bug workarounds conflict
GFX1013 has bugs that need mutually exclusive workarounds.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Vitaliy Triang3l Kuzmin <triang3l@yandex.ru>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33962>
2025-10-02 08:29:49 +00:00
Icenowy Zheng
1c27ddefd0 gallivm: orcjit: put object cache under the protect of lookup_mutex
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Different threads calling gallivm share the same LPJIT (and the
underlying LLJIT) instance, which could be only bound to a single cache
object at the same time.

Pass the object cache when looking up the symbol and put it under the
protect of lookup_mutex to prevent accessing wrong cache.

This seems to fix some MissingSymbolDefinitions error when running
Plasma Shell with llvmpipe on RISC-V.

Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37497>
2025-10-02 14:28:28 +08:00
Jianxun Zhang
e02a1bb173 iris: Enable Xe2 modifiers on all newer platforms
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35776>
2025-10-01 14:51:53 -07:00
Sil Vilerino
700ccea319 mediafoundation: Implement video encode spatial adaptive quantization interface
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37581>
2025-10-01 14:46:31 -04:00
Sil Vilerino
3ba07819aa mediafoundation: Remove Agility v717 guards for features now available in v618
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37581>
2025-10-01 14:46:28 -04:00
Sil Vilerino
b06b2fbaba d3d12: Remove Agility v717 guards for features now available in v618
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37581>
2025-10-01 14:46:24 -04:00
Sil Vilerino
0e73c6470e d3d12: Implement video encode spatial adaptive quantization interface
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37581>
2025-10-01 14:46:21 -04:00
Sil Vilerino
ce7c4e14ef pipe: Add video encode spatial adaptive quantization interface
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37581>
2025-10-01 14:46:18 -04:00
Sil Vilerino
0556fa09f0 ci: Bump DirectX-Headers and Agility SDK dependencies to 1.618.1
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37581>
2025-10-01 14:46:15 -04:00
Silvio Vilerino
b5e856c6af d3d12: Video encode - Check driver caps to determine which output stats are supported
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37581>
2025-10-01 14:46:11 -04:00
Rohit Athavale
ddcc6baad9 mediafoundation: Lock QP Map Buffer when in use, unlock after
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37581>
2025-10-01 14:46:08 -04:00
Rohit Athavale
cd6a83a637 d3d12: Update d3d12 back to use pipe_enc_qpmap_input_info
Currently, the CPU map is not being used. That will come in a seperate
PR. Attempting to map existing functionality as-is.

Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37581>
2025-10-01 14:46:05 -04:00
Rohit Athavale
1636620eab pipe: Add pipe_enc_qpmap_input_info to contain GPU & CPU QP Maps
Add a new pipe struct to contain
- GPU QP Map Handle
- CPU QP Map (8-bit and 16-bit)

Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37581>
2025-10-01 14:46:00 -04:00
Marek Vasut
5eafa246ab etnaviv: Turn ETNA_CORE_ into ETNA_FEATURE_CORE_
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
The Vivante GC8000 Nano Ultra VIP r6205 present in ST STM32MP25xx
is a combined GPU and NPU single device. The either ETNA_CORE_GPU
or ETNA_CORE_NPU behavior does not apply to this device. Instead
of adding new combined ETNA_CORE_GPU_AND_NPU variant, convert the
ETNA_CORE_GPU and ETNA_CORE_NPU into ETNA_FEATURE_CORE_GPU and
ETNA_FEATURE_CORE_NPU, so they can be tested as flags. This allows
handling of such combined devices.

Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Signed-off-by: Marek Vasut <marek.vasut@mailbox.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37488>
2025-09-30 20:45:17 +00:00
David Rosca
fd898f4977 gallium/vl: Fix building vl_stubs
Fixes: 214a431caf ("gallium/vl: Remove mpeg12 shader decoder")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14007
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37629>
2025-09-30 13:40:06 +00:00
Ella Stanforth
b597e838c2 v3d: Add support for 16bit normalised formats
This is done using unsigned integer formats combined with in shader
conversion. This is incompatible with hardware blending.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35820>
2025-09-30 12:48:42 +00:00
Ella Stanforth
8ad47b67b8 v3d: Fallback to software blend support for formats that do not support blend.
Allows us to support blending for internal formats other than 8n and 16f.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35820>
2025-09-30 12:48:40 +00:00
Ella Stanforth
ee48e81b26 v3d: Always lower frag color
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35820>
2025-09-30 12:48:39 +00:00
Ella Stanforth
dfbf1a8e80 v3d: rename msaa resolve
The conditions for being able to do msaa resolve and hardware blending are
identical.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35820>
2025-09-30 12:48:39 +00:00
Mike Blumenkrantz
5702234013 zink: fix disabling multiview mesh with shader objects
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37623>
2025-09-30 11:22:28 +00:00
Roland Scheidegger
7e0c0ba08c lavapipe: implement VK_EXT_sample_locations
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Seems to pass all relevant lavapipe vk cts tests
zink-lavapipe fails, but it's broken in zink, update ci expectation

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37603>
2025-09-30 01:13:29 +00:00
Jianxun Zhang
a5acfdf753 iris: Assert no disabling aux in first query (xe2)
Xe2 platforms have a different way to disable CCS
compression.

Suggested by Nanley Chery <nanley.g.chery@intel.com>

Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37098>
2025-09-29 17:08:54 -07:00
Jianxun Zhang
1cbee485e7 iris: Ensure type of bo's heap is consistent with modifier
This helps us to catch a compressed bo is picked up for
an uncompressed modifiers when importing dmabuf, and vise
versa.

Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37098>
2025-09-29 17:08:53 -07:00
Jianxun Zhang
5aa4dc7f77 iris: Disable compression on sharing without modifier
For an image created either without a modifier to share or as the
destination image to get rid of compression by re-allocation, it
should have compression disabled.

Close: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13729
(Fix firefox misrendering when gfx.wayland.hdr option is true)

Backport-to: 25.2

Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37098>
2025-09-29 17:08:53 -07:00
David Rosca
214a431caf gallium/vl: Remove mpeg12 shader decoder
The decoder has been broken for years. It creates 3-plane video
buffer with RGB16 format for all three planes, which hasn't been
working since 243475b96c.
It also doesn't make sense anymore to use shader decoder for a codec
this old.

Acked-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37507>
2025-09-29 10:47:02 +00:00
David Rosca
b16910031b nouveau: Remove mpeg12 shader decoder support
Reviewed-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37507>
2025-09-29 10:47:02 +00:00
David Rosca
7d78016cab r300: Remove mpeg12 shader decoder support
Reviewed-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37507>
2025-09-29 10:47:02 +00:00
David Rosca
69aa754547 r600: Remove mpeg12 shader decoder support
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6162
Reviewed-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37507>
2025-09-29 10:47:02 +00:00
Emma Anholt
4531b8ace4 treewide: Make exported DRM FDs read-write.
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Without this, somebody trying to map a buffer for write by the CPU would
fail.  This is not common to do in hardware driver environments, but it
shouldn't be disallowed, and there's no downside to allowing it.

I did skip virgl, because that's one where I don't know for sure if there
wouldn't be a downside to allowing RDWR (there are other virt exports
where RDWR is gated on a mappable flag).

This is a follow-up to !37088 to keep copy and paste from introducing the
same bug anywhere else.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37339>
2025-09-27 19:46:14 +00:00
Marek Olšák
7df6431bf7 gallium/u_threaded: remove refcounting for buffer_subdata
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/37568>
2025-09-26 23:43:53 +00:00
Marek Olšák
5b688ec078 gallium/u_threaded: remove refcounting for buffer_unmap
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37568>
2025-09-26 23:43:53 +00:00
Marek Olšák
4749325e08 gallium/u_threaded: remove refcounting for get_query_result_resource
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37568>
2025-09-26 23:43:52 +00:00
Marek Olšák
85db3e7de5 gallium/u_threaded: remove refcounting for draw mesh indirect buffers
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37568>
2025-09-26 23:43:52 +00:00
Marek Olšák
381a88fdbd gallium/u_threaded: remove refcounting for clear_buffer
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37568>
2025-09-26 23:43:52 +00:00
Marek Olšák
08c3edac48 gallium/u_threaded: remove refcounting for dispatch compute indirect buffers
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37568>
2025-09-26 23:43:52 +00:00
Marek Olšák
9d15ef96ca gallium/u_threaded: remove refcounting for draw indirect buffers
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37568>
2025-09-26 23:43:52 +00:00
Konstantin Seurer
bb3e401cca Revert "lavapipe/ci: Disable stack-use-after-return detection for ASan"
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This reverts commit 44d161a7a0.

Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37416>
2025-09-26 17:27:32 +00:00
Mike Blumenkrantz
b3b2daa28d lavapipe: VK_KHR_copy_memory_indirect
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37589>
2025-09-26 17:05:53 +00:00
Mike Blumenkrantz
010cd37e50 lavapipe: handle aspected depth/stencil memory->image HIC transfers
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37589>
2025-09-26 17:05:52 +00:00
Mike Blumenkrantz
daa276b605 lavapipe: move copy_depth_box to lvp_image.c
no functional changes

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37589>
2025-09-26 17:05:52 +00:00
Simon McVittie
9d36bf891b vulkan: Compute path to write into JSON manifests once, use it everywhere
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This reduces duplication: we only need to distinguish between Windows
and Unix in one place.

The previous code was inconsistent about using either the `platforms`
option, or the `host_machine`. Following the logic described in
commit 94379377 "lavapipe: build "Windows" check should use the host machine, not the `platforms` option.",
I've assumed that checking the host machine is the more-correct version
and used that.

Signed-off-by: Simon McVittie <smcv@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37576>
2025-09-26 10:47:31 +00:00
Simon McVittie
be8cac52d3 vulkan: Consistently form driver library names as prefix + name + suffix
This consistently uses `NAME.dll` on Windows, `libNAME.dylib` on Darwin
derivatives such as macOS, and `libNAME.so` on Linux, *BSD and so on.
It's also consistent about using the local variable name `icd_file_name`
for this name in every Vulkan driver, which was already the case in many
but not all drivers.

Some of these drivers probably don't make sense (or don't work) on
Windows and/or macOS, but if this is kept consistent for all drivers,
it should avoid the need for driver-specific commits like
commit 611e9f29e "lavapipe: fix icd generation for windows",
commit 951f3287 "lavapipe: set empty dll prefix",
commit 13e7a39f "lavapipe: fixes for macOS support",
commit 7008e655 "radv: Update JSON generator if Windows" and so on,
each time a driver is found to be relevant on more platforms than
previously believed.

Signed-off-by: Simon McVittie <smcv@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37576>
2025-09-26 10:47:31 +00:00
Christian Gmeiner
2a14b7224b etnaviv: Support ARB_stencil_texturing
The hardware support for stencil texturing is unclear from RE and
the feature databases. Enable this extension on halti5 GPUs as a
conservative starting point.

This also enables ARB_texture_stencil8.

Passes:
 - dEQP-GLES31.functional.stencil_texturing.format.stencil_index8*
 - dEQP-GLES31.functional.stencil_texturing.format.depth24_*
 - arb_texture_stencil8 piglit
 - arb_stencil_texture piglit

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/37578>
2025-09-26 10:30:16 +00:00
Daivik Bhatia
5bd5b1728a v3d: replace raw integers with enum types in helper functions
Update function return types, parameters, and struct fields to use
enums instead of uint8_t or uint32_t.

Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36858>
2025-09-26 07:35:16 +00:00
Daivik Bhatia
6e5f68662d v3d: move format helpers to v3dx_format_table.h
Move tfu_supports_tex_format(),
get_internal_type_bpp_for_output_format(), v3d_get_tex_format(),
and v3d_get_rt_format() from v3dx_context.h into
a new header, v3dx_format_table.h.

Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36858>
2025-09-26 07:35:16 +00:00
Dave Airlie
e28cfb2bad gallivm: handle u8/u16 const loads properly on big-endian.
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Turns out just putting the u32 in doesn't work on big endian, so
put the proper u8/u16 values in.

Got a report that since the loop limiter got removed, a gtk4 blur
shader was looping forever on s390x. Turns out it was using a 16-bit
loop variable (because why wouldn't you), and the loop counter was
just staying at 0 all the time.

Cc: mesa-stable
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37593>
2025-09-26 13:25:46 +10:00
Eric Engestrom
54d8f2a1cf llvmpipe/ci: document fixed tests
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37575>
2025-09-25 17:07:59 +00:00
Silvio Vilerino
d4f44edbff mediafoundation: Use d3d12 extension set_video_encoder_max_async_queue_depth to save memory in low latency (no async/in flight frames)
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37565>
2025-09-25 16:17:28 +00:00
Silvio Vilerino
d7c4131963 d3d12: Fix video encoder async depth fence wait off by one bug
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37565>
2025-09-25 16:17:28 +00:00
Silvio Vilerino
b8f2c41581 d3d12: Allow frontends to set_video_encoder_max_async_queue_depth() to manage encoder memory overhead
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37565>
2025-09-25 16:17:28 +00:00