Commit Graph

208591 Commits

Author SHA1 Message Date
Emma Anholt
b4eed47828 glx: clean up a litttle remains of DRI2 support.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19942>
2025-07-09 14:31:05 -07:00
Gorazd Sumkovski
7bc1c456cb panfrost: Fix incorrect condition in assert
Since commit 8bb46de0, the correct way to check for a compute shader is
with `gl_shader_stage_is_compute()`.

Fixes: d2838f3c ("pan/bi: handle barriers with SUBGROUP scope")

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Reviewed-by: John Anthony <john.anthony@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35957>
2025-07-09 21:05:54 +00:00
Mel Henning
295768c13e egl: Clear modifiers if we clear use_flags
zink assumes that we won't pass modifiers without PIPE_BIND_SHARED

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13439
Cc: mesa-stable
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36008>
2025-07-09 20:35:40 +00:00
Mel Henning
0f6a8283ca zink: Assert ici.tiling != DRM_FORMAT_MODIFIER_EXT
if we're not populating VkExternalMemoryImageCreateInfo

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36008>
2025-07-09 20:35:40 +00:00
Matt Turner
93d0635924 bin/people.csv: Prefer mattst88's @gmail.com address
I've never given R-b tags with any other address (and only accidentally
committed using something else).

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36033>
2025-07-09 20:33:56 +00:00
Juan A. Suarez Romero
b09a07bca1 broadcom/ci: unlock some CI-Tron jobs
Enable CI-Tron jobs for piglit full run for rpi3 and skqp jobs for rpi4
and rpi5. They will run in parallel with the baremetal ones for
comparison.

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36032>
2025-07-09 20:16:32 +00:00
Ian Romanick
5adab50283 brw/nir: Use nir_opt_reassociate_matrix_mul
This needs to be called before intel_nir_opt_peephole_ffma, so I
arbitrarilly decided to call it right before.

All Intel platforms had similar results. (Lunar Lake shown)
total instructions in shared programs: 17120227 -> 17118227 (-0.01%)
instructions in affected programs: 5854 -> 3854 (-34.16%)
helped: 51 / HURT: 0

total cycles in shared programs: 895497762 -> 894733940 (-0.09%)
cycles in affected programs: 4603518 -> 3839696 (-16.59%)
helped: 95 / HURT: 21

LOST:   1
GAINED: 0

Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35925>
2025-07-09 19:28:49 +00:00
Mike Blumenkrantz
69afd8678a zink: fix UIL feedback loop usage
I got this confused with the DRLR type of feedback loop

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36029>
2025-07-09 18:42:48 +00:00
Mike Blumenkrantz
1b0c377923 zink: slightly tighten the implicit feedback loop detection logic
parts of this are strict about using per-context flags but then using
res->fb_binds is potentially multi-context

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36029>
2025-07-09 18:42:48 +00:00
Mike Blumenkrantz
8090e24567 zink: assert that batches never use a timeline value of 0
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36029>
2025-07-09 18:42:47 +00:00
Mike Blumenkrantz
767ecc27cb zink: enable img copy boxes for blit/copy ops
this might enable reduced sync for successive copies

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36010>
2025-07-09 18:25:13 +00:00
Mike Blumenkrantz
b022cdc8a1 zink: only copy resource during add_bind if it is valid
this otherwise is a big no-op

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36010>
2025-07-09 18:25:13 +00:00
Daniel Stone
e59305c29f dri: Remove remnants of TexBuffer extension
This is no longer needed as a DRI extension.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35885>
2025-07-09 17:49:59 +00:00
Daniel Stone
a9298ca55c dri: Remove DRI2 loader extension
Now that all our backends are either swrast or using client image-based
allocation, we don't need the DRI2 loader interface anymore. Remove it.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35885>
2025-07-09 17:49:59 +00:00
Daniel Stone
5be2e7f5c0 dri: Remove getBuffersWithFormat
This was only used for X11's DRI2, which we no longer have.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35885>
2025-07-09 17:49:58 +00:00
Daniel Stone
a8629e5622 dri: Remove dri2_from_names
This is now unused with the removal of X11 DRI2, and the wl_drm
pre-dmabuf path.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35885>
2025-07-09 17:49:58 +00:00
Daniel Stone
20f719ecb5 egl/wayland: Use DRM formats rather than wl_drm
They're the same thing (as the protocol spec notes, it's just a copy),
and we already have drm_fourcc.h to hand, so just use the DRM
definitions rather than the generated ones.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35885>
2025-07-09 17:49:58 +00:00
Daniel Stone
718ef151f2 egl/wayland: Remove support for non-dmabuf wl_drm
wl_drm is the legacy protocol which is used to support
EGL_WL_bind_wayland_display to exchange buffers between client and
server. It's supported dmabuf for a very long time, and as a private
protocol for Mesa's use, there is no need to carry around support for
old codepaths, as all relevant drivers support dmabuf.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35885>
2025-07-09 17:49:58 +00:00
Daniel Stone
94b51503b3 vulkan: Remove build-system remnants of wl_drm support
We don't need to depend on the generated wl_drm files, as wl_drm support
was removed from Vulkan quite some time ago.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Fixes: e090316570 ("vulkan/wsi/wayland: drop support for wl_drm")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35885>
2025-07-09 17:49:58 +00:00
Daniel Stone
20590ca771 egl: Remove EGL_MESA_drm_image
This extension was designed in a pre-dmabuf world, to allow us to share
DRM buffers based on global GEM names (generated with flink, as distinct
from context-local GEM handles).

We've had dmabuf since Linux kernel 3.4, so there's no need to carry
around this extension which encourages users to do bad things - namely,
to expose their buffers with a global ID that anyone can access - and
requires us to carry around some irritating support code.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35885>
2025-07-09 17:49:58 +00:00
Daniel Stone
08c6ba223b x11: Remove DRI2 support
DRI2 was hidden behind a legacy-x11 build option back in the 24.2
release. It's now been a year, so let's get on with removing it so we
can simplify our winsys interactions.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35885>
2025-07-09 17:49:58 +00:00
Mike Blumenkrantz
b0624f4034 cso: use unbind_trailing for sampler view unbinds on context unbinds
this is a bit less noisy for drivers

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36025>
2025-07-09 17:18:43 +00:00
Mel Henning
94f4fc12ea nir/divergence_analysis: Add NV_shader_sm_builtins
Fixes crucible func.nv.shader-sm-builtins.q0

Fixes: a3839dbb90 ("nak: Change divergence analysis pass order")
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36011>
2025-07-09 16:47:28 +00:00
David Rosca
a801df753c radeonsi/video: Fix assert in radeon_bs_code_ns
It is valid for w to be 1, in that case nothing should be encoded
in the bitstream.
value must be lower than max, add that as an assert instead.

Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35648>
2025-07-09 16:30:38 +00:00
David Rosca
ad56f0122c radeonsi/video: Fix copy paste errors in HEVC header encoder
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35648>
2025-07-09 16:30:38 +00:00
David Rosca
4b472efb51 radeonsi/video: Fix RefRpsIdx calculation in st_ref_pic_set
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35648>
2025-07-09 16:30:38 +00:00
David Rosca
dc02b4358a frontends/va: Fix RefRpsIdx calculation in st_ref_pic_set
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35648>
2025-07-09 16:30:37 +00:00
Mike Blumenkrantz
a36536fb10 zink: zero the unordered access for images upon executing an ordered barrier
avoid keeping stale flags around

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36009>
2025-07-09 16:03:14 +00:00
Mike Blumenkrantz
be28daeef9 zink: use a rebind counter to manage descriptor rebinds
matching the pointers here breaks if pointers get reused, but a monotonically
increasing value will provide reliable comparison

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36009>
2025-07-09 16:03:14 +00:00
Eric Engestrom
563bfa2c17 panfrost/meson: drop invalid C-only -Wno-override-init from C++ args
cc1plus: warning: command-line option '-Wno-override-init' is valid for C/ObjC but not for C++

Missed this one in https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35892

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36020>
2025-07-09 15:44:52 +00:00
Yiwei Zhang
d93840dc22 venus: allow to build vtest-only on non-DRM/KMS systems
The vtest backend doesn't require drm.

Backport-to: 25.1
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13420
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36017>
2025-07-09 14:43:09 +00:00
Daniel Schürmann
610a19cf31 aco/isel: allow to select SGPR defs for vectorized bcsel and logical operations
No fossil changes.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35784>
2025-07-09 14:10:37 +00:00
Daniel Schürmann
d7477111d2 aco: split vectorized bcsel and bitwise logic VGPR definitions
This has a slightly negative effect on parallel-rdp, but positively affects FSR4.

Totals from 14 (0.02% of 79839) affected shaders: (Navi48)

Instrs: 63543 -> 63646 (+0.16%); split: -0.01%, +0.17%
CodeSize: 352888 -> 353608 (+0.20%); split: -0.02%, +0.23%
Latency: 1822354 -> 1825036 (+0.15%)
InvThroughput: 364683 -> 365738 (+0.29%); split: -0.04%, +0.32%
Copies: 9299 -> 9363 (+0.69%); split: -0.11%, +0.80%
PreVGPRs: 1381 -> 1394 (+0.94%)
VALU: 34511 -> 34575 (+0.19%); split: -0.03%, +0.21%
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35784>
2025-07-09 14:10:36 +00:00
Daniel Schürmann
4671e5f20d radv: vectorize some integer arithmetic and bcsel with scalar condition
Totals from 106 (0.13% of 79839) affected shaders: (Navi48)

Instrs: 131026 -> 130042 (-0.75%); split: -0.82%, +0.07%
CodeSize: 719120 -> 711516 (-1.06%); split: -1.20%, +0.14%
VGPRs: 5244 -> 5232 (-0.23%)
Latency: 2020748 -> 2004602 (-0.80%); split: -0.81%, +0.01%
InvThroughput: 393330 -> 385414 (-2.01%); split: -2.01%, +0.00%
VClause: 2193 -> 2192 (-0.05%)
Copies: 13963 -> 13558 (-2.90%); split: -2.91%, +0.01%
PreVGPRs: 2953 -> 2921 (-1.08%)
VALU: 65595 -> 64835 (-1.16%); split: -1.16%, +0.00%
SALU: 26887 -> 26611 (-1.03%)
VMEM: 2921 -> 3005 (+2.88%)
VOPD: 168 -> 173 (+2.98%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35784>
2025-07-09 14:10:36 +00:00
Daniel Schürmann
764ee3a834 radv: don't lower subdword phis to scalar
Totals from 193 (0.24% of 79839) affected shaders: (Navi48)

MaxWaves: 6004 -> 6024 (+0.33%)
Instrs: 169276 -> 166784 (-1.47%); split: -3.01%, +1.53%
CodeSize: 940608 -> 915768 (-2.64%); split: -4.29%, +1.64%
VGPRs: 8012 -> 7716 (-3.69%); split: -3.99%, +0.30%
SpillVGPRs: 185 -> 0 (-inf%)
Scratch: 13568 -> 0 (-inf%)
Latency: 2159787 -> 2147084 (-0.59%); split: -2.86%, +2.28%
InvThroughput: 664022 -> 395859 (-40.38%); split: -42.59%, +2.21%
VClause: 2998 -> 2880 (-3.94%); split: -4.27%, +0.33%
SClause: 3117 -> 3120 (+0.10%)
Copies: 21290 -> 16278 (-23.54%); split: -24.74%, +1.20%
Branches: 4757 -> 4760 (+0.06%); split: -0.34%, +0.40%
PreSGPRs: 7369 -> 7378 (+0.12%); split: -0.11%, +0.23%
PreVGPRs: 4257 -> 3859 (-9.35%); split: -9.94%, +0.59%
VALU: 83173 -> 79804 (-4.05%); split: -5.68%, +1.63%
SALU: 36672 -> 37318 (+1.76%); split: -0.02%, +1.78%
VMEM: 4012 -> 3762 (-6.23%); split: -6.83%, +0.60%
SMEM: 4300 -> 4303 (+0.07%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35784>
2025-07-09 14:10:36 +00:00
Daniel Schürmann
fc2fcac04e aco: allow vectorized nir_op_mov
nir_lower_phis_to_scalar() can create these with the next commit.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35784>
2025-07-09 14:10:36 +00:00
Daniel Schürmann
3f35b1329e aco: allow subdword vector-definitions on some VALU instructions
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35784>
2025-07-09 14:10:36 +00:00
Daniel Schürmann
025306a95d aco/isel: refactor emission of bitwise logical operations
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35784>
2025-07-09 14:10:36 +00:00
Gert Wollny
a94312511f r600: remove the use of separate nir options for fs
with lower_all_io_to_temps removed the shader options are now the
same for all shader types.

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36013>
2025-07-09 13:51:24 +00:00
Gert Wollny
a43bfffe1e r600: Correct nir_indirect_supported_mask
The option lower_all_io_to_temps was only set to true for FS,
consequently the correct mask includes all shaders but the FS.

Fixes: a86f32a1ae
    etnaviv,r600,v3d,virgl: report correct nir_options::support_indirect_*

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36013>
2025-07-09 13:51:24 +00:00
Vitaliy Triang3l Kuzmin
1529f38086 r600/sfn: Fix scratch layout calculation for composite types
Signed-off-by: Vitaliy Triang3l Kuzmin <triang3l@yandex.ru>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35952>
2025-07-09 13:33:17 +00:00
Vitaliy Triang3l Kuzmin
554144ccfe r600/sfn: Remove unused r600_lower_scratch_addresses
Signed-off-by: Vitaliy Triang3l Kuzmin <triang3l@yandex.ru>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35952>
2025-07-09 13:33:17 +00:00
Simon Perretta
66c31b0663 glsl/list: add foreach_list_typed_from_reverse iterator
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36000>
2025-07-09 12:58:29 +00:00
Simon Perretta
f89fb76671 nir/lower_io_to_scalar: add case for lowering push constants
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36000>
2025-07-09 12:58:29 +00:00
Simon Perretta
d3e3e0e3d2 nir/builder: add nir_ibitfield_extract_imm helper
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36000>
2025-07-09 12:58:29 +00:00
Simon Perretta
1a4e22b01a nir/builder: add nir_bitfield_insert_imm helper
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36000>
2025-07-09 12:58:29 +00:00
Simon Perretta
e2ece5ef25 nir/serialize: increase the op limit to 10 bits/1024
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36000>
2025-07-09 12:58:29 +00:00
Simon Perretta
1f1b3cc200 nir/precompiled: add shader stage option to nir_precompiled_build_variant
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36001>
2025-07-09 13:14:41 +01:00
Simon Perretta
5b29daf7bc nir/precompiled: add helper to emit an enum map for multiple targets
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36001>
2025-07-09 13:14:41 +01:00
Antonio Ospite
f118c6062a ci/android: have a cleaner structure for results from Android CTS
Have a cleaner structure for results from Android CTS, this serves
multiple purposes:

- separate Android CTS specific results from other generic files under
  RESULTS_DIR

- keep Android CTS test results and Android CTS execution logs separate,
  to follow a structure more familiar to people used to Android CTS.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35971>
2025-07-09 09:18:08 +00:00