mirror of https://gitlab.freedesktop.org/mesa/mesa
Starting with !19748 lowered 64 bit shifts were showing wrong results for shifts with insignificant bits set. nir shifts are defined to only look at the least significant bits. The lowering has take this into account. So there are two things going on: 1. the `ieq` and `uge` further down depend on `y` being masked. 2. the calculation of `reverse_count` actually depends on a masked `y` as well, due to the `(iabs (iadd y -32))` giving a different result for shifts > 31; Fixes: |
||
---|---|---|
.. | ||
clc | ||
glsl | ||
isaspec | ||
nir | ||
spirv | ||
builtin_type_macros.h | ||
glsl_types.cpp | ||
glsl_types.h | ||
meson.build | ||
nir_gl_types.h | ||
nir_types.cpp | ||
nir_types.h | ||
shader_enums.c | ||
shader_enums.h | ||
shader_info.h |