mesa/src/microsoft
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
..
ci ci/msvc: Rename vs2019 to msvc 2023-12-24 11:46:43 +00:00
clc nir/printf: remove treat_doubles_as_floats 2024-01-18 13:16:13 +01:00
compiler nir: rework and fix rotate lowering 2024-01-22 10:27:44 +00:00
spirv_to_dxil treewide: replace calls to nir_opt_trivial_continues() with nir_opt_loop() 2024-01-03 20:48:04 +00:00
vulkan dzn: Add a debug option to enable experimental shader models 2024-01-20 00:07:15 +00:00
meson.build microsoft: Whitespace change to trigger CI 2023-12-15 00:39:10 +00:00