Fix glm::findMSB for GCC >= 4.0

Before this fix, the GCC specific MSB function returned the number
of leading zero bits in the parameter value. With this change,
the number of trailing zero bits is returned instead.

I am not entirely sure if this fix is correct, because I could not
find a clear reference about what findMSB in GLSL is really
supposed to return with some concrete input value.
At least the result is now consistent with the GLM_ARCH_PURE
implementation of glm::findMSB.
master
Joonas Sarajärvi ago%!(EXTRA string=13 years)
parent da530ac46e
commit daa51e42bb
  1. 6
      glm/core/func_integer.inl

@ -543,7 +543,11 @@ namespace glm
genIUType const & Value
)
{
return __builtin_clz(Value);
/**
* ctz returns the number or trailing 0-bits; see
* http://gcc.gnu.org/onlinedocs/gcc-4.7.1/gcc/Other-Builtins.html
*/
return __builtin_ctz(Value);
}
#else

Loading…
Cancel
Save