Commit graph

221080 commits

Author SHA1 Message Date
Karol Herbst
8170f18d9b nak/copy_prop: allow modified F16v2 and F16 sources
Seems to help a couple of shaders using MUFU.F16

Totals from 178 (0.01% of 1212873) affected shaders:
CodeSize: 5929856 -> 5925088 (-0.08%); split: -0.08%, +0.00%
Static cycle count: 8667151 -> 8665940 (-0.01%); split: -0.02%, +0.00%

Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40897>
2026-04-13 23:15:10 +00:00
Rhys Perry
a6b86d43d3 ir3/ra: fix copy-paste error
I don't entirely understand what this is all doing, but this looks like a
copy-paste error.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Backport-to: 26.0
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40480>
2026-04-13 22:28:15 +00:00
Rhys Perry
54af9431d1 ir3/array_to_ssa: initialize ir3_instruction::data
This should have already been NULL because this looks like the first time
this field is used, but that's a bit fragile.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40480>
2026-04-13 22:28:15 +00:00
Rhys Perry
4f0fb5784f ir3/array_to_ssa: skip remove_trivial_phi for non-array phis
remove_trivial_phi() mostly does nothing for non-array phis, but it
rewrites sources if their definining instruction are trivial phis.

In the case of trivial phis in the loop continue block (for loops with
divergent non-trivial continues), we might need to keep those if they
write a shared register, because the source of the trivial phi will not be
reachable from the loop header phi.

In this example, the predecessors of the continue block should be block2,
but the physical predecessors are block2 and block3, requiring a phi in
the continue block which will then be lowered by ir3_lower_shared_phis.
loop {
   block1:
   a = phi 0, b
   if (divergent) {
      block2:
      b = a + 1
      continue;
   }
   block3:
   break;
}

Fixes RA validation error when compiling blackmythwukong/5645a84e669a6179
from radv_fossils.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Backport-to: 26.0
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40480>
2026-04-13 22:28:15 +00:00
Mary Guillemard
3be57aa4c3 nak: Allows predicate in legalize_ext_instr
With OpLd now having a predicate, we forgot to update legalize_ext_instr
to allow predicates for it.

We should really get ride of those functions but for now let's keep it
simple and sync the implementation to what SM20 backend have.

Signed-off-by: Mary Guillemard <mary@mary.zone>
Fixes: 9d90cbc314 ("nak: add input predicate to load_global_nv and OpLd")
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40934>
2026-04-13 22:13:06 +00:00
Pohsiang (John) Hsu
0f56fd0120 mediafoundation: remove published codecapi
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40895>
2026-04-13 21:58:43 +00:00
Pohsiang (John) Hsu
2af4938328 mediafoundation: add support for GPU priority setting via IMFDXGIScheduler
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40895>
2026-04-13 21:58:43 +00:00
Michael Cheng
06c9c08c48 intel/ds: report when OA metrics are unavailable
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Promote DBG() failure paths in enumerate_sysfs_metrics() to mesa_logw()
so users see why OA metrics are unavailable without needing INTEL_DEBUG.
Also log in PPS when no OA queries are available after initialization.

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/40898>
2026-04-13 21:31:51 +00:00
Michael Cheng
16c17d6698 intel/ds: report when OA metric access is blocked by kernel policy
When observation_paranoid (xe) or perf_stream_paranoid (i915) prevents
unprivileged access to OA metrics, the existing code silently returns no
OA queries. PPS then fails with just a segfault.

This patch adds INTEL_PERF_FEATURE_OA_BLOCKED_BY_POLICY to
intel_perf_features, set by both KMD backends when the paranoid sysctl
exists but lacks sufficent privilage. PPS checks this flag immediately
after initialising intel_perf and returns an error before  attempting
metric-set selection.

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/40898>
2026-04-13 21:31:51 +00:00
Samuel Pitoiset
1950b6c1a7 vulkan: mark RP attachments as invalid when no rendering create info
VkPipelineRenderingCreateInfo is only required in the fragment output
interface lib. For pre-rasterization shaders and fragment shader state
libs, only the view mask is used but it's optional.

If the attachments info isn't marked invalid merging renderpass info
during lib imports wouldn't work because it would assume that the first
lib has attachment info (eg. the pre-rasterization lib).

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/15241
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40870>
2026-04-13 21:01:43 +00:00
Lionel Landwerlin
4dfedcca45 elk: don't support frontfacing ternary optimization on != 32bit
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40931>
2026-04-13 20:32:06 +00:00
Lionel Landwerlin
a84c12414c brw: don't support frontfacing ternary optimization on != 32bit
Fix shader compilation on Crimson Desert :

  16    %1995 = b32csel %1992, %1993, %1994

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40931>
2026-04-13 20:32:06 +00:00
Nanley Chery
b50bb53630 intel/blorp: Fix width scaling for YCBCR copies
Fixes: eb8883f3ef ("intel/blorp: Redescribe surfaces for copies")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/15267
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40930>
2026-04-13 20:03:41 +00:00
Job Noorman
4e456ebde4 ir3/collect_info: remove max_const calculation
constlen is now directly calculated from the const allocations; no need
to infer it from const reg usage anymore.

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40929>
2026-04-13 19:15:59 +00:00
Job Noorman
c7e7d68912 ir3: remove unused ir3_context::has_relative_load_const_ir3
Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40929>
2026-04-13 19:15:59 +00:00
Job Noorman
86f3c0c4c2 ir3: simplify constlen calculation
Instead of inferring constlen from the usage of const registers by
various instructions, we can calculate it directly from the const file
allocations. This greatly simplifies the calculation of constlen.

Note that the increase in constlen comes from a few binning variants.
This doesn't matter as the constlen of the corresponding non-binning
variant is used for those anyway.

Totals from 73 (0.04% of 176258) affected shaders:
Constlen: 3428 -> 3720 (+8.52%)

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40929>
2026-04-13 19:15:59 +00:00
Mary Guillemard
59d9bc7bee hk: Add HK_MAX_RTS to maxFragmentCombinedOutputResources
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
The spec also mentions "output Location decorated color attachments".

Signed-off-by: Mary Guillemard <mary@mary.zone>
Fixes: 564b061981 ("hk: Increase maxFragmentCombinedOutputResources to HK_MAX_DESCRIPTORS")
Reviewed-by: Janne Grunau <j@jannau.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40925>
2026-04-13 19:02:08 +00:00
Mary Guillemard
13f98d8658 nvk: Adjust maxFragmentCombinedOutputResources to match max descriptors limit
This was set to the lowest allowed value by spec but it should really be
matching the max descriptors limit.

Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/15249 for NVK
Signed-off-by: Mary Guillemard <mary@mary.zone>
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40868>
2026-04-13 18:44:08 +00:00
Mary Guillemard
ad35eb6297 bin: Add Tested-by in rb.py
We already have a nice script, let's add the only missing option here.

Signed-off-by: Mary Guillemard <mary@mary.zone>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40932>
2026-04-13 18:01:16 +00:00
Job Noorman
3a076beb13 ir3/analyze_ubo_ranges: don't over-align consts when loaded via preamble
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Consts don't need to be const_upload_unit aligned when initialized in
the preamble.

Totals from 121136 (68.73% of 176258) affected shaders:
MaxWaves: 1731152 -> 1731238 (+0.00%); split: +0.01%, -0.01%
Instrs: 41003924 -> 41006922 (+0.01%); split: -0.04%, +0.04%
CodeSize: 83451224 -> 84153136 (+0.84%); split: -0.15%, +0.99%
NOPs: 6920243 -> 6923031 (+0.04%); split: -0.20%, +0.24%
MOVs: 1202942 -> 1203260 (+0.03%); split: -0.13%, +0.16%
COVs: 654863 -> 654827 (-0.01%); split: -0.01%, +0.00%
Full: 1356271 -> 1356003 (-0.02%); split: -0.03%, +0.01%
(ss): 1019993 -> 1019657 (-0.03%); split: -0.16%, +0.12%
(sy): 489430 -> 489607 (+0.04%); split: -0.07%, +0.10%
(ss)-stall: 3878805 -> 3875997 (-0.07%); split: -0.21%, +0.13%
(sy)-stall: 14655425 -> 14660516 (+0.03%); split: -0.08%, +0.11%
STPs: 9680 -> 9653 (-0.28%)
LDPs: 17026 -> 16999 (-0.16%)
Preamble Instrs: 8805343 -> 9195550 (+4.43%); split: -1.65%, +6.08%
Early Preamble: 101798 -> 103143 (+1.32%); split: +1.44%, -0.12%
Constlen: 5761784 -> 4356540 (-24.39%); split: -24.40%, +0.02%
Subgroup size: 832 -> 1664 (+100.00%)
Cat0: 7631222 -> 7634040 (+0.04%); split: -0.18%, +0.22%
Cat1: 1897357 -> 1897579 (+0.01%); split: -0.09%, +0.10%
Cat2: 15537632 -> 15537426 (-0.00%); split: -0.00%, +0.00%
Cat6: 424903 -> 424996 (+0.02%); split: -0.00%, +0.02%
Cat7: 1002957 -> 1003028 (+0.01%); split: -0.07%, +0.08%

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40908>
2026-04-13 15:38:31 +00:00
Job Noorman
f2d4529494 ir3/analyze_ubo_ranges: add const_align_vec4 helper
Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40908>
2026-04-13 15:38:31 +00:00
Mike Blumenkrantz
4b3bd6b0b5 vulkan/runtime: handle null pCounterBuffers with xfb binds
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
this is legal

cc: mesa-stable

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40892>
2026-04-13 14:59:55 +00:00
Mike Blumenkrantz
9ff879441f radv: handle null pCounterBuffers with xfb binds
this is legal

cc: mesa-stable

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40892>
2026-04-13 14:59:55 +00:00
Mike Blumenkrantz
ab6cdd64c1 lavapipe: VK_EXT_primitive_restart_index
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40783>
2026-04-13 10:40:17 -04:00
Mike Blumenkrantz
88fd02daae lavapipe: update prim restart index on index buffer bind
this makes more sense functionally, as the restart index only changes
when the index size changes (and is harmless to update even if restart
isn't enabled)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40783>
2026-04-13 10:39:46 -04:00
Lionel Landwerlin
0927de4631 anv: enable storageInputOutput16
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40821>
2026-04-13 14:01:04 +00:00
Lionel Landwerlin
46d42b63da brw: add support for < 32bit io values
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40821>
2026-04-13 14:01:04 +00:00
Juan A. Suarez Romero
41fecb5253 broadcom/ci: update expected results
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: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40927>
2026-04-13 12:48:28 +00:00
Jesse Natalie
2c99dc8a18 d3d12: Don't allow CPU storage for huge buffers
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40896>
2026-04-13 12:33:20 +00:00
Danylo Piliaiev
889f71f71a tu: Add tracepoints for clear/copy/blit/lrz ops
There shouldn't be many per frame, so it won't be spammy.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40788>
2026-04-13 11:29:48 +00:00
Georg Lehmann
8d52c3840b radv: do not remove point size variable
This is now done later on lowered io.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40907>
2026-04-13 10:58:01 +00:00
Georg Lehmann
e1e476e618 radv: remove point size in lowered io
We only need to deal with the fixed function last vertex stage case,
for prior stages nir_opt_varyings is enough.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40907>
2026-04-13 10:58:01 +00:00
Jose Maria Casanova Crespo
2b6b859a22 v3dv: defer tile_alloc creation in meta TLB ops
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Remove the allocate_tile_state_now parameter from v3dv_job_start_frame().
So v3dv_job_allocate_tile_state() is explicitly called after
job_emit_binning_flush() as we know the value of job->draw_count instead
of using always 0.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40554>
2026-04-13 10:31:21 +00:00
Jose Maria Casanova Crespo
69880047d8 v3dv: use shared v3d_tile_alloc_sizes() and 128B initial blocks
Replace the inline tile_alloc/TSDA sizing in v3dv_job_allocate_tile_state()
with a call to the new v3d_tile_alloc_sizes() helper. This switches from
64B to 128B initial tile alloc blocks (avoiding overflow for simple draws)
and from a flat 512KB headroom to a draw-proportional formula.

Set tile_allocation_initial_block_size and tile_allocation_block_size
in all TILE_BINNING_MODE_CFG emissions and update the
TILE_LIST_INITIAL_BLOCK_SIZE packets to match.

Benchmarked on RPi5 (V3D 7.1) with GfxBench Vulkan Aztec Ruins at
1920x1040. Average tile_alloc BO size dropped 75% (535 KB to 132 KB)
with 20% fewer OOM events (521 to 417) and no FPS regression.

This avoids exhausting GPU memory when multiple blit or fill jobs
are batched in the same command buffer, with a huge reduction of
the memory footprint avoiding the 512 KB of the tile_alloc per batched
job.

Reviewed-by: Maíra Canal <mcanal@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40554>
2026-04-13 10:31:21 +00:00
Jose Maria Casanova Crespo
35efce437e v3d: use shared v3d_tile_alloc_sizes() and 128B initial blocks
Replace the inline tile_alloc/TSDA sizing in alloc_tile_state() with a
call to the new v3d_tile_alloc_sizes() helper. This switches from 64B
to 128B initial tile alloc blocks (avoiding overflow for simple draws)
and from a flat 512KB headroom to a draw-proportional formula.

Set tile_allocation_initial_block_size and tile_allocation_block_size
in all TILE_BINNING_MODE_CFG emissions and update the
TILE_LIST_INITIAL_BLOCK_SIZE packet to match.

Reviewed-by: Maíra Canal <mcanal@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40554>
2026-04-13 10:31:20 +00:00
Jose Maria Casanova Crespo
47fa229605 broadcom/common: add tile alloc block size macros and sizing helper
Add V3D_TILE_ALLOC_INITIAL_BLOCK_SIZE = 128 and
V3D_TILE_ALLOC_OVERFLOW_BLOCK_SIZE = 64 to v3d_limits.h.

Corresponding _ENUM macros provide the 2-bit hardware encoding for the
TILE_BINNING_MODE_CFG packets.

The previous implicit 64B initial blocks were too small: a single draw
call emits ~88 bytes of per-tile BCL state, immediately overflowing
into continuation blocks. 128B initial blocks avoid the first
continuation allocation for simple single-draw passes.

Add v3d_tile_alloc_sizes() to v3d_util with the full tile alloc BO and
TSDA sizing logic. This uses the 128B initial blocks and tile_alloc
becomes proportional to the number of draws and size of the initial
blocks allocation with the cap of the previous fixed allocation. So
jobs with 0 or 1 drawcalls (blits/fills) reduce their headroom
dramatically.

The draw-proportional formula replaces a flat 512 KB continuation pool:

  headroom = MIN2((tiles_size * draw_count) / 2, 512 KB)

Benchmarked on RPi5 (V3D 7.1) against GfxBench GL tests and
apitrace replays at 1080p. Tile-alloc memory reduction versus the
flat 512 KB headroom (taking into account 256kb kernel alloc per OOM):

  GfxBench (5 benchmarks): -45% to -70% reduction, OOM at or below baseline
  Apitrace (19 traces): -4% to -77%  reduction on 20/24 traces

No FPS regressions observed on any workload.

Reviewed-by: Maíra Canal <mcanal@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40554>
2026-04-13 10:31:20 +00:00
Jakob Sinclair
4542982062 pan/compiler: Use SHADDX instruction for i64 add
For Valhall, use SHADDX instruction for 64-bit integer addition instead
of lowering it to 32-bit operations. The instruction sequence for doing
it in 32-bit costs 3 cycles but SHADDX only takes 2 cycles to perform.

Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40841>
2026-04-13 10:04:22 +00:00
Jakob Sinclair
d4b843c24d pan/compiler: Fix style formatting in lower_split_src
This is just a formatting patch.

Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40841>
2026-04-13 10:04:22 +00:00
Jakob Sinclair
245460bda5 pan/compiler: Do not assume split 64-bit registers in va_mark_last
va_mark_last currently expects 64-bit registers to always be split in
two, this commit changes it to check first if a 64-bit register is split
or not.

Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40841>
2026-04-13 10:04:22 +00:00
David Rosca
c9a8dcd63c radeonsi/vcn: Don't force balance encode preset with sao on VCN5
This is only needed for VCN4 and older.

Reviewed-by: Benjamin Cheng <benjamin.cheng@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40766>
2026-04-13 09:45:54 +00:00
David Rosca
e8bce7ec47 radeonsi/vcn: Remove encode op_preset overrides
The only difference is HIGH_QUALITY on VCN4+ and forcing BALANCE
with sao on VCN2+.

Reviewed-by: Benjamin Cheng <benjamin.cheng@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40766>
2026-04-13 09:45:54 +00:00
Wujian Sun
2e340d63d2 mesa: Fix inconsistent multisampled CopyTexImage checks
According to the GL_EXT_multisampled_render_to_texture specification,
copy operations should be allowed when the extension is supported.

Previously, glCopyTexImage* would unconditionally fail with
GL_INVALID_OPERATION when copying from any multisampled framebuffer
(samples > 0), even when using render-to-texture attachments.

Fixes: d7b9da2673 ("mesa/main: fix artifacts with GL_EXT_multisampled_render_to_texture")

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Signed-off-by: Wujian Sun <wujian.sun_1@nxp.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40863>
2026-04-13 09:18:58 +00:00
Eric Guo
c415134454 panfrost: disable round_to_nearest_even for NEAREST samplers
When round_to_nearest_even is enabled with NEAREST filtering, texture
coordinates near texel boundaries (e.g. 0.9999999404) can be incorrectly
rounded up to the next texel instead of being floor()'d.

According to OpenCL spec section 8.2, for CLK_FILTER_NEAREST:
  i = address_mode((int)floor(u))

Backport-to: *
Signed-off-by: Eric Guo <eric.guo@nxp.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40912>
2026-04-13 08:38:55 +00:00
Yogesh Mohan Marimuthu
21047e61a5 winsys/amdgpu: call userq wait ioctl only once
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Allocate to hold 256 wait fences. Since there is only one queue per
per ip per process, the idea is that there won't be app or windowing system
that would have large number of job dependencies / wait fences.

If there is an app that has wait fences greater than 256, there won't
be corruption issues since kernel will wait for the extra fences.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40698>
2026-04-13 05:15:43 +00:00
Yogesh Mohan Marimuthu
5df6fc5481 winsys/amdgpu: pointers to be NULL if num 0 for kernel ioctl
From https://docs.kernel.org/process/botching-up-ioctls.html, Kernel
ioctl expects pointers are NULL if number of pointers variable is 0.

Kernel ioctl can have checks for these and return failure causing
the driver to fail.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40698>
2026-04-13 05:15:43 +00:00
Karol Herbst
58d45725c7 rusticl/device: Fix reporting of global memory on mixed memory devices
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
AMD APUs are hitting this case where they have very small discrete VRAM,
but a lot of staging memory, which can be used additionally.

Fixes: 7487ac2046 ("rusticl/device: support query_memory_info to retrieve available memory")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30123>
2026-04-12 21:58:40 +00:00
Karol Herbst
97a137ac88 rusticl/kernel: implement CL_KERNEL_GLOBAL_WORK_SIZE for custom devices
Apparently we are supposed to support this on custom devices.

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30123>
2026-04-12 21:58:40 +00:00
Karol Herbst
97ca375f51 radeonsi: properly report unified memory on APUs
This helps rusticl to properly advertise available global memory on APUs.

Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30123>
2026-04-12 21:58:40 +00:00
Pavel Ondračka
64b0b83c9a r300/ci: update expectations
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/40906>
2026-04-12 18:49:23 +00:00
Pavel Ondračka
ba6736fa2b r300/ci: rv380 piglit
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40906>
2026-04-12 18:49:23 +00:00