-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/glsl/nir \
- -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)
-noinst_LTLIBRARIES = libi965_dri.la libi965_compiler.la
-libi965_dri_la_SOURCES = $(i965_FILES)
-libi965_dri_la_LIBADD = $(INTEL_LIBS)
+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
+
+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
-TEST_LIBS = \
+noinst_LTLIBRARIES = \
libi965_dri.la \
- ../common/libdricommon.la \
- ../common/libxmlconfig.la \
- ../common/libmegadriver_stub.la \
- ../../../libmesa.la \
- $(DRI_LIB_DEPS) \
- $(CLOCK_LIB) \
- ../common/libdri_test_stubs.la
-
-libi965_compiler_la_SOURCES = $(i965_FILES)
-libi965_compiler_la_LIBADD = $(INTEL_LIBS) \
- ../common/libdricommon.la \
- ../common/libxmlconfig.la \
- ../common/libmegadriver_stub.la \
- ../../../libmesa.la \
- $(DRI_LIB_DEPS) \
- $(CLOCK_LIB) \
- ../common/libdri_test_stubs.la -lm
-
-TESTS = \
- test_fs_cmod_propagation \
- test_fs_saturate_propagation \
- test_eu_compact \
- test_vf_float_conversions \
- test_vec4_copy_propagation \
- test_vec4_register_coalesce
-
-check_PROGRAMS = $(TESTS)
-
-test_fs_cmod_propagation_SOURCES = \
- test_fs_cmod_propagation.cpp
-test_fs_cmod_propagation_LDADD = \
- $(top_builddir)/src/gtest/libgtest.la \
- $(TEST_LIBS)
-
-test_fs_saturate_propagation_SOURCES = \
- test_fs_saturate_propagation.cpp
-test_fs_saturate_propagation_LDADD = \
- $(top_builddir)/src/gtest/libgtest.la \
- $(TEST_LIBS)
-
-test_vf_float_conversions_SOURCES = \
- test_vf_float_conversions.cpp
-test_vf_float_conversions_LDADD = \
- $(top_builddir)/src/gtest/libgtest.la \
- $(TEST_LIBS)
-
-test_vec4_register_coalesce_SOURCES = \
- test_vec4_register_coalesce.cpp
-test_vec4_register_coalesce_LDADD = \
- $(top_builddir)/src/gtest/libgtest.la \
- $(TEST_LIBS)
-
-test_vec4_copy_propagation_SOURCES = \
- test_vec4_copy_propagation.cpp
-test_vec4_copy_propagation_LDADD = \
- $(top_builddir)/src/gtest/libgtest.la \
- $(TEST_LIBS)
-
-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