mesa, util: move RGB9E5 conversion functions to gallium/util
authorMarek Olšák <maraeo@gmail.com>
Wed, 27 Apr 2011 10:52:10 +0000 (12:52 +0200)
committerMarek Olšák <maraeo@gmail.com>
Fri, 29 Apr 2011 09:31:55 +0000 (11:31 +0200)
Also use MAX3 and incorporate Ian's suggestion in texformat.c.

I don't think wrapping u_format_rgb9e5.h in another header and thus making it
more complicated is worth it.

src/gallium/auxiliary/util/u_format_other.c
src/gallium/auxiliary/util/u_format_rgb9e5.h [moved from src/mesa/main/rgb9e5.h with 96% similarity]
src/mesa/main/mipmap.c
src/mesa/main/pack.c
src/mesa/main/texfetch.c
src/mesa/main/texformat.c
src/mesa/main/texstore.c

index a44cc01..1beb618 100644 (file)
@@ -28,7 +28,7 @@
 
 #include "u_math.h"
 #include "u_format_other.h"
-#include "../../../mesa/main/rgb9e5.h"
+#include "u_format_rgb9e5.h"
 
 
 void
similarity index 96%
rename from src/mesa/main/rgb9e5.h
rename to src/gallium/auxiliary/util/u_format_rgb9e5.h
index 9bb431f..c2a3f6f 100644 (file)
@@ -87,15 +87,6 @@ static INLINE float rgb9e5_ClampRange(float x)
    }
 }
 
-static INLINE float rgb9e5_MaxOf3(float x, float y, float z)
-{
-   if (x > y) {
-      return MAX2(x, z);
-   } else {
-      return MAX2(y, z);
-   }
-}
-
 /* Ok, FloorLog2 is not correct for the denorm and zero values, but we
    are going to do a max of this value with the minimum rgb9e5 exponent
    that will hide these problem cases. */
@@ -120,7 +111,7 @@ static INLINE unsigned float3_to_rgb9e5(const float rgb[3])
    gc = rgb9e5_ClampRange(rgb[1]);
    bc = rgb9e5_ClampRange(rgb[2]);
 
-   maxrgb = rgb9e5_MaxOf3(rc, gc, bc);
+   maxrgb = MAX3(rc, gc, bc);
    exp_shared = MAX2(-RGB9E5_EXP_BIAS-1, rgb9e5_FloorLog2(maxrgb)) + 1 + RGB9E5_EXP_BIAS;
    assert(exp_shared <= RGB9E5_MAX_VALID_BIASED_EXP);
    assert(exp_shared >= 0);
index 88cb5b5..a6e3652 100644 (file)
@@ -35,7 +35,7 @@
 #include "texstore.h"
 #include "image.h"
 #include "macros.h"
-#include "rgb9e5.h"
+#include "../../gallium/auxiliary/util/u_format_rgb9e5.h"
 
 
 
index 37608f2..9c3d085 100644 (file)
@@ -38,7 +38,7 @@
 #include "pack.h"
 #include "pixeltransfer.h"
 #include "imports.h"
-#include "rgb9e5.h"
+#include "../../gallium/auxiliary/util/u_format_rgb9e5.h"
 
 
 /**
index 4acc938..d6d7b6b 100644 (file)
@@ -41,7 +41,7 @@
 #include "texcompress_rgtc.h"
 #include "texfetch.h"
 #include "teximage.h"
-#include "rgb9e5.h"
+#include "../../gallium/auxiliary/util/u_format_rgb9e5.h"
 
 
 /**
index 3520f24..15fa61f 100644 (file)
@@ -385,8 +385,8 @@ _mesa_choose_tex_format( struct gl_context *ctx, GLint internalFormat,
    if (ctx->Extensions.EXT_texture_shared_exponent) {
       switch (internalFormat) {
          case GL_RGB9_E5:
-            RETURN_IF_SUPPORTED(MESA_FORMAT_RGB9_E5_FLOAT);
-            break;
+            ASSERT(ctx->TextureFormatSupported[MESA_FORMAT_RGB9_E5_FLOAT]);
+            return MESA_FORMAT_RGB9_E5_FLOAT;
          default:
             ; /* fallthrough */
       }
index 5cdde45..39f59e3 100644 (file)
@@ -70,7 +70,7 @@
 #include "teximage.h"
 #include "texstore.h"
 #include "enums.h"
-#include "rgb9e5.h"
+#include "../../gallium/auxiliary/util/u_format_rgb9e5.h"
 
 
 enum {