intel/vulkan: Get rid of recursive make

v2 [Emil Velikov]
 - Various fixes and initial stab at the Android build.
 - Keep the generation rules/EXTRA_DIST outside the conditional

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
Jason Ekstrand 2017-03-01 21:11:51 -08:00 committed by Emil Velikov
parent 7f9bbcfb7b
commit ee8044fd33
9 changed files with 305 additions and 307 deletions

View file

@ -2687,7 +2687,6 @@ AC_CONFIG_FILES([Makefile
src/glx/windows/windowsdriproto.pc
src/gtest/Makefile
src/intel/Makefile
src/intel/vulkan/Makefile
src/loader/Makefile
src/mapi/Makefile
src/mapi/es1api/glesv1_cm.pc

View file

@ -117,11 +117,6 @@ if HAVE_EGL
SUBDIRS += egl
endif
## Requires the i965 compiler (part of mesa) and wayland-drm
if HAVE_INTEL_VULKAN
SUBDIRS += intel/vulkan
endif
# Requires wayland-drm
if HAVE_RADEON_VULKAN
SUBDIRS += amd/vulkan

View file

@ -30,4 +30,4 @@ include $(LOCAL_PATH)/Android.common.mk
include $(LOCAL_PATH)/Android.compiler.mk
include $(LOCAL_PATH)/Android.genxml.mk
include $(LOCAL_PATH)/Android.isl.mk
include $(LOCAL_PATH)/vulkan/Android.mk
include $(LOCAL_PATH)/Android.vulkan.mk

View file

@ -23,7 +23,7 @@ LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
include $(LOCAL_PATH)/Makefile.sources
VK_ENTRYPOINTS_SCRIPT := $(MESA_PYTHON2) $(LOCAL_PATH)/anv_entrypoints_gen.py
VK_ENTRYPOINTS_SCRIPT := $(MESA_PYTHON2) $(LOCAL_PATH)/vulkan/anv_entrypoints_gen.py
VULKAN_COMMON_INCLUDES := \
$(MESA_TOP)/include/vulkan \
@ -51,15 +51,16 @@ intermediates := $(call local-generated-sources-dir)
LOCAL_C_INCLUDES := \
$(VULKAN_COMMON_INCLUDES)
LOCAL_GENERATED_SOURCES += $(intermediates)/anv_entrypoints.h
LOCAL_GENERATED_SOURCES += $(intermediates)/dummy.c
LOCAL_GENERATED_SOURCES += $(intermediates)/vulkan/anv_entrypoints.h
LOCAL_GENERATED_SOURCES += $(intermediates)/vulkan/dummy.c
$(intermediates)/dummy.c:
$(intermediates)/vulkan/dummy.c:
@mkdir -p $(dir $@)
@echo "Gen Dummy: $(PRIVATE_MODULE) <= $(notdir $(@))"
$(hide) touch $@
$(intermediates)/anv_entrypoints.h:
$(intermediates)/vulkan/anv_entrypoints.h:
@mkdir -p $(dir $@)
$(hide) cat $(MESA_TOP)/src/vulkan/registry/vk.xml | $(VK_ENTRYPOINTS_SCRIPT) header > $@
LOCAL_EXPORT_C_INCLUDE_DIRS := \
@ -84,7 +85,7 @@ include $(CLEAR_VARS)
LOCAL_MODULE := libmesa_anv_gen7
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_SRC_FILES := $(GEN7_FILES)
LOCAL_SRC_FILES := $(VULKAN_GEN7_FILES)
LOCAL_CFLAGS := -DGEN_VERSIONx10=70
LOCAL_C_INCLUDES := $(ANV_INCLUDES)
@ -104,7 +105,7 @@ include $(CLEAR_VARS)
LOCAL_MODULE := libmesa_anv_gen75
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_SRC_FILES := $(GEN75_FILES)
LOCAL_SRC_FILES := $(VULKAN_GEN75_FILES)
LOCAL_CFLAGS := -DGEN_VERSIONx10=75
LOCAL_C_INCLUDES := $(ANV_INCLUDES)
@ -124,7 +125,7 @@ include $(CLEAR_VARS)
LOCAL_MODULE := libmesa_anv_gen8
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_SRC_FILES := $(GEN8_FILES)
LOCAL_SRC_FILES := $(VULKAN_GEN8_FILES)
LOCAL_CFLAGS := -DGEN_VERSIONx10=80
LOCAL_C_INCLUDES := $(ANV_INCLUDES)
@ -144,7 +145,7 @@ include $(CLEAR_VARS)
LOCAL_MODULE := libmesa_anv_gen9
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_SRC_FILES := $(GEN9_FILES)
LOCAL_SRC_FILES := $(VULKAN_GEN9_FILES)
LOCAL_CFLAGS := -DGEN_VERSIONx10=90
LOCAL_C_INCLUDES := $(ANV_INCLUDES)
@ -177,9 +178,10 @@ LOCAL_WHOLE_STATIC_LIBRARIES := \
libmesa_genxml \
libmesa_vulkan_util
LOCAL_GENERATED_SOURCES += $(intermediates)/anv_entrypoints.c
LOCAL_GENERATED_SOURCES += $(intermediates)/vulkan/anv_entrypoints.c
$(intermediates)/anv_entrypoints.c:
$(intermediates)/vulkan/anv_entrypoints.c:
@mkdir -p $(dir $@)
$(hide) cat $(MESA_TOP)/src/vulkan/registry/vk.xml | $(VK_ENTRYPOINTS_SCRIPT) code > $@
LOCAL_SHARED_LIBRARIES := libdrm_intel

View file

@ -48,6 +48,10 @@ AM_CFLAGS = \
MKDIR_GEN = $(AM_V_at)$(MKDIR_P) $(@D)
PYTHON_GEN = $(AM_V_GEN)$(PYTHON2) $(PYTHON_FLAGS)
lib_LTLIBRARIES =
check_LTLIBRARIES =
noinst_DATA =
noinst_HEADERS =
noinst_LTLIBRARIES =
noinst_PROGRAMS =
check_PROGRAMS =
@ -63,4 +67,6 @@ include Makefile.genxml.am
include Makefile.isl.am
include Makefile.tools.am
include Makefile.vulkan.am
CLEANFILES += $(BUILT_SOURCES)

View file

@ -162,3 +162,68 @@ ISL_GEN9_FILES = \
ISL_GENERATED_FILES = \
isl/isl_format_layout.c
VULKAN_FILES := \
vulkan/anv_allocator.c \
vulkan/anv_batch_chain.c \
vulkan/anv_blorp.c \
vulkan/anv_cmd_buffer.c \
vulkan/anv_descriptor_set.c \
vulkan/anv_device.c \
vulkan/anv_dump.c \
vulkan/anv_formats.c \
vulkan/anv_genX.h \
vulkan/anv_image.c \
vulkan/anv_intel.c \
vulkan/anv_nir.h \
vulkan/anv_nir_apply_dynamic_offsets.c \
vulkan/anv_nir_apply_pipeline_layout.c \
vulkan/anv_nir_lower_input_attachments.c \
vulkan/anv_nir_lower_push_constants.c \
vulkan/anv_pass.c \
vulkan/anv_pipeline.c \
vulkan/anv_pipeline_cache.c \
vulkan/anv_private.h \
vulkan/anv_util.c \
vulkan/anv_wsi.c \
vulkan/vk_format_info.h
VULKAN_WSI_WAYLAND_FILES := \
vulkan/anv_wsi_wayland.c
VULKAN_WSI_X11_FILES := \
vulkan/anv_wsi_x11.c
VULKAN_GEM_FILES := \
vulkan/anv_gem.c
VULKAN_GEM_STUB_FILES := \
vulkan/anv_gem_stubs.c
VULKAN_GENERATED_FILES := \
vulkan/anv_entrypoints.c \
vulkan/anv_entrypoints.h
VULKAN_GENX_FILES := \
vulkan/genX_blorp_exec.c \
vulkan/genX_cmd_buffer.c \
vulkan/genX_gpu_memcpy.c \
vulkan/genX_pipeline.c \
vulkan/genX_query.c \
vulkan/genX_state.c
VULKAN_GEN7_FILES := \
vulkan/gen7_cmd_buffer.c \
$(VULKAN_GENX_FILES)
VULKAN_GEN75_FILES := \
vulkan/gen7_cmd_buffer.c \
$(VULKAN_GENX_FILES)
VULKAN_GEN8_FILES := \
vulkan/gen8_cmd_buffer.c \
$(VULKAN_GENX_FILES)
VULKAN_GEN9_FILES := \
vulkan/gen8_cmd_buffer.c \
$(VULKAN_GENX_FILES)

View file

@ -0,0 +1,220 @@
# Copyright © 2015 Intel Corporation
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice (including the next
# paragraph) shall be included in all copies or substantial portions of the
# Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
# Due to a what seems like a autoconf bug, we must ensure that the genaration
# rules must be outside of any AM_CONDITIONALs. Otherwise they will be commented
# out and we'll fail at `make dist'
vulkan_api_xml = $(top_srcdir)/src/vulkan/registry/vk.xml
vulkan/anv_entrypoints.h: vulkan/anv_entrypoints_gen.py $(vulkan_api_xml)
$(MKDIR_GEN)
$(AM_V_GEN) cat $(vulkan_api_xml) |\
$(PYTHON2) $(srcdir)/vulkan/anv_entrypoints_gen.py header > $@
vulkan/anv_entrypoints.c: vulkan/anv_entrypoints_gen.py $(vulkan_api_xml)
$(MKDIR_GEN)
$(AM_V_GEN) cat $(vulkan_api_xml) |\
$(PYTHON2) $(srcdir)/vulkan/anv_entrypoints_gen.py code > $@
BUILT_SOURCES += $(VULKAN_GENERATED_FILES)
CLEANFILES += \
$(VULKAN_GENERATED_FILES) \
vulkan/dev_icd.json \
vulkan/intel_icd.@host_cpu@.json
EXTRA_DIST += \
$(top_srcdir)/include/vulkan/vk_icd.h \
vulkan/anv_entrypoints_gen.py \
vulkan/dev_icd.json.in \
vulkan/intel_icd.json.in \
vulkan/TODO
vulkan/dev_icd.json : vulkan/dev_icd.json.in
$(AM_V_GEN) $(SED) \
-e "s#@build_libdir@#${abs_top_builddir}/${LIB_DIR}#" \
< $(srcdir)/vulkan/dev_icd.json.in > $@
vulkan/intel_icd.@host_cpu@.json : vulkan/intel_icd.json.in
$(AM_V_GEN) $(SED) \
-e "s#@install_libdir@#${libdir}#" \
< $(srcdir)/vulkan/intel_icd.json.in > $@
if HAVE_INTEL_VULKAN
vulkan_includedir = $(includedir)/vulkan
noinst_HEADERS += \
$(top_srcdir)/include/vulkan/vk_platform.h \
$(top_srcdir)/include/vulkan/vulkan.h
vulkan_include_HEADERS = \
$(top_srcdir)/include/vulkan/vulkan_intel.h
lib_LTLIBRARIES += vulkan/libvulkan_intel.la
check_LTLIBRARIES += vulkan/libvulkan-test.la
VULKAN_PER_GEN_LIBS = \
vulkan/libanv-gen7.la \
vulkan/libanv-gen75.la \
vulkan/libanv-gen8.la \
vulkan/libanv-gen9.la
noinst_LTLIBRARIES += $(VULKAN_PER_GEN_LIBS)
VULKAN_CFLAGS = \
$(AM_CFLAGS) \
-msse2
VULKAN_CPPFLAGS = \
-I$(top_srcdir)/src/compiler \
-I$(top_srcdir)/src/intel/compiler \
-I$(top_builddir)/src/intel/vulkan \
-I$(top_srcdir)/src/intel/vulkan \
-I$(top_srcdir)/src/vulkan/wsi \
-I$(top_builddir)/src/vulkan/util \
-I$(top_srcdir)/src/vulkan/util \
$(LIBDRM_CFLAGS) \
$(AM_CPPFLAGS)
vulkan_libanv_gen7_la_CFLAGS = $(VULKAN_CFLAGS)
vulkan_libanv_gen7_la_CPPFLAGS = $(VULKAN_CPPFLAGS) -DGEN_VERSIONx10=70
vulkan_libanv_gen7_la_SOURCES = $(VULKAN_GEN7_FILES)
vulkan_libanv_gen75_la_CFLAGS = $(VULKAN_CFLAGS)
vulkan_libanv_gen75_la_CPPFLAGS = $(VULKAN_CPPFLAGS) -DGEN_VERSIONx10=75
vulkan_libanv_gen75_la_SOURCES = $(VULKAN_GEN75_FILES)
vulkan_libanv_gen8_la_CFLAGS = $(VULKAN_CFLAGS)
vulkan_libanv_gen8_la_CPPFLAGS = $(VULKAN_CPPFLAGS) -DGEN_VERSIONx10=80
vulkan_libanv_gen8_la_SOURCES = $(VULKAN_GEN8_FILES)
vulkan_libanv_gen9_la_CFLAGS = $(VULKAN_CFLAGS)
vulkan_libanv_gen9_la_CPPFLAGS = $(VULKAN_CPPFLAGS) -DGEN_VERSIONx10=90
vulkan_libanv_gen9_la_SOURCES = $(VULKAN_GEN9_FILES)
VULKAN_SOURCES = \
$(VULKAN_GENERATED_FILES) \
$(VULKAN_FILES)
VULKAN_LIB_DEPS = $(LIBDRM_LIBS)
if HAVE_PLATFORM_X11
VULKAN_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
if HAVE_PLATFORM_WAYLAND
VULKAN_CPPFLAGS += \
$(WAYLAND_CFLAGS) \
-DVK_USE_PLATFORM_WAYLAND_KHR
VULKAN_SOURCES += $(VULKAN_WSI_WAYLAND_FILES)
VULKAN_LIB_DEPS += $(WAYLAND_LIBS)
endif
noinst_LTLIBRARIES += vulkan/libvulkan_common.la
vulkan_libvulkan_common_la_SOURCES = $(VULKAN_SOURCES)
vulkan_libvulkan_common_la_CFLAGS = $(VULKAN_CFLAGS)
vulkan_libvulkan_common_la_CPPFLAGS = $(VULKAN_CPPFLAGS)
VULKAN_LIB_DEPS += \
vulkan/libvulkan_common.la \
$(VULKAN_PER_GEN_LIBS) \
compiler/libintel_compiler.la \
common/libintel_common.la \
isl/libisl.la \
blorp/libblorp.la \
$(top_builddir)/src/vulkan/libvulkan_util.la \
$(top_builddir)/src/vulkan/libvulkan_wsi.la \
$(top_builddir)/src/compiler/nir/libnir.la \
$(top_builddir)/src/util/libmesautil.la \
$(PTHREAD_LIBS) \
$(DLOPEN_LIBS) \
-lm
nodist_EXTRA_vulkan_libvulkan_intel_la_SOURCES = dummy.cpp
vulkan_libvulkan_intel_la_SOURCES = $(VULKAN_GEM_FILES)
vulkan_libvulkan_intel_la_LIBADD = $(VULKAN_LIB_DEPS)
vulkan_libvulkan_intel_la_CFLAGS = $(VULKAN_CFLAGS)
vulkan_libvulkan_intel_la_CPPFLAGS = $(VULKAN_CPPFLAGS)
vulkan_libvulkan_intel_la_LDFLAGS = \
-shared \
-module \
-no-undefined \
-avoid-version \
-Wl,--build-id=sha1 \
$(BSYMBOLIC) \
$(GC_SECTIONS) \
$(LD_NO_UNDEFINED)
icdconfdir = @VULKAN_ICD_INSTALL_DIR@
icdconf_DATA = vulkan/intel_icd.@host_cpu@.json
# The following is used for development purposes, by setting VK_ICD_FILENAMES.
noinst_DATA += vulkan/dev_icd.json
# Libvulkan with dummy gem. Used for unit tests.
vulkan_libvulkan_test_la_SOURCES = $(VULKAN_GEM_STUB_FILES)
vulkan_libvulkan_test_la_LIBADD = $(VULKAN_LIB_DEPS)
vulkan_libvulkan_test_la_CFLAGS = $(VULKAN_CFLAGS)
vulkan_libvulkan_test_la_CPPFLAGS = $(VULKAN_CPPFLAGS)
include $(top_srcdir)/install-lib-links.mk
noinst_HEADERS += \
vulkan/tests/state_pool_test_helper.h
VULKAN_TESTS = \
vulkan/tests/block_pool_no_free \
vulkan/tests/state_pool_no_free \
vulkan/tests/state_pool_free_list_only \
vulkan/tests/state_pool
VULKAN_TEST_LDADD = \
vulkan/libvulkan-test.la \
$(PTHREAD_LIBS) -lm -lstdc++
check_PROGRAMS += $(VULKAN_TESTS)
TESTS += $(VULKAN_TESTS)
vulkan_tests_block_pool_no_free_CPPFLAGS = $(VULKAN_CPPFLAGS)
vulkan_tests_block_pool_no_free_LDADD = $(VULKAN_TEST_LDADD)
vulkan_tests_state_pool_no_free_CPPFLAGS = $(VULKAN_CPPFLAGS)
vulkan_tests_state_pool_no_free_LDADD = $(VULKAN_TEST_LDADD)
vulkan_tests_state_pool_free_list_only_CPPFLAGS = $(VULKAN_CPPFLAGS)
vulkan_tests_state_pool_free_list_only_LDADD = $(VULKAN_TEST_LDADD)
vulkan_tests_state_pool_CPPFLAGS = $(VULKAN_CPPFLAGS)
vulkan_tests_state_pool_LDADD = $(VULKAN_TEST_LDADD)
endif

View file

@ -1,204 +0,0 @@
# Copyright © 2015 Intel Corporation
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice (including the next
# paragraph) shall be included in all copies or substantial portions of the
# Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
include Makefile.sources
vulkan_includedir = $(includedir)/vulkan
noinst_HEADERS = \
$(top_srcdir)/include/vulkan/vk_platform.h \
$(top_srcdir)/include/vulkan/vulkan.h
vulkan_include_HEADERS = \
$(top_srcdir)/include/vulkan/vulkan_intel.h
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
noinst_LTLIBRARIES = $(PER_GEN_LIBS)
# The gallium includes are for the util/u_math.h include from main/macros.h
AM_CPPFLAGS = \
-I$(top_srcdir)/include \
-I$(top_builddir)/src \
-I$(top_srcdir)/src \
-I$(top_srcdir)/src/vulkan/wsi \
-I$(top_builddir)/src/vulkan/util \
-I$(top_srcdir)/src/vulkan/util \
-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/gallium/auxiliary \
-I$(top_srcdir)/src/gallium/include \
-I$(top_builddir)/src/intel \
-I$(top_srcdir)/src/intel
AM_CPPFLAGS += \
$(LIBDRM_CFLAGS) \
$(INTEL_CFLAGS) \
$(VALGRIND_CFLAGS) \
$(DEFINES)
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 = $(LIBDRM_LIBS)
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
if HAVE_PLATFORM_WAYLAND
AM_CPPFLAGS += \
$(WAYLAND_CFLAGS) \
-DVK_USE_PLATFORM_WAYLAND_KHR
VULKAN_SOURCES += $(VULKAN_WSI_WAYLAND_FILES)
VULKAN_LIB_DEPS += \
$(WAYLAND_LIBS)
endif
noinst_LTLIBRARIES += libvulkan_common.la
libvulkan_common_la_SOURCES = $(VULKAN_SOURCES)
VULKAN_LIB_DEPS += \
libvulkan_common.la \
$(top_builddir)/src/vulkan/libvulkan_util.la \
$(top_builddir)/src/vulkan/libvulkan_wsi.la \
$(top_builddir)/src/intel/compiler/libintel_compiler.la \
$(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
nodist_EXTRA_libvulkan_intel_la_SOURCES = dummy.cpp
libvulkan_intel_la_SOURCES = $(VULKAN_GEM_FILES)
vulkan_api_xml = $(top_srcdir)/src/vulkan/registry/vk.xml
anv_entrypoints.h : anv_entrypoints_gen.py $(vulkan_api_xml)
$(AM_V_GEN) cat $(vulkan_api_xml) |\
$(PYTHON2) $(srcdir)/anv_entrypoints_gen.py header > $@
anv_entrypoints.c : anv_entrypoints_gen.py $(vulkan_api_xml)
$(AM_V_GEN) cat $(vulkan_api_xml) |\
$(PYTHON2) $(srcdir)/anv_entrypoints_gen.py code > $@
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 \
TODO
libvulkan_intel_la_LIBADD = $(VULKAN_LIB_DEPS)
libvulkan_intel_la_LDFLAGS = \
-shared \
-module \
-no-undefined \
-avoid-version \
-Wl,--build-id=sha1 \
$(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
dev_icd.json : dev_icd.json.in
$(AM_V_GEN) $(SED) \
-e "s#@build_libdir@#${abs_top_builddir}/${LIB_DIR}#" \
< $(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)
include $(top_srcdir)/install-lib-links.mk
noinst_HEADERS += \
tests/state_pool_test_helper.h
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)

View file

@ -1,85 +0,0 @@
# Copyright © 2015 Intel Corporation
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice (including the next
# paragraph) shall be included in all copies or substantial portions of the
# Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
VULKAN_FILES := \
anv_allocator.c \
anv_batch_chain.c \
anv_blorp.c \
anv_cmd_buffer.c \
anv_descriptor_set.c \
anv_device.c \
anv_dump.c \
anv_formats.c \
anv_genX.h \
anv_image.c \
anv_intel.c \
anv_nir.h \
anv_nir_apply_dynamic_offsets.c \
anv_nir_apply_pipeline_layout.c \
anv_nir_lower_input_attachments.c \
anv_nir_lower_push_constants.c \
anv_pass.c \
anv_pipeline.c \
anv_pipeline_cache.c \
anv_private.h \
anv_util.c \
anv_wsi.c \
vk_format_info.h
VULKAN_WSI_WAYLAND_FILES := \
anv_wsi_wayland.c
VULKAN_WSI_X11_FILES := \
anv_wsi_x11.c
VULKAN_GEM_FILES := \
anv_gem.c
VULKAN_GEM_STUB_FILES := \
anv_gem_stubs.c
VULKAN_GENERATED_FILES := \
anv_entrypoints.c \
anv_entrypoints.h
GENX_FILES := \
genX_blorp_exec.c \
genX_cmd_buffer.c \
genX_gpu_memcpy.c \
genX_pipeline.c \
genX_query.c \
genX_state.c
GEN7_FILES := \
gen7_cmd_buffer.c \
$(GENX_FILES)
GEN75_FILES := \
gen7_cmd_buffer.c \
$(GENX_FILES)
GEN8_FILES := \
gen8_cmd_buffer.c \
$(GENX_FILES)
GEN9_FILES := \
gen8_cmd_buffer.c \
$(GENX_FILES)