Module: Mesa
Branch: main
Commit: 00f9e412510c7f821670675270ae322f6304fa0a
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=00f9e412510c7f821670675270ae322f6304fa0a

Author: Yonggang Luo <[email protected]>
Date:   Fri Aug  4 13:24:08 2023 +0800

util: Deduplicate macros between u_math.h and macros.h

Signed-off-by: Yonggang Luo <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24484>

---

 src/util/macros.h | 16 ++++++++++++++--
 src/util/u_math.h | 20 --------------------
 2 files changed, 14 insertions(+), 22 deletions(-)

diff --git a/src/util/macros.h b/src/util/macros.h
index bffabfb52a8..42f3acaf84c 100644
--- a/src/util/macros.h
+++ b/src/util/macros.h
@@ -350,7 +350,11 @@ do {                       \
 /** Compute ceiling of integer quotient of A divided by B. */
 #define DIV_ROUND_UP( A, B )  ( ((A) + (B) - 1) / (B) )
 
-/** Clamp X to [MIN,MAX].  Turn NaN into MIN, arbitrarily. */
+/**
+ * Clamp X to [MIN, MAX].
+ * This is a macro to allow float, int, unsigned, etc. types.
+ * We arbitrarily turn NaN into MIN.
+ */
 #define CLAMP( X, MIN, MAX )  ( (X)>(MIN) ? ((X)>(MAX) ? (MAX) : (X)) : (MIN) )
 
 /* Syntax sugar occuring frequently in graphics code */
@@ -362,10 +366,18 @@ do {                       \
 /** Maximum of two values: */
 #define MAX2( A, B )   ( (A)>(B) ? (A) : (B) )
 
-/** Minimum and maximum of three values: */
+/** Minimum of three values: */
 #define MIN3( A, B, C ) ((A) < (B) ? MIN2(A, C) : MIN2(B, C))
+
+/** Maximum of three values: */
 #define MAX3( A, B, C ) ((A) > (B) ? MAX2(A, C) : MAX2(B, C))
 
+/** Minimum of four values: */
+#define MIN4( A, B, C, D ) ((A) < (B) ? MIN3(A, C, D) : MIN3(B, C, D))
+
+/** Maximum of four values: */
+#define MAX4( A, B, C, D ) ((A) > (B) ? MAX3(A, C, D) : MAX3(B, C, D))
+
 /** Align a value to a power of two */
 #define ALIGN_POT(x, pot_align) (((x) + (pot_align) - 1) & ~((pot_align) - 1))
 
diff --git a/src/util/u_math.h b/src/util/u_math.h
index 5be5cdaecfd..6bae2a8a9f1 100644
--- a/src/util/u_math.h
+++ b/src/util/u_math.h
@@ -618,26 +618,6 @@ util_memcpy_cpu_to_le32(void * restrict dest, const void * 
restrict src, size_t
 #endif
 }
 
-/**
- * Clamp X to [MIN, MAX].
- * This is a macro to allow float, int, uint, etc. types.
- * We arbitrarily turn NaN into MIN.
- */
-#define CLAMP( X, MIN, MAX )  ( (X)>(MIN) ? ((X)>(MAX) ? (MAX) : (X)) : (MIN) )
-
-/* Syntax sugar occuring frequently in graphics code */
-#define SATURATE( X ) CLAMP(X, 0.0f, 1.0f)
-
-#define MIN2( A, B )   ( (A)<(B) ? (A) : (B) )
-#define MAX2( A, B )   ( (A)>(B) ? (A) : (B) )
-
-#define MIN3( A, B, C ) ((A) < (B) ? MIN2(A, C) : MIN2(B, C))
-#define MAX3( A, B, C ) ((A) > (B) ? MAX2(A, C) : MAX2(B, C))
-
-#define MIN4( A, B, C, D ) ((A) < (B) ? MIN3(A, C, D) : MIN3(B, C, D))
-#define MAX4( A, B, C, D ) ((A) > (B) ? MAX3(A, C, D) : MAX3(B, C, D))
-
-
 /**
  * Align a value up to an alignment value
  *

Reply via email to