mesa/src/amd/common
Karol Herbst f2b7c4ce29 nir: rework and fix rotate lowering
No driver supports urol/uror on all bit sizes. Intel gen11+ only for 16
and 32 bit, Nvidia GV100+ only for 32 bit. Etnaviv can support it on 8,
16 and 32 bit.

Also turn the `lower` into a `has` option as only two drivers actually
support `uror` and `urol` at this momemt.

Fixes crashes with CL integer_rotate on iris and nouveau since we emit
urol for `rotate`.

v2: always lower 64 bit

Fixes: fe0965afa6 ("spirv: Don't use libclc for rotate")
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by (Intel and nir): Ian Romanick <ian.d.romanick@intel.com>

Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27090>
2024-01-22 10:27:44 +00:00
..
ac_binary.c ac,radeonsi,winsyses: switch to SPDX-License-Identifier: MIT 2023-05-24 21:48:19 +00:00
ac_binary.h ac,radeonsi,winsyses: switch to SPDX-License-Identifier: MIT 2023-05-24 21:48:19 +00:00
ac_debug.c ac: move the IB parsers into ac_parse_ib.c 2023-12-01 01:15:55 +00:00
ac_debug.h ac: add an IB parser that gathers context rolls 2023-12-01 01:15:55 +00:00
ac_drm_fourcc.h amd/common: update DCC for gfx11.5 2023-10-20 07:32:34 +00:00
ac_gather_context_rolls.c ac: add an IB parser that gathers context rolls 2023-12-01 01:15:55 +00:00
ac_gpu_info.c radv: fix indirect dispatches on the compute queue on GFX7 2024-01-22 07:41:05 +00:00
ac_gpu_info.h radv: fix indirect dispatches on the compute queue on GFX7 2024-01-22 07:41:05 +00:00
ac_hw_stage.h amd: Move ac_hw_stage to its own file 2023-07-03 21:12:45 +00:00
ac_ib_parser.c ac: rename ac_parse_ib.c -> ac_ib_parser.c 2023-12-01 01:15:55 +00:00
ac_msgpack.c ac/msgpack: make fixstrs a const char 2023-08-22 11:33:10 +00:00
ac_msgpack.h ac/msgpack: make fixstrs a const char 2023-08-22 11:33:10 +00:00
ac_nir.c ac,radeonsi: emulate GS primitive pipeline stat on gfx11 because of culling 2024-01-17 09:05:55 +00:00
ac_nir.h ac,radeonsi: emulate GS primitive pipeline stat on gfx11 because of culling 2024-01-17 09:05:55 +00:00
ac_nir_cull.c ac/nir: optimize out multiplications in small line culling 2024-01-17 09:05:54 +00:00
ac_nir_lower_esgs_io_to_mem.c treewide: Use nir_shader_intrinsic_pass sometimes 2023-08-24 15:48:02 +00:00
ac_nir_lower_global_access.c ac/nir: fix 32-bit offset global access optimization 2023-11-30 21:50:21 +00:00
ac_nir_lower_image_opcodes_cdna.c nir: replace use of nir_src_copy() 2023-09-08 03:01:39 +00:00
ac_nir_lower_ngg.c ac,radeonsi: emulate GS primitive pipeline stat on gfx11 because of culling 2024-01-17 09:05:55 +00:00
ac_nir_lower_ps.c ac/nir: add an option to skip MRTZ exports in ac_nir_lower_ps() 2023-12-06 11:49:31 +00:00
ac_nir_lower_resinfo.c nir: replace use of nir_src_copy() 2023-09-08 03:01:39 +00:00
ac_nir_lower_subdword_loads.c nir: Drop most uses of nir_instr_rewrite_src_ssa() 2023-08-18 01:00:15 +00:00
ac_nir_lower_taskmesh_io_to_mem.c ac/nir: add lowering for task shader queries 2023-09-26 07:50:15 +00:00
ac_nir_lower_tess_io_to_mem.c ac/nir: don't write TCS outputs to memory if no_varying is set 2024-01-17 09:05:54 +00:00
ac_nir_lower_tex.c ac,radv,radeonsi: use common 1D texture lowering 2023-11-29 14:04:15 +00:00
ac_nir_opt_outputs.c nir: s/nir_instr_ssa_def/nir_instr_def/ 2023-08-15 17:44:27 +00:00
ac_parse_ib.c ac: move the IB parsers into ac_parse_ib.c 2023-12-01 01:15:55 +00:00
ac_perfcounter.c ac/perfcounter: remove a bogus assert to fix an assertion failure on gfx11 2023-09-30 22:23:04 +00:00
ac_perfcounter.h ac/perfcounter: compute the number of global instances of TCP,SQ,GL1C and GL2C 2023-09-14 14:17:19 +00:00
ac_rgp.c ac/rgp: Fix single-bit-bitfield-constant-conversion warning 2024-01-05 22:42:58 -08:00
ac_rgp.h ac/rgp: update dumping queue event records to the capture 2023-11-13 08:53:09 +00:00
ac_rgp_elf_object_pack.c amd: Use align64 instead of ALIGN for 64 bit value parameter 2024-01-03 22:02:17 +00:00
ac_rtld.c amd: Do shader binary alignment for prefetch at memory allocation time. 2023-07-11 12:01:45 +00:00
ac_rtld.h ac,radeonsi,winsyses: switch to SPDX-License-Identifier: MIT 2023-05-24 21:48:19 +00:00
ac_shader_args.c ac: allow to mark shader arguments as preserved 2023-08-25 07:22:03 +00:00
ac_shader_args.h ac,radeonsi: move ps arg pos_fixed_pt to ac_shader_args 2023-10-10 02:36:33 +00:00
ac_shader_util.c nir: rework and fix rotate lowering 2024-01-22 10:27:44 +00:00
ac_shader_util.h amd: unify NIR options between RADV and radeonsi 2024-01-17 09:05:54 +00:00
ac_shadowed_regs.c ac: update gfx11 shadowed register tables 2023-08-19 19:36:55 +00:00
ac_shadowed_regs.h amd: add a new helper that prints all non-shadowed regs 2023-06-17 23:42:21 +00:00
ac_spm.c amd/common: add missing stuff for gfx11.5 2023-10-24 01:07:12 +00:00
ac_spm.h ac/spm: add support for GFX11 2023-09-25 09:05:58 +02:00
ac_sqtt.c radv: fix instruction timing on GFX11 2023-09-14 06:29:10 +00:00
ac_sqtt.h radv: fix instruction timing on GFX11 2023-09-14 06:29:10 +00:00
ac_surface.c radeonsi: compute epitch when modifying surf_pitch 2024-01-12 14:42:55 +00:00
ac_surface.h amd/common: update DCC for gfx11.5 2023-10-20 07:32:34 +00:00
ac_surface_meta_address_test.c ac/surface: trivial non-functional changes 2023-08-19 19:36:56 +00:00
ac_surface_modifier_test.c ac/surface/tests: Remove duplicate variable block_size_bits 2023-11-15 19:22:06 -08:00
ac_surface_test_common.h amd: rename GFX110x to NAVI31-33 2023-09-30 23:08:47 +00:00
ac_uvd_dec.h ac,radeonsi,winsyses: switch to SPDX-License-Identifier: MIT 2023-05-24 21:48:19 +00:00
ac_vcn.h radeonsi/ac: move some vcn defines to common 2023-04-27 02:00:03 +00:00
ac_vcn_av1_default.h ac/radeonsi: add av1 defaults header file from radeonsi 2023-06-16 05:53:44 +00:00
ac_vcn_dec.h radeonsi: add new interface to handle multi slice reflist 2023-11-30 08:39:31 -05:00
ac_vcn_enc.h radesonsi/vcn add qp_map definition 2023-12-15 14:06:34 +00:00
ac_vcn_enc_av1_default_cdf.h ac,radeonsi: move vcn enc av1 default cdf file to common 2023-09-14 07:51:24 +00:00
amd_family.c ac: add missing gfx11.5 bits 2023-11-05 12:34:55 -05:00
amd_family.h amd: add new hardware ip for vpe 2023-12-01 00:23:38 +00:00
amd_kernel_code_t.h amd/common: add AMD_CODE_PROPERTY_ENABLE_WAVEFRONT_SIZE32 property 2023-08-31 20:30:03 +00:00
gfx10_format_table.h ac,radeonsi,winsyses: switch to SPDX-License-Identifier: MIT 2023-05-24 21:48:19 +00:00
gfx10_format_table.py ac,radeonsi,winsyses: switch to SPDX-License-Identifier: MIT 2023-05-24 21:48:19 +00:00
meson.build ac: add an IB parser that gathers context rolls 2023-12-01 01:15:55 +00:00
sid.h ac: Remove CIK prefix from SDMA opcodes. 2023-11-18 17:11:00 +01:00
sid_tables.py ac,radeonsi,winsyses: switch to SPDX-License-Identifier: MIT 2023-05-24 21:48:19 +00:00