Commit graph

222303 commits

Author SHA1 Message Date
squidbus
0bc87e47e2 kk: Expand workaround 3 to cover general use of ballot/vote ops
simd_ballot/quad_any/quad_all (and probably simd_any/simd_all) appear to
generally be broken within conditional blocks, not just with simd_is_first.

Reviewed-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41186>
2026-05-11 09:50:27 +00:00
squidbus
5b34d1ff34 nir: Only attempt subgroups lower_boolean_reduce for single component.
lower_boolean_reduce only works if the number of components is 1, and even
asserts on this in its prologue. Otherwise, given a boolean vector type, it
may produce output using ballot/vote with a boolean vector input.

Acked-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41186>
2026-05-11 09:50:27 +00:00
Jose Maria Casanova Crespo
8bd7f1d44b v3dv: include mem_offset in vkCmdFillBuffer destination
v3dv_CmdFillBuffer was passing only the user-supplied dstOffset to
meta_fill_buffer, ignoring the destination VkBuffer's mem_offset.
When several VkBuffers share one VkDeviceMemory at different offsets
(sub-allocation) the fill landed on whichever VkBuffer was
bound at offset 0 of the memory object instead of the requested one.

Fixes: 5ed78d91fe ("v3dv: implement vkCmdFillBuffer")
Assisted-by: Claude Opus 4.7
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41436>
2026-05-11 10:49:20 +02:00
Lionel Landwerlin
7d3b62e13d anv: only load fp64 software shader when needed
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: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14665
Reviewed-by: Allen Ballway <ballway@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39341>
2026-05-11 08:27:14 +00:00
Lionel Landwerlin
beb0ffc069 anv: sweep the NIR fp64 shader before keeping it on the device
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: Allen Ballway <ballway@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39341>
2026-05-11 08:27:14 +00:00
Lionel Landwerlin
19997bc245 blorp: only request fp64 shader on when required
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Allen Ballway <ballway@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39341>
2026-05-11 08:27:14 +00:00
Lionel Landwerlin
91cf85906b blorp: stop requesting the fp64 shader for ELK
Drivers using blorp on ELK platforms don't need the special
color->depth conversion path that needs 64bit floating point math.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Allen Ballway <ballway@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39341>
2026-05-11 08:27:14 +00:00
Valentine Burley
2c4ed4f90d ci: Add missing rule for new trace replay config files
Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41443>
2026-05-11 08:02:05 +00:00
Valentine Burley
2d453911f8 mr-label-maker: Add rule for new trace replay config files
Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41443>
2026-05-11 08:02:05 +00:00
Georg Lehmann
421d1be560 radv/ci: update restricted trace checksums
Having a job that can't be run manually sure is great.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41443>
2026-05-11 08:02:05 +00:00
Hyunjun Ko
ff3e0ec5f4 anv/video: fix up H.264/H.265 encode session parameters to match advertised caps
Initially, this is to fix an issue when apps set wrong ctb sizes.
In addition to it, we need to align things with advertised caps.
This is inspired by radv.

The relevant discussion is here:
https://github.com/KhronosGroup/Vulkan-Video-Samples/pull/169

Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41433>
2026-05-11 07:12:33 +00:00
Samuel Pitoiset
5a95658fa8 radv: do not fallback to compute for image->buffer copies with emulated formats
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This shouldn't be necessary because SDMA can detile the image just fine,
only buffer->image and image->image need to fallback.

It just works on GFX10+ because RADV is using NBC views, and I think
it works on eg. VEGA10 just by luck due to different
swizzles/alignments.

Fixes: 3d803d7a2e ("radv: Use compute copy for emulated formats")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41384>
2026-05-11 06:05:44 +00:00
Erico Nunes
d8e50619ab ci: lima farm maintenance
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: Erico Nunes <nunes.erico@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41466>
2026-05-10 18:28:11 +02:00
Caio Oliveira
46cd7b6e28 brw: Move brw_prog_data_init to a different file
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
The generator code will be reworked, remove this unrelated
function from there.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41458>
2026-05-10 00:07:15 +00:00
Caio Oliveira
2273533504 brw: Fix some indentation in brw_generator.cpp
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Will reduce noise in later changes.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41459>
2026-05-09 16:40:32 -07:00
Caio Oliveira
b1c3e36fe3 intel/dev: Expose list of known platform names
Acked-by: Iván Briano <ivan.briano@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41007>
2026-05-09 22:00:54 +00:00
Daniel Schürmann
0832f3251c nir/opt_algebraic: extend some extract_u8 pattern to extract_i8
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
and remove some duplicate extract pattern.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41385>
2026-05-09 21:23:40 +00:00
Daniel Schürmann
9895b5e5da nir/opt_algebraic: optimize downcast followed by upcast to extract
Totals from 217 (0.10% of 208640) affected shaders: (Navi48)

Instrs: 283561 -> 282870 (-0.24%)
CodeSize: 1604864 -> 1601136 (-0.23%); split: -0.24%, +0.01%
Latency: 2992301 -> 2990107 (-0.07%); split: -0.09%, +0.02%
InvThroughput: 602722 -> 601316 (-0.23%); split: -0.23%, +0.00%
Copies: 26490 -> 26471 (-0.07%); split: -0.10%, +0.03%
VALU: 147735 -> 147176 (-0.38%)
SALU: 51545 -> 51541 (-0.01%)
VOPD: 11140 -> 11204 (+0.57%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41385>
2026-05-09 21:23:40 +00:00
Emma Anholt
1538621f46 tu: Disable storage image support for depth/stencil.
Fixes failures in the new CTS tests like
dEQP-VK.image.store.without_format.2d.x8_d24_unorm_pack32.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41245>
2026-05-09 13:56:44 -07:00
Emma Anholt
9771283c61 zink/ci/tu: Fix up skips/xfails for GLCTS testcases that got divided up.
KHR-Single-GL46.arrays_of_arrays_gl.SubroutineFunctionCalls2 subtests
pass, but some are slow and we keep skipping them.

copy_image.* now takes 2:30 of runtime on my T14s and has some interesting
fails in rgb9e5, though a750 CI seems to pass.

texture_swizzle.functional* now takes 6.5s of runtime on my T14s.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41245>
2026-05-09 13:56:44 -07:00
Emma Anholt
65f5319522 tu: Report missing layout support for host_image_copy with unifiedLayouts.
Fixes dEQP-VK.image.host_image_copy.properties.properties in
vulkan-cts-1.4.5.3

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41245>
2026-05-09 13:56:44 -07:00
Emma Anholt
d369759972 tu/ci: Drop some old xfails that don't trigger any more.
Tested locally to make sure it wasn't just a fraction change.  The
"dynamic-" testcases don't even exist in the CTS any more.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41245>
2026-05-09 13:56:43 -07:00
Danylo Piliaiev
3e1f06b079 tu: Don't leak pre_chain.rp_trace, and correct u_trace_move
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
pre_chain.rp_trace usage relied on a bunch of bad assumptions
and together with u_trace_move didn't cause issues until
u_trace is started to be refactored. Fixing those bad assumptions
and correctly initializing and freeing pre_chain.rp_trace
also requires fixing u_trace_move at the same time.

u_trace_move fixes:
- If dst had trace chunks in it - we may have leaked them.
- The correct list move pattern is "list_replace -> list_inithead"
  not "list_replace -> list_delinit"

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41390>
2026-05-09 10:31:41 +00:00
Michael Cheng
24aa7715cb intel/ds: Label selected draw events with vertex count
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Format draw and draw_indexed Perfetto events with their vertex count.
For draw_indirect and draw_indexed_indirect, include the draw count
when indirect tracing is enabled (MESA_GPU_TRACES=indirects), otherwise
fall back to the static name.

Signed-off-by: Michael Cheng <michael.cheng@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41374>
2026-05-08 19:51:48 +00:00
Michael Cheng
e8b6f61a50 intel/ds: Label compute events with dispatch dimensions in Perfetto
Format compute events as compute(x,y,z) using the end-payload group
dimensions. Trailing dimensions that equal 1 are omitted to keep labels
concise — e.g. compute(128,1,1) becomes compute(128).

For compute_indirect, the dispatch dimensions are not known at command
record time since they live in GPU memory as a VkDispatchIndirectCommand.
The u_trace framework reads them back at trace flush time via the
is_indirect mechanism: the GPU address is recorded alongside the
tracepoint, and u_trace copies the pointed-to struct into indirect_data
once the GPU has finished. The same trailing-1 trimming is applied when
indirect tracing is enabled (MESA_GPU_TRACES=indirects); otherwise the
event falls back to the static "compute_indirect" name.

Signed-off-by: Michael Cheng <michael.cheng@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41374>
2026-05-08 19:51:48 +00:00
Michael Cheng
ecbc6625cf intel/ds: Add end_event_dyn() and CREATE_DUAL_EVENT_CALLBACK_DYN macro
Add a separate end_event_dyn() that takes a std::string by value for
dynamic event names. The [=] lambda capture deep-copies the string into
the closure, avoiding a dangling pointer when the Trace() continuation
runs after the caller's stack frame is gone.

The existing end_event() with const char* remains for string literals
and long-lived pointers (e.g. payload->str), where no copy is needed.

CREATE_DUAL_EVENT_CALLBACK_DYN formats the event name via snprintf and
passes the result as a std::string to end_event_dyn(). Follow-up patches
will use this macro to label events with runtime dimensions.

Signed-off-by: Michael Cheng <michael.cheng@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41374>
2026-05-08 19:51:48 +00:00
Mike Blumenkrantz
41a3213dca zink: remove remaining maint5 checks
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
this is required now

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41444>
2026-05-08 19:10:31 +00:00
Mike Blumenkrantz
3c3379d55f zink: delete zink_resource_object::storage_buffer
no longer used

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41444>
2026-05-08 19:10:31 +00:00
Mike Blumenkrantz
cac48876e0 zink: use maintenance5 to more effectively set storage texel usage for bufferviews
this simplifies the bufferviews so there is only ever a single buffer/view
for the corresponding resource

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41444>
2026-05-08 19:10:31 +00:00
Dmitry Baryshkov
3eb50679bb rusticl: enable freedreno by default
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Having the RustiCL on FD8xx pass the CTS tests, enable freedreno by
default.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40072>
2026-05-08 16:38:11 +00:00
Ryan Houdek
103887766c turnip: Add an override to uncached memory type
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
When uncached memory type is used under emulation then most games have a
significant performance penalty due to accessing the buffer atomically.

Instead when this option is set, it will override uncached buffer
allocations to instead be cached+coherent if the host supports it. This
allows the atomic accesses to still be done but not have abysmal
performance.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41323>
2026-05-08 12:27:18 +00:00
Georg Lehmann
1716cbff37 nir,amd: reassociate fadd to create more fma/mad
ACO's backend fusing is quite competent, but it cannot reorder adds.
This adds a simple algebraic pass to do that for us.

Foz-DB Navi10:
Totals from 13568 (18.76% of 72319) affected shaders:
MaxWaves: 304722 -> 304004 (-0.24%); split: +0.10%, -0.33%
Instrs: 15084252 -> 14993010 (-0.60%); split: -0.61%, +0.00%
CodeSize: 81480188 -> 81372600 (-0.13%); split: -0.17%, +0.04%
VGPRs: 741580 -> 743680 (+0.28%); split: -0.10%, +0.38%
SpillSGPRs: 9418 -> 9434 (+0.17%)
Latency: 154602014 -> 154312940 (-0.19%); split: -0.29%, +0.10%
InvThroughput: 44628554 -> 44442595 (-0.42%); split: -0.47%, +0.05%
VClause: 300035 -> 300054 (+0.01%); split: -0.31%, +0.31%
SClause: 370992 -> 370640 (-0.09%); split: -0.15%, +0.06%
Copies: 1162401 -> 1162800 (+0.03%); split: -0.30%, +0.33%
Branches: 300646 -> 300654 (+0.00%); split: -0.00%, +0.01%
PreSGPRs: 673675 -> 675057 (+0.21%); split: -0.00%, +0.21%
PreVGPRs: 633017 -> 634768 (+0.28%); split: -0.29%, +0.57%
VALU: 10800351 -> 10712041 (-0.82%); split: -0.82%, +0.00%
SALU: 1752917 -> 1753203 (+0.02%); split: -0.04%, +0.06%

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Reviewed-by: Marek Olšák <maraeo@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41348>
2026-05-08 11:49:43 +00:00
Georg Lehmann
9e87090db4 nir/loop_analyze: do not count fmul towards the limit when only used by fadd
As always with loop unrolling, don't look too closely at stats, but they
confirm more loops are now unrolled.

Foz-DB Navi10:
Totals from 66 (0.09% of 72319) affected shaders:
MaxWaves: 1464 -> 1424 (-2.73%); split: +0.82%, -3.55%
Instrs: 101778 -> 173128 (+70.10%)
CodeSize: 544148 -> 905392 (+66.39%)
VGPRs: 3652 -> 3788 (+3.72%); split: -0.77%, +4.49%
SpillSGPRs: 105 -> 75 (-28.57%)
Latency: 1197088 -> 1033471 (-13.67%); split: -17.08%, +3.41%
InvThroughput: 315257 -> 293245 (-6.98%); split: -13.29%, +6.31%
VClause: 1663 -> 3057 (+83.82%); split: -0.12%, +83.94%
SClause: 2797 -> 4496 (+60.74%); split: -0.21%, +60.96%
Copies: 6472 -> 11219 (+73.35%); split: -0.08%, +73.42%
Branches: 2695 -> 4697 (+74.29%); split: -0.56%, +74.84%
PreSGPRs: 3418 -> 3619 (+5.88%); split: -0.79%, +6.67%
PreVGPRs: 3305 -> 3423 (+3.57%); split: -1.06%, +4.63%
VALU: 73061 -> 124934 (+71.00%)
SALU: 11775 -> 20803 (+76.67%); split: -0.99%, +77.66%
VMEM: 2729 -> 4627 (+69.55%)
SMEM: 3796 -> 5869 (+54.61%); split: -0.18%, +54.79%

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Reviewed-by: Marek Olšák <maraeo@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41348>
2026-05-08 11:49:43 +00:00
Georg Lehmann
25add9cbd1 nir/opt_peephole_select: do not count fmul towards the limit when only used by fadd
Foz-DB Navi10:
Totals from 4077 (5.64% of 72319) affected shaders:
MaxWaves: 84057 -> 83325 (-0.87%); split: +0.07%, -0.94%
Instrs: 6019711 -> 6007338 (-0.21%); split: -0.27%, +0.07%
CodeSize: 32373984 -> 32356152 (-0.06%); split: -0.18%, +0.13%
VGPRs: 236588 -> 238172 (+0.67%); split: -0.05%, +0.72%
SpillSGPRs: 7341 -> 7367 (+0.35%); split: -0.65%, +1.01%
Latency: 61833147 -> 61386674 (-0.72%); split: -0.91%, +0.19%
InvThroughput: 22328993 -> 22364077 (+0.16%); split: -0.16%, +0.32%
VClause: 97803 -> 97832 (+0.03%); split: -0.29%, +0.32%
SClause: 147544 -> 146274 (-0.86%); split: -1.19%, +0.33%
Copies: 606083 -> 593887 (-2.01%); split: -2.27%, +0.26%
Branches: 171344 -> 164203 (-4.17%); split: -4.17%, +0.00%
PreSGPRs: 234116 -> 234922 (+0.34%); split: -0.17%, +0.52%
PreVGPRs: 211250 -> 211374 (+0.06%); split: -0.00%, +0.06%
VALU: 4130666 -> 4132669 (+0.05%); split: -0.11%, +0.16%
SALU: 854007 -> 852585 (-0.17%); split: -0.77%, +0.61%
VMEM: 162718 -> 162755 (+0.02%); split: -0.00%, +0.03%
SMEM: 237856 -> 236323 (-0.64%); split: -0.65%, +0.00%

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Reviewed-by: Marek Olšák <maraeo@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41348>
2026-05-08 11:49:43 +00:00
Danylo Piliaiev
5f48aba9fa tu: Fix double free of timestamp_copy_data->trace
Instead of leaving timestamp_copy_data half-initialized in
copy_timestamp_cs_pool - always have it fully initialized and valid
state there.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41438>
2026-05-08 11:15:20 +00:00
Caius-Moldovan-img
4c83425519 pvr: set SMP component count for TQ frag load shaders
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Add a new helper function pvr_pbe_format_num_sample_components that maps a
pvr_transfer_pbe_pixel_src format to the number of components it actually
uses. Use pvr_pbe_format_num_sample_components in pvr_uscgen_tq_frag_load
to set params.sample_components before calling pco_emit_nir_smp, so the
instruction is emitted with the correct component count. This allows the
generation of a more optimal SMP instruction, avoiding the emission of
unused result components.

Signed-off-by: Caius Moldovan <caius.moldovan@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41393>
2026-05-08 10:59:56 +00:00
Lionel Landwerlin
d2732faac0 anv: enable VK_EXT_swapchain_compression_control when possible
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40429>
2026-05-08 13:24:47 +03:00
Lionel Landwerlin
bfb752c6a3 vulkan/wsi: write VkImageCompressionControlEXT from swapchain to image creation
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40429>
2026-05-08 13:24:28 +03:00
Lionel Landwerlin
7094ad91e3 anv: implement missing device image property compression filtering
We want to avoid reporting support for disabling compression with
compressed drm modifier.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: c94cd1235f ("anv: implement VK_EXT_image_compression_control")
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40429>
2026-05-08 13:24:28 +03:00
Erik Faye-Lund
e714e2f88d panfrost: enable ARB_texture_query_lod on v9+
We've been reporting in features.txt that we support this extension
unconditionally, but we didn't. Now that we have the bits wired up due
to Vulkan, we can actually enable it on Bifrost and later.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Reviewed-by: Lorenzo Rossi <lorenzo.rossi@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34339>
2026-05-08 09:45:39 +00:00
Erik Faye-Lund
8ef057b964 pan/bi: correct computation of lod.x
Enabling clamping in the opcode here doesn't do quite what we need. This
makes the HW clamp to the max LOD specified in the sampler, but we need
to clamp to the maximum available LOD instead, which is the minimum
of the max-lod of the sampler and the max level in the texture itself.

We also need to take the mipmap mode into account when computing the
level of detail. This is not something the TEX_GRADIENT instruction
does, so we need to do this manually.

Now that we no longer modify the flags in the loop, we can get rid of
the loop alltogether, and only issue a single TEX_GRADIENT instruction.
While we're at it, clean up some naming to better match the phrasing
from the spec.

This only applies to Valhall for now.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/14867
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Reviewed-by: Lorenzo Rossi <lorenzo.rossi@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34339>
2026-05-08 09:45:38 +00:00
Erik Faye-Lund
042e3eb937 pan/va: do not allow force_delta_enable on v9
This bit is reserved and should be zero on V9, so we should report an
illegal instruction if we ever encounter it while packing.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Reviewed-by: Lorenzo Rossi <lorenzo.rossi@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34339>
2026-05-08 09:45:37 +00:00
Iago Toral Quiroga
85e32ec249 pan/bi: TEX_GRADIENT may need helper invocations
If we use the texture coordinates mode for TEX_GRADIENT we need valid
texture coordinates on disabled lanes to compute correct lods across all
pixels on a triangle, otherwise pixels along triangle edges will read
garbage when computing coordinate deltas and produce bogus results.

We previously tried to solve this by setting the force_delta_enable bit,
but that doesn't always work... and worse, this bit isn't supported on
V9, which means we sometimes end up generating illegal instructions.

Fixes Piglit:
shaders/zero-tex-coord texturequerylod

Fixes: 4e58029dc0 ("pan/va: fix base-level for nir_texop_lod")
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Reviewed-by: Lorenzo Rossi <lorenzo.rossi@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34339>
2026-05-08 09:45:37 +00:00
Georg Lehmann
0dd50a426e nir: fix fp_math_ctrl in fisnan
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Otherwise, nir_opt_algebraic will replace it with false.

Fixes: 63d199a01e ("nir: remove special fp_math_ctrl rules")
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41420>
2026-05-08 08:20:16 +00:00
David Rosca
50a56b64d1 pipe/video: Remove unused PIPE_VIDEO_CAP_STACKED_FRAMES
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40644>
2026-05-08 07:57:55 +00:00
David Rosca
0c66811bb8 pipe/video: Remove unused PIPE_VIDEO_CAP_MAX_LEVEL
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40644>
2026-05-08 07:57:54 +00:00
David Rosca
78c9580808 pipe/video: Remove unused PIPE_VIDEO_CAP_NPOT_TEXTURES
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40644>
2026-05-08 07:57:53 +00:00
David Rosca
7437ee8550 pipe/video: Remove unused PIPE_VIDEO_CAP_PREFERRED_FORMAT
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40644>
2026-05-08 07:57:53 +00:00
David Rosca
b91ad4a4e5 vl: Don't check npot textures support when creating buffers
This is the only place where PIPE_VIDEO_CAP_NPOT_TEXTURES is used,
but all video drivers supports npot textures.

Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40644>
2026-05-08 07:57:53 +00:00
David Rosca
16a2aeeb93 vl: Use NV12 as deint format instead of preferred format
This is the last place where PIPE_VIDEO_CAP_PREFERRED_FORMAT is being
used, and all drivers return NV12 here anyway.

Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40644>
2026-05-08 07:57:53 +00:00