From 6f82b8d8d0a986aac28e7bec47fc313fb950475c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Mon, 4 Sep 2017 22:36:34 +0200 Subject: [PATCH] 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 ++++++- .../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 af010c89f8d..81eabef1061 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 95a325f96b3..7af3f3ce42a 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 2443bf21468..85563769408 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 1bd38274df8..d43a75ba402 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 6d4228630bc..fea96e31e56 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 f9f1d5c3a49..b21e51e3099 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 4c019a3bc60..f3451d4c140 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 e5f2a5e18a1..05e3ca0d739 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 c2aae0c7808..69cebbcd16f 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 1d05d91a610..99688285184 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 1c622946a90..56d548e7c15 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@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 f8bee5ef673..dc4d49e1072 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@OSMESA_LIB@.la @@ -60,7 +59,6 @@ lib@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 4b84886f300..3c5010c669b 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 c9bede75bed..9f1d3b98cde 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) -- 2.30.2