Commit graph

219859 commits

Author SHA1 Message Date
Samuel Pitoiset
23dcabcb72 radv: tidy up radv_postprocess_nir()
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40375>
2026-03-16 07:49:59 +00:00
Martin Roukala (né Peres)
e09c47cd67 zink/ci: mark the unvanquished trace on vangogh as flake
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40394>
2026-03-16 07:25:12 +00:00
Sergi Blanch Torne
6cfab621c7 ci: disable Collabora's farm due to maintenance
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Planned downtime in the farm:
* Start: 2026-03-16 08:00 UTC
* End: 2026-03-16 14:00 UTC

Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40119>
2026-03-16 08:06:46 +01:00
Francois Coulombe
4112eb2b0f vulkan/wsi/headless: add sRGB swapchain format support
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Headless surfaces when queried return that they only support RGBA UNORM
and BGRA UNORM. Adding those lines enables RGBA SRGB and BGRA SRGB
support to headless surfaces.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40275>
2026-03-15 23:15:15 +00:00
Pavel Ondračka
9b12664b72 r300: pad short vertex shaders to avoid R3xx hangs
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Vertex shaders shorter than four instructions can hard-lock R3xx GPUs.
This seems to happen in combination with a small vertex count. This was
seen before, most notably with dummy shaders, but the earlier fix only
removed those dummy shaders, so some occurrences could still slip
through the cracks. Pad all vertex shaders to four instructions on R3xx.

Reviewed-by: Filip Gawin <filip@gawin.net>
Fixes: c6aa639ba9 ("r300: skip draws instead of using a dummy vertex shader")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/337
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40331>
2026-03-15 21:51:43 +00:00
Bas Nieuwenhuizen
5a84a6b775 ac/llvm: Fix build with LLVM 23.
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Simple ac_llvm_context vs LLVMContextRef mixup.

Fixes: c431eaad63 ("ac/llvm: Use new denormal_fpenv attribute for llvm >= 23")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40419>
2026-03-14 19:57:11 +00:00
Natalie Vock
867d0b33b3 radv/rt: Bump ray query stack base limit for GFX12
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
GFX12 encoding added one bit to the stack offset, doubling the limit on
the stack base offset that is possible to encode. In practice, this
always allows using bvh_stack_push* instructions on GFX12 since LDS is
still 64kB.

Cc: mesa-stable
Fixes: 59a39779 (radv/rt: Only use ds_bvh_stack_rtn if the stack base is possible to encode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40405>
2026-03-14 15:27:49 +00:00
Collabora's Gfx CI Team
59fc5ae7c1 Uprev Piglit to d0a16eee4f7b24abe7e3aab6ee77db8f82e5ad49
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
8e2c8bc001...d0a16eee4f

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40158>
2026-03-14 00:35:59 +01:00
Rob Clark
b7c8a441c2 freedreno/ci: Update trace expectations
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
One or both of the previous commits makes 2 or 3 pixel changes (which I
can't find).  Update the expected checksums.

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40271>
2026-03-13 13:39:42 -07:00
Rob Clark
92d2671af6 ir3: Late lowering of fmul+fadd to ffma
Since we know our mad.f16/mad.f32 is unfused, we can also apply this opt
in the exact case.

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40271>
2026-03-13 20:03:01 +00:00
Rob Clark
ec18b2d28a ir3: Lower ffma
OpenCL requires that ffma is fused, where fmad can be unfused.  Rusticl
will lower CL ffma for us, but that requires us to set .lower_ffmaN.
Late-opts will still re-fuse inexact fmul+fadd, since we are also
setting .fuse_ffmaN.

https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37807#note_3215155
proposes separate ffma and fmad instructions for the two cases, which
would be a cleaner solution.

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40271>
2026-03-13 20:03:01 +00:00
Mike Blumenkrantz
c09d0018a3 zink: work around drivers with broken mesh shader properties
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
some properties require setting MAX+1, but there are drivers which mistakenly
set 0

cc: mesa-stable

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40411>
2026-03-13 19:28:36 +00:00
Icenowy Zheng
adf18abb40 pipe-loader: fallback to zink instead of kmsro for render nodes
In the case that a Wayland compositor is ran with kmsro, the render
driver node will be passed to the client instead of the display node.
With Zink being able to use with KMSRO, now we cannot expect the render
driver node to from be a known driver name.

Fallback render nodes with unknown driver names to Zink instead of
KMSRO, because KMSRO on non-KMS FD is meaningless.

Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Reviewed-By: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38810>
2026-03-13 18:54:27 +00:00
Icenowy Zheng
2c62256ca9 pipe-loader: make get_driver_descriptor() return NULL for unknown driver
Currently for unknown drivers names, get_driver_descriptor() will never
return NULL, but the driver descriptor of kmsro will be returned.
However, kmsro is meaningless when the input FD isn't a KMS-capable one.

Add the kmsro descriptor to the descriptor list, and stop to return it
for unknown names (it will still be returned for "kmsro", which the
fallback codepath in pipe_loader_drm_probe_fd_nodup() will use).

Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Reviewed-By: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38810>
2026-03-13 18:54:27 +00:00
Frank Binns
547d7f254d kmsro: wire Zink up as a fallback
As Zink has gained support for renderonly devices, wire it up to KMSRO
to allow such kind of usage.

Among all renderonly drivers, Zink is a little special that it does not
bind to a specific driver name, so it's made a fallback option which is
checked after all driver name checks.

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
[Icenowy: split patch, forward port, de-hardcode "powervr"]

Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Signed-off-by: Icenowy Zheng <zhengxingda@iscas.ac.cn>
Reviewed-By: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38810>
2026-03-13 18:54:26 +00:00
Frank Binns
fd50ef525d zink: add a winsys library exposing renderonly screen creation
All other renderonly drivers expose the renderonly screen creation
function via their winsys library.

Add such a library for Zink with currently only the renderonly screen
creation capability.

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
[Icenowy: split patch, forward port]

Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Signed-off-by: Icenowy Zheng <zhengxingda@iscas.ac.cn>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-By: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38810>
2026-03-13 18:54:26 +00:00
Frank Binns
83e92f2b5f zink: add renderonly scanouts handling
Add support for allocating scanouts via renderonly, to allow Zink usage
with render-only GPUs paired with display-only scanout device.

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
[Icenowy: split patch, forward port, require modifiers]

Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Signed-off-by: Icenowy Zheng <zhengxingda@iscas.ac.cn>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-By: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38810>
2026-03-13 18:54:26 +00:00
Caio Oliveira
74b8fb330e spirv: Use SPDX annotations
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40285>
2026-03-13 18:20:23 +00:00
Mary Guillemard
ef8fd44b5f nvk: Validate push constant offset in nvk_root_descriptor_table
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
We requires this to be aligned to a 8 byte granuality.
This is something that came up with mesh shader enablement so let's
avoid this footgun with some assertion.

Signed-off-by: Mary Guillemard <mary@mary.zone>
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40407>
2026-03-13 18:04:42 +00:00
Mary Guillemard
37d73fa4f3 nvk/mme: Enable testing for Kepler
Test Kepler as it was commented out but everything is
running fine.

Signed-off-by: Mary Guillemard <mary@mary.zone>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40407>
2026-03-13 18:04:42 +00:00
Mary Guillemard
4fa2f6e0b3 nvk: Put nvk_mme in the nouveau test suite
Not sure why it was missing but it should be part of it.

Signed-off-by: Mary Guillemard <mary@mary.zone>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40407>
2026-03-13 18:04:42 +00:00
Mary Guillemard
32895657b4 nvk/mme: Add missing nullcheck in nvk_mme_test_state_state
Needed for some FSR macro changes I want to test.

Signed-off-by: Mary Guillemard <mary@mary.zone>
Fixes: 7d6cc15ab8 ("nvk/mme: Add a unit test framework for driver macros")
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40407>
2026-03-13 18:04:42 +00:00
Stéphane Cerveau
73faef7bd3 anv/ci: add vulkan fluster job on adl
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40326>
2026-03-13 17:38:23 +00:00
Alyssa Rosenzweig
373358da45 nir/opt_sink: sink pack_64_2x32_split
This comes up in lowered load_ubo sequences (observed in OpenCL test
test_api min_max_parameter_size). Hopefully the pack gets coalesced,
it's like nir_op_vec2 on most backends, so it should usually be ok to
sink even though the register pressure heuristic will reject it.
Allowing it to sink allows the UBO load to sink.

Intel's backend scheduler can optimize the relevant sequences locally
but there should still be a win here for global load sinking.

Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40267>
2026-03-13 17:03:00 +00:00
Alyssa Rosenzweig
507e7a04bf nir/opt_sink: sink Intel UBO loads
Acts like load_ubo, handle it in the same path.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40267>
2026-03-13 17:03:00 +00:00
Lionel Landwerlin
88f395ad57 anv: reduce optimalBufferCopy(Offset|RowPitch)Alignment
Those values trace back to 2015, pre Vulkan 1.0 release. I have no
idea why it was set to this, except maybe the HALIGN_128 of
RENDER_SURFACE_STATE.

Anyway, discussing this with Nanley, we don't think 128bytes is more
optimal than 64bytes. Nanley suggested the lowest value could be
16bytes for the fixed functions inside the GPU (sampler, dataport),
but a cacheline probably makes more sense for the memory interface.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40363>
2026-03-13 16:11:32 +00:00
Rhys Perry
3c67225afa nir/range_analysis: cache results of non-alu fp class queries
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
The dense array should be much faster than the previous hash table.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40346>
2026-03-13 15:38:55 +00:00
Rhys Perry
84eeecf822 nir/range_analysis: use a dense array
ministat (nir_analyze_fp_class):
Difference at 95.0% confidence
    -201983 +/- 1064.87
    -9.31575% +/- 0.0468505%
    (Student's t, pooled s = 1257.67)

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40346>
2026-03-13 15:38:54 +00:00
Rhys Perry
cebf60e059 nir/range_analysis: use uint16_t for sparse array elements
ministat (nir_analyze_fp_class):
Difference at 95.0% confidence
    -4484.55 +/- 1288.68
    -0.205419% +/- 0.0589514%
    (Student's t, pooled s = 1521.99)

This should also use less memory.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40346>
2026-03-13 15:38:54 +00:00
Rob Clark
5e07201b7c freedreno/drm: Shareable stateobjs
The special case of CS stateobjs can be shared across contexts/threads.
In all other cases, they are private to a single ctx, and it is safe to
make single-threaded assumptions when it comes to fast-paths.

See also commit b74a07a422 ("freedreno/a6xx: Avoid touching long lived
stateobj refcnt").

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40352>
2026-03-13 14:52:42 +00:00
Rob Clark
b91b0535d8 freedreno/a6xx: Fix sharable cs races
For 3d draws, we have a per-ctx cache, which ensures program stateobjs
are not shared between contexts/threads.  We don't have this for compute
shaders.

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40352>
2026-03-13 14:52:42 +00:00
Rob Clark
d2b497c4bb freedreno: Move pvtmem to screen
Since shader CSOs can be shared across contexts, we need the
corresponding stateobj to be shareable across contexts.  Otherwise
different ctxs could be racing with each other to build the stateobj.

Prep for next patch.

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40352>
2026-03-13 14:52:41 +00:00
Rob Clark
9892e333d0 freedreno: Don't re-bind global buffers
The gallium frontend already has the iova, if we realloc it won't have
the correct address.  Add some asserts around this.

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40352>
2026-03-13 14:52:41 +00:00
Rob Clark
310509c60b freedreno: Update pscreen->num_contexts
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40352>
2026-03-13 14:52:41 +00:00
Rob Clark
b587181f91 freedreno: Check for flushed batches
Ignore batches from other contexts (we provide no-cross-context
guarantees) and already flushed zombie batches that haven't yet
been removed from the batch cache table.

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40352>
2026-03-13 14:52:41 +00:00
Rob Clark
f5d40636cd freedreno/drm: Fix bo_flush race
Once we've dropped the lock, we need to be referring to our own
temporary reference.

Fixes: 7b02bc6139 ("freedreno/drm: Drop fd_bo_fence")
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40352>
2026-03-13 14:52:41 +00:00
Rob Clark
395a5c2470 ir3: Move shader upload under variants_lock
Otherwise there is a race condition between the variant creation and
upload (when a shader is shared between contexts) where the variant
has been created, but not yet uploaded.

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40352>
2026-03-13 14:52:41 +00:00
Mike Blumenkrantz
3264adf863 mesa/st/samplerview: explicitly block releasing in-use samplerviews
st_texture_set_sampler_view() currently allows only one samplerview for
a given texobj per context. in a scenario where the same texobj is
bound multiple times with different samplerviews (e.g., SRGB) for the
same draw like

samplerviews[] = {view0, view1}

then st_texture_set_sampler_view() will release view0 while creating view1
before either view is actually set to the driver, and then the driver will explode

this is gross, but the best solution which avoids infinite memory ballooning
from bufferview offsets is to pass through the array of views during creation
to ensure that the cache doesn't try to prune a view it just created

caught by Left 4 Dead 2

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

Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40353>
2026-03-13 13:55:42 +00:00
Mike Blumenkrantz
c186023e51 mesa/st/sampler_view: eliminate st_sampler_view::srgb_skip_decode
this prevents matching existing samplerviews when instead the existing
samplerviews can just match formats

Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40353>
2026-03-13 13:55:42 +00:00
Mike Blumenkrantz
64dd6bf8aa mesa/st/sampler_view: use a local variable for texture sv format
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40353>
2026-03-13 13:55:42 +00:00
Mike Blumenkrantz
8fce32191e mesa/st/sampler_view: use a local variable for buffer sv format
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40353>
2026-03-13 13:55:41 +00:00
Mike Blumenkrantz
22ed7c8230 mesa/st: make st_texture_get_current_sampler_view static
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40353>
2026-03-13 13:55:41 +00:00
Icenowy Zheng
514e0d7de7 glsl: support adding point size to io_lowered shaders
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Currently the fixed function vertex shader is built as io_lowered
shaders; however the gl_nir_add_point_size() function currently expects
the original shader to be not io_lowered, and this function is called to
lower the fixed function vertex shader.

Add support for adding point size store_output intrinsics for io_lowered
shaders.

This fixes fixed function rendering on Zink with a Vulkan driver w/o
VK_KHR_maintence5.

Signed-off-by: Icenowy Zheng <zhengxingda@iscas.ac.cn>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40373>
2026-03-13 11:44:31 +00:00
Radu Costas
d089947266 pco: Commonize atomic sync operations
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Replace loop with macros
Rewrite channel op to multi channel select to avoid extra swizzle

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/40320>
2026-03-13 13:06:11 +02:00
Ryan Zhang
93b58064f7 panvk/csf: use DEFERRED_FLUSH for fragment job cache flush
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
The correct dependence is cs_flush_caches.cs_defer.signal to
signal cs_sync32_set.cs_defer.wait in occulusion query path.

Fixes: 443ddac ("panvk/csf: merge v10 and v11 paths in
issue_fragment_jobs")

Fixed: many random fail cases in VK-GL-CTS 1.4.4.2, eg.
dEQP-VK.query_pool.occlusion_query.get_results_conservative
_size_64_wait_query_without_availability_draw_points_clear_color

Signed-off-by: Ryan Zhang <ryan.zhang@nxp.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40368>
2026-03-13 16:49:16 +08:00
Georg Lehmann
cadc74b5e2 nir/search_helpers: assume float sources without preserve flag can't be inf/nan
For example, this should let us avoid needing one pattern with is_a_number
and one with nnan.

Foz-DB Navi48:
Totals from 3564 (3.11% of 114655) affected shaders:
Instrs: 8256755 -> 8255042 (-0.02%); split: -0.02%, +0.00%
CodeSize: 43143184 -> 43123192 (-0.05%); split: -0.05%, +0.00%
VGPRs: 268252 -> 268240 (-0.00%)
Latency: 218890225 -> 218881157 (-0.00%); split: -0.00%, +0.00%
InvThroughput: 31044516 -> 31042297 (-0.01%); split: -0.01%, +0.00%
VClause: 96074 -> 96067 (-0.01%); split: -0.01%, +0.00%
SClause: 218042 -> 218037 (-0.00%); split: -0.00%, +0.00%
Copies: 508677 -> 508661 (-0.00%); split: -0.01%, +0.01%
Branches: 148570 -> 148569 (-0.00%)
PreSGPRs: 228110 -> 228082 (-0.01%); split: -0.01%, +0.00%
PreVGPRs: 231996 -> 231982 (-0.01%)
VALU: 4516327 -> 4515321 (-0.02%); split: -0.02%, +0.00%
SALU: 1353696 -> 1353590 (-0.01%); split: -0.01%, +0.00%
VMEM: 182189 -> 182179 (-0.01%)
SMEM: 344771 -> 344756 (-0.00%)
VOPD: 29463 -> 29438 (-0.08%)

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40291>
2026-03-13 07:13:10 +00:00
Georg Lehmann
19fa9bd152 nir/tests: test algebraic patterns with maximum fp_math_ctrl
This means we don't run into undefined behavior when testing nan/inf inputs.
Also make sure that patterns using is_only_used_as_float are signed zero correct.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40291>
2026-03-13 07:13:10 +00:00
Georg Lehmann
72c5272004 ntt: set precise correctly for comparisons/min/max
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40291>
2026-03-13 07:13:10 +00:00
Georg Lehmann
aad2b9bfc7 nir/opt_algebraic: be more strict when optimizing fcmp(a + #b, #c)
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40291>
2026-03-13 07:13:10 +00:00
Georg Lehmann
45345de2bb glsl: make flt/fge/fabs/fneg inf preserving
More bandaid for infinity tests.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40291>
2026-03-13 07:13:10 +00:00