Commit graph

220632 commits

Author SHA1 Message Date
Karol Herbst
9cc2cd843b nak: enable MUFU.F16 on Turing and newer
Totals from 1427 (0.12% of 1163204) affected shaders:
CodeSize: 18599616 -> 18495424 (-0.56%); split: -0.56%, +0.00%
Number of GPRs: 91579 -> 91571 (-0.01%)
SLM Size: 14144 -> 14140 (-0.03%)
Static cycle count: 96164214 -> 96075886 (-0.09%); split: -0.13%, +0.04%
Spills to memory: 2677 -> 2681 (+0.15%)
Fills from memory: 2677 -> 2681 (+0.15%)
Max warps/SM: 48868 -> 48872 (+0.01%)

Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40392>
2026-04-02 01:10:57 +00:00
Karol Herbst
c7ff7c7d40 nak: add hw_test for MUFU.F16
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40392>
2026-04-02 01:10:57 +00:00
Karol Herbst
d031365f7c nak: support MUFU.F16
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40392>
2026-04-02 01:10:57 +00:00
Karol Herbst
3d94841bba nak: remove OpF2F::dst_high
It was dead code

Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40392>
2026-04-02 01:10:57 +00:00
Karol Herbst
67bfbc7535 nak: rework swizzling on scalar FP16 ops
Instructions that take a F16 value can generally select which component to
read from. This lets us get rid of some PRMTs.

This also cleans up partial support for it for F2F and streamlines
everything into an uniform model as previously it wasn't wired up
generally and copy prop didn't always propagate the swizzle through.

This also makes it uneccessary to apply a Xx swizzle to scalar FP16
sources.

Totals from 907 (0.08% of 1163204) affected shaders:
CodeSize: 40856816 -> 40843408 (-0.03%); split: -0.03%, +0.00%
Static cycle count: 20898101 -> 20895619 (-0.01%); split: -0.01%, +0.00%

Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40392>
2026-04-02 01:10:56 +00:00
Eric Engestrom
aa39da8338 ci-tron: ensure the test jobs start with a clean job folder
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
By using `GIT_STRATEGY: empty` instead of `none`.

As documented in https://docs.gitlab.com/ci/runners/configure_runners/#git-strategy

    Unlike `none`, the `empty` Git strategy deletes and then re-creates
    a dedicated build directory before downloading cache or artifact files.
    With this strategy, the GitLab Runner hook scripts are still run (if
    provided) to allow for further behavior customization. Use the `empty`
    Git strategy when:
      - You do not need the repository data to be present.
      - You want a clean, controlled, or customized starting state every
        time a job runs.

In CI-tron jobs we put things there at the start of the job that we want
to keep through the start of the test and until the end of the job.

This requires gitlab-runner >= 17.10, which is already satisfied by all
ci-tron deployments.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35740>
2026-04-01 22:16:20 +00:00
Eric Engestrom
047bb6b85a ci: only clean the artifacts folder if gitlab hasn't already done it
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35740>
2026-04-01 22:16:20 +00:00
Eric Engestrom
76c9b277e4 ci: always make sure the results dir is created, not just when changing its path
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35740>
2026-04-01 22:16:20 +00:00
Eric Engestrom
1866a1b36f ci: drop redundant existance check before rm -rf
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35740>
2026-04-01 22:16:20 +00:00
Eric Engestrom
051ff429fd ci/init-stage2: symlink install dir between both CI_PROJECT_DIR paths
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35740>
2026-04-01 22:16:19 +00:00
Eric Engestrom
3f5d4eac5f ci: abort init-stage2.sh early if install dir is missing
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35740>
2026-04-01 22:16:19 +00:00
Ahmed Hesham
e77c984cef rusticl: fix flag validation when creating an image
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
From the OpenCL specification:
    `CL_MEM_KERNEL_READ_AND_WRITE`: This flag is only used by
    clGetSupportedImageFormats to query image formats that may be both
    read from and written to by the same kernel instance. To create a
    memory object that may be read from and written to use
    CL_MEM_READ_WRITE.

If an application follows the instructions above, i.e. query a list of
supported image formats, using `CL_MEM_KERNEL_READ_AND_WRITE` as
input, and then attempts to create an image using one of the supported
image formats, by calling `clCreateImage` and passing
`CL_MEM_READ_WRITE`, the call to the image creation entry point should
succeed. This instead fails on Mali devices with the error
`CL_IMAGE_FORMAT_NOT_SUPPORTED`.

Rusticl fails when validating the image format against its supported
flags. Formats that support `PIPE_BIND_SHADER_IMAGE` have their
supported flags set as `CL_MEM_WRITE_ONLY` and
`CL_MEM_KERNEL_READ_AND_WRITE`.

This changes the supported CL flags to be `CL_MEM_WRITE_ONLY` for
`PIPE_BIND_SHADER_IMAGE` and `CL_MEM_READ_WRTE |
CL_MEM_KERNEL_READ_AND_WRITE` for `PIPE_BIND_SAMPLER_VIEW |
PIPE_BIND_SHADER_IMAGE`.

Fixes: 3386e142 (rusticl: support read_write images)

Fixes OpenCL-CTS test: `test_image_streams` on Mali. Invocation:
```
test_image_streams write 1D CL_RGB CL_SIGNED_INT8
```

Signed-off-by: Ahmed Hesham <ahmed.hesham@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39692>
2026-04-01 20:15:06 +00:00
Pohsiang (John) Hsu
64d95c5ca9 d3d12: ifdef the surfaces member from d3d12_batch under HAVE_GALLIUM_D3D12_GRAPHICS
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40751>
2026-04-01 18:37:22 +00:00
Tanner Van De Walle
325b7692f8 d3d12: Fix d3d12_surface_destroy() to match pipe_surface_destroy_func()
Fixes: 0615a276 ("gallium: add a destructor param to surface refcounting functions")

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40751>
2026-04-01 18:37:22 +00:00
Lorenzo Rossi
a45a7bbf44 pan/compiler: Split bifrost_nir.c from bifrost_compile.c
Before this, everything was in the giant bifrost_compile.c file, now
preprocess, optimize and postproces are in their own "small"
bifrost_nir.c.

I also removed some dead functions and moved the passes closer to their
usage, (ex, passes only used in preprocess are now just before
preprocess). Otherwise it's all the same code we had before.

Signed-off-by: Lorenzo Rossi <lorenzo.rossi@collabora.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40717>
2026-04-01 18:14:32 +00:00
Lorenzo Rossi
7d8b2c4128 pan/compiler: Split bi_debug.c from bifrost_compile.c
Signed-off-by: Lorenzo Rossi <lorenzo.rossi@collabora.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40717>
2026-04-01 18:14:32 +00:00
Lorenzo Rossi
f19b9eddb6 pan/compiler: Replace bi_lower_ldexp16 with algebraic pass
Signed-off-by: Lorenzo Rossi <lorenzo.rossi@collabora.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40717>
2026-04-01 18:14:31 +00:00
Boyuan Zhang
4fe64d23b8 ac/vcn_dec: add addr_mode for VCN 5.0.1
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
VCN 5_0_1 uses gfx9 address mode. This was also set in previous
radeon_vcn_dec codes.

Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Reviewed-by: David Rosca <david.rosca@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40736>
2026-04-01 10:32:20 -04:00
Samuel Pitoiset
61c85c8d31 vulkan: fix determining the heap ptr
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40729>
2026-04-01 12:56:43 +00:00
Samuel Pitoiset
521b1c9584 vulkan: remove unused parameters in vk_build_descriptor_heap_address()
Also make it static.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40729>
2026-04-01 12:56:43 +00:00
Lionel Landwerlin
b4aaa17a11 nir/lower_io: add index support for load_param_intel
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40729>
2026-04-01 12:56:43 +00:00
Lionel Landwerlin
22b16d54ab nir: add heap variant of load_param_intel
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40729>
2026-04-01 12:56:43 +00:00
Lionel Landwerlin
4f74d9293f nir/divergence: handle resource_intel like other intrinsics
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40729>
2026-04-01 12:56:43 +00:00
Lionel Landwerlin
0b1c23103e vulkan/runtime: convert descriptor heap pipeline flag to shader flag
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40729>
2026-04-01 12:56:43 +00:00
Georg Lehmann
0975e1513a nir/opt_large_constants: optimize constant arrays with just two different values
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Often, games just use arrays to select between 1.0 and 0.0 or -1.0.

In the case where all values are the same except one index, use a
compare instead of a shift. It's impossible to optimize the shift to
just a compare because of NIR's SM5 shift semantics, but when we know the
array length, it works just fine.

Foz-DB Navi21:
Totals from 3393 (2.96% of 114627) affected shaders:
MaxWaves: 87039 -> 87087 (+0.06%)
Instrs: 4991034 -> 4977962 (-0.26%); split: -0.28%, +0.02%
CodeSize: 27505196 -> 27509988 (+0.02%); split: -0.08%, +0.10%
VGPRs: 156216 -> 154720 (-0.96%)
SpillSGPRs: 812 -> 801 (-1.35%); split: -1.60%, +0.25%
Latency: 38221096 -> 38207053 (-0.04%); split: -0.10%, +0.06%
InvThroughput: 9518564 -> 9469903 (-0.51%); split: -0.52%, +0.01%
VClause: 121340 -> 121370 (+0.02%); split: -0.05%, +0.07%
SClause: 127822 -> 127996 (+0.14%); split: -0.01%, +0.14%
Copies: 437743 -> 437832 (+0.02%); split: -0.40%, +0.43%
Branches: 173910 -> 173893 (-0.01%); split: -0.17%, +0.16%
PreSGPRs: 147137 -> 147957 (+0.56%); split: -0.01%, +0.57%
PreVGPRs: 126313 -> 126296 (-0.01%); split: -0.09%, +0.08%
VALU: 3309713 -> 3288169 (-0.65%); split: -0.66%, +0.01%
SALU: 762369 -> 770904 (+1.12%); split: -0.03%, +1.15%
VMEM: 182394 -> 182392 (-0.00%)
SMEM: 201777 -> 201801 (+0.01%); split: -0.00%, +0.01%

Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40539>
2026-04-01 12:23:18 +00:00
Samuel Pitoiset
98d486ea77 spirv: handle untyped pointer storage class with descriptor heap
It's possible with descriptor heap.

Original patch by Faith Ekstrand <faith.ekstrand@collabora.com>.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40731>
2026-04-01 11:46:16 +00:00
Samuel Pitoiset
1f8be7bfad spirv: fix OpUntypedVariableKHR with optional data type parameter
This would read OOB and crash because data type is optional per the
SPIRV spec.

Original patch by Faith Ekstrand <faith.ekstrand@collabora.com>.

Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40731>
2026-04-01 11:46:16 +00:00
Georg Lehmann
eff9f00533 nir/search: remove matching variable type
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Now unused, and if you really need it use a search helper.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40713>
2026-04-01 09:52:45 +00:00
Georg Lehmann
5b1405dcbf nir/opt_algebraic: remove a few non 1bit bool patterns
We almost exclusive optimize 1bit booleans nowadays,
so I think these shouldn't be needed.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40713>
2026-04-01 09:52:45 +00:00
Juan A. Suarez Romero
37a6be551b v3dv/ci: add link to failing CTS test
The failing test seems wrong, and a link to the issue is provided.

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40739>
2026-04-01 09:27:22 +00:00
Juan A. Suarez Romero
eeeb71b39f v3d/ci: add new OpenCL failure
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40739>
2026-04-01 09:27:22 +00:00
Juan A. Suarez Romero
48c086cb42 vc4: fix unwanted buffer release on uploader
When converting the index buffer from 4-bytes to 2-bytes, we use the
uploader for the job. Since commit b3133e250e we do an uploader alloc
ref, which releases the uploader buffer if there is no enough space,
creating a new one.

The problem happens when we also need this buffer because it is the one
containing the index buffer to convert. This happens, for instance, if
we need to convert the primitives because they are not supported (e.g.,
converting quads to triangles), as this is done
also using the uploader.

The solution is to ensure the uploader's buffer has an extra reference
so when released, it is not destroyed. This can easily achieved by
calling first pipe_buffer_map_range(), which is required to access the
buffer, and it increases the references.

This fixes `spec@!opengl 1.1@longprim`.

Fixes: b3133e250e ("gallium: add pipe_context::resource_release to eliminate buffer refcounting")
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/40642>
2026-04-01 09:10:26 +00:00
Samuel Pitoiset
e27e41a842 vulkan,spirv: update headers
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: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40721>
2026-04-01 07:39:37 +00:00
Samuel Pitoiset
21acbe414e vulkan: rename VK_EXT_device_fault features
They conflict with VK_KHR_device_fault.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40721>
2026-04-01 07:39:37 +00:00
Samuel Pitoiset
bf7e29617d radv: emit BOP events after every draw to workaround a VRS bug on GFX12
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/14812
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40715>
2026-04-01 07:11:45 +00:00
Samuel Pitoiset
dc5e84d47d radv: fix a typo when determining if a VS needs a prolog
This is harmless because shader_stages is filtered based on lib flags.
Also improve the comment while I'm at it.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40714>
2026-04-01 06:49:16 +00:00
Emma Anholt
580381d9e7 vulkan/wsi/display: Check with an atomic commit if the swapchain fails.
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
The TEST_ONLY flag lets you run your display configuration past the driver
to see if it exceeds any of the many arbitrary hardware limits that can't
be expressed through the limited properties that DRM exposes.  This maps
quite well to VK_ERROR_INITIALIZATION_FAILED.

Fixes dEQP-VK.wsi.direct_drm.colorspace.basic failure on my anv CFL
system, where we exceeded the primary plane's width restriction for the
specific tiling format chosen.

Closes: #14314
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39466>
2026-03-31 20:45:06 +00:00
Emma Anholt
08f0fd8bd6 vulkan/wsi/display: Don't re-probe connectors in between hotplugs.
The state we return is a single plane per connector, and (effectively)
whether we're currently presenting on it.  We already know what connectors
we're presenting on, and there's no reason to re-probe for hotplugged
connectors here to learn that they're not active --
vkGetPhysicalDeviceDisplayProperties2KHR() is what you'd need to do to get
far more important information about the connector in the first place.

Running dEQP-VK.wsi.direct_drm.maintenance1.present\* on my CFL goes from
5.5s to 4.4s due to not re-probing EDID over and over.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39466>
2026-03-31 20:45:05 +00:00
Mario Kleiner
ab94515b0a dri: Fix "cosmetic" undefined behaviour warning for RGB[A]16_UNORM formats.
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Ian Romanick reported some "undefined behaviour" warnings during some
not specified tests, relating to introduction of RGB[A}16_UNORM formats
in merge request
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38588

This due to overflowing the 32-bits masks[], and then during assignment
the red/green/blue/alphaMask fields in struct gl_config when using a 16
bpc format. Iow. the red/green/blue/alphaMask would not be usable.

Suppress this warning by setting masks[] to zero for unorm16 formats,
just as was previously done for is_float16, ie. fp16 formats.

16 bpc formats are only exposed for display on non-X11 WSI target
platforms like GBM+DRM, Wayland, surfaceless, and these platforms do
not use the info in red/green/blue/alphaMask at all, so the "undefined
behaviour" is meaningless.

Fixes: f2aaa9ce00 ("dri,gallium: Add support for RGB[A]16_UNORM display formats.")
Reported-by: Ian Romanick @idr
Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40695>
2026-03-31 18:25:05 +00:00
Karol Herbst
73f0d8ed51 ci: add api@clgetmemobjectinfo to fails
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40726>
2026-03-31 17:39:47 +00:00
Ahmed Hesham
c8d7fad153 rusticl: return correct error from clCreateSubBuffer
From the OpenCL specification, `clCreateSubBuffer` should return:
`CL_MISALIGNED_SUB_BUFFER_OFFSET` if there are no devices in
`context` associated with `buffer` for which the `origin` field of
the `cl_buffer_region` structure passed in `buffer_create_info` is
aligned to the `CL_DEVICE_MEM_BASE_ADDR_ALIGN` value.

This was previously unhandled in the entrypoint, marked as TODO.

Add two functions to `Device` for querying the address alignment in
both bits and bytes, for convenience. Properly retrieving the
alignment value from the underlying device/screen is still marked as
TODO.

Signed-off-by: Ahmed Hesham <ahmed.hesham@arm.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40726>
2026-03-31 17:39:47 +00:00
Mario Kleiner
e98c4c59c7 v3dv: Enable VK_EXT_hdr_metadata.
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
The extension is implemented in shared Vulkan/WSI code and
not driver specific. The underlying kms driver needs to
support HDR metadata signalling on the drm connector, which
vc4 kms does for VideoCore 5 and later since April 2021.

Successfully tested on RaspberryPi 4/400 with a HDR-10
capable HDMI monitor.

Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40696>
2026-03-31 16:16:13 +00:00
Mario Kleiner
a0671119ad v3dv: Enable VK_KHR_present_id and VK_KHR_present_wait
These extensions are implemented in shared Vulkan/WSI code and
not driver specific. A Vulkan driver just needs to support
VK_KHR_timeline_semaphore, which v3dv already supports via
emulated timeline semaphores since April 2022.

Successfully tested on RaspberryPi 4/400.

Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40696>
2026-03-31 16:16:12 +00:00
Valentine Burley
b68037473a lavapipe/ci: Skip flaky Android CTS test
E.g. https://gitlab.freedesktop.org/mesa/mesa/-/jobs/96379768.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40725>
2026-03-31 15:32:25 +00:00
Valentine Burley
fc76edc3e4 meson: Update freedreno-kmds comment
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Turnip has supported virtio for some time, and KGSL support for the
gallium driver is no longer planned, point users to zink instead.
Also document the WSL backend.

Acked-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40302>
2026-03-31 15:00:30 +00:00
Valentine Burley
ab40758024 ci: Enable EGL and GLX in debian-no-libdrm
Now that zink can be built without a hard dependency on libdrm by using
the 'software' dri_platform, we can enable EGL, GLX, and the associated
window system platforms (X11, Wayland) in the debian-no-libdrm build job.

Acked-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40302>
2026-03-31 15:00:30 +00:00
Valentine Burley
5d5857af27 meson: Fix Turnip libdrm-linking check
Use with_gallium_drm instead of with_gallium_kmsro for the Turnip
libdrm-linking warning. This avoids incorrectly forcing a link to libdrm
when zink is enabled in a KGSL-only build.

Also update the warning to match the others.

Acked-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40302>
2026-03-31 15:00:30 +00:00
Valentine Burley
6ebf2d6f32 meson: Add support for buidling zink + Turnip/KGSL
Rename the 'hurd' dri_platform to 'pseudo-drm' to represent non-DRM
presentation platforms.
This platform is now also enabled when building zink and Turnip with the
KGSL backend, allowing zink to use Kopper.

Acked-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8634
Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40302>
2026-03-31 15:00:29 +00:00
Valentine Burley
14f60b440f egl: Use util/libdrm.h instead of xf86drm.h
This will allow for building and running zink on systems without libdrm
by using Mesa's internal stubs.

Acked-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40302>
2026-03-31 15:00:29 +00:00
Valentine Burley
5c56d6c198 util: Add more libdrm stubs
drmGetNodeTypeFromFd and drmGetRenderDeviceNameFromFd will be used in
EGL.

Acked-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40302>
2026-03-31 15:00:29 +00:00