Commit graph

220379 commits

Author SHA1 Message Date
Georg Lehmann
bcdef7c79b radv: preserve fp_math_ctrl when lowering cmat alu ops
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40630>
2026-03-26 13:15:50 +00:00
Georg Lehmann
b8b1ce9667 spirv: set fp_math_ctrl for cmat alu
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40630>
2026-03-26 13:15:50 +00:00
Georg Lehmann
35ca85176c nir: add fp_math_ctrl to cmat alu ops
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40630>
2026-03-26 13:15:50 +00:00
Georg Lehmann
9cba104e11 nir/opt_fp_math_ctrl: use ddx/ddy fp_math_ctrl
No Foz-DB changes.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40630>
2026-03-26 13:15:50 +00:00
Georg Lehmann
85ff60e68a nir/opt_uniform_subgroup: use ddx/ddy fp_math_ctrl
Foz-DB Navi48:
Totals from 16 (0.01% of 139781) affected shaders:
Instrs: 12432 -> 11597 (-6.72%)
CodeSize: 66204 -> 62440 (-5.69%)
Latency: 77168 -> 76132 (-1.34%)
InvThroughput: 8942 -> 8332 (-6.82%)
VClause: 302 -> 290 (-3.97%)
SClause: 207 -> 201 (-2.90%)
Copies: 553 -> 517 (-6.51%)
PreVGPRs: 589 -> 577 (-2.04%)
VALU: 8007 -> 7473 (-6.67%)
SALU: 1057 -> 900 (-14.85%)
VMEM: 407 -> 395 (-2.95%)

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40630>
2026-03-26 13:15:50 +00:00
Georg Lehmann
5d2be211ea nir: add fp_math_ctrl to ddx/ddy
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40630>
2026-03-26 13:15:49 +00:00
Georg Lehmann
854911aeab nir: add fp_math_ctrl as intrinsic index
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40630>
2026-03-26 13:15:49 +00:00
Georg Lehmann
d2be2fd4c1 nir/opt_fp_math_ctrl: ignore ffract input sign of zero
ffract(-0.0) = fract(+0.0) = +0.0

Foz-DB Navi48:
Totals from 23 (0.01% of 205040) affected shaders:
Instrs: 12036 -> 11836 (-1.66%)
CodeSize: 58392 -> 57716 (-1.16%); split: -1.19%, +0.03%
Latency: 57532 -> 57204 (-0.57%); split: -0.61%, +0.04%
InvThroughput: 10399 -> 10217 (-1.75%)
VClause: 72 -> 70 (-2.78%)
Copies: 324 -> 335 (+3.40%)
PreVGPRs: 640 -> 646 (+0.94%)
VALU: 8561 -> 8364 (-2.30%)

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40630>
2026-03-26 13:15:49 +00:00
Juan A. Suarez Romero
18a63522d6 v3dv: fix mutable resolve attachment format mismatch
When a resolve attachment is created with VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT,
the render pass may use a view format that differs from the image creation
format (e.g. view=R16G16_SINT on an image created as B8G8R8A8_SRGB).

cmd_buffer_emit_resolve() was calling v3dv_CmdResolveImage2() which only
receives images but not the view format. This means that blit_shader()
will use the wrong format, causing miss-renderings.

So instead of using directly v3dv_CmdResolveImage2(), let's have an
intermediate function that receives both images and view formats to do
the resolve.

This fixes dEQP-VK.image.mutable.* failures.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40234>
2026-03-26 13:25:16 +01:00
Alejandro Piñeiro
473b99b1d1 broadcom/vulkan: remove v3dv_private.h
We recently splitted it in smaller sub-headers, but forgot to also
remove the header itself.

Fixes: 70728fce57 ("v3dv: split v3dv_private.h into smaller headers")

Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40650>
2026-03-26 12:56:54 +01:00
Icenowy Zheng
441bb8b947 pvr: drop master for the display FD if it's not needed
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Currently the display FD is opened twice because of pvr_winsys_create()
being called twice, however the WSI (which will do modeset on the
display FD in case of VK_KHR_display) is registered against the winsys
created at PhysicalDevice enumeration time, and the display FD opened at
Device creation time will only be used for allocating dumb buffer (which
does not require master privilege).

Add a parameter to pvr_winsys_create() to indicate whether the master
privilege is desired on the display FD, and pass true only when creating
the winsys for PhysicalDevice initialization.

Fixes VK_KHR_display operation on PowerVR driver, which is broken after
the WSI code starts to drop master in commit 870e233ca5
("vulkan/wsi/display: Avoid holding drm master for the device's fd.").

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/15161
Signed-off-by: Icenowy Zheng <zhengxingda@iscas.ac.cn>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40640>
2026-03-26 17:39:01 +08:00
Robert Mader
44fa9c8326 nir/lower_tex: Reinstate LSB to MSB shift
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
lower_sx10_external and lower_sx12_external are used for
LSB aligned formats such as DRM_FORMAT_S010, which are typically
used by software decoders. Unlike MSB aligned 10/12 bit formats
used by hardware decoders such as P010 they need to manually
get "shifted" in order to correctly map to the 0-1 range.

In the commit mentioned below the corresponding code got removed,
probably because it got confused with similar sounding code in
the common path - and because we don't have tests on the CI for the
affected formats yet.

Note: the formats in question are not yet supported in Vulkan.

Fixes: 5127568b98 ("compiler/nir: use common ycbcr math")
Signed-off-by: Robert Mader <robert.mader@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40561>
2026-03-26 09:05:40 +00:00
Samuel Pitoiset
8483acdc29 radv/ci: add new jobs that run full VKCTS on NAVI21/NAVI31/GFX1201
They are only nightly jobs that run full VKCTS. The main advantage is
that we have mesh shaders coverage on NAVI31/GFX1201. It's still not
possible to enable that on pre-merge because of random GPU hangs.

Expect random GPU hangs on NAVI31/GFX1201 nightly jobs but I think
it's better than no coverage at all.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40626>
2026-03-26 08:39:33 +00:00
Samuel Pitoiset
749eb41b59 radv/ci: add a new dEQP test suite for nightly jobs
These jobs only skip the tests that are known to hang. The timeout is
also increased to 120s.

Also rename them to -full for less confusion.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40626>
2026-03-26 08:39:33 +00:00
Samuel Pitoiset
1f8ff31b81 radv/ci: move slow tests to radv-slow-skips.txt
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40626>
2026-03-26 08:39:33 +00:00
Casey Bowman
db34a92c48 intel/tools: Add xe3p format for intel_monitor
The kernel uses an updated buffer format for xe3p gpus when EU stall
sampling, so this updates intel_monitor to use the correct formatting,
leaving room for any future formatting updates.

This also addresses an issue with not packing the formatted structure
with the correct macro, which lead to incorrect offsets being used for
parsing the buffer.

BSpec: 79847

v2: Add BSpec reference number, suggested by Lionel

Signed-off-by: Casey Bowman <casey.g.bowman@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40622>
2026-03-26 07:31:09 +00:00
Zan Dobersek
42ea820b26 tu/a8xx: add missing register state in tu_clear_sysmem_attachments()
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
For depth clears of sysmem attachments to work properly, additional
register state is required in tu_clear_sysmem_attachments().

Fixes various CTS tests on a8xx:
  - dEQP-VK.conditional_rendering.draw_clear.clear.depth.*
  - dEQP-VK.api.image_clearing.core.clear_depth_stencil_attachment.*
    with FD_DEV_FEATURES=has_generic_clear=0, which will result in
    tu_clear_sysmem_attachments() fallback being used

Signed-off-by: Zan Dobersek <zdobersek@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40542>
2026-03-26 06:59:03 +00:00
Alyssa Milburn
a6992c7bbe nv50,nvc0: Avoid uninitialized cbuf reads in blits
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Overwrite the whole framebuffer cbuf rather than copying it from the
stack; fixes util_framebuffer_get_num_samples getting uninitialized
stack contents during validation.

Suggested-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Signed-off-by: Alyssa Milburn <amilburn@zall.org>
Fixes: 2eb45daa9c ("gallium: de-pointerize pipe_surface")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14082
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39138>
2026-03-25 17:48:43 +00:00
Gurchetan Singh
32bd3a6e4e gfxstream: simple compile fix
Fixes:

hardware/google/gfxstream/guest/OpenglSystemCommon/HostConnection.h:32:
external/mesa3d/src/gfxstream/guest/platform/include/VirtGpu.h:132:40:
    error: implicit conversion changes signedness: 'unsigned int' to
           'const int32_t' (aka 'const int') [-Werror,-Wsign-conversion]

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40492>
2026-03-25 17:33:56 +00:00
Tomeu Vizoso
16e15ee205 gallium: add pipe_ml_device, pipe_screen::get_ml_device()
For compiling models, we don't really need a context for a real device.

To support ML frameworks models in which compilation happens
ahead-of-time (AoT), add API for compilation that doesn't require a
pipe_context.

Add struct pipe_ml_device with function pointers for:
- ml_operation_supported: query operation support
- ml_subgraph_create: compile a subgraph
- ml_subgraph_serialize: serialize a compiled subgraph
- ml_subgraph_destroy: free subgraph resources

Move ml_operation_supported, ml_subgraph_create, and
ml_subgraph_destroy from pipe_context to pipe_ml_device.

Add pipe_screen::get_ml_device() to obtain the device.

Change pipe_ml_subgraph.context (pipe_context*) to
pipe_ml_subgraph.device (pipe_ml_device*).

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40167>
2026-03-25 16:58:05 +00:00
Tomeu Vizoso
1d4d1fc61d gallium: replace padding_same with per-side padding
Replace the boolean padding_same field in pipe_ml_operation.conv
and .pooling with explicit per-side padding fields: padding_top,
padding_bottom, padding_left, padding_right.

Frontends always compute these from their own padding representation
(e.g. TFLite same/valid, PyTorch (pad_h, pad_w)). Drivers use
them directly, removing the need for drivers to derive padding.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40167>
2026-03-25 16:58:05 +00:00
Tomeu Vizoso
db866eca28 gallium: pipe_tensor.resource → pipe_tensor.data
Change the tensor backing storage from pipe_resource* to uint8_t*.

This simplifies tensor data management by using raw memory pointers
instead of pipe_resource objects. Frontends allocate tensor data with
malloc() and drivers access it directly, removing the need for
pipe_buffer_map/unmap for tensor data access.

We initially used resources thinking that the NPU would want to directly
access the data in those tensors. It is clear now that all NPUs will
need the data to be compressed and reformatted in some way, so let's
drop the incovenient resources and just use allocated memory.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40167>
2026-03-25 16:58:04 +00:00
Eric R. Smith
1a6809936f panvk: remove a redundant conditional
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
We've already checked PAN_ARCH just above here.

Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Reviewed-by: Ryan Mckeever <ryan.mckeever@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40460>
2026-03-25 15:05:53 +00:00
Eric R. Smith
a2e61ee1b9 pan: change image2DMSArray lowering to use Z instead of Y
We used to lower multisampled arrays to 3D images by adjusting the
height and the Y coordinate so that addressing samples became
addressing into the new base image. This worked for gallium, but
was never implemented for vulkan, and also had the disadvantages
that (a) we handled arrays and non-arrays differently, and
(b) the image height was restricted to 4096.

Change this so that we lower samples into the Z coordinate instead,
adding new layers for each sample. This requires that we know the
number of samples (so we have to save a sysval for this in gallium)
but means that we handle arrays and non-arrays the same. More
importantly, we can fit 3 bits to indicate the number of samples
into the attribute descriptor in Vulkan, so this scheme works
there as well as in OpenGL.

Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40460>
2026-03-25 15:05:53 +00:00
Eric R. Smith
968b6896d5 panvk: store number of samples in unused bits in the attribute descriptor
We reduce the number of bits used for pixel stride from 10 to 7. This
gives us space to store the log2 of the number of samples, which
we will need later.

Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40460>
2026-03-25 15:05:53 +00:00
Eric R. Smith
89288722e7 panfrost: add sysval for number of samples
Not really used yet, but we will need it later when we change how we
lower multisampled image arrays.

Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40460>
2026-03-25 15:05:53 +00:00
Icenowy Zheng
54860bb4c7 pco: fix encoding of fred's s0abs bit
The s0abs bit in the encoing of fred instruction is wrongly set to the
status of .neg modifier instead of .abs modifier.

Fix this copy-n-paste error.

Fixes GLCTS tests when running on top of Zink:
dEQP-GLES2.functional.shaders.random.trigonometric.vertex.4
dEQP-GLES2.functional.shaders.random.trigonometric.vertex.45
dEQP-GLES2.functional.shaders.random.trigonometric.fragment.4
dEQP-GLES2.functional.shaders.random.trigonometric.fragment.45

Fixes: 8ec174b3f9 ("pco: add support for various selection, complex, trig ops")
Signed-off-by: Icenowy Zheng <zhengxingda@iscas.ac.cn>
Reviewed-by: Simon Perretta <simon.perretta@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40611>
2026-03-25 14:37:19 +00:00
Icenowy Zheng
daeb00df14 glsl: initialize PSIZ variable to NULL when adding pointsize
The gl_nir_add_point_size() function now handles either shaders with
io_lowered set (no output variable will be created and store_output
intrinsic will be used) or with io_lowered cleared (an output variable
will be created for PSIZ).

However the nir_variable pointer for PSIZ variable is currently not
initialized at all, and a -Wmaybe-uninitialized warning may appear
complaining this.

As it shouldn't be used when it's allocated within the io_lowered
cleared situation, initialize it to NULL to satisfy the compiler.

Acked-by: Simon Perretta <simon.perretta@imgtec.com>
Signed-off-by: Icenowy Zheng <zhengxingda@iscas.ac.cn>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40560>
2026-03-25 19:51:16 +08:00
Marek Olšák
dfbadedc02 ac/nir/meta_cs_blit: use uint16 for coordinates to fix 64K blits
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Reviewed-by: Pierre-Eric
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40565>
2026-03-25 09:39:20 +00:00
Yonggang Luo
76eae60b07 pvr: Remove two unused function
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: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40595>
2026-03-25 09:23:33 +00:00
Yonggang Luo
d067d6e163 vulkan/anv:Remove unused anv_clock_gettime
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40595>
2026-03-25 09:23:33 +00:00
Pierre-Eric Pelloux-Prayer
2ff9fa8b72 gallium/u_blitter: add a new fs_color_clear variant
The referenced commit switched from a passthrough shader
to fs_clear_color[write_all_cbufs=0]. It shouldn't matter since
the shader isn't supposed to be executed - it's only setup to get
the first color output active.

On some chips (gfx8) it seems to cause issues (hangs or page fault)
for some piglit tests, eg:
  framebuffer-blit-levels draw stencil

To fix this, introduce a 3rd variant, where a constant buffer isn't
required and instead the color is hardcoded in the shader.

Fixes: ca09c173f6 ("gallium/u_blitter: remove UTIL_BLITTER_ATTRIB_COLOR, use a constant buffer")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40486>
2026-03-25 08:54:50 +00:00
Valentine Burley
be65d69b02 ci/venus: Skip crashing Android CTS test on ANV
Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40600>
2026-03-25 07:51:08 +00:00
Samuel Pitoiset
c5619aec32 Revert "radv: remove adding a BO to the per-cmdbuf list when unnecessary"
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This breaks Gamescope because WSI BOs aren't added to the global BO
list because this might affect implicit sync. Let's revert this commit
for now until I found a better solution.

This reverts commit 9f224289b0.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40602>
2026-03-25 07:27:08 +00:00
Maaz Mombasawala
1ce1345fc4 Revert "ci: vmware farm is offline, stop using it"
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Vmware farm should be back online.
This reverts commit 8a20cbbf24.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40614>
2026-03-25 05:29:29 +00:00
Faith Ekstrand
c5a949e794 panvk: Drop lower_load_fs_input
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40512>
2026-03-25 03:11:56 +00:00
Faith Ekstrand
f6beb5efd6 vtn: Use a system value for primitive ID in fragment shaders
Reviewed-by: Mary Guillemard <mary@mary.zone>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40512>
2026-03-25 03:11:56 +00:00
Faith Ekstrand
c7472de858 nak: Add support for load_primitive_id
Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40512>
2026-03-25 03:11:56 +00:00
Faith Ekstrand
ffdc6d3c75 nak: Move lowering of load_*_id to lower_vtg_io.c
Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40512>
2026-03-25 03:11:56 +00:00
Faith Ekstrand
3ea2e51c8b treewide: Enable lowering of primitive ID in a bunch of Vulkan drivers
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40512>
2026-03-25 03:11:56 +00:00
Faith Ekstrand
60acd4da12 nir: Support primitive_id in lower_sysvals_to_varyings
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40512>
2026-03-25 03:11:56 +00:00
Allen Ballway
078f58e725 vulkan: update ALLOWED_ANDROID_VERSION for api level 37
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Reviewed-by: Valentine Burley <valentine.burley@collabora.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40615>
2026-03-25 02:23:09 +00:00
Alejandro Piñeiro
70728fce57 v3dv: split v3dv_private.h into smaller headers
Split the monolithic v3dv_private.h (~2600 lines) into self-contained
sub-headers so each .c file only includes what it needs:

  v3dv_common.h, v3dv_device.h, v3dv_image.h, v3dv_pass.h,
  v3dv_query.h, v3dv_pipeline.h, v3dv_descriptor_set.h,
  v3dv_cmd_buffer.h, v3dv_version_dispatch.h

As part of this commit we remove v3dv_private.h.

We keep v3dvx_private.h as it is, because the gain would be really
small (a lot of really small sub-headers).

In addition to keep things more tidy, we made a quick performance
check. We measured how many files are re-compiled and the performance
difference when touching one of the headers, compared with keeping
just one monolithic header.

  Header touch (incremental)    Split        Monolithic  Speedup
  --------------------------    -----        ----------  -------
  v3dv_image.h                 2369 (24f)    2436 (33f)    1.03x
  v3dv_query.h                 2357 (20f)    2436 (33f)    1.03x
  v3dv_pass.h                  2352 (20f)    2436 (33f)    1.04x
  v3dv_cmd_buffer.h            2354 (20f)    2436 (33f)    1.03x
  v3dv_descriptor_set.h        2436 (33f)    2436 (33f)    1.00x
  v3dv_pipeline.h              2437 (33f)    2436 (33f)    1.00x
  v3dv_device.h                2418 (31f)    2436 (33f)    1.01x
  v3dv_common.h                2419 (33f)    2436 (33f)    1.01x
  v3dv_version_dispatch.h      2371 (26f)    2436 (33f)    1.03x

  Header touch (incremental)   Split         Monolithic  Speedup
  --------------------------   ----------    ----------  -------
  v3dv_image.h                 2377 (24f)    2443 (33f)    1.03x
  v3dv_query.h                 2346 (20f)    2443 (33f)    1.04x
  v3dv_pass.h                  2360 (20f)    2443 (33f)    1.04x
  v3dv_cmd_buffer.h            2351 (20f)    2443 (33f)    1.04x
  v3dv_descriptor_set.h        2438 (33f)    2443 (33f)    1.00x
  v3dv_pipeline.h              2429 (33f)    2443 (33f)    1.01x
  v3dv_device.h                2418 (31f)    2443 (33f)    1.01x
  v3dv_common.h                2432 (33f)    2443 (33f)    1.00x
  v3dv_version_dispatch.h      2373 (26f)    2443 (33f)    1.03x

The bigger gain is on the files recompiled for some headers (going
from 33 down to 20 in some cases). The performance gain is not so
relevant though.

Acked-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40169>
2026-03-25 02:04:57 +00:00
Alejandro Piñeiro
5f76c6235e v3dv/meson: fix missing headers and duplicate entry
Acked-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40169>
2026-03-25 02:04:57 +00:00
Erik Faye-Lund
5b8ebb8553 panvk: remove unused flag
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This flag isn't used any more, so let's remove all references to it.

Fixes: e25064c026 ("panvk: Use indirect path for indexed draw on JM")
Acked-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40606>
2026-03-24 22:23:23 +00:00
Link Mauve
ee4a8548a2 docs/panfrost: fix outdated path to complete GPUs list
The list in the documentation still doesn’t go higher than v10, and it
isn’t clear from that list of GPU IDs which one actually corresponds to
the newer generations, but at least users can test them.

Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39564>
2026-03-24 22:17:31 +00:00
Michael Cheng
f002b34576 hasvk: enable perf warning logging in release builds
Enable perf warning in release builds for hasvk.

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/40551>
2026-03-24 21:42:33 +00:00
Michael Cheng
ebe94d4903 anv: enable perf warning logging in release builds
Call process_intel_debug_variable() early in anv_CreateInstance() so the
intel_debug bitset is populated, then set enable_debug_logging when
INTEL_DEBUG=perf is active. This makes anv_perf_warn() messages visible
in non-debug builds.

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/40551>
2026-03-24 21:42:33 +00:00
Michael Cheng
7d787ba8c6 vulkan/runtime: allow drivers to enable vk_log output in release builds
In non-debug builds, __vk_log_impl() silently drops all messages due to
two compile/link-time gates: an early return when no debug callbacks are
registered, and the MESA_VK_LOG=0 guard around the mesa_log*() calls.

Add vk_instance::enable_debug_logging so drivers can opt in to log
output at runtime. When set, both gates are bypassed.

No functional change without a driver setting the flag.

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/40551>
2026-03-24 21:42:33 +00:00
Tim Van Patten
1e04e7ee74 anv: Enable Vulkan 1.4 for SDK 37+
Enable Vulkan 1.4 for SDK 37+ to satisfy the VRA17 (Vulkan Requirement
for Android 17).

Signed-off-by: Tim Van Patten <timvp@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40593>
2026-03-24 21:15:45 +00:00