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!
## 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
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 \
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
libgallium_la_SOURCES = \
$(C_SOURCES) \
$(NIR_SOURCES) \
- $(GENERATED_SOURCES)
+ $(GENERATED_SOURCES) \
+ $(DDEBUG_SOURCES) \
+ $(NOOP_SOURCES) \
+ $(RBUG_SOURCES) \
+ $(TRACE_SOURCES)
if HAVE_LIBDRM
* 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);
-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
-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
-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
-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
-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
$(VISIBILITY_CFLAGS)
AM_CPPFLAGS = \
- $(DEFINES) \
- -DGALLIUM_DDEBUG \
- -DGALLIUM_RBUG \
- -DGALLIUM_TRACE
+ $(DEFINES)
ninedir = $(D3D_DRIVER_INSTALL_DIR)
nine_LTLIBRARIES = d3dadapter9.la
$(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)
$(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
$(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) \
-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)
$(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 \
-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
$(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 \
-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 =
$(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 = \
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)