Ian Romanick
fd29183901
elk: Use F16TO32 for nir_op_f2f32 of float16 source
...
This matches the behavior of nir_op_unpack_half_2x16_split_x. Gfx7
uses a special opcode for this conversion. Fixes numerous assertion
failures in shader-db on Ivy Bridge and Haswell.
I am not sure why this was never encountered previously.
Fixes: 609c46cf23 ("nir/lower_alu_width: emit f2f32 for unpack_half_2x16")
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39567 >
2026-02-14 02:06:59 +00:00
Ian Romanick
9017d37e84
nir: Use STACK_ARRAY instead of NIR_VLA
...
The number of fields comes from the shader, so it could be a value large
enough that using alloca would be problematic.
Fixes: c11833ab24 ("nir,spirv: Rework function calls")
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Ryan Neph <ryanneph@google.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39866 >
2026-02-14 01:19:27 +00:00
Ian Romanick
3da828d2dd
spirv: Use STACK_ARRAY instead of NIR_VLA
...
The number of fields comes from the shader, so it could be a value large
enough that using alloca would be problematic.
Fixes: 2a023f30a6 ("nir/spirv: Add basic support for types")
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Ryan Neph <ryanneph@google.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39866 >
2026-02-14 01:19:27 +00:00
Emma Anholt
db532eaf00
ci/radv: Enable WSI testing.
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This gets us coverage of present_timing for KHR_display, which we don't
have on the older CTS used by the other drivers.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39701 >
2026-02-13 23:57:14 +00:00
Emma Anholt
c332ee5dd6
ci/radv: Add some flakes I hit while testing WSI.
...
I upgraded some clearly flaky groups of tests in zink to regexes.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39701 >
2026-02-13 23:57:14 +00:00
Emma Anholt
f39131c806
ci/vulkan: Single-thread non-drm VK_KHR_display testing as well.
...
This still goes through wsi_common_display and needs the master priv.
Current CI doesn't run these, but some radv boards will.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39701 >
2026-02-13 23:57:14 +00:00
Jesse Natalie
f0066a3150
meson: Include DirectX-Headers dependency for all VK Windows builds
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14839
Cc: mesa-stable
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39860 >
2026-02-13 23:27:52 +00:00
Emma Anholt
a220c2e564
docs/systems: Minor touch-ups from reading the page.
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39741 >
2026-02-13 13:38:42 -08:00
Emma Anholt
7e43ee3685
docs: Conformance is done through SFC now, not SPI.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39741 >
2026-02-13 13:38:42 -08:00
Emma Anholt
99fecde3e8
docs/index: Move the Xlib software GL driver with the other drivers.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39741 >
2026-02-13 13:38:42 -08:00
Emma Anholt
7c86acb5e3
docs: Rename the "shading" page to "GLSL" since it's just that.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39741 >
2026-02-13 13:38:42 -08:00
Emma Anholt
50a8299f68
docs/shading.rst: Drop a bunch of old docs about the GLSL compiler.
...
Mostly inaccurate for at least the last decade.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39741 >
2026-02-13 13:38:42 -08:00
Emma Anholt
9fbd722e47
docs/perf: Drop a bunch of old hints on getting faster GL1 swrast.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39741 >
2026-02-13 13:38:42 -08:00
Emma Anholt
f56d0faca9
docs/debugging: Drop this page.
...
MESA_DEBUG is documented in envvars, and these minor details of debugging
a few bits of GL are not a useful entrypoint for "how to do debugging".
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39741 >
2026-02-13 13:38:42 -08:00
Emma Anholt
44e2be8caf
docs/helpwanted: Rewrite this page.
...
Those old driver TODOs don't have anything useful. We don't want piglit
coverage just for the sake of piglit, but want increased coverage. And
better instructions on writing and submitting code are fully
documented elsewhere.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39741 >
2026-02-13 13:38:42 -08:00
Emma Anholt
d977e64c17
docs/xlib: Stop calling the fake GLX xlib frontend the most mature of sw.
...
It's definitely llvmpipe these days for mature software GL, not this old
stuff.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39741 >
2026-02-13 13:38:42 -08:00
Emma Anholt
cf445c1995
docs/xlib: Drop docs about long-dead X features.
...
Nobody's doing 8-bit color-indexed rendering, and the overlay planes
referenced here are not anything that X drivers support these days, and
they were never ported to gallium.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39741 >
2026-02-13 13:38:42 -08:00
Mel Henning
cbec12627b
nvk: VK_KHR_copy_memory_indirect
...
Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39869 >
2026-02-13 20:53:47 +00:00
Mel Henning
6824004a0b
nouveau/headers: Add P_IMMD_WORD()
...
P_IMMD() is annoying because it always uses two words in unoptimized
builds but sometimes uses one word with optimizations on. This can make
it difficult to allocate the correct pushbuf size.
Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39869 >
2026-02-13 20:53:47 +00:00
Mel Henning
bead49697d
libcl_vk: Add VkCopyMemoryIndirectCommandKHR
...
Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39869 >
2026-02-13 20:53:47 +00:00
Mel Henning
47e7119796
nouveau/headers: Use UINT64_C in drf.h
...
These ULL literals are all meant to refer to 64-bit types. Use the
UINT64_C macro so they work on platforms with 128-bit long long.
Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39869 >
2026-02-13 20:53:47 +00:00
Mel Henning
d133ff8313
nouveau/headers: Don't use 128-bit comparisons
...
These always fit in 64-bits so there's no need for the wide constant.
Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39869 >
2026-02-13 20:53:47 +00:00
Mel Henning
407bdcdf27
nvk: Don't include u_math.h in generated headers
...
Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39869 >
2026-02-13 20:53:47 +00:00
Lorenzo Rossi
c7e2b84661
nvk,nak: Add nir_printf_fmt
...
This helps debugging, a LOT.
v2 (mhenning): Use nak_constant_offset_info,
enable based on NDEBUG, and
fix use after free in nir pass
Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39869 >
2026-02-13 20:53:47 +00:00
Mel Henning
0716055734
nak: Remove some unused fs_key parameters
...
Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39869 >
2026-02-13 20:53:47 +00:00
Mel Henning
013b21d52f
nvk,nak: Store offsets in a const extern struct
...
Move some of this constant data out of fs_key and into a constant
struct. This reduces the size of the fs_key and gives us a spot to add
additional non-fs offsets like printf buffers.
Passing this through a const global may be a little odd but it has the
benefit that we don't need to hash the offsets as additinal state
relevant to a compilation, since they can never change without
a modification to the binary.
Reviewed-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39869 >
2026-02-13 20:53:47 +00:00
Alyssa Rosenzweig
bd5ebbb2f8
brw: drop buggy SLM optimization
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This was incorrect for OpenCL due to the possibility of variable shared memory
existing despite shared_size == 0. Fortunately the optimization it was trying to
do should be done in NIR via nir_opt_barrier_modes so we can just drop the brw
code and move on with our merry lives. Fixes OpenCL tests on Iris:
non_uniform_work_group non_uniform_3d_barriers
basic async_strided_copy_local_to_global
Cc: mesa-stable
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39795 >
2026-02-13 20:28:28 +00:00
Alyssa Rosenzweig
a517184396
vtn: fix wait_group_events memory scope
...
For reasons I don't fully understand, wait_group_events needs to synchronize
global memory accesses across the device not just the local workgroup. This
matches what libclc does [1] even though we bypass the libclc implemenation
here. It also matches what Intel's OpenCL runtime does [2].
Fixes OpenCL tests on Iris:
basic async_copy_global_to_local
basic async_strided_copy_global_to_local
[1] a9ea1cfe6e/libclc/opencl/lib/generic/async/wait_group_events.cl (L11)
[2] 1f0ea8f11d/IGC/BiFModule/Languages/OpenCL/IBiF_Impl.cl (L182-L190)
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39796 >
2026-02-13 19:50:22 +00:00
Anna Maniscalco
e959dd0dd7
freedreno/common: set has_astc_hdr true for a7xx targets
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Fixes: dc07473524 ("freedreno/fdl: add astc hdr formats")
Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39698 >
2026-02-13 18:21:59 +00:00
Silvio Vilerino
14c9ff5e1b
mediafoundation: Query PIPE_VIDEO_CAP_SLICE_STRUCTURE_AUTO
...
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39830 >
2026-02-13 17:26:35 +00:00
Silvio Vilerino
20aef6269b
d3d12: Implement PIPE_VIDEO_CAP_SLICE_STRUCTURE_AUTO reporting
...
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39830 >
2026-02-13 17:26:35 +00:00
Silvio Vilerino
a67fa7d5f8
pipe: Add PIPE_VIDEO_CAP_SLICE_STRUCTURE_AUTO for PIPE_VIDEO_SLICE_MODE_AUTO
...
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39830 >
2026-02-13 17:26:35 +00:00
Pohsiang (John) Hsu
628754b5b8
mediafoundation: update version to 1.09
...
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39830 >
2026-02-13 17:26:34 +00:00
Rhys Perry
b60bff0429
aco: consider 64-bit transcendental normal valu for s_delay_alu
...
https://github.com/llvm/llvm-project/pull/180940
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/39851 >
2026-02-13 17:03:34 +00:00
Juan A. Suarez Romero
89e42a01dd
broadcom/ci: fetch custom packaged kernel in CI-Tron
...
Unfortunately RPi firmware does not contain the latest available kernel
deployed in Raspberry Pi OS.
So for now, we create a custom version by just packaging manually the
kernel distributed in the official OS.
It is worth to note that Raspberry Pi OS does not contain a 32-bit
kernel for rpi4 or rpi5 (it does for rpi3). Instead, they use the 64-bit
kernel but then use 32-bit userland.
Reviewed-by: Maíra Canal <mcanal@igalia.com>
Acked-by: Eric Engestrom <eric@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39864 >
2026-02-13 16:35:23 +00:00
Mike Blumenkrantz
2613344c49
ntv: handle nir_intrinsic_load_first_vertex as basevertex
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39883 >
2026-02-13 16:03:40 +00:00
Marek Olšák
9237ca7e46
ac/llvm: remove unused functions
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39638 >
2026-02-13 15:33:19 +00:00
Marek Olšák
d1e6a5c1c8
ac: lower load_num_workgroups in NIR
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39638 >
2026-02-13 15:33:19 +00:00
Marek Olšák
1e11e83d1c
ac/nir: add ac_nir_lower_intrinsics_to_args_options structure
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39638 >
2026-02-13 15:33:19 +00:00
Marek Olšák
a9e47751d2
ac: lower load_subgroup_id for ACO in NIR
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39638 >
2026-02-13 15:33:19 +00:00
Marek Olšák
0a9bdcac79
ac: lower load_workgroup_ids for ACO in NIR
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39638 >
2026-02-13 15:33:19 +00:00
Daniel Schürmann
97f095f6e0
aco/lower_branches: Add try_rotate_latch_block() optimization
...
This optimization looks for unconditional back-edges and aims
to rotate the loop in a way that the final block is emitted
before the loop header, essentially turning
BB1:
if ()
goto BB3;
BB2:
<loop body>
goto BB1;
BB3:
...
into
goto BB1;
BB2:
<loop body>
BB1:
if(!cond)
goto BB2;
BB3:
...
Totals from 4969 (5.89% of 84383) affected shaders: (Navi48)
Instrs: 15253038 -> 15254019 (+0.01%); split: -0.00%, +0.01%
CodeSize: 81225300 -> 81227696 (+0.00%); split: -0.02%, +0.02%
Latency: 320796283 -> 320693480 (-0.03%); split: -0.03%, +0.00%
InvThroughput: 51395922 -> 51376156 (-0.04%); split: -0.04%, +0.00%
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39519 >
2026-02-13 14:49:44 +00:00
Daniel Schürmann
ade5e300ab
aco/insert_delay_alu: handle loop latch block before loop body
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39519 >
2026-02-13 14:49:44 +00:00
Daniel Schürmann
102aca9843
aco/assembler: emit block_kind_loop_latch before the loop header
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39519 >
2026-02-13 14:49:44 +00:00
Daniel Schürmann
da1594f8bb
aco: introduce notion of block_kind_loop_latch
...
A block annotated with block_kind_loop_latch denotes a block
the re-entry point for a loop back-edge. It is emitted after
the loop preheader and (potentially) before the loop header.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39519 >
2026-02-13 14:49:44 +00:00
Daniel Schürmann
9887ce6709
aco/print_asm: Sort block markers by block offset
...
We are going to emit blocks in a different order.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39519 >
2026-02-13 14:49:44 +00:00
Daniel Schürmann
800a4957bb
aco/lower_branches: Consider branch target of nested conditional branches
...
Totals from 1470 (1.74% of 84383) affected shaders: (Navi48)
Instrs: 5128451 -> 5126842 (-0.03%)
CodeSize: 29359832 -> 29353656 (-0.02%); split: -0.02%, +0.00%
Latency: 41047203 -> 41040786 (-0.02%)
InvThroughput: 6040459 -> 6039619 (-0.01%); split: -0.01%, +0.00%
Branches: 146219 -> 144648 (-1.07%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39519 >
2026-02-13 14:49:44 +00:00
Daniel Schürmann
fbf2083b8f
aco/isel: Don't emit ELSE side of divergent branches which jump
...
Totals from 50 (0.06% of 84383) affected shaders: (Navi48)
Instrs: 402490 -> 402444 (-0.01%); split: -0.01%, +0.00%
CodeSize: 2239024 -> 2238864 (-0.01%); split: -0.01%, +0.00%
SpillSGPRs: 1493 -> 1496 (+0.20%)
Latency: 5836785 -> 5836747 (-0.00%); split: -0.00%, +0.00%
InvThroughput: 1120893 -> 1120909 (+0.00%); split: -0.00%, +0.00%
Copies: 46128 -> 46082 (-0.10%)
VALU: 222708 -> 222715 (+0.00%); split: -0.00%, +0.00%
SALU: 53039 -> 52993 (-0.09%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39519 >
2026-02-13 14:49:44 +00:00
Daniel Schürmann
ba32219cf8
aco/isel: Don't emit ELSE side of uniform branches which jump
...
Totals from 4 (0.00% of 84383) affected shaders: (Navi48)
Instrs: 16473 -> 16468 (-0.03%)
CodeSize: 85276 -> 85300 (+0.03%)
SpillSGPRs: 175 -> 176 (+0.57%)
Latency: 267907 -> 267885 (-0.01%)
InvThroughput: 36302 -> 36298 (-0.01%)
Copies: 1353 -> 1345 (-0.59%)
VALU: 9025 -> 9029 (+0.04%)
SALU: 2635 -> 2627 (-0.30%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39519 >
2026-02-13 14:49:44 +00:00
Daniel Schürmann
96a639918c
aco: don't emit p_logical_start / p_logical_end after divergent branches
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39519 >
2026-02-13 14:49:44 +00:00