util: unbreak endian detection on OpenBSD
[mesa.git] / src / util / format_r11g11b10f.h
index c9e967cf31a906a88c10327459b79b6e669003a0..ec5abf96119353c355bbe48167897e5ccb4ba7e6 100644 (file)
@@ -27,6 +27,9 @@
  * below.
  */
 
+#ifndef FORMAT_R11G11B10F_H
+#define FORMAT_R11G11B10F_H
+
 #include <stdint.h>
 
 #define UF11(e, m)           ((e << 6) | (m))
@@ -191,7 +194,7 @@ static inline float uf10_to_f32(uint16_t val)
 
    if (exponent == 0) {
       if (mantissa != 0) {
-         const float scale = 1.0 / (1 << 20);
+         const float scale = 1.0 / (1 << 19);
          f32.f = scale * mantissa;
       }
    } else if (exponent == 31) {
@@ -225,3 +228,5 @@ static inline void r11g11b10f_to_float3(uint32_t rgb, float retval[3])
    retval[1] = uf11_to_f32((rgb >> 11) & 0x7ff);
    retval[2] = uf10_to_f32((rgb >> 22) & 0x3ff);
 }
+
+#endif /* FORMAT_R11G11B10F_H */