Commit graph

214350 commits

Author SHA1 Message Date
Marek Olšák
2f6b4803ab nir/validate: expand IO intrinsic validation with nir_io_semantics
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
There are many workarounds.

v2: add more validation

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com> (v1)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38113>
2025-11-02 02:21:46 +00:00
Marek Olšák
390023f9fd nir/lower_io: force src offset=0 for any indirect access with num_slots == 1
This reduces indirect indexing of 1-element arrays to indexing with 0.
Without this, we fail an assertion later.

Discovered when writing a test.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38113>
2025-11-02 02:21:46 +00:00
Marek Olšák
9125e34372 amd: lower get_ssbo_size in ac_nir_lower_resinfo
The code for lowering get_ssbo_size will be different in future chips,
so do it in common code to reduce duplication in the future.

Lower get_ssbo_size to ssbo_descriptor_amd + nir_channel.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38097>
2025-11-02 01:42:07 +00:00
Marek Olšák
3e2c11597a nir: add nir_intrinsic_ssbo_descriptor_amd for lowering get_ssbo_size
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38097>
2025-11-02 01:42:07 +00:00
Dave Airlie
6a70406bb2 lavapipe: use vk_query_pool as the base for lvp_query_pool
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This just moves to the common code.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38198>
2025-11-02 06:14:22 +10:00
Dave Airlie
3fc9c072b2 lavapipe: drop instance pointer from lvp_device.
This can be gotten elsewhere.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38198>
2025-11-02 06:00:38 +10:00
Dave Airlie
f819e269f6 lavapipe: drop physical device pointer from lvp_device
Use the base pointer.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38198>
2025-11-02 05:53:02 +10:00
Dave Airlie
b2db496ea3 lavapipe: drop unneeded physical device in sparse image format props
This isn't used here.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38198>
2025-11-02 05:50:47 +10:00
Dave Airlie
7aef746de6 lavapipe: drop device pointer from pipeline cache
This is unused

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38198>
2025-11-02 05:43:51 +10:00
Dave Airlie
5875d6cf93 lavapipe: drop device pointer from queue
Just use the copy in the base

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38198>
2025-11-02 05:42:31 +10:00
Dave Airlie
fe5a99175f lavapipe: drop device pointer from pipeline object
Just get it from the base object.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38198>
2025-11-02 05:39:11 +10:00
Dave Airlie
8fae2cb67f lavapipe: drop device pointer from lvp_cmd_buffer
just get it from the vk object.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38198>
2025-11-02 05:38:44 +10:00
Dave Airlie
8e01a11a00 lavapipe: remove image pointer from lvp_image_view
Just use the underlying image pointer and pack the struct a bit
better.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38198>
2025-11-02 05:27:48 +10:00
Dave Airlie
9f0b57ce41 lavapipe: drop unused macro.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38198>
2025-11-02 05:13:29 +10:00
Dave Airlie
49c7b69020 lavapipe: cleanup some whitespace in lvp_private.h
This just has some wierd inconsistent stuff, clean it up.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38198>
2025-11-02 05:10:26 +10:00
Dave Airlie
cde13f3674 lavapipe: drop lavapipe specific macro for generic one.
These can just all use the standard VK macro we define.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38198>
2025-11-02 05:01:12 +10:00
Arcady Goldmints-Orlov
be2e4b6fde kk: Enable independentBlend
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Reviewed-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38154>
2025-11-01 16:31:27 +00:00
Arcady Goldmints-Orlov
4c7c5a2a11 kk: enable VK_KHR_vertex_attribute_divisor
And also VK_EXT_vertex_attribute_divisor

Reviewed-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38154>
2025-11-01 16:31:26 +00:00
Arcady Goldmints-Orlov
ef66fdf47c kk: enable VK_KHR_workgroup_memory_explicit_layout
Reviewed-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38154>
2025-11-01 16:31:24 +00:00
Alyssa Rosenzweig
aa9f937116 asahi,ail: fix multi-plane imports
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
We need to handle plane offsets everywhere. I noticed this broken before but
didn't realize it was a GL driver issue. Fix is easy, wrote this on my sofa
while waking up in the morning.

Fixes gst-launch-1.0 v4l2src ! glimagesink

Note that cheese & snapshot both still hang for some reason due to
libgstpipewire, but the Mesa side should be fine now.

Closes: #14217
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38160>
2025-11-01 14:06:32 +00:00
Ian Romanick
2e8b89ec60 elk: Apply vgrf127 workaround in more cases
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
No shader-db changes on Broadwell. Older platforms were not tested.

Fixes: e7b7d572b3 ("intel/fs/ra: Re-arrange interference setup")
Acked-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38122>
2025-10-31 22:55:53 +00:00
Ian Romanick
3e6af6c5bb brw: Apply Gfx9 vgrf127 workaround in more cases
No shader-db changes on any Intel platform.

fossil-db:

Skylake
Intel(R) HD Graphics 530 (SKL GT2)
Totals:
Cycle count: 57669758527 -> 57669757913 (-0.00%); split: -0.00%, +0.00%

Totals from 10 (0.00% of 1736875) affected shaders:
Cycle count: 274949 -> 274335 (-0.22%); split: -0.36%, +0.14%

This change is likely due to subtle differences of different registers
being allocated.

In addition, fossils/google-meet-clvk/BgBlur.1f58fdf742c27594.1.foz and
fossils/google-meet-clvk/Relight.1f58fdf742c27594.1.foz stopped failing
EU validation on Gfx9 platforms.

Closes: #14171
Fixes: e7b7d572b3 ("intel/fs/ra: Re-arrange interference setup")
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38122>
2025-10-31 22:55:53 +00:00
Caio Oliveira
b7e2041750 anv, hasvk: Don't assert on alignment if the value is known to be zero
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Fixes: 7be63ef956 ("intel: do not NIH util_is_aligned")
Reported-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Tested-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38194>
2025-10-31 22:18:50 +00:00
Pohsiang (John) Hsu
59b10dbe80 mediafoundation: add support for initial pool size and max pool size for stats pool
Reviewed-by: Yubo Xie <yuboxie@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38195>
2025-10-31 13:47:08 -07:00
Silvio Vilerino
00700bae45 mediafoundation: Check for PIPE_VIDEO_CODEC_UNIT_LOCATION_FLAG_MAX_SLICE_SIZE_OVERFLOW in calls to get_slice_bitstream_data
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38195>
2025-10-31 13:47:04 -07:00
Silvio Vilerino
e0394008ac d3d12: Add buffer size check to d3d12_video_encoder_get_slice_bitstream_data
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38195>
2025-10-31 13:46:58 -07:00
Silvio Vilerino
087b1f4948 mediafoundation: Remove stale call to MFCreateMemoryBuffer
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38195>
2025-10-31 13:46:54 -07:00
Silvio Vilerino
871a1a20ef d3d12: Bump min size in d3d12_video_encoder_calculate_max_output_compressed_bitstream_size
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38195>
2025-10-31 13:46:49 -07:00
Silvio Vilerino
7fb5c10f65 mediafoundation: Add a min slice buffer size stopgap
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38195>
2025-10-31 13:46:44 -07:00
Silvio Vilerino
027b523398 mediafoundation: Fix num_output_buffers for PIPE_VIDEO_SLICE_MODE_AUTO
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38195>
2025-10-31 13:46:40 -07:00
Silvio Vilerino
a3d072a301 d3d12: Fix max slice worst case estimation for PIPE_VIDEO_SLICE_MODE_AUTO
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38195>
2025-10-31 13:46:35 -07:00
Silvio Vilerino
3c983ecdb1 d3d12: Fix hang in d3d12_video_encoder_extract_encode_metadata with PIPE_VIDEO_SLICE_MODE_AUTO
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38195>
2025-10-31 13:46:20 -07:00
Mary Guillemard
3fc652a060 people: Update my email
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: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38192>
2025-10-31 19:11:10 +00:00
Mary Guillemard
0f9d3a5c37 mailmap: Update my email
Signed-off-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38192>
2025-10-31 19:11:10 +00:00
Aitor Camacho
9c9b9208f5 kk: Fix addressModeW for unnormalized coordinates
Acked-By: Arcady Goldmints-Orlov <arcady@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38185>
2025-10-31 18:55:31 +00:00
Aitor Camacho
e44a776f47 kk: Avoid Metal validation error due to empty calls
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Reviewed-by: Arcady Goldmints-Orlov <arcady@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38174>
2025-10-31 16:54:39 +00:00
Icenowy Zheng
cc60a7a39d gallivm: orcjit: remember Context in addition to ThreadSafeContext
The llvm::orc::ThreadSafeContext object wraps an llvm::Context and keeps
its reference.

As we are no longer able to squeeze out Context from ThreadSafeContext
in LLVM 21, do not let ThreadSafeContext create Context implicitly for
LLVM 21, instead explicitly create Context and then remember it.

This also eliminates the code creating a Context that is never disposed.

Fixes: cd129dbf8a ("gallivm: support LLVM 21")
Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37684>
2025-10-31 16:22:01 +00:00
Samuel Pitoiset
cb4e0c4140 radv: add a workaround for illegal depth/stencil descriptors with No Man's Sky
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Using descriptors with both depth and stencil aspects is illegal in
Vulkan and this hangs the GPU.

Use NULL descriptors to mitigate the issue. Note that AMDVLK also
ignores them.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13325
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38180>
2025-10-31 15:46:55 +00:00
Alyssa Rosenzweig
82b7cdeac9 people: add Yonggang
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38169>
2025-10-31 15:03:58 +00:00
Alyssa Rosenzweig
83303aa05d pvr: don't NIH alignment helpers
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38169>
2025-10-31 15:03:58 +00:00
Alyssa Rosenzweig
603bfa34d9 panfrost,tu: use util_is_aligned
I was hoping this would catch more... Oh well.

Via Coccinelle patch:

    @@
    expression x, pot;
    @@

    -align(x, pot) == x
    +util_is_aligned(x, pot)

    @@
    expression x, pot;
    @@

    -ALIGN(x, pot) == x
    +util_is_aligned(x, pot)

    @@
    expression x, pot;
    @@

    -ALIGN_POT(x, pot) == x
    +util_is_aligned(x, pot)

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38169>
2025-10-31 15:03:58 +00:00
Alyssa Rosenzweig
6ac9bfdd1c asahi: do not NIH util_is_aligned
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38169>
2025-10-31 15:03:58 +00:00
Alyssa Rosenzweig
5f53e6edc0 intel: use util_is_aligned more
Coccinelle + filtering hunks manually.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38169>
2025-10-31 15:03:58 +00:00
Alyssa Rosenzweig
7be63ef956 intel: do not NIH util_is_aligned
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38169>
2025-10-31 15:03:57 +00:00
Alyssa Rosenzweig
a014daea8f nir: use alignment helpers more
Coccinelle + filtering hunks manually +

    @@
    expression pt, pot;
    typedef uintptr_t;
    @@

    -util_is_aligned((uintptr_t)(pt), pot)
    +util_ptr_is_aligned(pt, pot)

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38169>
2025-10-31 15:03:57 +00:00
Alyssa Rosenzweig
1ff43db789 util: add util_ptr_is_aligned helper
This composition comes up a bunch.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38169>
2025-10-31 15:03:57 +00:00
Lionel Landwerlin
24179d96a1 Revert "anv: Convert DEBUG_SPARSE logging to use mesa_log"
This reverts commit bee04c63ba.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38186>
2025-10-31 16:22:48 +02:00
Mike Blumenkrantz
e152c80d18 zink: add back atomics for internal refcounts
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
in extensive testing, using no atomics at all is a bit too loose for
basic/common cases like sharing a vertex bufer between contexts, readily
leading to unintended behavior

keeping the atomics internal ensures that they remain in the same ccx,
which avoids impacting performance

it does require a little trickery to avoid an extra atomic in the buffer
decrement case, however

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38176>
2025-10-31 12:40:43 +00:00
Tapani Pälli
f48df6f45c anv: bring back some lost game drirc workarounds for subgroups
Fixes: d39e443ef8 (" anv: add infrastructure for common vk_pipeline")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38179>
2025-10-31 12:18:37 +00:00
Christian Gmeiner
3c7fa2e6eb anv: Convert DEBUG_HEAPS logging to use mesa_log
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Replace fprintf with the mesa_log API.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38171>
2025-10-31 11:45:47 +00:00