Sushma Venkatesh Reddy
fe1d84e083
intel/compiler: apply sqrt workaround for Horizon Forbidden West shader
...
Added a workaround for a known shader in Horizon Forbidden West that causes
visual corruption on Intel anv driver. The fix clamps fsqrt inputs using
fmax(x, 1e-12) to avoid invalid values. Integrated the workaround via
brw_nir_apply_sqrt_workarounds() and applied it conditionally in the Vulkan
pipeline based on the shader's BLAKE3 hash.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12555
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36990 >
2025-09-12 22:32:46 +00:00
Mike Blumenkrantz
c02d5d79b7
zink: add another tu flake
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37318 >
2025-09-12 22:09:50 +00:00
Mike Blumenkrantz
69f90bfe29
zink: add some pre-checks before calling query update/suspend/resume
...
these trigger lots of context switches which impact perf
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37318 >
2025-09-12 22:09:50 +00:00
Mike Blumenkrantz
9d19d7f6de
zink: move draw state flag resets into their blocks
...
incredibly, this shows up in perf
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37318 >
2025-09-12 22:09:50 +00:00
Mike Blumenkrantz
74b7b5b661
zink: simplify index type access to normal array
...
the sizes are 1/2/4, so just use that array index
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37318 >
2025-09-12 22:09:50 +00:00
Mike Blumenkrantz
c852c25cdc
zink: always use vkCmdBindVertexBuffers2
...
this cuts out a small amount of overhead in drivers that wrap
vkCmdBindVertexBuffers onto vkCmdBindVertexBuffers2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37318 >
2025-09-12 22:09:50 +00:00
Mike Blumenkrantz
07a7d3627f
zink: store last index buffer
...
this allows skipping some draw-time ops when the same index buffer
is used repeatedly
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37318 >
2025-09-12 22:09:50 +00:00
Martin Roukala (né Peres)
03239662c3
zink/ci: raise the job timeout from 5 to 8 minutes
...
Suggested-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37328 >
2025-09-12 21:46:55 +00:00
Georg Lehmann
2ac5641473
shader_info: remove gl_subgroup_size enum
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37258 >
2025-09-12 21:05:17 +00:00
Georg Lehmann
89adefec64
microsoft: switch to new subgroup size info
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Acked-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37258 >
2025-09-12 21:05:17 +00:00
Georg Lehmann
8d7b1498cc
rusticl: switch to new subgroup size info
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37258 >
2025-09-12 21:05:17 +00:00
Georg Lehmann
1b5c78d1f7
radeonsi: switch to new subgroup size info
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37258 >
2025-09-12 21:05:17 +00:00
Georg Lehmann
79d02047b8
intel: switch to new subgroup size info
...
Reviewed-by: Iván Briano <ivan.briano@intel.com >
Acked-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37258 >
2025-09-12 21:05:17 +00:00
Georg Lehmann
04d3b3bde5
mesa,glsl,spirv: set new subgroup size info
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37258 >
2025-09-12 21:05:17 +00:00
Georg Lehmann
d807f5a351
vulkan: set nir subgroup size shader info
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37258 >
2025-09-12 21:05:17 +00:00
Georg Lehmann
ce91b0be08
nir: define new subgroup size info
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37258 >
2025-09-12 21:05:17 +00:00
Georg Lehmann
95c2a65662
nir: remove unused shader_info param in nir_create_shader
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37258 >
2025-09-12 21:05:17 +00:00
Ian Romanick
1eb4a2f5cd
iris: Limit max_shader_buffer_size to INT32_MAX
...
GLSL arrays are sized by signed integers. Other places in the Mesa treat
this value is int32_t. Having the value larger than (uint32_t)INT32_MAX
causes assertion failures in many piglit tests.
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Closes : #13873
Fixes: 2f8b8649f0 ("iris: Increase max_shader_buffer_size to max_buffer_size")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37282 >
2025-09-12 20:45:39 +00:00
Mike Blumenkrantz
e5fb2bc644
ci: bump vvl to another random version
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37241 >
2025-09-12 20:16:46 +00:00
Hans-Kristian Arntzen
83bf75e307
anti-lag: Don't force enable every supported feature on device creation.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Fixes: 722ffe9a73 ("vulkan: implement VK_AMD_anti_lag as implicit vulkan layer")
Cc: mesa-stable
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37137 >
2025-09-12 19:50:14 +00:00
Konstantin Seurer
2a4b1ea69b
nir/opt_ray_queries: Cleanup and return if functions is not singular
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37283 >
2025-09-12 19:11:02 +00:00
Aaron Ruby
39a5e80a7a
gfxstream: address-space graphics requires kParamResourceBlob and kParamHostVisible
...
Make init failure more clear if this is not the case.
Reviewed-by: Gurchetan Singh <gurchetansingh@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37285 >
2025-09-12 18:38:21 +00:00
Juan A. Suarez Romero
3077cab5a9
broadcom/ci: comment some of the failures
...
Add a comment to failures, either with a link to a fix, or the commit
that introduced the issue.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37333 >
2025-09-12 16:41:40 +00:00
Mike Blumenkrantz
2d7dd41506
tc: eliminate refcounting for set_shader_buffers
...
this is no longer necessary
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37310 >
2025-09-12 15:47:34 +00:00
Mike Blumenkrantz
9f764486cb
cso: unbind vertex buffers when unbinding context
...
cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37276 >
2025-09-12 15:06:15 +00:00
Val Packett
7f556805c1
radv: detect platform:virtio-mmio devices for virtgpu native context
...
VirtIO devices can be configured as platform devices instead of PCI,
which is especially common in microVM projects like libkrun.
Let's allow RADV to probe MMIO virtgpu devices.
Signed-off-by: Val Packett <val@invisiblethingslab.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37281 >
2025-09-12 12:56:46 +00:00
Christian Meissl
31a627bdc2
panfrost: take reference from pool used for allocation
...
Fixes bo leaks caused by wrong ref counting when
using temporary sampler views.
The leak was observed when playing videos using the
DRM_FORMAT_MOD_VENDOR_MTK tiling format
through gstreamer.
Fixes: 0795f3d7e4 ("panfrost: Add a pool to sampler_view")
Signed-off-by: Christian Meissl <meissl.christian@gmail.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37325 >
2025-09-12 11:44:46 +00:00
Mel Henning
3c32ff7fa9
nak: Place most Op structs in Box<>
...
Between this and the previous few commits, the Box<> has moved from
outside of Instr to inside the Op enum. This provides a few benefits:
1. We no longer need to allocate for the worst-case Op on every
instruction. For example, OpIAdd3X is 232 bytes and OpBra is 40
bytes, which means we can save some memory on OpBra if we only
allocate those 40 bytes.
2. The Op discriminant is available without chasing a pointer. The type
of op is probably the most frequently used field, and this should
benefit most passes that care about what type of Op they're
handling.
3. Small Ops don't need any indirection at all. For example, OpPBk is
only 4 bytes, which means we can just store it directly in less
space than a pointer.
Compared to Box<Instr>, this is around a 1.4% shader compile time
improvement.
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Seán de Búrca <leftmostcat@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37315 >
2025-09-12 10:33:32 +00:00
Mel Henning
9257f5607f
nak: impl SM*Op for Op
...
We can skip creating an &dyn and instead use a match to dispatch into
the inner type's functions.
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Seán de Búrca <leftmostcat@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37315 >
2025-09-12 10:33:32 +00:00
Mel Henning
6f6c309167
nak: Special case Box in derive_from_variants
...
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37315 >
2025-09-12 10:33:32 +00:00
Mel Henning
611c5ebce5
compiler/rust: impl AsSlice for Box
...
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Seán de Búrca <leftmostcat@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37315 >
2025-09-12 10:33:32 +00:00
Seán de Búrca
74696758a2
nak: remove boxing of instructions
...
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37315 >
2025-09-12 10:33:32 +00:00
Rob Clark
52e02c2b0b
freedreno/a6xx: Fix snorm rounding
...
See util_format_r8g8b8a8_snorm_pack_rgba_float()
Fixes the remaining failures in images/clFillImage/test_cl_fill_images.
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37319 >
2025-09-12 10:10:29 +00:00
Karol Herbst
4f94ca6c96
ac/llvm: fix get_global_address for global atomics
...
They do not have an ACCESS index.
Fixes: 9a33c03654 ("ac/llvm: port load_smem_amd behavior to load_global_amd")
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37292 >
2025-09-12 08:55:39 +00:00
Samuel Pitoiset
9fbf29fc6d
spirv: add missing non-uniform access for SSBO atomics
...
This fixes new VKCTS coverage
dEQP-VK.descriptor_indexing.non_uniform_atomics.
Found this while implementing a new extension.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37295 >
2025-09-12 07:40:50 +00:00
Samuel Pitoiset
a52483d9e7
radv: fix capture/replay with sampler border color
...
The border color index must be captured and returned to the app,
otherwise it's broken if samplers aren't replayed in-order.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37291 >
2025-09-12 06:51:51 +00:00
Samuel Pitoiset
a658be8a24
radv: get NIR options after initializing the physical device cache key
...
Otherwise, radv_split_fma isn't considered.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13878
Fixes: 7304423b5c ("radv: mark RADV_DEBUG=splitfma as deprecated")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37293 >
2025-09-12 06:18:26 +00:00
Mike Blumenkrantz
e11be7549d
zink: more vvl exceptions
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37324 >
2025-09-12 04:05:28 +00:00
Trigger Huang
430b85adbb
radeonsi: Fix u_log_ctx for aux_context recreation
...
When recreating aux_context (typically following a GPU reset event),
the u_log_context must be properly initialized based on the aux_debug
enablement state, just like the logic in the function
radeonsi_screen_create_impl() during aux_context creation. Otherwise,
wrong u_log_context setting will lead to Mesa crashes. For example, in
si_blit_decompress_color(), it will check sctx->log to decide whether
to call u_log_printf(), which ultimately causes a crash.
Signed-off-by: Trigger Huang <Trigger.Huang@amd.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37296 >
2025-09-12 03:45:35 +00:00
Karol Herbst
be7afedba9
rusticl/mesa: fix NULL pointer access in set_constant_buffer_stream
...
Fixes: b3133e250e ("gallium: add pipe_context::resource_release to eliminate buffer refcounting")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37311 >
2025-09-12 02:01:59 +00:00
Mike Blumenkrantz
f419a96d76
zink: use implicit offsets for function temp variables in ntv
...
this is also apparently illegal
Fixes: 0b7611824a ("zink: use implicit stride in ntv for temp vars"
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37312 >
2025-09-12 00:52:46 +00:00
Caio Oliveira
c358842c1d
brw: Don't use individual rallocs for each instruction
...
Move from a single ralloc allocation per instruction to contiguous
blocks of allocations. Still use ralloc for those large blocks.
Each ralloc allocation has at least 5 pointers of overhead, which would
be about a third of the current brw_inst, and get worse as we try to
pack brw_inst better.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36730 >
2025-09-12 00:25:05 +00:00
Caio Oliveira
2506540566
brw: Repack brw_inst fields
...
In Release build, goes from 72 to 64 bytes, and now fits
in a single cacheline.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36730 >
2025-09-12 00:25:05 +00:00
Caio Oliveira
8ded571ef4
brw: Allocate only brw_inst for BASE instructions
...
Now that all the other kinds were added, all transforms to SEND will
come from non-BASE kinds, so we don't need overallocate for BASE
instructions.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36730 >
2025-09-12 00:25:05 +00:00
Caio Oliveira
08c0f33874
brw: Add a generic LOGICAL instruction kind
...
This kind of instruction doesn't have a special struct but
will still be always allocated so that it can be lowered to SEND.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36730 >
2025-09-12 00:25:05 +00:00
Caio Oliveira
df2b5fb03f
brw: Add brw_fb_write_inst
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36730 >
2025-09-12 00:25:04 +00:00
Caio Oliveira
d06c0a370e
brw: Add brw_urb_inst
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36730 >
2025-09-12 00:25:04 +00:00
Caio Oliveira
90967e7b16
brw: Add brw_load_payload_inst
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36730 >
2025-09-12 00:25:03 +00:00
Caio Oliveira
388bac06ce
brw: Add brw_dpas_inst
...
Fixed the types in brw_inst::bits so the struct is packed correctly.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36730 >
2025-09-12 00:25:03 +00:00
Caio Oliveira
09a26526cc
brw: Add brw_mem_inst
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36730 >
2025-09-12 00:25:02 +00:00