Commit graph

219153 commits

Author SHA1 Message Date
Christian Gmeiner
5e61368d3b etnaviv: Enable single-triangle blitter mode
Vivante hardware exhibits floating-point interpolation inconsistencies
at the diagonal seam when the blitter uses a two-triangle quad for scaled
NEAREST blits. Enable the single-triangle blitter mode to match the
proprietary driver's approach of using one oversized triangle
clipped by scissor.

Fixes dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_*
Fixes dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_*

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39973>
2026-02-26 12:18:05 +00:00
Christian Gmeiner
ec41afc7aa u_blitter: Add single-triangle draw mode for NEAREST blit consistency
When the blitter draws a textured quad using two triangles, the
interpolation at the diagonal seam between triangles can produce
slightly different texture coordinates for the same pixel position.
For NEAREST filtering this causes inconsistent texel selection at the
seam boundary, failing dEQP-GLES3 nearest_consistency_* tests.

V3D already works around a similar issue by reordering triangle indices
(use_index_buffer), but Vivante GPUs requires a stronger fix: drawing a
single oversized triangle and relying on scissor to clip to the actual
destination rectangle. This matches the approach used by Vivante's
proprietary driver.

Add a new use_single_triangle flag to blitter_context that drivers can
opt-in.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39973>
2026-02-26 12:18:05 +00:00
Benjamin Cheng
39839af4e1 radv/video: Disable qp map for h265 on vcn1
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Quantization maps cannot work with cu_qp_delta_enabled = 1, and VCN1 is
unlikely to ever support it.

See 1dda9d56cb ("radv/video: Disable rate control modes for H265 encode on VCN1")
for additional details.

Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40052>
2026-02-26 11:54:13 +00:00
Faith Ekstrand
01ba87a7fc panvk: Relax ms2ss afbc disablement
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39324>
2026-02-26 11:15:31 +00:00
Christoph Pillmayer
05326726a9 panvk: Don't create MS2SS views for internal views
We never use MS2SS from meta.

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39324>
2026-02-26 11:15:31 +00:00
Faith Ekstrand
c015759629 pan/fb: Force pre-frame shaders to ALWAYS for clean tiles
If we set clean_tile_enable but don't also force-enable pre-frame
shaders, we have a problem.

Fixes: 6a56d35705 ("pan/fb: Fill out our own descriptors")
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39324>
2026-02-26 11:15:31 +00:00
Faith Ekstrand
0c4f2aba51 pan/fb: Set clean_tile_write for mismatched superblock/tile sizes
Originally, I thought I could get away with not doing this because we
were sizing up the framebuffer boundary to include the superblocks.
However, that's not actually good enough because it's not just about
when we do a clear.  It's actually required for AFBC writes to work
properly with small tiles.

Fixes: 6a56d35705 ("pan/fb: Fill out our own descriptors")
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39324>
2026-02-26 11:15:31 +00:00
Faith Ekstrand
2fcee05abf pan/fb: Figure out clean tile enables up-front
Fixes: 6a56d35705 ("pan/fb: Fill out our own descriptors")
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39324>
2026-02-26 11:15:30 +00:00
Faith Ekstrand
deb8b5c9c7 panvk: Avoid direct MSAA resolves to AFBC on v6 and earlier
Fixes: b8de34da2b ("panvk: Use resolve shaders for color resolves")
Fixes: 46f611c932 ("panvk: Also use resolve shaders for Z/S")
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39324>
2026-02-26 11:15:30 +00:00
Faith Ekstrand
98a6e6e7bb pan/fb: Set reverse_issue_order when needed
When the the tile size is not a multiple of a superblock for the given
render target, there's a potential race condition between the write at
the end of one tile and reads in some other tile where the reads may
access a superblock in a partially updated state.  If the tile size is a
multiple of a superblock, this shouldn't happen because no superblock is
ever used by more than one tile.  But for small tiles, this can happen.

The hardware provides us an escape hatch: the reverse_issue_order bit.
This bit comes with a bit of a performance cost but it's necessary to
ensure rendering correctness.

Fixes: 6a56d35705 ("pan/fb: Fill out our own descriptors")
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39324>
2026-02-26 11:15:30 +00:00
Faith Ekstrand
655f7588de pan/desc: Pass emit_*_attachments args through a struct
Every time we need to adjust what goes to these helpers, it's a giant
pain because of all the function prototypes and the mode table.  Just
put everything in a struct and pass that around.

Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39324>
2026-02-26 11:15:29 +00:00
Faith Ekstrand
5093b3fe0a pan/fb: Improve depth format asserts
Fixes: e3dc3dccd6 ("pan/fb: Add a common FB load shader builder")
Fixes: 6a56d35705 ("pan/fb: Fill out our own descriptors")
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39324>
2026-02-26 11:15:29 +00:00
Faith Ekstrand
397297e7de util/format: Add a util_format_get_depth_bits() helper
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39324>
2026-02-26 11:15:28 +00:00
rdh
53474cfef0 mesa: allow MAX_TRANSFORM_FEEDBACK_BUFFERS in GL40+ contexts
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40000>
2026-02-26 10:19:37 +00:00
Aitor Camacho
d55a71893b docs: Add KosmicKrisp to the list of layered drivers
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Reviewed-by: Eric Engestrom <eric@igalia.com>
Signed-off-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40033>
2026-02-26 10:14:24 +00:00
Aitor Camacho
636640ecce docs/kk: Update build instructions to add --prefer-static
Reviewed-by: Eric Engestrom <eric@igalia.com>
Signed-off-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40033>
2026-02-26 10:14:24 +00:00
Valentine Burley
0468dbf989 venus/ci: Skip invalid SkQP test on ANV
This was clarified to be a spec violation: https://gitlab.khronos.org/vulkan/vulkan/-/issues/4713

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14912
Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40111>
2026-02-26 09:46:11 +01:00
Samuel Pitoiset
4b52a537a5 radv: remove an useless check for VK_IMAGE_LAYOUT_PREINITIALIZED
VK_IMAGE_LAYOUT_PREINITIALIZED is only well defined for linear images
in Vulkan, and linear images can't have DCC. So, this was dead code.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40070>
2026-02-26 07:44:39 +00:00
Samuel Pitoiset
5c371010c1 radv/meta: stop using pdev for some query resolve shaders
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: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40041>
2026-02-26 07:21:06 +00:00
Samuel Pitoiset
122958344a radv/meta: stop using pdev for building the resolve meta shaders
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40041>
2026-02-26 07:21:06 +00:00
Samuel Pitoiset
81932d6731 radv/meta: stop using pdev for shaders that use addr<->coord helpers
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40041>
2026-02-26 07:21:06 +00:00
Samuel Pitoiset
e8710152fb ac/nir: stop passing radeon_info for addr->coord helpers
Only for gb_addr_config.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40041>
2026-02-26 07:21:06 +00:00
Caio Oliveira
63e1592f8d brw/scoreboard: Don't track dependencies for UNDEFs
Dependencies in UNDEFs were already not propagated by
update_inst_scoreboard(), since the instruction there
was not consider neither ordered or unordered; and also
not being used to resolve implicit dependencies.

The generator was already ignoring any baked dependency
but for cases where UNDEF had two dependencies, a sync nop
would be generated -- which would be redundant with a
later sync nop.

Since we know UNDEFs have no dependencies, stop treating
them specially when trimming dependencies.

This patch remove this particular class of redundant sync nops.
No functional change is expected.

Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39875>
2026-02-26 06:54:48 +00:00
Georg Lehmann
8f4de30d05 aco/insert_fp_mode: don't skip setting round for fract
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
fract(-FLT_MIN) is < 1.0 with rtz but 1.0 with rtne.

Fixes: 7212a75c5e ("aco/insert_fp_mode: exclude some instructions that will never round")

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40078>
2026-02-26 00:20:02 +00:00
Mike Blumenkrantz
788a8ab239 ntv: call nir_lower_variable_initializers() from ntv_shader_prepare
also assert that this has been called

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40102>
2026-02-25 23:11:37 +00:00
Mike Blumenkrantz
49d07b9ae6 ntv: run nir_remove_dead_variables during ntv_shader_prepare()
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40102>
2026-02-25 23:11:37 +00:00
Mike Blumenkrantz
a6928eb015 ntv: re-gather shader info after ntv_shader_prepare
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40102>
2026-02-25 23:11:37 +00:00
Mike Blumenkrantz
6ed178ecd6 ntv: run nir_cleanup_functions() in ntv_shader_prepare()
this is better than leaving the inlined functions sitting around

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40102>
2026-02-25 23:11:37 +00:00
Mel Henning
102fa924c2 nvk: Remove unused cmd.tls_space_needed
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33861>
2026-02-25 22:42:07 +00:00
Mel Henning
c24963d8da nvk: Enable zcull for VK_ATTACHMENT_LOAD_OP_LOAD
Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33861>
2026-02-25 22:42:06 +00:00
Mel Henning
5e04c965de nvk: Enable basic zcull support
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12596
Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33861>
2026-02-25 22:42:06 +00:00
Mel Henning
0920e0afb5 nil: Add zcull support
Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33861>
2026-02-25 22:42:06 +00:00
Mel Henning
88cc4df9a3 nouveau/headers: Preserve _ before 0-9 in to_camel
This makes some zcull enums a lot more readable - previously Z_4X8_2X2
would become Z4X82X2 but this gives us Z4x8_2x2 instead.

Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33861>
2026-02-25 22:42:06 +00:00
Mel Henning
76f9a51660 nouveau/winsys: Fetch zcull_info on device create
Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33861>
2026-02-25 22:42:06 +00:00
Mel Henning
0f03c8b173 drm-uapi: Sync nouveau_drm.h
Taken from drm-misc-next:

    commit 196b2b95fec447c2c4460f753b277d840633fbef
    Author: Mel Henning <mhenning@darkrefraction.com>
    Date:   Thu Feb 19 15:05:54 2026 -0500

        drm/nouveau: Add DRM_IOCTL_NOUVEAU_GET_ZCULL_INFO

Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33861>
2026-02-25 22:42:06 +00:00
Pohsiang (John) Hsu
8aecdcffa5 mediafoundation: add workaround for max subregion number reported in slice auto mode
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40099>
2026-02-25 22:27:07 +00:00
Pohsiang (John) Hsu
d5bd6874f6 d3d12: add workaround for max subregion number reported in slice auto mode
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40099>
2026-02-25 22:27:07 +00:00
Pohsiang (John) Hsu
1b1cde9d39 mediafoundation: in slice generation mode, send METransformNeedInput
once per frame.

Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40099>
2026-02-25 22:27:07 +00:00
Erik Faye-Lund
745f69aa1e pan/ci: add a slow test to the skip-list
Just something I noticed while looking over test-results...

Acked-by: Eric R. Smith <eric.smith@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40090>
2026-02-25 21:58:38 +00:00
Erik Faye-Lund
f109f38881 pan/ci: update missed expectation
These changes to the nightly results were missed. We're now passing one
more test, and the trace renders ever so slightly differently. The
differences doesn't seem to suggest anything wrong, so let's just accept
the change.

Fixes: 399c0d22f3 ("panfrost: blending fixes for Midgard")
Acked-by: Eric R. Smith <eric.smith@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40090>
2026-02-25 21:58:38 +00:00
Samuel Pitoiset
52aaf307df radv: use radv_physical_cache_key::clear_lds more
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40088>
2026-02-25 20:28:44 +00:00
Samuel Pitoiset
229e892e42 radv: use radv_physical_cache_key::disable_shrink_image_store more
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40088>
2026-02-25 20:28:44 +00:00
Samuel Pitoiset
55691035e8 radv: use radv_physical_cache_key::disable_aniso_single_level more
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40088>
2026-02-25 20:28:43 +00:00
Samuel Pitoiset
f045c04b50 radv: use radv_physical_cache_key::disable_trunc_coord more
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40088>
2026-02-25 20:28:43 +00:00
Samuel Pitoiset
d7447012ef radv/nir: use radv_physical_cache_key::bvh8 more
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40088>
2026-02-25 20:28:43 +00:00
Samuel Pitoiset
1457c39f5a radv/nir: use radv_physical_cache_key::emulate_rt more
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40088>
2026-02-25 20:28:43 +00:00
Samuel Pitoiset
246b8501ce radv/nir: use radv_physical_cache_key::no_rt more
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40088>
2026-02-25 20:28:41 +00:00
Yiwei Zhang
835fd613b5 venus: expose VK_EXT_descriptor_heap by default
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
The debug option is now toggled. VN_DEBUG=no_desc_heap can disable the
extension.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40085>
2026-02-25 18:02:46 +00:00
Yiwei Zhang
f0e4ef50e3 venus: RegisterCustomBorderColorEXT can be async when index is requested
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40085>
2026-02-25 18:02:46 +00:00
Yiwei Zhang
718ecfc008 venus: amend to mark descriptor size cache initialized
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40085>
2026-02-25 18:02:46 +00:00