Georg Lehmann
5ecc800edd
aco/optimizer: add second copy prop for pseudo instructions
...
Foz-DB Navi48:
Totals from 28 (0.03% of 82405) affected shaders:
Instrs: 144993 -> 144645 (-0.24%); split: -0.26%, +0.02%
CodeSize: 784668 -> 783604 (-0.14%); split: -0.19%, +0.05%
SpillVGPRs: 215 -> 209 (-2.79%)
Latency: 2529900 -> 2526895 (-0.12%); split: -0.12%, +0.00%
InvThroughput: 775379 -> 773859 (-0.20%); split: -0.20%, +0.00%
VClause: 2815 -> 2803 (-0.43%)
Copies: 23474 -> 23170 (-1.30%); split: -1.38%, +0.09%
Branches: 4638 -> 4632 (-0.13%)
VALU: 81924 -> 81620 (-0.37%); split: -0.40%, +0.03%
SALU: 23986 -> 23995 (+0.04%); split: -0.03%, +0.07%
VMEM: 3726 -> 3714 (-0.32%)
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39532 >
2026-02-06 11:29:39 +00:00
Georg Lehmann
269007faf3
aco/optimizer: apply byte p_split_vector as extract
...
Foz-DB Navi48:
Totals from 80 (0.10% of 82405) affected shaders:
Instrs: 3022374 -> 3024178 (+0.06%); split: -0.00%, +0.06%
CodeSize: 17396984 -> 17403108 (+0.04%); split: -0.00%, +0.04%
Latency: 17685547 -> 17687073 (+0.01%); split: -0.01%, +0.02%
InvThroughput: 3622683 -> 3622618 (-0.00%); split: -0.02%, +0.02%
VClause: 83840 -> 83841 (+0.00%)
Copies: 242072 -> 242528 (+0.19%); split: -0.01%, +0.20%
Branches: 81582 -> 81578 (-0.00%)
PreVGPRs: 7536 -> 7527 (-0.12%)
VALU: 1520822 -> 1521762 (+0.06%); split: -0.01%, +0.07%
VOPD: 294392 -> 293908 (-0.16%); split: +0.03%, -0.20%
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39532 >
2026-02-06 11:29:39 +00:00
Georg Lehmann
b21b36b6ab
aco/optimizer: apply further extracts to v_cvt_f32_ubyte
...
Foz-DB Navi48:
Totals from 21 (0.03% of 82405) affected shaders:
Instrs: 2818255 -> 2817482 (-0.03%)
CodeSize: 16282360 -> 16273080 (-0.06%)
Latency: 14172672 -> 14172405 (-0.00%); split: -0.00%, +0.00%
InvThroughput: 2728551 -> 2728493 (-0.00%); split: -0.00%, +0.00%
Copies: 213703 -> 212973 (-0.34%)
VALU: 1407351 -> 1406585 (-0.05%)
VOPD: 291185 -> 291221 (+0.01%); split: +0.04%, -0.03%
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39532 >
2026-02-06 11:29:39 +00:00
Georg Lehmann
08f9bad0b5
aco/isel: avoid extracts for continuous alu src components
...
Helps fp8 FSR4, hurts parallel_rdp.
Foz-DB Navi48:
Totals from 23 (0.03% of 82405) affected shaders:
MaxWaves: 380 -> 383 (+0.79%)
Instrs: 71228 -> 71487 (+0.36%); split: -0.26%, +0.62%
CodeSize: 411500 -> 415004 (+0.85%); split: -0.21%, +1.06%
VGPRs: 2856 -> 2784 (-2.52%)
Latency: 1654160 -> 1665555 (+0.69%); split: -0.14%, +0.83%
InvThroughput: 354145 -> 361122 (+1.97%); split: -0.10%, +2.07%
VClause: 1557 -> 1541 (-1.03%); split: -1.41%, +0.39%
Copies: 9857 -> 10059 (+2.05%); split: -1.76%, +3.80%
PreVGPRs: 2285 -> 2182 (-4.51%); split: -4.73%, +0.22%
VALU: 38873 -> 39066 (+0.50%); split: -0.47%, +0.96%
VOPD: 1237 -> 1246 (+0.73%); split: +1.13%, -0.40%
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39532 >
2026-02-06 11:29:39 +00:00
Georg Lehmann
a0c663378c
aco/isel: split vector into dwords/words first
...
Foz-DB Navi48:
Totals from 361 (0.44% of 82405) affected shaders:
MaxWaves: 5806 -> 5832 (+0.45%)
Instrs: 2343746 -> 2343762 (+0.00%); split: -0.04%, +0.04%
CodeSize: 13270504 -> 13267116 (-0.03%); split: -0.10%, +0.08%
VGPRs: 42008 -> 41708 (-0.71%)
SpillVGPRs: 308 -> 303 (-1.62%)
Scratch: 1574656 -> 1574400 (-0.02%)
Latency: 26571385 -> 22602486 (-14.94%); split: -14.95%, +0.01%
InvThroughput: 5474157 -> 4614777 (-15.70%); split: -15.70%, +0.00%
VClause: 57512 -> 57515 (+0.01%); split: -0.03%, +0.03%
SClause: 56313 -> 56319 (+0.01%)
Copies: 251626 -> 248707 (-1.16%); split: -1.24%, +0.08%
Branches: 89620 -> 89614 (-0.01%)
PreVGPRs: 37361 -> 36910 (-1.21%); split: -1.21%, +0.01%
VALU: 1111534 -> 1108507 (-0.27%); split: -0.29%, +0.02%
SALU: 443684 -> 443687 (+0.00%); split: -0.00%, +0.00%
VMEM: 85287 -> 85277 (-0.01%)
VOPD: 97987 -> 98091 (+0.11%); split: +0.30%, -0.20%
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39532 >
2026-02-06 11:29:39 +00:00
Georg Lehmann
1a3e627223
aco: improve emit_extract_vector for vector of vecs
...
No Foz-DB changes, but nessecary for dword first splits.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39532 >
2026-02-06 11:29:39 +00:00
Georg Lehmann
1b491cc51a
aco/optimizer: don't remove label_extract for splits
...
No Foz-DB changes, but will become nessecary with dword first splits.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39532 >
2026-02-06 11:29:39 +00:00
Georg Lehmann
66f2a35954
aco/optimizer: repeat vector of split opt
...
Foz-DB Navi48:
Totals from 13 (0.02% of 82405) affected shaders:
Instrs: 12071 -> 12119 (+0.40%); split: -0.07%, +0.46%
CodeSize: 86908 -> 86960 (+0.06%); split: -0.29%, +0.35%
Latency: 104959 -> 105385 (+0.41%); split: -0.60%, +1.00%
InvThroughput: 46518 -> 46598 (+0.17%); split: -0.03%, +0.20%
VClause: 515 -> 506 (-1.75%); split: -3.11%, +1.36%
SClause: 32 -> 30 (-6.25%)
Copies: 973 -> 1038 (+6.68%); split: -0.82%, +7.50%
PreVGPRs: 1185 -> 1191 (+0.51%)
VALU: 7126 -> 7166 (+0.56%); split: -0.08%, +0.65%
SALU: 1127 -> 1129 (+0.18%)
VOPD: 1516 -> 1539 (+1.52%); split: +1.78%, -0.26%
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39532 >
2026-02-06 11:29:39 +00:00
Georg Lehmann
6951ddc43b
aco: clean up emit_extract_vector a bit
...
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39532 >
2026-02-06 11:29:39 +00:00
Daniel Schürmann
b859aa7dce
radv: vectorize UBO, SSBO and shared across blocks
...
Totals from 10898 (12.91% of 84383) affected shaders: (Navi48)
MaxWaves: 279340 -> 279332 (-0.00%); split: +0.00%, -0.00%
Instrs: 21764388 -> 21710270 (-0.25%); split: -0.27%, +0.02%
CodeSize: 116069624 -> 115722304 (-0.30%); split: -0.31%, +0.02%
VGPRs: 693736 -> 693796 (+0.01%); split: -0.00%, +0.01%
SpillSGPRs: 7225 -> 7339 (+1.58%); split: -0.55%, +2.13%
Latency: 338393228 -> 325192648 (-3.90%); split: -3.92%, +0.02%
InvThroughput: 51966571 -> 50173171 (-3.45%); split: -3.46%, +0.01%
VClause: 350568 -> 350287 (-0.08%); split: -0.13%, +0.05%
SClause: 632838 -> 614290 (-2.93%); split: -2.96%, +0.03%
Copies: 1479044 -> 1475429 (-0.24%); split: -0.45%, +0.20%
Branches: 514433 -> 512921 (-0.29%); split: -0.31%, +0.01%
PreSGPRs: 618454 -> 624707 (+1.01%); split: -0.07%, +1.08%
PreVGPRs: 564593 -> 564725 (+0.02%); split: -0.00%, +0.02%
VALU: 11557516 -> 11557859 (+0.00%); split: -0.01%, +0.01%
SALU: 3488945 -> 3486685 (-0.06%); split: -0.16%, +0.10%
VMEM: 615523 -> 614751 (-0.13%)
SMEM: 966514 -> 936739 (-3.08%); split: -3.09%, +0.01%
VOPD: 329318 -> 329406 (+0.03%); split: +0.04%, -0.02%
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39373 >
2026-02-06 10:16:50 +00:00
Rhys Perry
53ed863b88
aco/insert_waitcnt: improve s_setpc_b64/s_swappc_b64/end_with_regs a bit
...
Don't wait for any events which don't involve registers.
fossil-db (navi31):
Totals from 210 (0.25% of 84369) affected shaders:
Instrs: 106932 -> 106677 (-0.24%)
CodeSize: 604164 -> 603144 (-0.17%)
Latency: 726405 -> 720433 (-0.82%)
InvThroughput: 102048 -> 101504 (-0.53%); split: -0.54%, +0.00%
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/39590 >
2026-02-06 09:49:20 +00:00
Rhys Perry
63b18e9e5b
aco: move return address to a clobbered register
...
It's placed in the preserved registers, but the p_call clobbers it, so
this change removes some special casing.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Natalie Vock <natalie.vock@gmx.de>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39590 >
2026-02-06 09:49:19 +00:00
Rhys Perry
ec74e34672
aco: add return address to call_clobbered_regs
...
It's better for handle_call() to make sure these SGPRs are clear.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Natalie Vock <natalie.vock@gmx.de>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39590 >
2026-02-06 09:49:18 +00:00
Rhys Perry
837afd7faf
aco: use Program::stack_ptr instead of Program::static_scratch_rsrc
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Natalie Vock <natalie.vock@gmx.de>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39590 >
2026-02-06 09:49:17 +00:00
Rhys Perry
a6502b4a29
aco: use ABI::numClobbered() more
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Natalie Vock <natalie.vock@gmx.de>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39590 >
2026-02-06 09:49:17 +00:00
Samuel Pitoiset
695cf07f8a
radv: remove occurrences of VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR
...
This layout is illegal without VK_KHR_shared_presentable_image which
RADV doesn't support.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39717 >
2026-02-06 07:37:23 +00:00
Samuel Pitoiset
f2d7d998a2
radv: track redundant PA_SC_VRS_OVERRIDE_CNTL register writes
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39675 >
2026-02-06 07:15:10 +00:00
Samuel Pitoiset
f8153a7c20
radv: emit the VRS surface as part of the framebuffer state on GFX11+
...
No need to delay this and it slightly better for CPU overhead in the
hot draw path.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39675 >
2026-02-06 07:15:10 +00:00
Georg Lehmann
5dd35bf67e
ac/llvm: remove unpack_half support
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39511 >
2026-02-06 06:12:36 +00:00
Georg Lehmann
146779d16d
aco: remove unpack_half support
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39511 >
2026-02-06 06:12:36 +00:00
Samuel Pitoiset
65c1c66412
radv: stop delaying decompression passes for feedback loops with DRLR
...
This was an oversight of VK_KHR_dynamic_rendering_local_read which has
been addressed by VK_KHR_maintenance10 which introduced new flags to
give more information to implementations.
The Vulkan spec says:
"VK_RENDERING_ATTACHMENT_INPUT_ATTACHMENT_FEEDBACK_BIT_KHR is
intended to give implementations similar information as a subpass
where an attachment could be used as both a color attachment and
input attachment. Some implementations require extra work to make
this scenario work beyond just considering the image layouts.
Implementations which have no such considerations may treat this
flag as a noop. The primary use case for this flag is to enable
feedback loops inside a single shader."
"Applications are encouraged to use
VK_RENDERING_LOCAL_READ_CONCURRENT_ACCESS_CONTROL_BIT_KHR if
maintenance10 is available and they use feedback loops with
VK_KHR_dynamic_rendering_local_read. Feedback loops are still
allowed when not using the rendering flag, but the performance
implication was an oversight in the original definition of
VK_KHR_dynamic_rendering_local_read."
Because it's clearly defined by the Vulkan spec, let's just pessimize
always to avoid relying on some shaders state which require to do very
late decompression passes. This will allow us to do more cleanups and
optimizations related to the framebuffer. Also note that DRLR is still
a niche feature.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39538 >
2026-02-05 10:55:42 +00:00
Samuel Pitoiset
13c9e529bd
radv: emit pending flushes after late decompressions with fbfetch
...
If the rendering state is inherited in the secondary, otherwise nothing
wait for the pending flushes after a decompression pass. One more
argument to stop delaying this.
Fixes
dEQP-VK.renderpasses.dynamic_rendering.partial_secondary_cmd_buff.local_read.*
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39678 >
2026-02-04 13:49:47 +00:00
Samuel Pitoiset
cbf0a38fa4
ac,radv,radeonsi: shorten some emit macro names
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
config -> cfg
uconfig -> ucfg
context -> ctx
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39680 >
2026-02-04 13:27:49 +00:00
Samuel Pitoiset
83ca338e37
radv: disable unordered submits when SQTT queue events are enabled
...
Otherwise the QueuePresent event is missing and RGP is confused.
Fixes: 82d06b58ad ("radv: use vk_drm_syncobj_copy_payloads")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39158 >
2026-02-04 13:04:19 +00:00
Samuel Pitoiset
6d7a1bc6ef
radv/amdgpu: bypass GL2 for command buffer BOs
...
Better for latency.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39674 >
2026-02-04 12:45:06 +00:00
Samuel Pitoiset
cd22fef4be
radv/meta: remove unused emit_depth_stencil_resolve()
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39684 >
2026-02-04 09:29:37 +01:00
Samuel Pitoiset
b304718002
radv/amdgpu: remove radv_dummy_winsys_create()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39684 >
2026-02-04 09:29:24 +01:00
Samuel Pitoiset
f32721e3ae
radv/meta: remove declared but unused radv_decompress_resolve_rendering_src()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39684 >
2026-02-04 09:29:24 +01:00
Konstantin Seurer
ce4d338b0d
radv: Use stderr for shader printf
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Reviewed-by: Natalie Vock <natalie.vock@gmx.de>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39640 >
2026-02-03 20:00:15 +00:00
Konstantin Seurer
24a1e3d8c2
radv/bvh: Make sure internal nodes are collapsed when possible
...
Avoiding NaNs should have the same effect but it's good practice to not
rely on float OPs for correctness.
Fixes: 95a89f7 ("radv: Report smaller bvh sizes when possible")
Reviewed-by: Natalie Vock <natalie.vock@gmx.de>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39640 >
2026-02-03 20:00:15 +00:00
Konstantin Seurer
2f3a9c10f4
radv/rra: Fix nullptr dereference
...
cc: mesa-stable
Reviewed-by: Natalie Vock <natalie.vock@gmx.de>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39640 >
2026-02-03 20:00:15 +00:00
Emma Anholt
213710049c
ci/deqp-runner: Enable a common single-threaded test list.
...
The implicit_unmap tests complete in ~18s each on my A740, so I think they
should be fine to remove from all devices' skips files -- the problem was
hitting swap in parallel.
This reshuffles some test groups, making new xfails show up. The changes
are particularly notable in virgl, where virglrenderer gets wedged at some
point, arbitrary sets of tests after that fail.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39568 >
2026-02-03 17:34:09 +00:00
Emma Anholt
d55d4eb9a3
ci: Add some flakes that I tripped over when test groups got reshuffled.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39568 >
2026-02-03 17:34:09 +00:00
Marek Olšák
edffb2d76d
ac: add FMASK codes
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39631 >
2026-02-03 17:10:32 +00:00
Marek Olšák
6f36a2be2e
ac: unify HTILE codes and encoding
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39631 >
2026-02-03 17:10:32 +00:00
Marek Olšák
e0c7c642f4
ac: unify and demystify CMASK clear codes
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39631 >
2026-02-03 17:10:32 +00:00
Marek Olšák
43e9af713b
radv: use DCC definitions more
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39631 >
2026-02-03 17:10:31 +00:00
Marek Olšák
6af6197136
ac: unify DCC clear code definitions
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39631 >
2026-02-03 17:10:30 +00:00
Marek Olšák
f096652aec
ac/llvm: pass soffset to buffer_load/store_format
...
this will be needed in the future
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39536 >
2026-02-02 21:09:46 +00:00
Marek Olšák
d6a5bb3808
ac/llvm: simplify emitting FP intrinsics
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39536 >
2026-02-02 21:09:46 +00:00
Marek Olšák
74bc4ee9f3
ac/llvm: remove scalarizing emit_intrin_1f_param_scalar
...
we scalarize this in NIR
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39536 >
2026-02-02 21:09:45 +00:00
Marek Olšák
fc9f56556a
ac/llvm: fix buffer_load_format with TFE by replacing inline asm with LLVM code
...
It was broken with gfx12 at least. This fixes vkd3d-proton tests with
RADV_DEBUG=llvm and removes the hard-to-maintain inline assembly.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39474 >
2026-02-02 17:56:55 +00:00
Marek Olšák
bac80013e6
ac: remove image_load buffer code from ACO & LLVM
...
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com> (aco)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39474 >
2026-02-02 17:56:55 +00:00
Marek Olšák
c05d340184
ac: remove txf buffer code from ACO & LLVM
...
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com> (aco)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39474 >
2026-02-02 17:56:55 +00:00
Marek Olšák
85916c8af0
ac/nir: lower buffer image_load to load_buffer_amd in NIR
...
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39474 >
2026-02-02 17:56:54 +00:00
Marek Olšák
ef3d43085a
ac/nir: lower buffer txf to load_buffer_amd in NIR
...
This also:
- removes the sparse flag (TFE) if it has no uses
- removes trailing unused components (if not sparse) or all contiguous unused
components before the sparse flag (if sparse)
- lowers 64-bit formatted buffer loads to 32 bits
Everything here could also be used by 64-bit non-buffer image loads
and txf if needed.
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39474 >
2026-02-02 17:56:54 +00:00
Marek Olšák
30ee7044bc
ac/nir: rename ac_nir_lower_tex -> ac_nir_lower_image_tex
...
It will lower txf and buffer image loads to load_buffer_amd.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39474 >
2026-02-02 17:56:54 +00:00
Marek Olšák
94058ff179
ac/llvm: handle ACCESS_SPARSE in load_buffer_amd
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39474 >
2026-02-02 17:56:54 +00:00
Marek Olšák
21d79dc22f
aco,ac/llvm: force IDXEN=1 for buffer format opcodes on GFX9
...
This fixes txf and image_load lowered to buffer_load_amd.
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39474 >
2026-02-02 17:56:53 +00:00
Marek Olšák
61bfc298ba
ac: set missing dest_type for image_deref_load
...
required for lowering to load_buffer_amd
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39474 >
2026-02-02 17:56:53 +00:00