X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fintel%2Fvulkan%2FMakefile.am;h=4a7bb1899084bc4b301b3f44614dc87ead348d1f;hb=722ab3de9f0e30e1dfbbd2b5217330b85f53bcec;hp=2144e5a691a1ebbb4de1fb85051f6c73cf9b3800;hpb=9851c8285f7bf70a6cb4bede2ee94110c14acc19;p=mesa.git diff --git a/src/intel/vulkan/Makefile.am b/src/intel/vulkan/Makefile.am index 2144e5a691a..4a7bb189908 100644 --- a/src/intel/vulkan/Makefile.am +++ b/src/intel/vulkan/Makefile.am @@ -19,30 +19,24 @@ # 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,151 +47,157 @@ 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/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 - -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_builddir)/src/intel \ + -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 > $@ + +anv_entrypoints.c : anv_entrypoints_gen.py $(vulkan_include_HEADERS) + $(AM_V_GEN) cat $(vulkan_include_HEADERS) |\ + $(PYTHON2) $(srcdir)/anv_entrypoints_gen.py code > $@ + +.PHONY: anv_timestamp.h + +anv_timestamp.h: + @echo "Updating anv_timestamp.h" + $(AM_V_GEN) echo "#define ANV_TIMESTAMP \"$(TIMESTAMP_CMD)\"" > $@ +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 -# 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. +libvulkan_intel_la_LIBADD = $(VULKAN_LIB_DEPS) -icdconfdir=$(sysconfdir)/vulkan/icd.d -icdconf_DATA = intel_icd.json +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)