Commit graph

220509 commits

Author SHA1 Message Date
Samuel Pitoiset
83a7357d6a docs: add missing description of RADV_PERFTEST=rtcps
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40646>
2026-03-30 07:26:59 +00:00
Faith Ekstrand
d17c79387b vulkan: Add a no-op implementation of [Un]RegisterCustomBorderColor()
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40649>
2026-03-30 06:51:26 +00:00
Faith Ekstrand
191d2b37de vulkan: Add a common implementation of GetPhysicalDeviceDescriptorSizeKHR
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40649>
2026-03-30 06:51:26 +00:00
Faith Ekstrand
2c444c17db vulkan/pipeline: Call vk_nir_lower_descriptor_heaps()
As with vk_shader_object, vk_nir_lower_descriptor_heaps() is called
right after the driver preprocess step.  The resulting mapping and
embedded samplers are then baked into the pre-compile shader.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40649>
2026-03-30 06:51:26 +00:00
Faith Ekstrand
80706130c7 vulkan/pipeline: Reorder vk_pipeline_precomp_shader_deserialize()
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40649>
2026-03-30 06:51:26 +00:00
Faith Ekstrand
978b9f6495 vulkan: Add a vk_hash_descriptor_heap_mappings() helper
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40649>
2026-03-30 06:51:26 +00:00
Faith Ekstrand
e8558de16f vulkan/shader: Call vk_nir_lower_descriptor_heaps()
Embedded samplers (if present) are passed to the driver as part of the
vk_shader_compile_info

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40649>
2026-03-30 06:51:26 +00:00
Faith Ekstrand
f41dd1d157 vulkan/pipeline: Allow compiling compute/rt pipelines with a NULL layout
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40649>
2026-03-30 06:51:26 +00:00
Faith Ekstrand
f0c1b3fe32 vulkan: Support descriptor heaps in vk_nir_convert_ycbcr()
The original version of the pass relied on derefs and passing bindings
and indices to drivers through the callback.  While this works, it's
much more convenient with heaps to just take an index into the embedded
descriptor table.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40649>
2026-03-30 06:51:26 +00:00
Faith Ekstrand
20d11c59a4 vulkan: Add a lowering pass for descriptor heap mappings
Lowers all mappings and embedded samplers to descriptor heaps without
mappings.  This was based on a pass written by Konstantin Seurer and
Mike Blumenkrantz but was basically entirely rewritten and uses
different NIR intrinsics.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40649>
2026-03-30 06:51:26 +00:00
Samuel Pitoiset
f88506172f vulkan/runtime: handle custom border color index with samplers
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40649>
2026-03-30 06:51:26 +00:00
Faith Ekstrand
4d56fa661f vulkan: Rename some VK_EXT_descriptor_buffer properties
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40649>
2026-03-30 06:51:26 +00:00
Faith Ekstrand
dc44b2e916 spirv: Mark DescriptorHeapKHR as implemented
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40649>
2026-03-30 06:51:26 +00:00
Konstantin Seurer
b127c11be9 spirv,nir: Preserve more information about the descriptor type
Descriptor heap mappings need the information to selectively apply
mappings (descriptor type masks).

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40649>
2026-03-30 06:51:25 +00:00
Samuel Pitoiset
df515cfb5b nir: make nir_variable::descriptor_set a 32-bit variable
With descriptor heap there is no limit.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40649>
2026-03-30 06:51:25 +00:00
Faith Ekstrand
f35839a6bc spirv: Handle OpBufferPointerKHR
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40649>
2026-03-30 06:51:25 +00:00
Faith Ekstrand
2366bd9cde spirv: Handle ArrayStrideIdKHR and OffsetIdKHR decorations
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40649>
2026-03-30 06:51:25 +00:00
Faith Ekstrand
b42b7c8f60 spirv,vulkan: Implement OpConstantSizeOfKHR
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40649>
2026-03-30 06:51:24 +00:00
Faith Ekstrand
ad9f92ba10 spirv: Handle OpTypeBufferKHR
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40649>
2026-03-30 06:51:23 +00:00
Faith Ekstrand
bc031b76d8 spirv: Add new SPV_KHR_descriptor_heap Builtins
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40649>
2026-03-30 06:51:23 +00:00
Faith Ekstrand
719cb88748 spirv: Improve the error message for invalid SPIR-V sections
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40649>
2026-03-30 06:51:23 +00:00
Lionel Landwerlin
302194a566 nir: improve deref_instr_get_variable
So we can get through all the casting inserted by heaps.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40649>
2026-03-30 06:51:23 +00:00
Faith Ekstrand
e7e601f113 nir: Add tex sources for descriptor heaps
We also add a new boolean which indicates that the texture op uses an
embedded sampler.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40649>
2026-03-30 06:51:22 +00:00
Faith Ekstrand
f117b81435 nir: Add intrinsics for descriptor heaps
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40649>
2026-03-30 06:51:22 +00:00
Faith Ekstrand
c29d8dd4ff nir: Add sampler and resource heap system values
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40649>
2026-03-30 06:51:20 +00:00
Yiwei Zhang
8f4e209de9 docs/venus: add Android Cuttlefish instructions
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/40689>
2026-03-30 06:46:24 +00:00
Yiwei Zhang
62aa1b7d43 docs/venus: add QEMU instructions
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40689>
2026-03-30 06:46:23 +00:00
Yiwei Zhang
5735ff43e5 docs/venus: adjust driver support list and drop obsolete descriptions
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40689>
2026-03-30 06:46:23 +00:00
Yiwei Zhang
ee1f42075d docs/venus: update instructions around Intel pat issue
Now that the QEMU switch honor-guest-pat has landed in-tree, let's
update the doc with the latest instructions along with the follow up
QEMU feature request.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40689>
2026-03-30 06:46:23 +00:00
Benjamin Cheng
34e090ae11 radv/video: Add low-latency flags
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
radv equivalent of 62f07b8c.

Reviewed-by: David Rosca <david.rosca@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40524>
2026-03-29 15:56:50 +00:00
Benjamin Cheng
917dff0b22 ac: Update FW required for variable slice mode
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
There are some compatiblity issues with variable slice mode and
preencode that are fixed with newer FW.

Fixes: d9ba641e28 ("ac: Add variable slice mode interface")
Reviewed-by: David Rosca <david.rosca@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40604>
2026-03-29 15:30:55 +00:00
Benjamin Cheng
bb6d57c90d radeonsi/vcn: Reorder get_slice_ctrl_param
This will need to depend on quality_modes.pre_encode_mode, so reorder
the calls to make it possible.

Fixes: d9ba641e28 ("ac: Add variable slice mode interface")
Reviewed-by: David Rosca <david.rosca@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40604>
2026-03-29 15:30:55 +00:00
Alyssa Rosenzweig
aebd76415b agx: drop NIR continue handling
Since 31af989270 ("nir/lower_continue_constructs: Simplify loops before
lowering continue constructs"), we never ingest loops with continues. That lets
us delete a bunch of now dead code (and outdated comments) around control flow.

This patch is part of the treewide effort to improve loops in NIR. I already
sent the Intel patch earlier this week and this weekend hit delete here too.
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40609

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenz.ca>
Reviewed-by: Mary Guillemard <mary@mary.zone>
Tested-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40690>
2026-03-29 14:06:14 +00:00
Kenneth Graunke
ca3cabd2f8 brw: Use nir_texop_resinfo_intel for query_levels and txs
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This eliminates the need to special case query_levels.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40451>
2026-03-29 12:53:10 +00:00
Kenneth Graunke
0e143ae663 nir: Add nir_texop_resinfo_intel
This is a combination of txs and query_levels in a single vec4 result.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40451>
2026-03-29 12:53:09 +00:00
Georg Lehmann
e7077e8f5c nir/lower_non_uniform_access: fix fusing loops for same index but different array variable
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
struct nu_handle is hashed and deduplicated using struct nu_handle_key, which ignored
parent_deref. That means all instructions will use the first parent_deref when rewriting
the sources.

Avoid this by not including the parent deref in the struct, and instead querying it
when needed.

Fixes: 4d09cd7fa5 ("nir/lower_non_uniform_access: Group accesses using the same resource")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/15173
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40654>
2026-03-29 08:31:51 +00:00
Rob Clark
6fb261147b freedreno: Add a829
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/15124
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40655>
2026-03-28 21:19:58 +00:00
Rob Clark
04f9a82705 freedreno/common: Drop gen8 0x78000 offset
Initially I'd added the offset to make things match up to blob driver on
x2-85/a840.  But this gets in the way on parts with smaller GMEM.

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40655>
2026-03-28 21:19:58 +00:00
Yiwei Zhang
a2e42eff52 ci/panvk: update expectations with new flakes
Reviewed-by: Eric R. Smith <eric.smith@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40682>
2026-03-28 20:16:09 +00:00
Yiwei Zhang
73c9d35644 panvk: hide swapchainMaintenance1 behind WSI guard
Fixes: 9ec387efb1 ("panvk: advertise wsi maintenance extensions")
Reviewed-by: Eric R. Smith <eric.smith@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40682>
2026-03-28 20:16:09 +00:00
Marek Olšák
c361c82a5a radeonsi: draw using a single triangle in u_blitter
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This fixes dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency*
when not using the rectangle path.

Reviewed-by: Pierre-Eric
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40634>
2026-03-28 18:47:55 +00:00
Marek Olšák
6ce1b12a76 radeonsi: sink si_get_pipe_constant_buffer in si_blitter_begin
Reviewed-by: Pierre-Eric
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40634>
2026-03-28 18:47:55 +00:00
Marek Olšák
7f846bc50a radeonsi: remove always-set SI_SAVE_FRAGMENT_STATE
Reviewed-by: Pierre-Eric
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40634>
2026-03-28 18:47:55 +00:00
Marek Olšák
2dc65308f8 radeonsi: add 64K texture support to gfx blits
Reviewed-by: Pierre-Eric
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40634>
2026-03-28 18:47:55 +00:00
Marek Olšák
918e5764f4 radeonsi: disable streamout queries for u_blitter
Cc: mesa-stable
Reviewed-by: Pierre-Eric
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40634>
2026-03-28 18:47:55 +00:00
Marek Olšák
556ceb1b75 radeonsi: fix blits via util_blitter_draw_rectangle
It didn't save states properly. The only correct place to save them is
si_blitter_begin. Unfortunately, we can't skip saving and restoring
those states because we don't know in advance whether the rectangle path
will be used.

Cc: mesa-stable
Reviewed-by: Pierre-Eric
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40634>
2026-03-28 18:47:54 +00:00
Marek Olšák
ea9a31cc8c gallium/u_blitter: allow using the single triangle for scaled blits too
This should be faster because 2 triangles are inefficient on the diagonal,
generating helper invocations and potentially extra memory loads from dst
because tiles aren't fully covered.

Reviewed-by: Pierre-Eric
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40633>
2026-03-28 18:01:40 +00:00
Natalie Vock
1f9bc71051 radv/rt: Remove RADV_OFFSET_UNUSED
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
RADV_OFFSET_UNUSED became unused, itself.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39985>
2026-03-28 16:48:46 +01:00
Natalie Vock
579feda38b radv/rt: Fix cases in which the bound BVH build pipeline gets clobbered
The most egregious case was AS updates, in which case radv_copy_memory
would decide to use compute, which overwrites the bound pipeline with
a copy shader. Subsequent dispatches assumed the update pipeline to be
bound, but dispatched another copy shader instead.

There is also a chance of this happening for geometry info copying for
RRA, so add another pass for that.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39985>
2026-03-28 16:48:46 +01:00
Natalie Vock
e713527aa9 vulkan: Bump MAX_ENCODE_PASSES
RADV needs one more encode pass for a bugfix in the next commit.

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39985>
2026-03-28 16:12:09 +01:00