On Mon, 2018-07-23 at 19:52 -0400, Marek Olšák wrote: > From: Marek Olšák <marek.ol...@amd.com> > > --- > src/mesa/Makefile.sources | 2 + > src/mesa/main/formats.c | 42 + > src/mesa/main/formats.h | 3 + > src/mesa/main/texcompress_astc.cpp | 1871 ++++++++++++++++++++++++++++ > src/mesa/main/texcompress_astc.h | 47 + > src/util/half_float.c | 59 + > src/util/half_float.h | 5 + > 7 files changed, 2029 insertions(+) > create mode 100644 src/mesa/main/texcompress_astc.cpp > create mode 100644 src/mesa/main/texcompress_astc.h >
... > diff --git a/src/util/half_float.c b/src/util/half_float.c > index 4df64c2ccf9..588f050d924 100644 > --- a/src/util/half_float.c > +++ b/src/util/half_float.c > @@ -1,14 +1,16 @@ ... > + > +/** > + * Takes a uint16_t, divides by 65536, converts the infinite-precision > + * result to fp16 with round-to-zero. Used by the ASTC decoder. > + */ > +uint16_t _mesa_uint16_div_64k_to_half(uint16_t v) > +{ > + /* Zero or subnormal. Set the mantissa to (v << 8) and return. */ > + if (v < 4) > + return v << 8; > + > + /* Count the leading 0s in the uint16_t */ > + int n = __builtin_clz(v) - (sizeof(unsigned int) - sizeof(uint16_t)) * 8; Marek, this seems to have broken the AppVeyor Windows build: https://ci.appveyor.com/project/mesa3d/mesa/build/8475 It looks like you need some guards for __builtin_clz, as in: https://cgit.freedesktop.org/mesa/mesa/tree/src/util/bitscan.h#n210 -- Br, Andres _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev