Eric Engestrom
127acbb126
ci: bump fedora from 42 to 44
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41620 >
2026-06-10 13:53:26 +00:00
Eric Engestrom
4ebf2e3baa
ci: bump bindgen version from 0.71.1 to 0.72.1
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41620 >
2026-06-10 13:53:26 +00:00
Eric Engestrom
dae8bc711d
ci: bump rust version from 1.90 to 1.96
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41620 >
2026-06-10 13:53:25 +00:00
Eric Engestrom
47570e74ec
meson: exclude known buggy versions of bindgen
...
Backport-to: *
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41620 >
2026-06-10 13:53:25 +00:00
Eric Engestrom
09ea05cf23
rusticl: skip bindgen for pipe_shader_state_from_tgsi
...
bindgen up to at least 0.72.1 generates invalid code (see below) and
that function is not used, so simply skip it.
src/gallium/frontends/rusticl/rusticl_mesa_bindings.c:795:81: error: duplicate ‘const’ declaration specifier [-Werror=duplicate-decl-specifier]
795 | void pipe_shader_state_from_tgsi__extern(struct pipe_shader_state *state, const const struct tgsi_token *tokens) { pipe_shader_state_from_tgsi(state, tokens); }
| ^~~~~
Backport-to: *
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41620 >
2026-06-10 13:53:25 +00:00
yserrr
38a98a4803
v3d: remove duplicate util_blitter_save_so_targets() call
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
v3d_blitter_save() saves the stream output targets twice.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42139 >
2026-06-10 13:36:26 +00:00
Rhys Perry
addc719ec2
radv: workaround has_smem_partial_oob_access_bug
...
Just use an existing flag to increase the bo size slightly.
Fixes a ring gfx timeout with
dEQP-VK.spirv_assembly.instruction.compute.opfma.fp32.vec3.undef.denorm_flush.directed
on vega10.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Backport-to: *
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41937 >
2026-06-10 13:01:47 +00:00
Rhys Perry
f7a3884278
ac/gpu_info: add has_smem_partial_oob_access_bug
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Backport-to: *
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41937 >
2026-06-10 13:01:46 +00:00
Rhys Perry
bed7ba2780
aco: schedule split barriers
...
Move the s_barrier_signal as earlier and the s_barrier_wait later.
fossil-db (gfx1201):
Totals from 2152 (1.03% of 208640) affected shaders:
Instrs: 1463236 -> 1463248 (+0.00%); split: -0.00%, +0.01%
CodeSize: 7710732 -> 7710720 (-0.00%); split: -0.00%, +0.00%
Latency: 7164883 -> 7159042 (-0.08%); split: -0.10%, +0.01%
InvThroughput: 1593643 -> 1593651 (+0.00%); split: -0.00%, +0.00%
VClause: 30170 -> 30166 (-0.01%)
SClause: 26771 -> 26772 (+0.00%)
Copies: 123002 -> 123004 (+0.00%)
SALU: 221966 -> 221967 (+0.00%)
VOPD: 1680 -> 1681 (+0.06%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41364 >
2026-06-10 12:13:19 +00:00
Rhys Perry
26b942c306
aco: use split barrier instructions
...
fossil-db (gfx1201):
Totals from 135 (0.06% of 208640) affected shaders:
Instrs: 155940 -> 155932 (-0.01%); split: -0.02%, +0.02%
CodeSize: 905460 -> 905432 (-0.00%); split: -0.02%, +0.01%
Latency: 1910087 -> 1909703 (-0.02%); split: -0.02%, +0.00%
InvThroughput: 886321 -> 886280 (-0.00%)
Copies: 12025 -> 12024 (-0.01%)
VALU: 89681 -> 89679 (-0.00%)
VOPD: 177 -> 178 (+0.56%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41364 >
2026-06-10 12:13:19 +00:00
Rhys Perry
a95f841125
aco: add split barrier instructions
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41364 >
2026-06-10 12:13:19 +00:00
Rhys Perry
7c6be36cf4
aco: don't emit waitcnts before subgroup-scope execution barriers
...
This delays the waitcnt for has_attr_ring_wait_bug by a few instructions.
fossil-db (gfx1201):
Totals from 9 (0.00% of 208640) affected shaders:
Instrs: 19352 -> 19506 (+0.80%)
CodeSize: 101180 -> 101716 (+0.53%)
Latency: 660221 -> 678782 (+2.81%); split: -0.00%, +2.81%
InvThroughput: 95106 -> 97398 (+2.41%)
fossil-db (navi33):
Totals from 58834 (28.20% of 208626) affected shaders:
Instrs: 22424304 -> 22424571 (+0.00%)
CodeSize: 110198112 -> 110199184 (+0.00%)
Latency: 115894319 -> 126491124 (+9.14%); split: -0.00%, +9.14%
InvThroughput: 19424631 -> 19754358 (+1.70%); split: -0.00%, +1.70%
I don't think the stats are very accurate. This seems to often move the
s_waitcnt down into a divergent branch, but the wait still happens later
if the branch isn't taken, so the wait is counted twice.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41364 >
2026-06-10 12:13:18 +00:00
Rhys Perry
3676c3860e
aco: only assume load/store with semantic_atomic is atomic
...
ACCESS_ATOMIC was added a while ago.
fossil-db (gfx1201):
Totals from 84 (0.04% of 208640) affected shaders:
Instrs: 74569 -> 74402 (-0.22%)
CodeSize: 379220 -> 378552 (-0.18%)
Latency: 589791 -> 575984 (-2.34%)
InvThroughput: 56042 -> 54921 (-2.00%)
fossil-db (navi33):
Totals from 79 (0.04% of 208626) affected shaders:
Instrs: 69170 -> 69015 (-0.22%)
CodeSize: 349580 -> 348928 (-0.19%)
Latency: 563270 -> 549156 (-2.51%)
InvThroughput: 61245 -> 59887 (-2.22%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41364 >
2026-06-10 12:13:18 +00:00
Rhys Perry
a0d5c117fc
aco: optimize redundant s_wait_alu vm_vsrc(0) during waitcnt insertion
...
fossil-db (gfx1201):
Totals from 143 (0.07% of 208640) affected shaders:
Instrs: 104804 -> 104588 (-0.21%)
CodeSize: 543148 -> 542320 (-0.15%)
Latency: 751702 -> 751446 (-0.03%); split: -0.04%, +0.00%
InvThroughput: 78599 -> 78588 (-0.01%); split: -0.02%, +0.00%
fossil-db (navi33):
Totals from 170 (0.08% of 208626) affected shaders:
Instrs: 107230 -> 106983 (-0.23%)
CodeSize: 554952 -> 553940 (-0.18%)
Latency: 746901 -> 746628 (-0.04%); split: -0.04%, +0.00%
InvThroughput: 102412 -> 102390 (-0.02%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41364 >
2026-06-10 12:13:18 +00:00
Rhys Perry
650715b077
aco: fix printing of primitive exports
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41364 >
2026-06-10 12:13:17 +00:00
Rhys Perry
c815c51dcb
aco/waitcnt: always use uint32_t for event masks
...
This shouldn't fix anything, because event_vmem_bvh was never used here.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41364 >
2026-06-10 12:13:17 +00:00
Rhys Perry
49fb361c0a
aco: don't emit workgroup-scope p_barrier for single-wave workgroups
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41364 >
2026-06-10 12:13:17 +00:00
Rhys Perry
e6703f8e68
aco: add cost estimation of s_barrier
...
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/41364 >
2026-06-10 12:13:17 +00:00
Christian Gmeiner
9a8ac361ff
panvk: Advertise VK_GOOGLE_display_timing
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42066 >
2026-06-10 11:33:00 +00:00
Christian Gmeiner
9cecd0821b
vulkan/wsi: Constify wsi_instance_supports_google_display_timing(..)
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42066 >
2026-06-10 11:33:00 +00:00
Lionel Landwerlin
e8ab81cc3a
brw: fix null render target decision
...
First, use 64bit values everywhere since shader_info::outputs_written
is a 64bit field.
Second, alpha to coverage should only be considered for draw buffer 0
as stated in the GL spec (quoting Version 4.6 (Core Profile), 17.3.1
Alpha To Coverage) :
"All alpha values in this section refer only to the alpha component
of the fragment shader output linked to color number zero, index
zero (see section 15.2.3)."
Third, the write message setup in brw_compile_fs.cpp was not taking
into account alpha-to-coverage being disabled anymore.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 294644643e ("brw: avoid requiring a valid render target for empty fragment shaders")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/15625
Tested-by: Christoph Neuhauser <christoph.neuhauser@intel.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42115 >
2026-06-10 11:08:47 +00:00
Lionel Landwerlin
d698cd7485
iris: only call brw_nir_fs_needs_null_rt() with no render targets
...
This helper was only meant to be called once the driver knows it
doesn't have any render target setup, to figure out whether an empty
one needs to be created.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Tested-by: Christoph Neuhauser <christoph.neuhauser@intel.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42115 >
2026-06-10 11:08:47 +00:00
David Rosca
1825627cf8
va: Set contiguous_planes for DMA-BUF imported surfaces
...
Set contiguous_planes if all planes share the same fd.
This makes vaDeriveImage work with DMA-BUF imported surfaces.
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42086 >
2026-06-10 10:46:59 +00:00
Georg Lehmann
db382b3cae
radeonsi: use exec_size from the aco prolog/epilog callback
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42028 >
2026-06-10 08:23:01 +00:00
Georg Lehmann
3bb9ad4d47
radeonsi: use ac_get_instr_prefetch_size
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42028 >
2026-06-10 08:23:01 +00:00
Georg Lehmann
4a3e38fd7c
radv/gfx11+: program INST_PREF_SIZE for NGG and HS
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42028 >
2026-06-10 08:23:01 +00:00
Georg Lehmann
a23fc3f066
radv/gfx12: program SPI_SHADER_PGM_RSRC4_GS for seperately compiled gs
...
Cc: mesa-stable
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42028 >
2026-06-10 08:23:01 +00:00
Georg Lehmann
22a8788dea
aco: add exec_size to prolog/epilog callback
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42028 >
2026-06-10 08:23:01 +00:00
Georg Lehmann
9b0536da1f
radv/gfx11+: program INST_PREF_SIZE for pixel shaders
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42028 >
2026-06-10 08:23:00 +00:00
Georg Lehmann
dd3c7756cc
radv/gfx11+: program INST_PREF_SIZE for compute
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42028 >
2026-06-10 08:22:59 +00:00
Georg Lehmann
e1b649d333
radv: remove gfx6 code from ngg emission
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42028 >
2026-06-10 08:22:59 +00:00
Georg Lehmann
ae9eb6298b
amd/common: add helper for INST_PREF_SIZE
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42028 >
2026-06-10 08:22:59 +00:00
Georg Lehmann
f341fb0742
amd/common: don't pass radeon_info to ac_align_shader_binary_for_prefetch
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42028 >
2026-06-10 08:22:59 +00:00
Georg Lehmann
5c3a6c938b
amd/gpu_info: precompute instruction prefetch distance
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42028 >
2026-06-10 08:22:58 +00:00
Samuel Pitoiset
ec6748468d
ci: add a new option called profile in ci_run_n_monitor.py
...
It seems very useful, at least to me, to have some predefined profiles
for vkd3d or VKCTS main uprevs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42110 >
2026-06-10 07:59:20 +00:00
Samuel Pitoiset
47298397dc
util/drirc: remove the driver option in drirc_validate
...
Each driver use its own drirc file now, so the option is useless.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41881 >
2026-06-10 07:17:14 +00:00
Samuel Pitoiset
957eb2b5f0
radv,anv: remove useless includes for drirc stuff
...
No longer needed.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41881 >
2026-06-10 07:17:14 +00:00
Thomas H.P. Andersen
c0531ece56
nvk: use the new generation script for drirc
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41881 >
2026-06-10 07:17:14 +00:00
Samuel Pitoiset
4c66fc1383
venus: use drirc_gen
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41881 >
2026-06-10 07:17:14 +00:00
Samuel Pitoiset
86406ca87d
v3dv: use drirc_gen
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41881 >
2026-06-10 07:17:14 +00:00
Samuel Pitoiset
8b422baac8
hk: use drirc_gen
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41881 >
2026-06-10 07:17:14 +00:00
Samuel Pitoiset
309c2a213a
panvk: use drirc_gen
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41881 >
2026-06-10 07:17:14 +00:00
Samuel Pitoiset
281ae60b5e
pvr: use drirc_gen
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41881 >
2026-06-10 07:17:14 +00:00
Samuel Pitoiset
dbbd251b6f
dzn: use drirc_gen
...
WSI options are already NULL, so they are never used.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41881 >
2026-06-10 07:17:14 +00:00
Samuel Pitoiset
0dd9b61c80
util/drirc_gen: allow to override the defaults VK WSI common options
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41881 >
2026-06-10 07:17:14 +00:00
Samuel Pitoiset
482e9f3002
util/drirc_gen: add heap_memory_percent to common VK options
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41881 >
2026-06-10 07:17:14 +00:00
Samuel Pitoiset
34c343aad1
util/drirc_gen: prevent generating empty structs
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41881 >
2026-06-10 07:17:14 +00:00
Samuel Pitoiset
59d6d5e45f
util/drirc_gen: fix generating 64-bit driconf options
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41881 >
2026-06-10 07:17:14 +00:00
Samuel Pitoiset
8e008649cb
util/drirc_gen: change the driconf DTD to not require one app/engine entry
...
To be able to validate empty files for drivers that don't have any
driconf entries yet.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41881 >
2026-06-10 07:17:14 +00:00
Job Noorman
1a9a0a15f7
ir3: lower undef booleans to zero
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
We are generally fine with undefs. However, booleans are only allowed to
contain 0/1 but are stored in 16b registers. Undefs may cause such
registers to be uninitialized and contain values other than 0/1. This
especially happens with undef booleans in phi srcs, which are explicitly
left uninitialized. In general, such non-0/1 values don't cause problems
because we mostly use booleans by comparing them to 0. However, they do
cause problems in special cases like `inot(x)` which we lower to `sub(1,
x)` which only works if true==1.
Fixes misrenderings in "Kingdoms of Amalur: Reckoning".
Totals from 12 (0.01% of 176258) affected shaders:
Instrs: 14590 -> 14615 (+0.17%)
CodeSize: 29796 -> 29808 (+0.04%)
NOPs: 3091 -> 3098 (+0.23%); split: -0.03%, +0.26%
MOVs: 735 -> 748 (+1.77%)
(sy)-stall: 4509 -> 4508 (-0.02%)
Cat0: 3471 -> 3483 (+0.35%); split: -0.03%, +0.37%
Cat1: 1257 -> 1270 (+1.03%)
Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42051 >
2026-06-10 06:05:05 +00:00