mesa/src/imagination/pco
Simon Perretta 49b1500bac pco: add native u{add,sub}{carry,borrow,sat} ops
Implements ops without needing the NIR lowering.
The sum and carry parts can later be combined into single instruction.

Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Tested-by: Icenowy Zheng <zhengxingda@iscas.ac.cn>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40607>
2026-04-10 09:38:25 +00:00
..
uscgen pvr,pan,agx: drop cargo-culted nir_opt_loop calls 2026-02-02 23:16:22 +00:00
usclib pco: Commonize atomic sync operations 2026-03-13 13:06:11 +02:00
meson.build pvr, pco: add primitive support for VK_KHR_robustness2.nullDescriptor 2025-09-30 12:15:54 +00:00
pco.c pvr, pco: Commonize texture packing code 2026-02-27 09:08:29 +00:00
pco.h pvr, pco: Commonize texture packing code 2026-02-27 09:08:29 +00:00
pco_binary.c pvr: add basic support for shader statistics framework 2026-01-27 16:58:30 +00:00
pco_bool.c pco: update virtual register support for bools and nir reg translation 2025-09-16 18:26:09 +00:00
pco_builder.h pco: Switch back to util/list 2025-09-16 18:26:44 +00:00
pco_builder_ops.h.py pco: remove modifiers from instructions with variable src/dests 2025-09-16 18:26:11 +00:00
pco_cf.c util/dynarray: infer type in append 2025-10-24 18:32:07 +00:00
pco_common.h.py pvr, pco: enable pre-generated header string functions to work with clc 2025-09-22 14:52:03 +01:00
pco_const_imms.c pco, pygen: differentiate between int and float ref mods 2025-09-16 18:26:08 +00:00
pco_data.h pvr: add basic support for shader statistics framework 2026-01-27 16:58:30 +00:00
pco_debug.c pco: Add hwinfo check for features in sampler code 2026-03-05 15:33:10 +00:00
pco_end.c pco: add support for loops and ifs using predicated execution 2025-09-16 18:26:09 +00:00
pco_group_instrs.c pco: Switch back to util/list 2025-09-16 18:26:44 +00:00
pco_index.c pco: initial control-flow support 2025-09-16 18:26:08 +00:00
pco_info.c.py pco, pygen: validate phases and io allocations for ops 2025-07-08 23:10:50 +00:00
pco_internal.h pco: add native u{add,sub}{carry,borrow,sat} ops 2026-04-10 09:38:25 +00:00
pco_ir.c pco: Move part of legalization after register allocation 2026-04-09 09:29:21 +00:00
pco_isa.h.py build: avoid redefining unreachable() which is standard in C23 2025-07-31 17:49:42 +00:00
pco_isa.py pco: add encodings and mappings for smp integer and array flags 2026-03-05 15:33:10 +00:00
pco_legalize.c pco: Move part of legalization after register allocation 2026-04-09 09:29:21 +00:00
pco_map.h.py pco: amend index register mapping 2025-09-16 18:26:08 +00:00
pco_map.py pco: add native u{add,sub}{carry,borrow,sat} ops 2026-04-10 09:38:25 +00:00
pco_nir.c pco: add native u{add,sub}{carry,borrow,sat} ops 2026-04-10 09:38:25 +00:00
pco_nir_algebraic.py pco: improve early and late algebraic pass ordering 2025-10-11 20:28:16 +01:00
pco_nir_compute.c pco: use nir_cf_{extract,reinsert} instead of inlining compute instance check 2025-09-16 18:26:40 +00:00
pco_nir_io.c pco: use nir_unlower_io_to_vars 2025-09-27 23:45:54 +01:00
pco_nir_lower_null_descriptors.c treewide: add & use parent instr helpers 2025-11-12 21:22:13 +00:00
pco_nir_pvfio.c nir: Use better calculation for alpha-to-coverage mask 2026-03-20 18:09:48 +00:00
pco_nir_sync.c pco: Commonize atomic sync operations 2026-03-13 13:06:11 +02:00
pco_nir_tex.c pco: Add hwinfo check for features in sampler code 2026-03-05 15:33:10 +00:00
pco_nir_vk.c treewide: add & use parent instr helpers 2025-11-12 21:22:13 +00:00
pco_ops.h.py pco, pygen: add better exception messages 2024-11-29 15:14:12 +00:00
pco_ops.py pco: add native u{add,sub}{carry,borrow,sat} ops 2026-04-10 09:38:25 +00:00
pco_opt.c treewide: use UTIL_DYNARRAY_INIT 2025-11-04 13:39:48 +00:00
pco_print.c pco: Use vertex input registers in register allocation 2026-02-24 16:27:45 +00:00
pco_pygen_common.py pco, pygen: amend translation of srcs/dests with no mods 2025-07-08 23:10:45 +00:00
pco_ra.c pco: Use vertex input registers in register allocation 2026-02-24 16:27:45 +00:00
pco_schedule.c pvr, pco: switch to clc load/store sr and idfwdf shaders 2025-09-22 14:52:05 +01:00
pco_trans_nir.c pco: add native u{add,sub}{carry,borrow,sat} ops 2026-04-10 09:38:25 +00:00
pco_validate.c pco, pygen: expose enhanced logical ops with optional mask 2025-09-16 18:26:08 +00:00