anv: fold the tests' makefile
[mesa.git] / src / intel / vulkan / Makefile.am
index ccd98856b4b16b457061890a2c70e875056f672c..c7baf176fbbf8ad213b24efe6da2b449a415d480 100644 (file)
@@ -19,7 +19,7 @@
 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
 # IN THE SOFTWARE.
 
-SUBDIRS = . tests
+include Makefile.sources
 
 vulkan_includedir = $(includedir)/vulkan
 
@@ -31,8 +31,7 @@ vulkan_include_HEADERS =                              \
 # Used when generating entrypoints to filter out unwanted extensions
 VULKAN_ENTRYPOINT_CPPFLAGS = \
    -I$(top_srcdir)/include/vulkan \
-   -DVK_USE_PLATFORM_XCB_KHR \
-   -DVK_USE_PLATFORM_WAYLAND_KHR
+   -DVK_USE_PLATFORM_XCB_KHR
 
 lib_LTLIBRARIES = libvulkan_intel.la
 
@@ -65,74 +64,29 @@ AM_CPPFLAGS = \
        -I$(top_builddir)/src \
        -I$(top_builddir)/src/compiler \
        -I$(top_builddir)/src/compiler/nir \
-       -I$(top_builddir)/src/intel \
-       -I$(top_builddir)/src/vulkan
-
-libvulkan_intel_la_CFLAGS = $(CFLAGS) -Wno-override-init
-
-VULKAN_SOURCES =                                        \
-       anv_allocator.c                                 \
-       anv_cmd_buffer.c                                \
-       anv_batch_chain.c                               \
-       anv_descriptor_set.c                            \
-       anv_device.c                                    \
-        anv_dump.c                                      \
-       anv_entrypoints.c                               \
-       anv_entrypoints.h                               \
-       anv_formats.c                                   \
-       anv_image.c                                     \
-       anv_intel.c                                     \
-       anv_meta.c                                      \
-       anv_meta_blit.c                                 \
-       anv_meta_clear.c                                \
-       anv_meta_resolve.c                              \
-       anv_nir_apply_dynamic_offsets.c                 \
-       anv_nir_apply_pipeline_layout.c                 \
-       anv_nir_lower_push_constants.c                  \
-       anv_pass.c                                      \
-       anv_pipeline.c                                  \
-       anv_pipeline_cache.c                            \
-       anv_private.h                                   \
-       anv_query.c                                     \
-       anv_util.c                                      \
-       anv_wsi.c                                       \
-       anv_wsi_x11.c
-
-BUILT_SOURCES =                                         \
-       anv_entrypoints.h                               \
-       anv_entrypoints.c
-
-libanv_gen7_la_SOURCES =                                \
-       genX_cmd_buffer.c                               \
-       genX_pipeline.c                                 \
-       gen7_cmd_buffer.c                               \
-       gen7_pipeline.c                                 \
-       gen7_state.c
-libanv_gen7_la_CFLAGS = $(libvulkan_intel_la_CFLAGS) -DANV_GENx10=70
-
-libanv_gen75_la_SOURCES =                               \
-       genX_cmd_buffer.c                               \
-       genX_pipeline.c                                 \
-       gen7_cmd_buffer.c                               \
-       gen7_pipeline.c                                 \
-       gen7_state.c
-libanv_gen75_la_CFLAGS = $(libvulkan_intel_la_CFLAGS) -DANV_GENx10=75
-
-libanv_gen8_la_SOURCES =                                       \
-       genX_cmd_buffer.c                               \
-       genX_pipeline.c                                 \
-       gen8_cmd_buffer.c                               \
-       gen8_pipeline.c                                 \
-       gen8_state.c
-libanv_gen8_la_CFLAGS = $(libvulkan_intel_la_CFLAGS) -DANV_GENx10=80
-
-libanv_gen9_la_SOURCES =                                       \
-       genX_cmd_buffer.c                               \
-       genX_pipeline.c                                 \
-       gen8_cmd_buffer.c                               \
-       gen8_pipeline.c                                 \
-       gen8_state.c
-libanv_gen9_la_CFLAGS = $(libvulkan_intel_la_CFLAGS) -DANV_GENx10=90
+       -I$(top_builddir)/src/intel
+
+AM_CFLAGS = -DVK_USE_PLATFORM_XCB_KHR -Wno-override-init -msse2
+
+VULKAN_SOURCES = \
+       $(VULKAN_FILES) \
+       $(VULKAN_WSI_X11_FILES)
+
+BUILT_SOURCES = \
+       $(VULKAN_GENERATED_FILES)
+
+
+libanv_gen7_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=70
+libanv_gen7_la_SOURCES = $(GEN7_FILES)
+
+libanv_gen75_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=75
+libanv_gen75_la_SOURCES = $(GEN75_FILES)
+
+libanv_gen8_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=80
+libanv_gen8_la_SOURCES = $(GEN8_FILES)
+
+libanv_gen9_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=90
+libanv_gen9_la_SOURCES = $(GEN9_FILES)
 
 if HAVE_EGL_PLATFORM_WAYLAND
 BUILT_SOURCES += \
@@ -148,13 +102,16 @@ BUILT_SOURCES += \
 AM_CPPFLAGS += -I$(top_srcdir)/src/egl/wayland/wayland-drm
 VULKAN_SOURCES += \
        wayland-drm-protocol.c \
-       anv_wsi_wayland.c
-libvulkan_intel_la_CFLAGS += -DHAVE_WAYLAND_PLATFORM
+       $(VULKAN_WSI_WAYLAND_FILES)
+AM_CFLAGS += -DHAVE_WAYLAND_PLATFORM -DVK_USE_PLATFORM_WAYLAND_KHR
+
+VULKAN_ENTRYPOINT_CPPFLAGS += -DVK_USE_PLATFORM_WAYLAND_KHR
 endif
 
-libvulkan_intel_la_SOURCES =                            \
-       $(VULKAN_SOURCES)                               \
-       anv_gem.c
+noinst_LTLIBRARIES += libvulkan_common.la
+libvulkan_common_la_SOURCES = $(VULKAN_SOURCES)
+
+libvulkan_intel_la_SOURCES = $(VULKAN_GEM_FILES)
 
 anv_entrypoints.h : anv_entrypoints_gen.py $(vulkan_include_HEADERS)
        $(AM_V_GEN) cat $(vulkan_include_HEADERS) | $(CPP) $(VULKAN_ENTRYPOINT_CPPFLAGS) - | $(PYTHON2) $< header > $@
@@ -164,41 +121,53 @@ anv_entrypoints.c : anv_entrypoints_gen.py $(vulkan_include_HEADERS)
 
 CLEANFILES = $(BUILT_SOURCES)
 
-libvulkan_intel_la_LIBADD = $(WAYLAND_LIBS) -lxcb -lxcb-dri3 \
+libvulkan_intel_la_LIBADD = $(WAYLAND_LIBS) \
+       libvulkan_common.la \
+       -lxcb -lxcb-dri3 -lxcb-present -lxcb-sync -lxshmfence \
        $(top_builddir)/src/intel/isl/libisl.la \
        $(top_builddir)/src/mesa/drivers/dri/i965/libi965_compiler.la \
        $(top_builddir)/src/mesa/libmesa.la \
        $(top_builddir)/src/mesa/drivers/dri/common/libdri_test_stubs.la \
        -lpthread -ldl -lstdc++ \
-        $(PER_GEN_LIBS)
+       $(PER_GEN_LIBS) \
+       -lm
 
 libvulkan_intel_la_LDFLAGS = \
-        -module -avoid-version -shared -shrext .so
+       -shared \
+       -module \
+       -no-undefined \
+       -avoid-version \
+       $(GC_SECTIONS) \
+       $(LD_NO_UNDEFINED)
 
 
-# Generate icd files. It would be nice to just be able to add these to
-# AC_CONFIG_FILES, but @libdir@ typically expands to '${exec_prefix}/lib64',
-# which we can't put in the icd file. When running sed from the Makefile we
-# can use ${libdir}, which expands completely and we avoid putting Makefile
-# variables in the icd file.
-
-icdconfdir=$(sysconfdir)/vulkan/icd.d
+icdconfdir = @VULKAN_ICD_INSTALL_DIR@
 icdconf_DATA = intel_icd.json
+# The following is used for development purposes, by setting VK_ICD_FILENAMES.
 noinst_DATA = dev_icd.json
 
-%.json : %.json.in
+dev_icd.json : dev_icd.json.in
        $(AM_V_GEN) $(SED) \
-               -e "s#@build_libdir@#${abs_top_builddir}/${LIB_DIR}#" \
-               -e "s#@install_libdir@#${libdir}#" < $< > $@
-
+               -e "s#@build_libdir@#${abs_top_builddir}/${LIB_DIR}#"
+               < $(srcdir)/dev_icd.json.in > $@
 
 # Libvulkan with dummy gem. Used for unit tests.
+libvulkan_test_la_SOURCES = $(VULKAN_GEM_STUB_FILES)
+libvulkan_test_la_LIBADD = $(libvulkan_intel_la_LIBADD)
 
-libvulkan_test_la_SOURCES =                             \
-       $(VULKAN_SOURCES)                               \
-       anv_gem_stubs.c
+include $(top_srcdir)/install-lib-links.mk
 
-libvulkan_test_la_CFLAGS = $(libvulkan_la_CFLAGS)
-libvulkan_test_la_LIBADD = $(libvulkan_la_LIBADD)
+noinst_HEADERS = \
+       tests/state_pool_test_helper.h
 
-include $(top_srcdir)/install-lib-links.mk
+LDADD = \
+       libvulkan-test.la \
+       $(PTHREAD_LIBS) -lm -lstdc++
+
+check_PROGRAMS = \
+       tests/block_pool_no_free \
+       tests/state_pool_no_free \
+       tests/state_pool_free_list_only \
+       tests/state_pool
+
+TESTS = $(check_PROGRAMS)