anv: Emit cherryview SF state without including gen9_pack.h
[mesa.git] / src / intel / vulkan / Makefile.am
index 53cfa20a263d3499fe99490aef8ad20d9ebbea1b..e803a49d529e00c1d9cb8ac298a7e2103749306a 100644 (file)
 # 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
 
-vulkan_include_HEADERS =                               \
-       $(top_srcdir)/include/vulkan/vk_platform.h      \
-       $(top_srcdir)/include/vulkan/vulkan.h           \
+vulkan_include_HEADERS = \
+       $(top_srcdir)/include/vulkan/vk_platform.h \
+       $(top_srcdir)/include/vulkan/vulkan.h \
        $(top_srcdir)/include/vulkan/vulkan_intel.h
 
-# 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
-
 lib_LTLIBRARIES = libvulkan_intel.la
 
 check_LTLIBRARIES = libvulkan-test.la
 
 PER_GEN_LIBS = \
-   libanv-gen7.la \
-   libanv-gen75.la \
-   libanv-gen8.la \
-   libanv-gen9.la
+       libanv-gen7.la \
+       libanv-gen75.la \
+       libanv-gen8.la \
+       libanv-gen9.la
 
 noinst_LTLIBRARIES = $(PER_GEN_LIBS)
 
@@ -53,153 +47,151 @@ AM_CPPFLAGS = \
        $(VALGRIND_CFLAGS) \
        $(DEFINES) \
        -I$(top_srcdir)/include \
+       -I$(top_builddir)/src \
        -I$(top_srcdir)/src \
+       -I$(top_srcdir)/src/vulkan/wsi \
+       -I$(top_builddir)/src/compiler \
        -I$(top_srcdir)/src/compiler \
+       -I$(top_builddir)/src/compiler/nir \
        -I$(top_srcdir)/src/mapi \
        -I$(top_srcdir)/src/mesa \
        -I$(top_srcdir)/src/mesa/drivers/dri/common \
        -I$(top_srcdir)/src/mesa/drivers/dri/i965 \
        -I$(top_srcdir)/src/gallium/auxiliary \
        -I$(top_srcdir)/src/gallium/include \
-       -I$(top_srcdir)/src/intel/ \
-       -I$(top_builddir)/src \
-       -I$(top_builddir)/src/compiler \
-       -I$(top_builddir)/src/compiler/nir \
        -I$(top_builddir)/src/intel \
-       -I$(top_builddir)/src/intel/genxml \
-       -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) -DGEN_VERSIONx10=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) -DGEN_VERSIONx10=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) -DGEN_VERSIONx10=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) -DGEN_VERSIONx10=90
-
-if HAVE_EGL_PLATFORM_WAYLAND
-BUILT_SOURCES += \
-       wayland-drm-protocol.c \
-       wayland-drm-client-protocol.h
-
-%-protocol.c : $(top_srcdir)/src/egl/wayland/wayland-drm/%.xml
-       $(AM_V_GEN)$(WAYLAND_SCANNER) code < $< > $@
-
-%-client-protocol.h : $(top_srcdir)/src/egl/wayland/wayland-drm/%.xml
-       $(AM_V_GEN)$(WAYLAND_SCANNER) client-header < $< > $@
-
-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
+       -I$(top_srcdir)/src/intel
+
+AM_CFLAGS = \
+       $(VISIBILITY_CFLAGS) \
+       -Wno-override-init -msse2
+
+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)
+
+
+VULKAN_SOURCES = \
+       $(VULKAN_GENERATED_FILES) \
+       $(VULKAN_FILES)
+
+VULKAN_LIB_DEPS =
+
+if HAVE_PLATFORM_X11
+AM_CPPFLAGS += \
+       $(XCB_DRI3_CFLAGS) \
+       -DVK_USE_PLATFORM_XCB_KHR \
+       -DVK_USE_PLATFORM_XLIB_KHR
+
+VULKAN_SOURCES += $(VULKAN_WSI_X11_FILES)
+
+# FIXME: Use pkg-config for X11-xcb ldflags.
+VULKAN_LIB_DEPS += $(XCB_DRI3_LIBS) -lX11-xcb
 endif
 
-libvulkan_intel_la_SOURCES =                            \
-       $(VULKAN_SOURCES)                               \
-       anv_gem.c
 
-anv_entrypoints.h : anv_entrypoints_gen.py $(vulkan_include_HEADERS)
-       $(AM_V_GEN) cat $(vulkan_include_HEADERS) | $(CPP) $(VULKAN_ENTRYPOINT_CPPFLAGS) - | $(PYTHON2) $< header > $@
+if HAVE_PLATFORM_WAYLAND
+AM_CPPFLAGS += \
+       -I$(top_builddir)/src/egl/wayland/wayland-drm \
+       -I$(top_srcdir)/src/egl/wayland/wayland-drm \
+       $(WAYLAND_CFLAGS) \
+       -DVK_USE_PLATFORM_WAYLAND_KHR
 
-anv_entrypoints.c : anv_entrypoints_gen.py $(vulkan_include_HEADERS)
-       $(AM_V_GEN) cat $(vulkan_include_HEADERS) | $(CPP) $(VULKAN_ENTRYPOINT_CPPFLAGS) - | $(PYTHON2) $< code > $@
+VULKAN_SOURCES += $(VULKAN_WSI_WAYLAND_FILES)
 
-CLEANFILES = $(BUILT_SOURCES)
+VULKAN_LIB_DEPS += \
+       $(top_builddir)/src/egl/wayland/wayland-drm/libwayland-drm.la \
+       $(WAYLAND_LIBS)
+endif
 
-libvulkan_intel_la_LIBADD = $(WAYLAND_LIBS) -lxcb -lxcb-dri3 \
-       $(top_builddir)/src/intel/isl/libisl.la \
+noinst_LTLIBRARIES += libvulkan_common.la
+libvulkan_common_la_SOURCES = $(VULKAN_SOURCES)
+
+VULKAN_LIB_DEPS += \
+       libvulkan_common.la \
+       $(top_builddir)/src/vulkan/wsi/libvulkan_wsi.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)
+       $(top_builddir)/src/compiler/nir/libnir.la \
+       $(top_builddir)/src/util/libmesautil.la \
+       $(top_builddir)/src/intel/common/libintel_common.la \
+       $(top_builddir)/src/intel/isl/libisl.la \
+       $(top_builddir)/src/intel/blorp/libblorp.la \
+       $(PER_GEN_LIBS) \
+       $(PTHREAD_LIBS) \
+       $(DLOPEN_LIBS) \
+       -lm
 
-libvulkan_intel_la_LDFLAGS = \
-        -module -avoid-version -shared -shrext .so
+nodist_EXTRA_libvulkan_intel_la_SOURCES = dummy.cpp
+libvulkan_intel_la_SOURCES = $(VULKAN_GEM_FILES)
 
+anv_entrypoints.h : anv_entrypoints_gen.py $(vulkan_include_HEADERS)
+       $(AM_V_GEN) cat $(vulkan_include_HEADERS) |\
+       $(PYTHON2) $(srcdir)/anv_entrypoints_gen.py header > $@
 
-# 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.
+anv_entrypoints.c : anv_entrypoints_gen.py $(vulkan_include_HEADERS)
+       $(AM_V_GEN) cat $(vulkan_include_HEADERS) |\
+       $(PYTHON2) $(srcdir)/anv_entrypoints_gen.py code > $@
 
-icdconfdir=$(sysconfdir)/vulkan/icd.d
-icdconf_DATA = intel_icd.json
+BUILT_SOURCES = $(VULKAN_GENERATED_FILES)
+CLEANFILES = $(BUILT_SOURCES) dev_icd.json intel_icd.@host_cpu@.json
+EXTRA_DIST = \
+       $(top_srcdir)/include/vulkan/vk_icd.h \
+       anv_entrypoints_gen.py \
+       dev_icd.json.in \
+       intel_icd.json.in
+
+libvulkan_intel_la_LIBADD = $(VULKAN_LIB_DEPS)
+
+libvulkan_intel_la_LDFLAGS = \
+       -shared \
+       -module \
+       -no-undefined \
+       -avoid-version \
+       $(BSYMBOLIC) \
+       $(GC_SECTIONS) \
+       $(LD_NO_UNDEFINED)
+
+
+icdconfdir = @VULKAN_ICD_INSTALL_DIR@
+icdconf_DATA = intel_icd.@host_cpu@.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}#" < $< > $@
+               < $(srcdir)/dev_icd.json.in > $@
 
+intel_icd.@host_cpu@.json : intel_icd.json.in
+       $(AM_V_GEN) $(SED) \
+               -e "s#@install_libdir@#${libdir}#" \
+               < $(srcdir)/intel_icd.json.in > $@
 
 # Libvulkan with dummy gem. Used for unit tests.
+libvulkan_test_la_SOURCES = $(VULKAN_GEM_STUB_FILES)
+libvulkan_test_la_LIBADD = $(VULKAN_LIB_DEPS)
 
-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)