Commit graph

221179 commits

Author SHA1 Message Date
Kenneth Graunke
3a1227f36b jay: Clear default group for quad swizzles
Quad swizzles should always execute with NoMask and group 0.

We skipped initializing the group, and so inherited whatever the state
from the previous instruction was.  This led to incorrect behavior if
the previous instruction was SIMD split:

   (16)        mov.u32 g84<2>, g2        |
   (16|M16)    mov.u32 g86<2>, g3        |
   (32|M16&W)  mov.u32 g2, g126.2<4,4,0> | I@1

Oops.  The final quad swizzle shouldn't have had M16 set.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40960>
2026-04-14 23:14:07 +00:00
Kenneth Graunke
8bfb139033 jay: Make lower_immediates bail if there are no sources
For example, JAY_OPCODE_PRELOAD has no sources.  Reading src[other]
would read uninitialized data.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40960>
2026-04-14 23:14:07 +00:00
Kenneth Graunke
a79931421c jay: Assert that source is not null in jay_copy_strided
Catch bugs earlier.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40960>
2026-04-14 23:14:07 +00:00
Alyssa Rosenzweig
e84cba531b jay: fix simd split swsb bugs
this is subtle, but the relevant igc:

  // In case of shooting down of this instruction, we need to add sync to
  // preserve the swsb id sync, so that it's safe to clear the dep
  if (currInst.hasPredication() ||
      (currInst.getExecSize() != dep.getInstruction()->getExecSize()) ||
      (currInst.getChannelOffset() != dep.getInstruction()->getChannelOffset()))
    needSyncForShootDownInst = true;

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40960>
2026-04-14 23:14:07 +00:00
Alyssa Rosenzweig
e66bfbd691 jay: fix SEND scoreboarding
by inspection in a glmark2 shader.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40960>
2026-04-14 23:14:07 +00:00
Alyssa Rosenzweig
10fbfe1f65 jay: improve vector affinities
Totals:
Instrs: 2807558 -> 2805545 (-0.07%); split: -0.10%, +0.02%
CodeSize: 45051504 -> 45015888 (-0.08%); split: -0.11%, +0.03%

Totals from 631 (23.84% of 2647) affected shaders:
Instrs: 736113 -> 734100 (-0.27%); split: -0.37%, +0.10%
CodeSize: 11666608 -> 11630992 (-0.31%); split: -0.42%, +0.12%

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40960>
2026-04-14 23:14:07 +00:00
Alyssa Rosenzweig
dd6efffb47 jay: generalize alignment heuristic
Totals:
Instrs: 2807560 -> 2805375 (-0.08%); split: -0.27%, +0.20%
CodeSize: 45051536 -> 45011488 (-0.09%); split: -0.28%, +0.19%

Totals from 1292 (48.81% of 2647) affected shaders:
Instrs: 2154123 -> 2151938 (-0.10%); split: -0.36%, +0.26%
CodeSize: 34658096 -> 34618048 (-0.12%); split: -0.36%, +0.25%

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40960>
2026-04-14 23:14:07 +00:00
Alyssa Rosenzweig
e54898fdc8 jay: tweak roundrobin
Totals:
Instrs: 2809726 -> 2807560 (-0.08%); split: -0.39%, +0.31%
CodeSize: 45085472 -> 45051536 (-0.08%); split: -0.41%, +0.33%

Totals from 2229 (84.21% of 2647) affected shaders:
Instrs: 2726162 -> 2723996 (-0.08%); split: -0.40%, +0.32%
CodeSize: 43775120 -> 43741184 (-0.08%); split: -0.42%, +0.34%

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40960>
2026-04-14 23:14:07 +00:00
Alyssa Rosenzweig
8aeeaa4d85 jay: marginally improve send splitting heuristic
Instrs: 2810815 -> 2809726 (-0.04%); split: -0.07%, +0.04%
CodeSize: 45101440 -> 45085472 (-0.04%); split: -0.07%, +0.04%

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40960>
2026-04-14 23:14:07 +00:00
Alyssa Rosenzweig
820e3a9403 jay: roundrobin RA
Totals:
Instrs: 2827788 -> 2810815 (-0.60%); split: -1.12%, +0.52%
CodeSize: 45449488 -> 45101440 (-0.77%); split: -1.28%, +0.51%
Number of spill instructions: 1984 -> 1982 (-0.10%)
Number of fill instructions: 2272 -> 2270 (-0.09%)

Totals from 2449 (92.52% of 2647) affected shaders:
Instrs: 2818824 -> 2801851 (-0.60%); split: -1.13%, +0.53%
CodeSize: 45314880 -> 44966832 (-0.77%); split: -1.28%, +0.51%
Number of spill instructions: 1984 -> 1982 (-0.10%)
Number of fill instructions: 2272 -> 2270 (-0.09%)

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40960>
2026-04-14 23:14:07 +00:00
Alyssa Rosenzweig
57a00707a1 jay: drop GRF reg stats
doesn't match what brw does, will revisit for Xe3.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40960>
2026-04-14 23:14:07 +00:00
Alyssa Rosenzweig
4ab67f80e9 jay: rematerialize address regs
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40960>
2026-04-14 23:14:07 +00:00
Alyssa Rosenzweig
9a9365ff9b jay: fix W-entry calcs
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40960>
2026-04-14 23:14:07 +00:00
Dave Airlie
7067b66846 nvk: don't set sector promotion on texture headers
This appears to cause some sort of prefetching which is causing
page faults for linear textures on the following page after the
texture allocation.

This might be okay for tiled, but for now just disable it.

The test crashing this was to allocate an 800x409 linear 2D texture
which gnome-initial-setup was doing.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/15277
Cc: mesa-stable
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40939>
2026-04-14 21:56:56 +00:00
Collabora's Gfx CI Team
b247679ed8 Uprev ANGLE to 5e591d03650dd427001e355f4884b857cadab113
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
599125448d...5e591d0365

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40599>
2026-04-14 20:34:52 +00:00
Sergi Blanch Torne
8d7ab8ba6d ci: nightly run xfiles for a618 angle job
It may be related with !37802

Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40599>
2026-04-14 20:34:52 +00:00
Karol Herbst
9fdf3f684f nak: uregs are 6 bits before Hopper, so enforce that
Some instructions actually use the 2 other bits for things, e.g. sust

Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40891>
2026-04-14 20:18:39 +00:00
Karol Herbst
bf6c3e9d99 nak: add is_gpr_reg and is_ugpr_reg helpers
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40891>
2026-04-14 20:18:39 +00:00
Karol Herbst
6c5ee118cd nak: add ugpr latency classes for memory instructions
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40891>
2026-04-14 20:18:39 +00:00
Karol Herbst
0c92d2191b nak/nvdisasm_tests: fix offset stride for gens older than Turing
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40891>
2026-04-14 20:18:39 +00:00
Paulo Zanoni
8c10ad844f intel/genxml: move the GPGPU_DISPATCHDIM* registers to genxml
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
We need to use these registers on another file and I don't want to add
another copy of their definition to our code base.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40937>
2026-04-14 18:26:09 +00:00
Paulo Zanoni
e65b5fc066 intel/blorp: remove always-true #if
This check for ">= 125" is already inside a check for ">= 125". Also,
let's take this opportunity to comment the #else and #endif of the
relevant check to make the code easier to follow.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40937>
2026-04-14 18:26:09 +00:00
Konstantin Seurer
480a94fb16 radv: Gather debug info about shader args
Gathers names of shader args using the added macros and stores a list of
arg names with additional information to radv_shader_debug_info.

Example output (pipeline.log, RT prolog):
ARGS:
   0. sgpr const_addr user_data offset=0 size=2 name=ac.ring_offsets
   1. sgpr const_addr user_data offset=2 size=1 name=descriptors[0]
   2. sgpr const_addr user_data offset=3 size=1 name=ac.push_constants
   3. sgpr const_addr user_data offset=4 size=1 name=ac.dynamic_descriptors
   4. sgpr const_addr user_data offset=5 size=1 name=ac.rt.traversal_shader_addr
   5. sgpr const_addr user_data offset=6 size=2 name=ac.rt.sbt_descriptors
   6. sgpr const_addr user_data offset=8 size=2 name=ac.rt.launch_size_addr
   7. sgpr value user_data offset=10 size=1 name=ac.rt.dynamic_callable_stack_base
   8. vgpr value offset=0 size=1 name=ac.local_invocation_ids_packed

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37829>
2026-04-14 18:04:58 +00:00
Konstantin Seurer
ff2caf1513 radv: Set debug info in radv_shader_create_uncached
Avoids patching the stats in radv_shader_create and it will allow adding
shader args debug info to some prologs.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37829>
2026-04-14 18:04:58 +00:00
Konstantin Seurer
3766985f1b radv: Refactor declaring shader args
Adds radv_shader_args_state as well as RADV_ADD_* macros. Using those
will simplify gathering debug information.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37829>
2026-04-14 18:04:58 +00:00
Konstantin Seurer
c485d3a356 radv: Add RT prolog information to hang reports
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37829>
2026-04-14 18:04:57 +00:00
Karol Herbst
c10b4b1e47 nak: scalarize tex, tld and tld4 on SM70+
This helps RA a bit by reducing the size of the vectors passed to tex
instructions and therefore eliminate a few movs.

Totals from 145533 (12.51% of 1163204) affected shaders:
CodeSize: 1868329120 -> 1855817520 (-0.67%); split: -0.70%, +0.03%
Number of GPRs: 7007196 -> 7007028 (-0.00%); split: -0.01%, +0.01%
Static cycle count: 1157484762 -> 1153189018 (-0.37%); split: -0.46%, +0.09%
Spills to reg: 30581 -> 30580 (-0.00%)
Fills from reg: 33263 -> 33262 (-0.00%)
Max warps/SM: 5911104 -> 5911100 (-0.00%); split: +0.00%, -0.00%

Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40900>
2026-04-14 17:48:04 +00:00
Karol Herbst
b6fb51caf5 nak/nvdisasm_tests: test .SCR flag in TEX, TLD and TLD4
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40900>
2026-04-14 17:48:04 +00:00
Karol Herbst
f76e7d8e62 nak: add scalar tex encoding support
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40900>
2026-04-14 17:48:04 +00:00
Konstantin Seurer
8c10eab1f3 radv: Add an option for dumping BVH stats
The option uses the dumping already implemented for rra to gather
statistics about BVHs on the CPU and write them to a csv file. This csv
file can then be compared using a tool similar to report-fossils to
judge the impact of changes to the bvh build code.

Reviewed-by: Natalie Vock <natalie.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38463>
2026-04-14 17:27:29 +00:00
Caio Oliveira
356d88457a anv: Lower any remaining globals when cmat_calls are inlined
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Fixes: 3debca7dc6 ("anv: Enable cooperativeMatrixPerElementOperations")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40938>
2026-04-14 17:00:53 +00:00
Jose Maria Casanova Crespo
31c8e14df3 broadcom/compiler: MULTOP in branch delay slots doesn't generate RTOP hazard
On unconditional branches qpu_set_branch_targets() can fill the delay slots
with a copy of the first instructions of the successor block.

As the qpu validator is sequential it would detect an incorrect hazard
when the MULTOP was copied but the UMUL24 wasn't.

This was identified in debug build when running gfxbench5.aztec_ruins_vk.

Assisted-by: Claude Opus 4.6
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40923>
2026-04-14 16:34:54 +00:00
Jose Maria Casanova Crespo
dd6e7c8ef0 broadcom/compiler: really enable branch in delay slots validation
The validation of branch instructions happening in branch and thrsw
delay slots has been dead code since it was introduced as the check
was after:

  if (inst->type != V3D_QPU_INSTR_TYPE_ALU)
          return;

Now last_branch_ip is updated and checks in_branch_delay_slots()
are active.

Fixes in_branch_delay_slots, as for branch there are always 3 delay slots.

As scheduler enforces this restrictions shader-db does not show any
regression.

Assisted-by: Claude Opus 4.6
Fixes: 90269ba353 ("broadcom/vc5: Use THRSW to enable multi-threaded shaders.")
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40923>
2026-04-14 16:34:54 +00:00
Michael Cheng
8ea53c25d4 anv: log aux disable reasons in image init and DRM modifier selection
Signed-off-by: Michael Cheng <michael.cheng@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40658>
2026-04-14 16:14:48 +00:00
Michael Cheng
34e27bbf9f anv: log aux disable and aux-skip reasons during image setup
Signed-off-by: Michael Cheng <michael.cheng@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40658>
2026-04-14 16:14:48 +00:00
Michael Cheng
44d06d855c anv: log fast depth clear fallback reasons in vkCmdClearAttachments
Signed-off-by: Michael Cheng <michael.cheng@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40658>
2026-04-14 16:14:47 +00:00
Michael Cheng
3b7e56482d anv: log fast color clear fallback reasons in vkCmdClearAttachments
Signed-off-by: Michael Cheng <michael.cheng@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40658>
2026-04-14 16:14:47 +00:00
Frank Binns
63c47734a9 pvr: re-enable wideLines
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Partial revert of a22ad99bdd ("pvr: set device features/props/extensions to
Vulkan 1.0 minimums (unless implemented)"), as this optional feature is fully
implemented already.

Tested with:
dEQP-VK.*wide*
dEQP-VK.dynamic_state.monolithic.line_width.*

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Simon Perretta <simon.perretta@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40890>
2026-04-14 15:30:57 +01:00
Frank Binns
ffce80d242 pvr: re-enable depthBiasClamp
Partial revert of a22ad99bdd ("pvr: set device features/props/extensions to
Vulkan 1.0 minimums (unless implemented)"), as this optional feature is fully
implemented already.

Tested with:
dEQP-VK.*depth_bias*
dEQP-VK.*bias_clamp*

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Simon Perretta <simon.perretta@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40890>
2026-04-14 15:30:53 +01:00
Frank Binns
50b06b888f pvr: re-enable multiDrawIndirect
Partial revert of a22ad99bdd ("pvr: set device features/props/extensions to
Vulkan 1.0 minimums (unless implemented)"), as this optional feature is fully
implemented already.

Tested with:
dEQP-VK.draw.*_multi_draw

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Simon Perretta <simon.perretta@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40890>
2026-04-14 15:30:49 +01:00
Frank Binns
e946d6754e pvr: re-enable fullDrawIndexUint32
Partial revert of a22ad99bdd ("pvr: set device features/props/extensions to
Vulkan 1.0 minimums (unless implemented)"), as this optional feature is fully
implemented already.

It also turns out that Vulkan CTS was already testing this feature even though
it wasn't being advertised as supported,
dEQP-VK.draw.renderpass.indexed_draw.draw_instanced_indexed_triangle_list being
an example of this.

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Simon Perretta <simon.perretta@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40890>
2026-04-14 15:30:45 +01:00
Yiwei Zhang
e99e275c56 docs/vulkan: fix the order of platform and vendor extensions
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40946>
2026-04-14 14:15:32 +00:00
Yiwei Zhang
bd8b288cd0 docs/vulkan: fix the order of KHR and EXT extensions
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40946>
2026-04-14 14:15:32 +00:00
Rhys Perry
984aa6e085 aco/ra: create s_bitset
fossil-db (navi31):
Totals from 33092 (16.35% of 202426) affected shaders:
Instrs: 16722717 -> 16696250 (-0.16%); split: -0.16%, +0.00%
CodeSize: 90003664 -> 89779940 (-0.25%); split: -0.25%, +0.00%
Latency: 123990480 -> 123934891 (-0.04%); split: -0.05%, +0.00%
InvThroughput: 20972033 -> 20971140 (-0.00%); split: -0.01%, +0.00%

fossil-db (navi21):
Totals from 6776 (3.35% of 202427) affected shaders:
Instrs: 11167123 -> 11166438 (-0.01%)
CodeSize: 62605436 -> 62573220 (-0.05%); split: -0.05%, +0.00%
Latency: 238610061 -> 238603224 (-0.00%); split: -0.00%, +0.00%
InvThroughput: 55148639 -> 55148624 (-0.00%); split: -0.00%, +0.00%
Copies: 1211216 -> 1210612 (-0.05%); split: -0.05%, +0.00%
SALU: 1436679 -> 1435997 (-0.05%)

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/40889>
2026-04-14 13:19:55 +00:00
Rhys Perry
88dcda1078 aco: support s_bitset
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/40889>
2026-04-14 13:19:55 +00:00
Georg Lehmann
6a2ac18b2b radv: remove radv_remove_color_exports
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
We do this later on lowered IO anyway, in radv_nir_trim_fs_color_exports.
That pass is also per component, and not per output slot.

No Foz-DB changes on Navi48.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40928>
2026-04-14 12:58:00 +00:00
Georg Lehmann
cbeccb0a09 radv: call radv_optimize_nir after lowering io
We are moving more and more passes after lowering io
because they no longer operate on variables.

There doesn't really seem to be a need to optimize before
lowering io, so do it afterwards.

Foz-DB Navi48:
Totals from 2339 (1.14% of 205045) affected shaders:
MaxWaves: 66218 -> 66258 (+0.06%)
Instrs: 2009510 -> 2007711 (-0.09%); split: -0.15%, +0.06%
CodeSize: 10646476 -> 10648376 (+0.02%); split: -0.05%, +0.07%
VGPRs: 131304 -> 131232 (-0.05%)
Latency: 19249976 -> 19248715 (-0.01%); split: -0.02%, +0.02%
InvThroughput: 3133252 -> 3132291 (-0.03%); split: -0.05%, +0.02%
VClause: 32999 -> 33003 (+0.01%); split: -0.07%, +0.08%
SClause: 42959 -> 43101 (+0.33%); split: -0.27%, +0.60%
Copies: 143721 -> 143792 (+0.05%); split: -0.38%, +0.43%
Branches: 38736 -> 38738 (+0.01%)
PreSGPRs: 106104 -> 105846 (-0.24%); split: -0.27%, +0.03%
PreVGPRs: 95217 -> 95179 (-0.04%); split: -0.04%, +0.00%
VALU: 1146620 -> 1144783 (-0.16%); split: -0.22%, +0.06%
SALU: 275263 -> 275183 (-0.03%); split: -0.16%, +0.13%
VMEM: 58353 -> 58364 (+0.02%)
SMEM: 84810 -> 85215 (+0.48%); split: -0.00%, +0.48%

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40928>
2026-04-14 12:58:00 +00:00
Georg Lehmann
4598bbaea7 radv: immediately remove phis after loop unrolling
Loop unrolling can create phis when constants are defined in the loop but
used outside of it. Ideally this should not happen, but for now we have
to remove these as soon as possible before they trip up other passes.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40928>
2026-04-14 12:58:00 +00:00
Pierre-Eric Pelloux-Prayer
7e163fb793 ac/tests: use amdgpu shim devices
Instead of duplicating fake devices.
This requires to move amdgpu_devices.* to the common folder so
they can be shared between shim and tests.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40656>
2026-04-14 12:06:20 +00:00
Pierre-Eric Pelloux-Prayer
7340442840 ac/info: constify ac_fill_compiler_info
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40656>
2026-04-14 12:06:20 +00:00