i965: perf: add support for Kabylake
[mesa.git] / src / mesa / drivers / dri / i965 / Makefile.am
index 5bb62c49efde837a9499dcc5a056d659cb49e8e2..62c8fb162ef6e9f51e12848999f0bd98f0006b63 100644 (file)
 
 include Makefile.sources
 
-if HAVE_I965_DRI
-
-# Hack to make some of the non-automake variables work.
-TOP=$(top_builddir)
-
 AM_CFLAGS = \
        -I$(top_srcdir)/include \
        -I$(top_srcdir)/src/ \
        -I$(top_srcdir)/src/mapi \
        -I$(top_srcdir)/src/mesa/ \
+       -I$(top_srcdir)/src/gallium/include \
+       -I$(top_srcdir)/src/gallium/auxiliary \
+       -I$(top_builddir)/src/mesa/drivers/dri/common \
        -I$(top_srcdir)/src/mesa/drivers/dri/common \
-       -I$(top_srcdir)/src/mesa/drivers/dri/intel \
-       -I$(top_srcdir)/src/mesa/drivers/dri/intel/server \
+       -I$(top_srcdir)/src/gtest/include \
+       -I$(top_builddir)/src/compiler/glsl \
+       -I$(top_builddir)/src/compiler/nir \
+       -I$(top_srcdir)/src/compiler/nir \
+       -I$(top_builddir)/src/intel \
+       -I$(top_srcdir)/src/intel \
+       -I$(top_srcdir)/src/intel/drm \
        $(DEFINES) \
-       $(API_DEFINES) \
-       $(INTEL_CFLAGS)
+       $(VISIBILITY_CFLAGS) \
+       $(LIBDRM_CFLAGS) \
+       $(VALGRIND_CFLAGS)
 
 AM_CXXFLAGS = $(AM_CFLAGS)
 
-dridir = $(DRI_DRIVER_INSTALL_DIR)
+I965_PERGEN_LIBS = \
+       libi965_gen4.la \
+       libi965_gen45.la \
+       libi965_gen5.la \
+       libi965_gen6.la \
+       libi965_gen7.la \
+       libi965_gen75.la \
+       libi965_gen8.la \
+       libi965_gen9.la \
+       libi965_gen10.la
 
-noinst_LTLIBRARIES = libi965_dri.la
-dri_LTLIBRARIES = i965_dri.la
+libi965_gen4_la_SOURCES = $(i965_gen4_FILES)
+libi965_gen4_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=40
 
-libi965_dri_la_SOURCES = \
-       $(i965_C_FILES) \
-       $(i965_CXX_FILES)
+libi965_gen45_la_SOURCES = $(i965_gen45_FILES)
+libi965_gen45_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=45
+
+libi965_gen5_la_SOURCES = $(i965_gen5_FILES)
+libi965_gen5_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=50
+
+libi965_gen6_la_SOURCES = $(i965_gen6_FILES)
+libi965_gen6_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=60
+
+libi965_gen7_la_SOURCES = $(i965_gen7_FILES)
+libi965_gen7_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=70
 
-# list of libs to be linked against by i965_dri.so and i965 test programs.
-COMMON_LIBS = \
+libi965_gen75_la_SOURCES = $(i965_gen75_FILES)
+libi965_gen75_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=75
+
+libi965_gen8_la_SOURCES = $(i965_gen8_FILES)
+libi965_gen8_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=80
+
+libi965_gen9_la_SOURCES = $(i965_gen9_FILES)
+libi965_gen9_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=90
+
+libi965_gen10_la_SOURCES = $(i965_gen10_FILES)
+libi965_gen10_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=100
+
+noinst_LTLIBRARIES = \
        libi965_dri.la \
-       $(DRI_LIB_DEPS) \
-       $(INTEL_LIBS) \
-       ../common/libdricommon.la
-
-TEST_LIBS = \
-       $(COMMON_LIBS) \
-        -lrt \
-       ../common/libdri_test_stubs.la
-
-i965_dri_la_SOURCES =
-i965_dri_la_LIBADD = $(COMMON_LIBS)
-i965_dri_la_LDFLAGS = -module -avoid-version -shared
-
-TESTS = test_eu_compact
-check_PROGRAMS = test_eu_compact
-
-test_eu_compact_SOURCES = \
-       test_eu_compact.c
-nodist_EXTRA_test_eu_compact_SOURCES = dummy.cpp
-test_eu_compact_LDADD = $(TEST_LIBS)
-
-# Provide compatibility with scripts for the old Mesa build system for
-# a while by putting a link to the driver into /lib of the build tree.
-all-local: i965_dri.la
-       $(MKDIR_P) $(top_builddir)/$(LIB_DIR);
-       ln -f .libs/i965_dri.so $(top_builddir)/$(LIB_DIR)/i965_dri.so;
-
-endif
+       $(I965_PERGEN_LIBS)
+
+libi965_dri_la_SOURCES = \
+       $(i965_FILES) \
+       $(i965_oa_GENERATED_FILES)
+libi965_dri_la_LIBADD = \
+       $(top_builddir)/src/intel/common/libintel_common.la \
+       $(top_builddir)/src/intel/isl/libisl.la \
+       $(top_builddir)/src/intel/compiler/libintel_compiler.la \
+       $(top_builddir)/src/intel/blorp/libblorp.la \
+       $(I965_PERGEN_LIBS) \
+       $(LIBDRM_LIBS)
+
+BUILT_SOURCES = $(i965_oa_GENERATED_FILES)
+CLEANFILES = $(BUILT_SOURCES)
+
+EXTRA_DIST = \
+       brw_oa_hsw.xml \
+       brw_oa_bdw.xml \
+       brw_oa_chv.xml \
+       brw_oa_sklgt2.xml \
+       brw_oa_sklgt3.xml \
+       brw_oa_sklgt4.xml \
+       brw_oa_bxt.xml \
+       brw_oa_kblgt2.xml \
+       brw_oa_kblgt3.xml \
+       brw_oa.py
+
+# Note: we avoid using a multi target rule here and outputting both the
+# .c and .h files in one go so we don't hit problems with parallel
+# make and multiple invocations of the same script trying to write
+# to the same files.
+brw_oa_%.h: brw_oa.py brw_oa_%.xml Makefile.am
+       $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/brw_oa.py --header=$(builddir)/brw_oa_$(*).h --chipset=$(*) $(srcdir)/brw_oa_$(*).xml
+brw_oa_%.c: brw_oa.py brw_oa_%.xml Makefile.am
+       $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/brw_oa.py --code=$(builddir)/brw_oa_$(*).c --chipset=$(*) $(srcdir)/brw_oa_$(*).xml