[Mesa-dev] [PATCH v4 01/49] move u_math to src/util

Dylan Baker dylan at pnwbakers.com
Wed Aug 22 17:04:24 UTC 2018


Currently we have two sets of functions for bit counts, one in gallium
and one in core mesa. The ones in core mesa are header only in many
cases, since they reduce to "#define _mesa_bitcount popcount", but they
provide a fallback implementation. This is important because 32bit msvc
doesn't have popcountll, just popcount; so when nir (for example)
includes the core mesa header it doesn't (and shouldn't) link with core
mesa. To fix this we'll promote the version out of gallium util, then
replace the core mesa uses with the util version, since nir (and other
non-core mesa users) can and do link with mesautils.

v4: - Add this patch
---
 src/broadcom/cle/v3d_packet_helpers.h       | 2 +-
 src/gallium/auxiliary/Makefile.sources      | 2 --
 src/gallium/auxiliary/meson.build           | 2 --
 src/gallium/auxiliary/util/u_format.c       | 2 +-
 src/gallium/auxiliary/util/u_format_bptc.c  | 2 +-
 src/gallium/auxiliary/util/u_format_latc.c  | 2 +-
 src/gallium/auxiliary/util/u_format_other.c | 2 +-
 src/gallium/auxiliary/util/u_format_pack.py | 2 +-
 src/gallium/auxiliary/util/u_format_rgtc.c  | 2 +-
 src/gallium/auxiliary/util/u_format_s3tc.c  | 2 +-
 src/gallium/auxiliary/util/u_format_yuv.h   | 2 +-
 src/gallium/auxiliary/util/u_format_zs.c    | 2 +-
 src/util/Makefile.sources                   | 2 ++
 src/util/meson.build                        | 2 ++
 src/{gallium/auxiliary => }/util/u_math.c   | 0
 src/{gallium/auxiliary => }/util/u_math.h   | 2 +-
 16 files changed, 15 insertions(+), 15 deletions(-)
 rename src/{gallium/auxiliary => }/util/u_math.c (100%)
 rename src/{gallium/auxiliary => }/util/u_math.h (99%)

diff --git a/src/broadcom/cle/v3d_packet_helpers.h b/src/broadcom/cle/v3d_packet_helpers.h
index f340b790697..c46089a0e60 100644
--- a/src/broadcom/cle/v3d_packet_helpers.h
+++ b/src/broadcom/cle/v3d_packet_helpers.h
@@ -26,7 +26,7 @@
 #include <stdbool.h>
 #include <assert.h>
 #include <math.h>
-#include <gallium/auxiliary/util/u_math.h>
+#include "util/u_math.h"
 
 #ifdef HAVE_VALGRIND
 #include <valgrind.h>
diff --git a/src/gallium/auxiliary/Makefile.sources b/src/gallium/auxiliary/Makefile.sources
index 626cde123af..4251ddc0edf 100644
--- a/src/gallium/auxiliary/Makefile.sources
+++ b/src/gallium/auxiliary/Makefile.sources
@@ -294,8 +294,6 @@ C_SOURCES := \
 	util/u_linear.h \
 	util/u_log.c \
 	util/u_log.h \
-	util/u_math.c \
-	util/u_math.h \
 	util/u_memory.h \
 	util/u_mm.c \
 	util/u_mm.h \
diff --git a/src/gallium/auxiliary/meson.build b/src/gallium/auxiliary/meson.build
index 858c9d0c79c..38bc681e5bc 100644
--- a/src/gallium/auxiliary/meson.build
+++ b/src/gallium/auxiliary/meson.build
@@ -314,8 +314,6 @@ files_libgallium = files(
   'util/u_linear.h',
   'util/u_log.c',
   'util/u_log.h',
-  'util/u_math.c',
-  'util/u_math.h',
   'util/u_memory.h',
   'util/u_mm.c',
   'util/u_mm.h',
diff --git a/src/gallium/auxiliary/util/u_format.c b/src/gallium/auxiliary/util/u_format.c
index 1dd724d9b84..6445f2647cf 100644
--- a/src/gallium/auxiliary/util/u_format.c
+++ b/src/gallium/auxiliary/util/u_format.c
@@ -32,11 +32,11 @@
  * @author Jose Fonseca <jfonseca at vmware.com>
  */
 
-#include "u_math.h"
 #include "u_memory.h"
 #include "u_format.h"
 #include "u_format_s3tc.h"
 #include "u_surface.h"
+#include "util/u_math.h"
 
 #include "pipe/p_defines.h"
 
diff --git a/src/gallium/auxiliary/util/u_format_bptc.c b/src/gallium/auxiliary/util/u_format_bptc.c
index 87ec4139e09..519a541e380 100644
--- a/src/gallium/auxiliary/util/u_format_bptc.c
+++ b/src/gallium/auxiliary/util/u_format_bptc.c
@@ -23,10 +23,10 @@
  *
  **************************************************************************/
 
-#include "u_math.h"
 #include "u_format.h"
 #include "u_format_bptc.h"
 #include "util/format_srgb.h"
+#include "util/u_math.h"
 
 #define BPTC_BLOCK_DECODE
 #include "../../../mesa/main/texcompress_bptc_tmp.h"
diff --git a/src/gallium/auxiliary/util/u_format_latc.c b/src/gallium/auxiliary/util/u_format_latc.c
index 7b2bb00693f..f145081d56d 100644
--- a/src/gallium/auxiliary/util/u_format_latc.c
+++ b/src/gallium/auxiliary/util/u_format_latc.c
@@ -23,11 +23,11 @@
  **************************************************************************/
 
 #include <stdio.h>
-#include "u_math.h"
 #include "u_format.h"
 #include "u_format_rgtc.h"
 #include "u_format_latc.h"
 #include "util/rgtc.h"
+#include "util/u_math.h"
 
 void
 util_format_latc1_unorm_fetch_rgba_8unorm(uint8_t *dst, const uint8_t *src, unsigned i, unsigned j)
diff --git a/src/gallium/auxiliary/util/u_format_other.c b/src/gallium/auxiliary/util/u_format_other.c
index 025e096a95c..213cb9fd941 100644
--- a/src/gallium/auxiliary/util/u_format_other.c
+++ b/src/gallium/auxiliary/util/u_format_other.c
@@ -26,8 +26,8 @@
  **************************************************************************/
 
 
-#include "u_math.h"
 #include "u_format_other.h"
+#include "util/u_math.h"
 #include "util/format_rgb9e5.h"
 #include "util/format_r11g11b10f.h"
 
diff --git a/src/gallium/auxiliary/util/u_format_pack.py b/src/gallium/auxiliary/util/u_format_pack.py
index c1307d30c2f..62e531716ca 100644
--- a/src/gallium/auxiliary/util/u_format_pack.py
+++ b/src/gallium/auxiliary/util/u_format_pack.py
@@ -702,7 +702,7 @@ def is_format_hand_written(format):
 def generate(formats):
     print()
     print('#include "pipe/p_compiler.h"')
-    print('#include "u_math.h"')
+    print('#include "util/u_math.h"')
     print('#include "u_half.h"')
     print('#include "u_format.h"')
     print('#include "u_format_other.h"')
diff --git a/src/gallium/auxiliary/util/u_format_rgtc.c b/src/gallium/auxiliary/util/u_format_rgtc.c
index da64b63f777..0b98c01a922 100644
--- a/src/gallium/auxiliary/util/u_format_rgtc.c
+++ b/src/gallium/auxiliary/util/u_format_rgtc.c
@@ -23,9 +23,9 @@
  **************************************************************************/
 
 #include <stdio.h>
-#include "u_math.h"
 #include "u_format.h"
 #include "u_format_rgtc.h"
+#include "util/u_math.h"
 #include "util/rgtc.h"
 
 void
diff --git a/src/gallium/auxiliary/util/u_format_s3tc.c b/src/gallium/auxiliary/util/u_format_s3tc.c
index 3f755e53636..69ca62a961c 100644
--- a/src/gallium/auxiliary/util/u_format_s3tc.c
+++ b/src/gallium/auxiliary/util/u_format_s3tc.c
@@ -24,10 +24,10 @@
  **************************************************************************/
 
 #include "u_dl.h"
-#include "u_math.h"
 #include "u_format.h"
 #include "u_format_s3tc.h"
 #include "util/format_srgb.h"
+#include "util/u_math.h"
 #include "../../../mesa/main/texcompress_s3tc_tmp.h"
 
 
diff --git a/src/gallium/auxiliary/util/u_format_yuv.h b/src/gallium/auxiliary/util/u_format_yuv.h
index d8e67b45940..171cbc928d7 100644
--- a/src/gallium/auxiliary/util/u_format_yuv.h
+++ b/src/gallium/auxiliary/util/u_format_yuv.h
@@ -46,7 +46,7 @@
 
 
 #include "pipe/p_compiler.h"
-#include "u_math.h"
+#include "util/u_math.h"
 
 
 /*
diff --git a/src/gallium/auxiliary/util/u_format_zs.c b/src/gallium/auxiliary/util/u_format_zs.c
index 69f2f2971f7..4ad3a0c6477 100644
--- a/src/gallium/auxiliary/util/u_format_zs.c
+++ b/src/gallium/auxiliary/util/u_format_zs.c
@@ -27,8 +27,8 @@
 
 
 #include "u_debug.h"
-#include "u_math.h"
 #include "u_format_zs.h"
+#include "util/u_math.h"
 
 
 /*
diff --git a/src/util/Makefile.sources b/src/util/Makefile.sources
index 531fd833c7f..b562d6cd6f4 100644
--- a/src/util/Makefile.sources
+++ b/src/util/Makefile.sources
@@ -55,6 +55,8 @@ MESA_UTIL_FILES := \
 	u_atomic.h \
 	u_dynarray.h \
 	u_endian.h \
+	u_math.c \
+	u_math.h \
 	u_queue.c \
 	u_queue.h \
 	u_string.h \
diff --git a/src/util/meson.build b/src/util/meson.build
index a4ff0b92ed6..e7ad2861238 100644
--- a/src/util/meson.build
+++ b/src/util/meson.build
@@ -85,6 +85,8 @@ files_mesa_util = files(
   'u_thread.h',
   'u_vector.c',
   'u_vector.h',
+  'u_math.c',
+  'u_math.h',
   'vma.c',
   'vma.h',
 )
diff --git a/src/gallium/auxiliary/util/u_math.c b/src/util/u_math.c
similarity index 100%
rename from src/gallium/auxiliary/util/u_math.c
rename to src/util/u_math.c
diff --git a/src/gallium/auxiliary/util/u_math.h b/src/util/u_math.h
similarity index 99%
rename from src/gallium/auxiliary/util/u_math.h
rename to src/util/u_math.h
index 712305c98a4..e7dbbe5ca22 100644
--- a/src/gallium/auxiliary/util/u_math.h
+++ b/src/util/u_math.h
@@ -46,7 +46,7 @@
 #include <float.h>
 #include <stdarg.h>
 
-#include "util/bitscan.h"
+#include "bitscan.h"
 
 #ifdef __cplusplus
 extern "C" {
-- 
2.18.0



More information about the mesa-dev mailing list