Mesa (master): gallium: build ddebug, noop, rbug, trace as part of auxiliary

Marek Olšák mareko at kemper.freedesktop.org
Wed Feb 7 21:08:56 UTC 2018


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

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Mon Sep  4 22:36:34 2017 +0200

gallium: build ddebug, noop, rbug, trace as part of auxiliary

Building gallium is faster by 7.5 seconds on a 4core/8thread 3GHz CPU.
(gallium build time is reduced by 15% when building only radeonsi)

Non-recursive makefiles are great!

---

 src/gallium/Makefile.am                            | 12 +++++-----
 src/gallium/auxiliary/Makefile.am                  | 10 ++++++++-
 .../auxiliary/target-helpers/inline_debug_helper.h | 26 ----------------------
 src/gallium/drivers/ddebug/Makefile.sources        | 14 ++++++------
 src/gallium/drivers/noop/Makefile.sources          |  8 +++----
 src/gallium/drivers/rbug/Makefile.sources          | 18 +++++++--------
 src/gallium/drivers/trace/Makefile.sources         | 26 +++++++++++-----------
 src/gallium/state_trackers/osmesa/Makefile.am      |  3 +--
 src/gallium/targets/d3dadapter9/Makefile.am        |  8 +------
 src/gallium/targets/dri/Makefile.am                | 10 +--------
 src/gallium/targets/libgl-xlib/Makefile.am         |  6 +----
 src/gallium/targets/osmesa/Makefile.am             |  4 +---
 src/gallium/targets/pipe-loader/Makefile.am        |  6 +----
 src/gallium/tests/unit/Makefile.am                 |  1 -
 14 files changed, 54 insertions(+), 98 deletions(-)

diff --git a/src/gallium/Makefile.am b/src/gallium/Makefile.am
index af010c89f8..81eabef106 100644
--- a/src/gallium/Makefile.am
+++ b/src/gallium/Makefile.am
@@ -11,12 +11,6 @@ SUBDIRS += auxiliary/pipe-loader
 ## Gallium pipe drivers and their respective winsys'
 ##
 
-SUBDIRS += \
-	drivers/ddebug \
-	drivers/noop \
-	drivers/trace \
-	drivers/rbug
-
 ## freedreno/msm/kgsl
 if HAVE_GALLIUM_FREEDRENO
 SUBDIRS += drivers/freedreno winsys/freedreno/drm
@@ -188,6 +182,12 @@ endif
 
 EXTRA_DIST += \
 	include \
+	drivers/noop/SConscript \
+	drivers/rbug/README \
+	drivers/rbug/SConscript \
+	drivers/trace/trace.xsl \
+	drivers/trace/README \
+	drivers/trace/SConscript \
 	state_trackers/README \
 	state_trackers/wgl targets/libgl-gdi \
 	targets/graw-gdi targets/graw-null  targets/graw-xlib \
diff --git a/src/gallium/auxiliary/Makefile.am b/src/gallium/auxiliary/Makefile.am
index 95a325f96b..7af3f3ce42 100644
--- a/src/gallium/auxiliary/Makefile.am
+++ b/src/gallium/auxiliary/Makefile.am
@@ -1,4 +1,8 @@
 include Makefile.sources
+include $(top_srcdir)/src/gallium/drivers/ddebug/Makefile.sources
+include $(top_srcdir)/src/gallium/drivers/noop/Makefile.sources
+include $(top_srcdir)/src/gallium/drivers/rbug/Makefile.sources
+include $(top_srcdir)/src/gallium/drivers/trace/Makefile.sources
 include $(top_srcdir)/src/gallium/Automake.inc
 
 noinst_LTLIBRARIES = libgallium.la
@@ -19,7 +23,11 @@ AM_CXXFLAGS = \
 libgallium_la_SOURCES = \
 	$(C_SOURCES) \
 	$(NIR_SOURCES) \
-	$(GENERATED_SOURCES)
+	$(GENERATED_SOURCES) \
+	$(DDEBUG_SOURCES) \
+	$(NOOP_SOURCES) \
+	$(RBUG_SOURCES) \
+	$(TRACE_SOURCES)
 
 if HAVE_LIBDRM
 
diff --git a/src/gallium/auxiliary/target-helpers/inline_debug_helper.h b/src/gallium/auxiliary/target-helpers/inline_debug_helper.h
index 2443bf2146..8556376940 100644
--- a/src/gallium/auxiliary/target-helpers/inline_debug_helper.h
+++ b/src/gallium/auxiliary/target-helpers/inline_debug_helper.h
@@ -11,44 +11,18 @@
  * one or more debug driver: rbug, trace.
  */
 
-#ifdef GALLIUM_DDEBUG
 #include "ddebug/dd_public.h"
-#endif
-
-#ifdef GALLIUM_TRACE
 #include "trace/tr_public.h"
-#endif
-
-#ifdef GALLIUM_RBUG
 #include "rbug/rbug_public.h"
-#endif
-
-#ifdef GALLIUM_NOOP
 #include "noop/noop_public.h"
-#endif
 
-/*
- * TODO: Audit the following *screen_create() - all of
- * them should return the original screen on failuire.
- */
 static inline struct pipe_screen *
 debug_screen_wrap(struct pipe_screen *screen)
 {
-#if defined(GALLIUM_DDEBUG)
    screen = ddebug_screen_create(screen);
-#endif
-
-#if defined(GALLIUM_RBUG)
    screen = rbug_screen_create(screen);
-#endif
-
-#if defined(GALLIUM_TRACE)
    screen = trace_screen_create(screen);
-#endif
-
-#if defined(GALLIUM_NOOP)
    screen = noop_screen_create(screen);
-#endif
 
    if (debug_get_bool_option("GALLIUM_TESTS", FALSE))
       util_run_tests(screen);
diff --git a/src/gallium/drivers/ddebug/Makefile.sources b/src/gallium/drivers/ddebug/Makefile.sources
index 1bd38274df..d43a75ba40 100644
--- a/src/gallium/drivers/ddebug/Makefile.sources
+++ b/src/gallium/drivers/ddebug/Makefile.sources
@@ -1,7 +1,7 @@
-C_SOURCES := \
-	dd_context.c \
-	dd_draw.c \
-	dd_pipe.h \
-	dd_public.h \
-	dd_screen.c \
-	dd_util.h
+DDEBUG_SOURCES := \
+	$(top_srcdir)/src/gallium/drivers/ddebug/dd_context.c \
+	$(top_srcdir)/src/gallium/drivers/ddebug/dd_draw.c \
+	$(top_srcdir)/src/gallium/drivers/ddebug/dd_pipe.h \
+	$(top_srcdir)/src/gallium/drivers/ddebug/dd_public.h \
+	$(top_srcdir)/src/gallium/drivers/ddebug/dd_screen.c \
+	$(top_srcdir)/src/gallium/drivers/ddebug/dd_util.h
diff --git a/src/gallium/drivers/noop/Makefile.sources b/src/gallium/drivers/noop/Makefile.sources
index 6d4228630b..fea96e31e5 100644
--- a/src/gallium/drivers/noop/Makefile.sources
+++ b/src/gallium/drivers/noop/Makefile.sources
@@ -1,4 +1,4 @@
-C_SOURCES := \
-	noop_pipe.c \
-	noop_public.h \
-	noop_state.c
+NOOP_SOURCES := \
+	$(top_srcdir)/src/gallium/drivers/noop/noop_pipe.c \
+	$(top_srcdir)/src/gallium/drivers/noop/noop_public.h \
+	$(top_srcdir)/src/gallium/drivers/noop/noop_state.c
diff --git a/src/gallium/drivers/rbug/Makefile.sources b/src/gallium/drivers/rbug/Makefile.sources
index f9f1d5c3a4..b21e51e309 100644
--- a/src/gallium/drivers/rbug/Makefile.sources
+++ b/src/gallium/drivers/rbug/Makefile.sources
@@ -1,9 +1,9 @@
-C_SOURCES := \
-	rbug_context.c \
-	rbug_context.h \
-	rbug_core.c \
-	rbug_objects.c \
-	rbug_objects.h \
-	rbug_public.h \
-	rbug_screen.c \
-	rbug_screen.h
+RBUG_SOURCES := \
+	$(top_srcdir)/src/gallium/drivers/rbug/rbug_context.c \
+	$(top_srcdir)/src/gallium/drivers/rbug/rbug_context.h \
+	$(top_srcdir)/src/gallium/drivers/rbug/rbug_core.c \
+	$(top_srcdir)/src/gallium/drivers/rbug/rbug_objects.c \
+	$(top_srcdir)/src/gallium/drivers/rbug/rbug_objects.h \
+	$(top_srcdir)/src/gallium/drivers/rbug/rbug_public.h \
+	$(top_srcdir)/src/gallium/drivers/rbug/rbug_screen.c \
+	$(top_srcdir)/src/gallium/drivers/rbug/rbug_screen.h
diff --git a/src/gallium/drivers/trace/Makefile.sources b/src/gallium/drivers/trace/Makefile.sources
index 4c019a3bc6..f3451d4c14 100644
--- a/src/gallium/drivers/trace/Makefile.sources
+++ b/src/gallium/drivers/trace/Makefile.sources
@@ -1,13 +1,13 @@
-C_SOURCES := \
-	tr_context.c \
-	tr_context.h \
-	tr_dump.c \
-	tr_dump_defines.h \
-	tr_dump.h \
-	tr_dump_state.c \
-	tr_dump_state.h \
-	tr_public.h \
-	tr_screen.c \
-	tr_screen.h \
-	tr_texture.c \
-	tr_texture.h
+TRACE_SOURCES := \
+	$(top_srcdir)/src/gallium/drivers/trace/tr_context.c \
+	$(top_srcdir)/src/gallium/drivers/trace/tr_context.h \
+	$(top_srcdir)/src/gallium/drivers/trace/tr_dump.c \
+	$(top_srcdir)/src/gallium/drivers/trace/tr_dump_defines.h \
+	$(top_srcdir)/src/gallium/drivers/trace/tr_dump.h \
+	$(top_srcdir)/src/gallium/drivers/trace/tr_dump_state.c \
+	$(top_srcdir)/src/gallium/drivers/trace/tr_dump_state.h \
+	$(top_srcdir)/src/gallium/drivers/trace/tr_public.h \
+	$(top_srcdir)/src/gallium/drivers/trace/tr_screen.c \
+	$(top_srcdir)/src/gallium/drivers/trace/tr_screen.h \
+	$(top_srcdir)/src/gallium/drivers/trace/tr_texture.c \
+	$(top_srcdir)/src/gallium/drivers/trace/tr_texture.h
diff --git a/src/gallium/state_trackers/osmesa/Makefile.am b/src/gallium/state_trackers/osmesa/Makefile.am
index e5f2a5e18a..05e3ca0d73 100644
--- a/src/gallium/state_trackers/osmesa/Makefile.am
+++ b/src/gallium/state_trackers/osmesa/Makefile.am
@@ -33,8 +33,7 @@ AM_CPPFLAGS = \
 	-I$(top_srcdir)/src/gallium/winsys \
 	-I$(top_srcdir)/src/gallium/state_trackers/glx/xlib \
 	-I$(top_srcdir)/src/gallium/auxiliary \
-	-DGALLIUM_SOFTPIPE \
-	-DGALLIUM_TRACE
+	-DGALLIUM_SOFTPIPE
 
 noinst_LTLIBRARIES = libosmesa.la
 
diff --git a/src/gallium/targets/d3dadapter9/Makefile.am b/src/gallium/targets/d3dadapter9/Makefile.am
index c2aae0c780..69cebbcd16 100644
--- a/src/gallium/targets/d3dadapter9/Makefile.am
+++ b/src/gallium/targets/d3dadapter9/Makefile.am
@@ -35,10 +35,7 @@ AM_CFLAGS = \
 	$(VISIBILITY_CFLAGS)
 
 AM_CPPFLAGS = \
-	$(DEFINES) \
-	-DGALLIUM_DDEBUG \
-	-DGALLIUM_RBUG \
-	-DGALLIUM_TRACE
+	$(DEFINES)
 
 ninedir = $(D3D_DRIVER_INSTALL_DIR)
 nine_LTLIBRARIES = d3dadapter9.la
@@ -70,9 +67,6 @@ d3dadapter9_la_LIBADD = \
 	$(top_builddir)/src/gallium/auxiliary/libgallium.la \
 	$(top_builddir)/src/gallium/state_trackers/nine/libninetracker.la \
 	$(top_builddir)/src/util/libmesautil.la \
-	$(top_builddir)/src/gallium/drivers/ddebug/libddebug.la \
-	$(top_builddir)/src/gallium/drivers/rbug/librbug.la \
-	$(top_builddir)/src/gallium/drivers/trace/libtrace.la \
 	$(EXPAT_LIBS) \
 	$(GALLIUM_COMMON_LIB_DEPS)
 
diff --git a/src/gallium/targets/dri/Makefile.am b/src/gallium/targets/dri/Makefile.am
index 1d05d91a61..9968828518 100644
--- a/src/gallium/targets/dri/Makefile.am
+++ b/src/gallium/targets/dri/Makefile.am
@@ -9,11 +9,7 @@ AM_CFLAGS = \
 	$(GALLIUM_TARGET_CFLAGS)
 
 AM_CPPFLAGS = \
-	$(DEFINES) \
-        -DGALLIUM_DDEBUG \
-	-DGALLIUM_NOOP \
-	-DGALLIUM_RBUG \
-	-DGALLIUM_TRACE
+	$(DEFINES)
 
 dridir = $(DRI_DRIVER_INSTALL_DIR)
 dri_LTLIBRARIES = gallium_dri.la
@@ -47,10 +43,6 @@ gallium_dri_la_LIBADD = \
 	$(top_builddir)/src/gallium/state_trackers/dri/libdri.la \
 	$(top_builddir)/src/gallium/auxiliary/libgalliumvl.la \
 	$(top_builddir)/src/gallium/auxiliary/libgallium.la \
-        $(top_builddir)/src/gallium/drivers/ddebug/libddebug.la \
-	$(top_builddir)/src/gallium/drivers/noop/libnoop.la \
-	$(top_builddir)/src/gallium/drivers/rbug/librbug.la \
-	$(top_builddir)/src/gallium/drivers/trace/libtrace.la \
 	$(top_builddir)/src/mapi/shared-glapi/libglapi.la \
 	$(SELINUX_LIBS) \
 	$(EXPAT_LIBS) \
diff --git a/src/gallium/targets/libgl-xlib/Makefile.am b/src/gallium/targets/libgl-xlib/Makefile.am
index 1c622946a9..56d548e7c1 100644
--- a/src/gallium/targets/libgl-xlib/Makefile.am
+++ b/src/gallium/targets/libgl-xlib/Makefile.am
@@ -35,9 +35,7 @@ AM_CPPFLAGS = \
 	-I$(top_srcdir)/src/gallium/state_trackers/glx/xlib \
 	-I$(top_srcdir)/src/gallium/auxiliary \
 	-I$(top_srcdir)/src/gallium/winsys \
-	-DGALLIUM_SOFTPIPE \
-	-DGALLIUM_RBUG \
-	-DGALLIUM_TRACE
+	-DGALLIUM_SOFTPIPE
 
 AM_CFLAGS = $(X11_INCLUDES)
 
@@ -61,8 +59,6 @@ lib at GL_LIB@_la_LIBADD = \
 	$(top_builddir)/src/gallium/state_trackers/glx/xlib/libxlib.la \
 	$(top_builddir)/src/gallium/winsys/sw/xlib/libws_xlib.la \
 	$(top_builddir)/src/gallium/drivers/softpipe/libsoftpipe.la \
-	$(top_builddir)/src/gallium/drivers/trace/libtrace.la \
-	$(top_builddir)/src/gallium/drivers/rbug/librbug.la \
 	$(top_builddir)/src/mapi/glapi/libglapi.la \
 	$(top_builddir)/src/mesa/libmesagallium.la \
 	$(top_builddir)/src/gallium/auxiliary/libgallium.la \
diff --git a/src/gallium/targets/osmesa/Makefile.am b/src/gallium/targets/osmesa/Makefile.am
index f8bee5ef67..dc4d49e107 100644
--- a/src/gallium/targets/osmesa/Makefile.am
+++ b/src/gallium/targets/osmesa/Makefile.am
@@ -33,8 +33,7 @@ AM_CPPFLAGS = \
 	-I$(top_srcdir)/src/gallium/drivers \
 	-I$(top_srcdir)/src/gallium/winsys \
 	-I$(top_srcdir)/src/gallium/auxiliary \
-	-DGALLIUM_SOFTPIPE \
-	-DGALLIUM_TRACE
+	-DGALLIUM_SOFTPIPE
 
 lib_LTLIBRARIES = lib at OSMESA_LIB@.la
 
@@ -60,7 +59,6 @@ lib at OSMESA_LIB@_la_LIBADD = \
 	$(top_builddir)/src/mesa/libmesagallium.la \
 	$(top_builddir)/src/gallium/auxiliary/libgallium.la \
 	$(top_builddir)/src/gallium/winsys/sw/null/libws_null.la \
-	$(top_builddir)/src/gallium/drivers/trace/libtrace.la \
 	$(top_builddir)/src/gallium/drivers/softpipe/libsoftpipe.la \
 	$(top_builddir)/src/gallium/state_trackers/osmesa/libosmesa.la \
 	$(top_builddir)/src/mapi/glapi/libglapi.la \
diff --git a/src/gallium/targets/pipe-loader/Makefile.am b/src/gallium/targets/pipe-loader/Makefile.am
index 4b84886f30..3c5010c669 100644
--- a/src/gallium/targets/pipe-loader/Makefile.am
+++ b/src/gallium/targets/pipe-loader/Makefile.am
@@ -31,9 +31,7 @@ AM_CPPFLAGS = \
 	-I$(top_builddir)/src/util \
 	$(GALLIUM_PIPE_LOADER_DEFINES) \
 	$(LIBDRM_CFLAGS) \
-	$(VISIBILITY_CFLAGS) \
-	-DGALLIUM_RBUG \
-	-DGALLIUM_TRACE
+	$(VISIBILITY_CFLAGS)
 
 pipedir = $(libdir)/gallium-pipe
 pipe_LTLIBRARIES =
@@ -57,8 +55,6 @@ PIPE_LIBS += \
 	$(top_builddir)/src/gallium/auxiliary/libgallium.la \
 	$(top_builddir)/src/compiler/nir/libnir.la \
 	$(top_builddir)/src/util/libmesautil.la \
-	$(top_builddir)/src/gallium/drivers/rbug/librbug.la \
-	$(top_builddir)/src/gallium/drivers/trace/libtrace.la \
 	$(GALLIUM_COMMON_LIB_DEPS)
 
 AM_LDFLAGS = \
diff --git a/src/gallium/tests/unit/Makefile.am b/src/gallium/tests/unit/Makefile.am
index c9bede75be..9f1d3b98cd 100644
--- a/src/gallium/tests/unit/Makefile.am
+++ b/src/gallium/tests/unit/Makefile.am
@@ -14,7 +14,6 @@ AM_CPPFLAGS = \
 LDADD = \
 	$(top_builddir)/src/gallium/auxiliary/libgallium.la \
 	$(top_builddir)/src/util/libmesautil.la \
-	$(top_builddir)/src/gallium/drivers/trace/libtrace.la \
 	$(top_builddir)/src/gallium/winsys/sw/null/libws_null.la \
 	$(top_builddir)/src/gallium/drivers/softpipe/libsoftpipe.la \
 	$(GALLIUM_COMMON_LIB_DEPS)




More information about the mesa-commit mailing list