Mesa (master): mesa, util: move RGB9E5 conversion functions to gallium/util

Marek Olšák mareko at kemper.freedesktop.org
Fri Apr 29 02:36:29 PDT 2011


Module: Mesa
Branch: master
Commit: 1271424615b62544662a606bb23f6d7117a8b0e7
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1271424615b62544662a606bb23f6d7117a8b0e7

Author: Marek Olšák <maraeo at gmail.com>
Date:   Wed Apr 27 12:52:10 2011 +0200

mesa, util: move RGB9E5 conversion functions to gallium/util

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        |    2 +-
 .../auxiliary/util/u_format_rgb9e5.h}              |   11 +----------
 src/mesa/main/mipmap.c                             |    2 +-
 src/mesa/main/pack.c                               |    2 +-
 src/mesa/main/texfetch.c                           |    2 +-
 src/mesa/main/texformat.c                          |    4 ++--
 src/mesa/main/texstore.c                           |    2 +-
 7 files changed, 8 insertions(+), 17 deletions(-)

diff --git a/src/gallium/auxiliary/util/u_format_other.c b/src/gallium/auxiliary/util/u_format_other.c
index a44cc01..1beb618 100644
--- a/src/gallium/auxiliary/util/u_format_other.c
+++ b/src/gallium/auxiliary/util/u_format_other.c
@@ -28,7 +28,7 @@
 
 #include "u_math.h"
 #include "u_format_other.h"
-#include "../../../mesa/main/rgb9e5.h"
+#include "u_format_rgb9e5.h"
 
 
 void
diff --git a/src/mesa/main/rgb9e5.h b/src/gallium/auxiliary/util/u_format_rgb9e5.h
similarity index 96%
rename from src/mesa/main/rgb9e5.h
rename to src/gallium/auxiliary/util/u_format_rgb9e5.h
index 9bb431f..c2a3f6f 100644
--- a/src/mesa/main/rgb9e5.h
+++ b/src/gallium/auxiliary/util/u_format_rgb9e5.h
@@ -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);
diff --git a/src/mesa/main/mipmap.c b/src/mesa/main/mipmap.c
index 88cb5b5..a6e3652 100644
--- a/src/mesa/main/mipmap.c
+++ b/src/mesa/main/mipmap.c
@@ -35,7 +35,7 @@
 #include "texstore.h"
 #include "image.h"
 #include "macros.h"
-#include "rgb9e5.h"
+#include "../../gallium/auxiliary/util/u_format_rgb9e5.h"
 
 
 
diff --git a/src/mesa/main/pack.c b/src/mesa/main/pack.c
index 37608f2..9c3d085 100644
--- a/src/mesa/main/pack.c
+++ b/src/mesa/main/pack.c
@@ -38,7 +38,7 @@
 #include "pack.h"
 #include "pixeltransfer.h"
 #include "imports.h"
-#include "rgb9e5.h"
+#include "../../gallium/auxiliary/util/u_format_rgb9e5.h"
 
 
 /**
diff --git a/src/mesa/main/texfetch.c b/src/mesa/main/texfetch.c
index 4acc938..d6d7b6b 100644
--- a/src/mesa/main/texfetch.c
+++ b/src/mesa/main/texfetch.c
@@ -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"
 
 
 /**
diff --git a/src/mesa/main/texformat.c b/src/mesa/main/texformat.c
index 3520f24..15fa61f 100644
--- a/src/mesa/main/texformat.c
+++ b/src/mesa/main/texformat.c
@@ -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 */
       }
diff --git a/src/mesa/main/texstore.c b/src/mesa/main/texstore.c
index 5cdde45..39f59e3 100644
--- a/src/mesa/main/texstore.c
+++ b/src/mesa/main/texstore.c
@@ -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 {



More information about the mesa-commit mailing list