mesa/src/asahi
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
..
clc asahi: don't use NIR_PASS_V 2024-01-12 01:13:03 +00:00
compiler nir: rework and fix rotate lowering 2024-01-22 10:27:44 +00:00
drm-shim asahi: drop unused include paths 2023-07-22 10:10:03 +00:00
layout asahi: do not use compression blits for uncompressed levels 2024-01-10 08:44:37 -04:00
lib asahi: don't use NIR_PASS_V 2024-01-12 01:13:03 +00:00
.clang-format clang-format: Disable formatting by default 2023-08-13 16:48:49 +02:00
.editorconfig asahi: Add .editorconfig for CL files 2024-01-10 08:44:37 -04:00
meson.build asahi: Fix tools=all builds 2023-11-02 18:51:57 -04:00