i965: perf: add support for Kabylake
[mesa.git] / src / mesa / drivers / dri / i965 / Makefile.am
index 5809dc65dd6a06ddb5fcd40cef85585c95453cb7..62c8fb162ef6e9f51e12848999f0bd98f0006b63 100644 (file)
@@ -28,51 +28,97 @@ AM_CFLAGS = \
        -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/server \
        -I$(top_srcdir)/src/gtest/include \
-       -I$(top_builddir)/src/mesa/drivers/dri/common \
+       -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) \
        $(VISIBILITY_CFLAGS) \
-       $(INTEL_CFLAGS)
+       $(LIBDRM_CFLAGS) \
+       $(VALGRIND_CFLAGS)
 
 AM_CXXFLAGS = $(AM_CFLAGS)
 
-gen8_instruction_CFLAGS = $(AM_CFLAGS) -fkeep-inline-functions
+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
+
+libi965_gen4_la_SOURCES = $(i965_gen4_FILES)
+libi965_gen4_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=40
+
+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
 
-noinst_LTLIBRARIES = libi965_dri.la
-libi965_dri_la_SOURCES = $(i965_FILES)
-libi965_dri_la_LIBADD = $(INTEL_LIBS)
+libi965_gen75_la_SOURCES = $(i965_gen75_FILES)
+libi965_gen75_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=75
 
-TEST_LIBS = \
+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 \
-       ../common/libdricommon.la \
-       ../common/libmegadriver_stub.la \
-        ../../../libmesa.la \
-       $(DRI_LIB_DEPS) \
-        $(CLOCK_LIB) \
-       ../common/libdri_test_stubs.la
-
-TESTS = \
-        test_eu_compact \
-        test_vec4_copy_propagation \
-        test_vec4_register_coalesce
-
-check_PROGRAMS = $(TESTS)
-
-test_vec4_register_coalesce_SOURCES = \
-       test_vec4_register_coalesce.cpp
-test_vec4_register_coalesce_LDADD = \
-        $(TEST_LIBS) \
-        $(top_builddir)/src/gtest/libgtest.la
-
-test_vec4_copy_propagation_SOURCES = \
-       test_vec4_copy_propagation.cpp
-test_vec4_copy_propagation_LDADD = \
-        $(TEST_LIBS) \
-        $(top_builddir)/src/gtest/libgtest.la
-
-test_eu_compact_SOURCES = \
-       test_eu_compact.c
-nodist_EXTRA_test_eu_compact_SOURCES = dummy.cpp
-test_eu_compact_LDADD = $(TEST_LIBS)
+       $(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