Commit graph

217173 commits

Author SHA1 Message Date
Valentine Burley
7af687bd33 radeonsi/ci: Remove redundant radeonsi-vaapi-fluster-rules
The only difference was that these rules incorrectly added a second
-fluster suffix to the expectation files after a refactoring.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39015>
2026-01-16 10:29:41 +00:00
Valentine Burley
47d85dc568 radeonsi/ci: Convert libva-utils job to deqp-runner suite
Drop the custom gtest-runner.sh script and add a deqp-runner suite for
the `radeonsi-raven-va` job.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39015>
2026-01-16 10:29:41 +00:00
Valentine Burley
efcea3a6a4 ci: Update deqp-runner to pull in gtest suite support
This version notably also brings in vkd3d-proton support.
Also remove the redundant DEBIAN_TEST_ANDROID_TAG mention.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39015>
2026-01-16 10:29:40 +00:00
Rhys Perry
d2a9122cfa aco/tests: add function call regalloc tests
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: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38811>
2026-01-16 10:05:43 +00:00
Rhys Perry
aa09335485 aco/ra: emit p_split_vector after p_parallelcopy
This fixes situations where the variable being split is a parallelcopy
definition.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38811>
2026-01-16 10:05:43 +00:00
Rhys Perry
7caa0ab897 aco/ra: fix split_blocking_vectors with some subdword vectors
For example, v6b at byte=2 should be split into v2b,v1 instead of v1,v2b.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38811>
2026-01-16 10:05:43 +00:00
Rhys Perry
667771950d aco/ra: update register file when recreating blocking vectors
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38811>
2026-01-16 10:05:43 +00:00
Rhys Perry
5cf991ecfb aco/ra: use original name for blocking vectors rename
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38811>
2026-01-16 10:05:43 +00:00
Rhys Perry
829e3a6a7d aco/ra: fix operands when recreating blocking vectors
It is likely that these have been moved.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38811>
2026-01-16 10:05:43 +00:00
Rhys Perry
6e6e40ab5c aco/ra: discard tmp_file after get_regs_for_copies fails
get_regs_for_copies() might change tmp_file, so we need to create a new
one.

Recursively handle_call() with an modified register_file instead of
repeating get_regs_for_copies().

This also updates register_file for the caller.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38811>
2026-01-16 10:05:43 +00:00
Rhys Perry
159154a741 aco/ra: remove dead code in split_blocking_vectors
collect_vars_from_bitset() from the caller should have already cleared
these.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38811>
2026-01-16 10:05:43 +00:00
Rhys Perry
89d06f7db5 aco: add RA validation for p_call
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38811>
2026-01-16 10:05:43 +00:00
Rhys Perry
d0801c9eb7 aco: always run RA validation during tests
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38811>
2026-01-16 10:05:43 +00:00
Rhys Perry
bf30a57440 aco/ra: omit renaming when necessary when moving copy definitions
This should resolve the FIXME.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38811>
2026-01-16 10:05:41 +00:00
Rhys Perry
8dcfce3587 aco/ra: refactor update_renames slightly
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38811>
2026-01-16 10:05:39 +00:00
Alyssa Rosenzweig
e4520b1dda agx: fix SSA repair with phis with constants
For large constants inlined into phis, this would overread the remap[] array,
which could crash. No CTS tests affected though.

Christoph found the bug and fixed it for Bifrost over in
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39305. I just did a
quick CTS run of the obvious AGX backport over this morning's breakfast.

Cc: mesa-stable
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reported-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39313>
2026-01-16 09:45:40 +00:00
Calder Young
d69daf28d0 anv,brw: Add helper to get stack ids per dss for ray queries
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38778>
2026-01-16 09:21:50 +00:00
Calder Young
1f1de7ebd6 anv,brw: Allow multiple ray queries without spilling to a shadow stack
Allows a shader to have multiple ray queries without spilling them to a shadow
stack. Instead, the driver provides the shader with an array of multiple
RTDispatchGlobals structs to give each query its own dedicated stack.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38778>
2026-01-16 09:21:50 +00:00
Icenowy Zheng
0291aa3e71 gallivm: orcjit: support GALLIVM_DEBUG=dumpbc
Add code that dumps the LLVM bytecode before passing it to LLJIT.

Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39149>
2026-01-16 08:55:16 +00:00
Samuel Pitoiset
cb7e1859d7 radv/sqtt: fail if GPU clocks can't be sampled
All timing would be wrong otherwise, this should be considered a real
error.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39311>
2026-01-16 08:30:32 +00:00
Samuel Pitoiset
feed5fbc71 radv/sqtt: delay VMID reservation at capture time
If two devices/instances are created, the VMID reservation will just
fail. It seems fine as long as it's reserved before SPM is used.

Fixes: a7a4abc8d8 ("radv: Move VMID reservation to vkCreateDevice")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39311>
2026-01-16 08:30:32 +00:00
Valentine Burley
171222971a ci: Uprev Vulkan Validation Layers
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: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39306>
2026-01-16 06:53:19 +00:00
Aitor Camacho
a0aa212561 kk: Disable KHR_shader_maximal_reconvergence since subgroups are broken
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Fixing subgroups will be a considerable time sink, so for now just disable
this optional feature until we have time to investigate and fix everything.

Signed-off-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39337>
2026-01-16 02:06:39 +00:00
Aitor Camacho
b86e1b55dd kk: Fix texturequerylod
Reviewed-By: Arcady Goldmints-Orlov <arcady@lunarg.com>
Signed-off-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39337>
2026-01-16 02:06:39 +00:00
Aitor Camacho
4543fd1789 kk: Handle unbound sets that contain dynamic buffers
The offset for the dynamic buffers needs to be computed with the currently
bound pipeline layout. This change fixes incorrectly selecting the offset
for a dynamic buffer if a descriptor with a lower index than the currently
being bound contains a dynamic buffer but said descriptor hasn't being
bound yet. It also prevents the binding to override the dynamic buffers in
order to preserve the already bound dynamic descriptors.

Signed-off-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39337>
2026-01-16 02:06:39 +00:00
Aitor Camacho
5d0c5b6a45 kk: Remove unneeded member in kk_descriptor_set_binding_layout
Signed-off-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39337>
2026-01-16 02:06:39 +00:00
Aitor Camacho
4affda5a6a kk: Fix reported maxInlineUniformBlockSize to match spec expectations
Signed-off-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39337>
2026-01-16 02:06:39 +00:00
Aitor Camacho
288a0f05d3 kk: Expose extendedDynamicState required by VK_EXT_extended_dynamic_state
Signed-off-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39337>
2026-01-16 02:06:38 +00:00
Paulo Zanoni
b72d347d1c meson: crocus and intel_hasvk now require clc
We're making blorp use OpenCL shaders, and both crocus and hasvk
require blorp, so now they require CL.

Without this patch, when we build Vulkan with intel_hasvk or crocus
but not the other things that require CL, we get:

    src/intel/blorp/meson.build:12:4: ERROR: Unknown variable "prog_mesa_clc".

Thanks to the report from Dancing Mirrors.

Fixes: b52b1a08bf ("intel/blorp: add blorp_shaders.cl")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14660
Reviewed-by: Dylan Baker <dylan.c.baker@intel.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39333>
2026-01-16 01:29:26 +00:00
Rob Clark
c4385d6fb0 freedreno/decode: Add regex support for query-mode
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Sometimes it is useful to query all regs matching a pattern.

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39319>
2026-01-16 00:10:19 +00:00
Rob Clark
7841c556d7 freedreno/rnn: Track min/max offset
Track min/max offset in a domain to speed register name lookup.

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39319>
2026-01-16 00:10:19 +00:00
Erik Faye-Lund
d4d972d626 panvk: promote VK_EXT_robustness2 to VK_KHR_robustness2
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This is a 1:1 promotion.

Reviewed-by: John Anthony <john.anthony@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39325>
2026-01-15 23:01:02 +00:00
Michal Vanis
b5f388a222 mesa: replace gl ctx direct access
Replaces all ctx->API calls with appropriate helpers.
Discussed here: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21343

Signed-off-by: Michal Vanis <mik@vanis.sh>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38981>
2026-01-15 22:21:05 +00:00
Michal Vanis
75d95cb355 glsl: replace gl ctx direct access
Replaces GL API context access with an abstraction as
to allow for https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21343

Signed-off-by: Michal Vanis <mik@vanis.sh>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38981>
2026-01-15 22:21:05 +00:00
volodymyr
ba4908e61f mesa: ctx->API != API_OPENGL_CORE --> !_mesa_is_desktop_gl_core(ctx)
replaces direct API checks with _mesa_is_...() checks

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8340

Signed-off-by: Volodymyr Obohzyn volodymyr.obozhyn@globallogic.com
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38981>
2026-01-15 22:21:05 +00:00
volodymyr
389d8b96a6 mesa: ctx->API != API_OPENGLES2 --> !_mesa_is_gles2(ctx)
replaces direct API checks with _mesa_is_...() checks

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8340

Signed-off-by: Volodymyr Obohzyn volodymyr.obozhyn@globallogic.com
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38981>
2026-01-15 22:21:04 +00:00
volodymyr
bf54a790d7 mesa: ctx->API != API_OPENGLES --> !_mesa_is_gles1(ctx)
replaces direct API checks with _mesa_is_...() checks

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8340

Signed-off-by: Volodymyr Obohzyn volodymyr.obozhyn@globallogic.com
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38981>
2026-01-15 22:21:03 +00:00
volodymyr
401c62af8c mesa: ctx->API != API_OPENGL_COMPAT --> !_mesa_is_desktop_gl_compat(ctx)
replaces direct API checks with _mesa_is_...() checks

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8340

Signed-off-by: Volodymyr Obohzyn volodymyr.obozhyn@globallogic.com
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38981>
2026-01-15 22:21:01 +00:00
Faith Ekstrand
aee14878cc panvk: Push our own blend descriptors
This fixes attachment remapping for KHR_dynamic_rendering_local_read.
See the long comment in panvk_vX_blend.c for more details.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14484
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39274>
2026-01-15 21:55:40 +00:00
Faith Ekstrand
f66b48d790 panvk/jm: Drop the loads_blend_const hack for uniform_count
We already mark all fragment shaders as always using blend constants so
this is handled by the existing code and our setting of push.count.
Also, this hack is wrong as it pushes way too much and might overflow
memory.  Also, it will overflow the HW limit of 64 as soon as we
increase the size of panvk_graphics_sysvals.

Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39274>
2026-01-15 21:55:36 +00:00
Faith Ekstrand
871875d0ce pan/bi: Mark whole flat variables
Otherwise, we'll only mark the first location for matrix and array
variables.  Ideally, someone would split these before we get here but we
should at least be correct.

Cc: mesa-stable
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39274>
2026-01-15 21:55:36 +00:00
Faith Ekstrand
020b1005c8 panvk/blend: Stop setting color_mask = 0
These are all initialized to zero by the pan_blend_state initializer at
the top of the function.

Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39274>
2026-01-15 21:55:35 +00:00
Faith Ekstrand
a4670a67e0 panvk/csf: Set the correct DCD_FLAGS_1.render_rarget_mask
Outputs may be re-mapped by VK_KHR_dynamic_rendering_local_read, in
which case outputs_written won't actually correspond to render targets.
Fortunately, we already have rt_written, which is properly remapped.

Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39274>
2026-01-15 21:55:33 +00:00
Faith Ekstrand
4a2d3b9a81 pan/genxml: The BLEND array must be 64B aligned
I'm not sure if this is the best way to enforce this as it's really a
restriction on the blend array pointer.  Individual blend descriptors
only have to be 16B-aligned.  But this seems to work and doesn't affect
the array stride, which is still 16B.

Also, I couldn't actually find the restriction in the v10 docs but it's
there on v11 and this is enough of a pain to debug that we're probably
better off playing it safe.

Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39274>
2026-01-15 21:55:33 +00:00
Faith Ekstrand
9cab0c4bf0 panvk/csf: Stop calling blend_emit_descs() with no FS
This is what the JM code is doing and it lets us assume we always have a
fragment shader.  Right now, we're already making that assumption, we
just haven't been bitten by it yet because no one has tried to use a
shader-requiring blend configuration with no FS yet.

Cc: mesa-stable
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39274>
2026-01-15 21:55:33 +00:00
Faith Ekstrand
fa9b2e7404 pan/bi: Add a bi_instr::blend_target
On Bifrost, we have to return the blend return offset in the compiled
shader info and that means we need to be able to index into an array by
blend target deep inside the compiler.  Instead of assuming bound blend
targets and subtracting BIR_FAU_BLEND_0 from fau_idx, add a separte
blend_target to bi_instr and use that.  This way what we return will be
based on the nir_io_semantics::location, regardless of where the actual
blend descriptor comes from.

Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39274>
2026-01-15 21:55:28 +00:00
hmtheboy154
0ee1631120 v3dv: add support for driconf
Signed-off-by: hmtheboy154 <buingoc67@gmail.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>

[Eric: fixed the v3dv instance]

Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30263>
2026-01-15 21:36:16 +00:00
Nick Hamilton
69a56d33de pco: Fix for shadow sampler comparison not clamping the compare value
When doing sample comparisons on shadow images the compare value
should be clamped to [0,1]

Fix:
dEQP-VK.glsl.texture_functions.texture.samplercubearrayshadow_fragment

Signed-off-by: Nick Hamilton <nick.hamilton@imgtec.com>
Reviewed-by: Simon Perretta <simon.perretta@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39327>
2026-01-15 21:15:48 +00:00
Radu Costas
0eb3eaa806 pvr: Add calculation for spill/scratch buffers
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Replace hardcoded value with hardware information-based calculation

Reviewed-by: Simon Perretta <simon.perretta@imgtec.com>
Signed-off-by: Radu Costas <radu.costas@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39262>
2026-01-15 20:56:37 +00:00
Erik Faye-Lund
f8b8a57f2f panvk/meta: make helpers static
There's no good reason to keep these global, as they are only used from
the same source as they are defined in.

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39304>
2026-01-15 20:21:42 +00:00