mesa/src/compiler
Karol Herbst ee57c9df39 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>
(cherry picked from commit f2b7c4ce29)
2024-01-23 20:34:30 +00:00
..
clc clc: remove code supporting pre llvm-10 2024-01-03 18:30:32 +00:00
glsl glsl/nir: fix gl_nir_cross_validate_outputs_to_inputs() memory leak 2024-01-16 18:41:36 +00:00
isaspec isaspec: Add bool_inv type to print inverted bools 2023-12-16 14:34:18 +00:00
nir nir: rework and fix rotate lowering 2024-01-23 20:34:30 +00:00
spirv compiler/spirv: The spirv shader is binary, should write in binary mode 2024-01-17 21:39:00 +00:00
builtin_types.py compiler/types: Use Python to generate code for builtin types 2023-09-16 15:17:01 +00:00
builtin_types_c.py util,vulkan,mesa,compiler: Generate source files with utf8 encoding from mako template 2023-12-07 12:41:07 +00:00
builtin_types_h.py util,vulkan,mesa,compiler: Generate source files with utf8 encoding from mako template 2023-12-07 12:41:07 +00:00
glsl_types.c compiler/types: Use a typedef for glsl_type 2023-12-22 07:53:25 -08:00
glsl_types.h util,compiler: Avoid use align as variable, replace it with other names 2024-01-05 02:42:05 +00:00
meson.build treewide: Replace the include of nir_types.h with glsl_types.h 2023-12-30 15:08:11 +00:00
shader_enums.c nir: add lowering from FS LAYER input to LAYER_ID sysval 2023-11-24 15:37:24 +00:00
shader_enums.h nir: add lowering from FS LAYER input to LAYER_ID sysval 2023-11-24 15:37:24 +00:00
shader_info.h nir/serialize: untangle printf serialization from a particular stage 2023-12-12 11:11:10 +00:00