Commit graph

72370 commits

Author SHA1 Message Date
Marek Olšák
ceb2667cf3 gallium/util: print task/mesh statistics in util_end_pipestat_query
Used for debugging. Not used by anything in the tree.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39253>
2026-01-12 08:51:15 +00:00
Samuel Pitoiset
6722a6332a ac,radv,radeonsi: rename num_spm_counters to num_spm_modules
A module can have different number of counters.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39199>
2026-01-12 08:10:32 +00:00
Dave Airlie
b4023532e3 lavapipe: drop unused defines
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39255>
2026-01-11 20:48:01 +00:00
Dave Airlie
a82c68c439 lavapipe: drop data pointer from lvp_query
There is no need to store this.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39255>
2026-01-11 20:48:01 +00:00
Dave Airlie
6d9ad83f8f lavapipe: drop mem pointer and offset from buffer
these aren't used.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39255>
2026-01-11 20:48:01 +00:00
Dave Airlie
8b512692f5 lavapipe: repack render attachment.
just a trivial repack

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39255>
2026-01-11 20:48:01 +00:00
Dave Airlie
e21d1bcea7 lavapipe: drop apiVersion from instance
this isn't used

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39255>
2026-01-11 20:48:01 +00:00
Alyssa Ross
f677b3eb48 rocket: fix building for musl
musl follows POSIX and provides ioctl as int ioctl(int, int, ...).

Fixes: 5b829658f7 ("rocket: Initial commit occf a driver for Rockchip's NPU")
Signed-off-by: Alyssa Ross <hi@alyssa.is>
Reviewed-by: Tomeu Vizoso <tomeu@tomeuvizoso.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38561>
2026-01-10 16:01:55 +00:00
Maíra Canal
7308ebd9cd teflon: List all supported operations on tflite_builtin_op_name()
When running ``Models.Op/yolox_114`` on Etnaviv with TEFLON_DEBUG=verbose,
the delegate currently reports supported operations as unknown, for example:

Teflon delegate: loaded etnaviv driver
idx    type ver support     inputs
=================================================================
  0 unknown v2  supported   in: 0(i8) 1(i32) out: 2(i8)

This happens because not all operations supported by Teflon are mapped
in ``tflite_builtin_op_name()``. Therefore, extend ``tflite_builtin_op_name()``
to include all operations supported, ensuring that the operation type
is reported correctly during debug.

Signed-off-by: Maíra Canal <mairacanal@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38942>
2026-01-10 14:05:48 +00:00
Maíra Canal
104d1a0d4b teflon: Improve dumped graph formatting
Currently, the graph dumped with ``TEFLON_DEBUG=verbose`` has the
following appearance:

idx type                      inputs                   outputs  operation type-specific
================================================================================================
  0 CONV   88,8,6 7
  1 DWCONV 7,35,34 33
  2 CONV   33,38,36 37
  3 DWCONV 37,41,40 39
  [...]
 20 CONV   9,14,12 13
 21 DWCONV 13,17,16 15
 22 CONV   15,20,18 19
 23 DWCONV 19,23,22 21
 24 CONV   21,26,24 25
 25 DWCONV 25,29,28 27
 26 CONV   27,32,30 31

Due to misaligned fields, the graph output is difficult to read.
Additionally, the "operation type-specific" field is always empty, as
its entries were removed in commit 986f8c7ff2 ("teflon: Support multiple
graph inputs and outputs").

Properly align the input and output fields and remove the
"operation type-specific" column. Also, widen the "type" field to
accommodate the longest currently supported operation name. The resulting
output looks like this:

idx type            inputs               outputs
==========================================================================
  0 CONV            88,8,6               7
  1 DWCONV          7,35,34              33
  2 CONV            33,38,36             37
  3 DWCONV          37,41,40             39
  [...]
 20 CONV            9,14,12              13
 21 DWCONV          13,17,16             15
 22 CONV            15,20,18             19
 23 DWCONV          19,23,22             21
 24 CONV            21,26,24             25
 25 DWCONV          25,29,28             27
 26 CONV            27,32,30             31

Signed-off-by: Maíra Canal <mairacanal@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38942>
2026-01-10 14:05:48 +00:00
Karol Herbst
2466c5a94e rusticl: properly check for subgroup support
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38015>
2026-01-09 21:53:28 +00:00
Karol Herbst
1c87c79893 llvmpipe: advertise support for subgroups in all stages
Works on CL and also in use by lavapipe. However it needs the
shader_subgroup_size cap to be set to be actually advertized in OpenGL.

Also support subgroup rotate while at it.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38015>
2026-01-09 21:53:28 +00:00
Karol Herbst
2a5227981e gallium: add SUBGROUP_FEATURE bits for rotate and rotate_clustered
The bit values are taken from Vulkan to make it easy for Zink. Those new
subgroup features will be used by rusticl for cl_khr_subgroup_rotate.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38015>
2026-01-09 21:53:28 +00:00
Valentine Burley
78ebe5e858 lavapipe/ci: Move android-angle-lavapipe-cts job to nightly
The Android CTS job now takes about 25 minutes with Android 16, which is
too long for a pre-merge job.
The deqp-runner-powered `android-angle-lavapipe` job remains in the Marge
pipeline.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39197>
2026-01-09 15:35:02 +00:00
Valentine Burley
8cd82ce149 ci/android: Update to Android 16
Update the Cuttlefish image to Android 16, move to the r29 NDK, and build
Mesa with SDK version 35, the latest version currently supported.

The new Cuttlefish build switches the 'venus_guest_angle' mode to use the
`venus:cross-domain` context type instead of `virgl:virgl2:venus`, which
now works on Android 16. This mode also moves to the `skiavk` Vulkan
backend for HWUI and SurfaceFlinger.

The Cuttlefish repositories have also been moved to the new
https://gitlab.freedesktop.org/gfx-ci/android namespace.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39197>
2026-01-09 15:35:00 +00:00
Lionel Landwerlin
faa857a061 intel: rework push constant handling
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
nr_params & params array are gone.

brw_ubo_range is not stored on the prog_data structure anymore (Anv
already stored a copy of that with its own additional information)

The backend now only deals with load_push_data_intel. load_uniform &
load_push_constant have to be lowered by the driver.

Pre Gfx12.5 platforms have to provide a subgroup_id_param to specify
where the subgroup_id value is located in the push constants.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38975>
2026-01-09 14:19:52 +00:00
Lionel Landwerlin
60e359412d iris: manage TBIMR null push constant wa in driver
Anv already manages this itself. This allows removing the logic from
the compiler.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38975>
2026-01-09 14:19:52 +00:00
Lionel Landwerlin
f4a0e05970 anv/brw/iris: get rid of param array on prog_data
Drivers can do all the lowering to push constants to find the only
value useful in that array (subgroup_id). Then drivers call into
brw_cs_fill_push_const_info() to get the cross/per thread constant
layout computed in the prog_data.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38975>
2026-01-09 14:19:51 +00:00
Benjamin Cheng
d02ba9bb9c radeonsi/vcn: Allocate DPBs aligned to rec_alignment
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14618
Reviewed-by: David Rosca <david.rosca@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39221>
2026-01-09 12:46:52 +00:00
Benjamin Cheng
081f580fbf radeonsi/vcn: Factor out rec_alignment
Cc: mesa-stable
Reviewed-by: David Rosca <david.rosca@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39221>
2026-01-09 12:46:52 +00:00
Peyton Lee
6bd5c037f2 radeonsi/vpe: correct format setting
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
The format parameters should come from the buffer itself,
not be taken from the process_properties,
because the buffer used for geometric scaling does not
originate from an externally provided buffer.

Signed-off-by: Peyton Lee <peytolee@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38948>
2026-01-09 06:08:22 +00:00
Yiwei Zhang
4f53828aa6 zink: tighten up export paths that require true dmabuf support
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
The users of exportable might have different expectations for what can
be exported, and some are more tight. So we need a new exportable_dmabuf
flag to track where dmabuf is actually needed.

If the underlying driver does not advertise dmabuf extension, requesting
dmabuf export violates the spec VU:

> VUID-VkMemoryGetFdInfoKHR-handleType-00671
>
> handleType must have been included in
> VkExportMemoryAllocateInfo::handleTypes when memory was created

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38439>
2026-01-08 19:18:03 +00:00
Alyssa Milburn
cc13073be4 nv50,nvc0: Don't set caps.max_texture_mb
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Drop the assignment entirely (and fallback to the default of 1024).
Fixes GL_OUT_OF_MEMORY errors when calling e.g., glTexStorage2D.

Fixes: 24ba57259f ("mesa: remove MaxTextureMbytes, use the cap instead")
Signed-off-by: Alyssa Milburn <amilburn@zall.org>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39143>
2026-01-08 15:38:10 +00:00
Icenowy Zheng
f8634fe5e6 zink: only warn about fillModeNonSolid when used
The Vulkan feature fillModeNonSolid is used to implement OpenGL API
glPolygonMode(), which does not exist in OpenGL ES and the hardware
support is missing in many mobile GPUs.

The use of this Vulkan feature is only triggered when glPolygonMode() is
really called, and among current gallium drivers at least lima and
panfrost do not properly handle polygon modes either.

Only warn about this feature being missing when it's really needed,
instead of warning at screen initialization time. This will prevent the
warning from being raised when running OpenGL ES on Zink.

Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38897>
2026-01-08 15:19:34 +00:00
Faith Ekstrand
85ec814000 panfrost: Plumb through float blending equations
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39171>
2026-01-08 00:01:27 +00:00
Faith Ekstrand
e6f0b5b52f panfrost: Only set blend constants if needed
Reviewed-by: Aksel Hjerpbakk <aksel.hjerpbakk@arm.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39171>
2026-01-08 00:01:27 +00:00
Faith Ekstrand
c51f12cb99 pan: Add a helper for packing blend constants
This is duplicated between the two drivers and about to get more
complicated.

Reviewed-by: Aksel Hjerpbakk <aksel.hjerpbakk@arm.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39171>
2026-01-08 00:01:27 +00:00
Icenowy Zheng
e9a83d530c zink: add Mesa powervr to explicit sync / invalid<->linear allowlists
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: Icenowy Zheng <uwu@icenowy.me>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38813>
2026-01-07 21:09:37 +00:00
Georg Lehmann
a706769a0b nir: move exact bit to nir_fp_math_control
Unifies nir per instruction float control.

In the future this can be split into contract/reassoc/transform
like SPIR-V.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com> (except SPIR-V)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39103>
2026-01-07 09:40:57 +00:00
Georg Lehmann
eb4737a1dd nir: add nir_alu_instr_is_exact helper
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39103>
2026-01-07 09:40:57 +00:00
Eric Engestrom
93390d4b73 vk/runtime,zink: only integrate renderdoc on supported platforms
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
It is not actually available to all the platforms mesa can be compiled
to, so let's keep an opt-in list of supported platforms instead, and
compile it out on all other platforms.

Fixes: 48a0478126 ("zink: add renderdoc handling")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39176>
2026-01-07 09:08:46 +00:00
Marek Olšák
0b7ee3b981 ALL: use #define and a copy helper to check and copy build_id
preparation for changing SHA1_DIGEST_LENGTH to BLAKE3_KEY_LEN

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39110>
2026-01-07 08:32:33 +00:00
Marek Olšák
1912a00a91 ALL: use SHA1_DIGEST_LENGTH etc. instead of hardcoding the numbers
only build_id is switched to use literal 20 instead of SHA1_DIGEST_LENGTH
because we will increase SHA1_DIGEST_LENGTH to BLAKE3_KEY_LEN

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39110>
2026-01-07 08:32:33 +00:00
Ian Forbes
58303e5d2d svga: Set modifier in surface_get_handle
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Without this hardware cursors will not work on wlroots based compositors.
Only MOD_LINEAR is supported by the device.

Signed-off-by: Ian Forbes <ian.forbes@broadcom.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39168>
2026-01-06 22:06:44 +00:00
Marek Olšák
13cfd0176c ac/gpu_info: add #define AMD_MEMCHANNEL_INTERLEAVE_BYTES
radeon_info::pipe_interleave_bytes is renamed to r600_pipe_interleave_bytes
where it can be 512 on some chips.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39120>
2026-01-06 20:32:10 +00:00
Jesse Natalie
99cc0d4fdd d3d12: Don't use D3D12 B8G8R8X8 format
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39179>
2026-01-06 19:00:16 +00:00
Gurchetan Singh
65c2dc5a63 gallium/tessellator: fix -Wmissing-prototype issues
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Otherwise, issues like:

tessellator/tessellator.cpp:385:1:
note: declare 'static' if the function is not intended to be used
      outside of this translation unit
  385 | FXP floatToFixed(const float& input)
      | ^
      | static

are observed.

Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>

v3: add declaration for GetMSB since it's unused but desirable to keep

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39162>
2026-01-06 15:29:15 +00:00
José Roberto de Souza
f52af98dd8 iris: Add support to DRM_XE_GEM_CREATE_FLAG_NO_COMPRESSION
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38425>
2026-01-06 06:40:13 -08:00
Samuel Pitoiset
59dc20262c ac/perfcounter: rename ac_pc_block::num_instances to num_scoped_instances
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39155>
2026-01-06 11:43:21 +00:00
Tapani Pälli
4ac7bbb1d1 crocus: make sure we have at least 1x1 surface to create null surf
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Otherwise we will have width of -1 later in null_fill_state_s.

Fixes: 2eb45daa9c ("gallium: de-pointerize pipe_surface")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38872>
2026-01-06 07:15:47 +00:00
Dave Airlie
04071c5f9a zink: use device select layer settings to disable device selection
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
In the case where we have a device that we want to choose after
probing, there is no point in asking the device select layer to do
any reordering at all.

This helps avoid a deadlock inside compositors where we don't need
device selection anyways.

Cc: mesa-stable
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38252>
2026-01-05 23:51:26 +00:00
Jesse Natalie
d9d33b7c96 d3d12: Fix resolving global state vs per-context state with promotion
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39077>
2026-01-05 23:25:21 +00:00
Jesse Natalie
43ed15a61b d3d12: Don't promote to read-write states
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39077>
2026-01-05 23:25:21 +00:00
Jesse Natalie
bbd16fdf05 d3d12: Ensure that flush_resource causes batches to get flushed
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39077>
2026-01-05 23:25:21 +00:00
Jesse Natalie
d9997c97be d3d12: Assert that there's no front buffer writes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39077>
2026-01-05 23:25:21 +00:00
Jesse Natalie
86587517b2 d3d12: Decay state when resolving context -> global state
Also ensure that *all* promotions are considered promotions, not
just ones that combine with an existing state bit.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39077>
2026-01-05 23:25:20 +00:00
Jesse Natalie
fe48cd7c5a d3d12: Allow state promotion for non-simultaneous access textures
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39077>
2026-01-05 23:25:20 +00:00
Jesse Natalie
7f058c4740 wgl/d3d12: Return success based only on Present return
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39077>
2026-01-05 23:25:19 +00:00
Jesse Natalie
21e5d19f9e wgl: Only swap back and front buffers after a successful present
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39077>
2026-01-05 23:25:19 +00:00
Jesse Natalie
2805822141 wgl: Support contexts created from non-window DCs
Store the original HDC along with the HWND if we can get an HWND. If we
have the HWND, then the original HDC is basically useless, but if we don't,
we can use the HDC as a lookup key for the framebuffer.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39077>
2026-01-05 23:25:19 +00:00