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
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
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
--- /dev/null
+# Copyright © 2017 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 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.
+
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+include $(LOCAL_PATH)/Makefile.sources
+
+VK_ENTRYPOINTS_SCRIPT := $(MESA_PYTHON2) $(LOCAL_PATH)/vulkan/anv_entrypoints_gen.py
+
+VULKAN_COMMON_INCLUDES := \
+ $(MESA_TOP)/include/vulkan \
+ $(MESA_TOP)/src/mapi \
+ $(MESA_TOP)/src/gallium/auxiliary \
+ $(MESA_TOP)/src/gallium/include \
+ $(MESA_TOP)/src/mesa \
+ $(MESA_TOP)/src/vulkan/wsi \
+ $(MESA_TOP)/src/intel \
+ $(MESA_TOP)/src/intel/vulkan
+
+# libmesa_anv_entrypoints with header and dummy.c
+#
+# This static library is built to pull entrypoints header
+# for multiple gen specific build targets below. The c file
+# is generated separately for libmesa_vulkan_common to avoid
+# duplicate symbols when linking the anv libraries.
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := libmesa_anv_entrypoints
+LOCAL_MODULE_CLASS := STATIC_LIBRARIES
+
+intermediates := $(call local-generated-sources-dir)
+
+LOCAL_C_INCLUDES := \
+ $(VULKAN_COMMON_INCLUDES)
+
+LOCAL_GENERATED_SOURCES += $(intermediates)/vulkan/anv_entrypoints.h
+LOCAL_GENERATED_SOURCES += $(intermediates)/vulkan/dummy.c
+
+$(intermediates)/vulkan/dummy.c:
+ @mkdir -p $(dir $@)
+ @echo "Gen Dummy: $(PRIVATE_MODULE) <= $(notdir $(@))"
+ $(hide) touch $@
+
+$(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 := \
+ $(intermediates)
+
+LOCAL_SHARED_LIBRARIES := libdrm_intel
+
+include $(MESA_COMMON_MK)
+include $(BUILD_STATIC_LIBRARY)
+
+ANV_INCLUDES := \
+ $(VULKAN_COMMON_INCLUDES) \
+ $(call generated-sources-dir-for,STATIC_LIBRARIES,libmesa_anv_entrypoints,,) \
+ $(call generated-sources-dir-for,STATIC_LIBRARIES,libmesa_nir,,)/nir \
+ $(call generated-sources-dir-for,STATIC_LIBRARIES,libmesa_vulkan_util,,)/util
+
+#
+# libanv for gen7
+#
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := libmesa_anv_gen7
+LOCAL_MODULE_CLASS := STATIC_LIBRARIES
+
+LOCAL_SRC_FILES := $(VULKAN_GEN7_FILES)
+LOCAL_CFLAGS := -DGEN_VERSIONx10=70
+
+LOCAL_C_INCLUDES := $(ANV_INCLUDES)
+
+LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_anv_entrypoints libmesa_genxml
+
+LOCAL_SHARED_LIBRARIES := libdrm_intel
+
+include $(MESA_COMMON_MK)
+include $(BUILD_STATIC_LIBRARY)
+
+#
+# libanv for gen75
+#
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := libmesa_anv_gen75
+LOCAL_MODULE_CLASS := STATIC_LIBRARIES
+
+LOCAL_SRC_FILES := $(VULKAN_GEN75_FILES)
+LOCAL_CFLAGS := -DGEN_VERSIONx10=75
+
+LOCAL_C_INCLUDES := $(ANV_INCLUDES)
+
+LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_anv_entrypoints libmesa_genxml
+
+LOCAL_SHARED_LIBRARIES := libdrm_intel
+
+include $(MESA_COMMON_MK)
+include $(BUILD_STATIC_LIBRARY)
+
+#
+# libanv for gen8
+#
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := libmesa_anv_gen8
+LOCAL_MODULE_CLASS := STATIC_LIBRARIES
+
+LOCAL_SRC_FILES := $(VULKAN_GEN8_FILES)
+LOCAL_CFLAGS := -DGEN_VERSIONx10=80
+
+LOCAL_C_INCLUDES := $(ANV_INCLUDES)
+
+LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_anv_entrypoints libmesa_genxml
+
+LOCAL_SHARED_LIBRARIES := libdrm_intel
+
+include $(MESA_COMMON_MK)
+include $(BUILD_STATIC_LIBRARY)
+
+#
+# libanv for gen9
+#
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := libmesa_anv_gen9
+LOCAL_MODULE_CLASS := STATIC_LIBRARIES
+
+LOCAL_SRC_FILES := $(VULKAN_GEN9_FILES)
+LOCAL_CFLAGS := -DGEN_VERSIONx10=90
+
+LOCAL_C_INCLUDES := $(ANV_INCLUDES)
+
+LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_anv_entrypoints libmesa_genxml
+
+LOCAL_SHARED_LIBRARIES := libdrm_intel
+
+include $(MESA_COMMON_MK)
+include $(BUILD_STATIC_LIBRARY)
+
+#
+# libmesa_vulkan_common
+#
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := libmesa_vulkan_common
+LOCAL_MODULE_CLASS := STATIC_LIBRARIES
+
+intermediates := $(call local-generated-sources-dir)
+
+LOCAL_SRC_FILES := $(VULKAN_FILES)
+
+LOCAL_C_INCLUDES := \
+ $(ANV_INCLUDES) \
+ $(MESA_TOP)/src/compiler
+
+LOCAL_WHOLE_STATIC_LIBRARIES := \
+ libmesa_anv_entrypoints \
+ libmesa_genxml \
+ libmesa_vulkan_util
+
+LOCAL_GENERATED_SOURCES += $(intermediates)/vulkan/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
+
+include $(MESA_COMMON_MK)
+include $(BUILD_STATIC_LIBRARY)
+
+
+#
+# vulkan.mesa_intel
+#
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := vulkan.mesa_intel
+LOCAL_MODULE_CLASS := SHARED_LIBRARIES
+
+LOCAL_SRC_FILES := \
+ $(VULKAN_GEM_FILES)
+
+LOCAL_C_INCLUDES := \
+ $(VULKAN_COMMON_INCLUDES) \
+ $(call generated-sources-dir-for,STATIC_LIBRARIES,libmesa_anv_entrypoints,,)
+
+LOCAL_EXPORT_C_INCLUDE_DIRS := $(MESA_TOP)/src/intel/vulkan
+
+LOCAL_WHOLE_STATIC_LIBRARIES := \
+ libmesa_nir \
+ libmesa_isl \
+ libmesa_glsl \
+ libmesa_util \
+ libmesa_blorp \
+ libmesa_compiler \
+ libmesa_intel_common \
+ libmesa_vulkan_common \
+ libmesa_anv_gen7 \
+ libmesa_anv_gen75 \
+ libmesa_anv_gen8 \
+ libmesa_anv_gen9 \
+ libmesa_intel_compiler \
+ libmesa_anv_entrypoints
+
+LOCAL_SHARED_LIBRARIES := \
+ libdrm_intel
+
+include $(MESA_COMMON_MK)
+include $(BUILD_SHARED_LIBRARY)
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 =
include Makefile.isl.am
include Makefile.tools.am
+include Makefile.vulkan.am
+
CLEANFILES += $(BUILT_SOURCES)
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)
--- /dev/null
+# 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
+++ /dev/null
-# Copyright © 2017 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 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.
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-include $(LOCAL_PATH)/Makefile.sources
-
-VK_ENTRYPOINTS_SCRIPT := $(MESA_PYTHON2) $(LOCAL_PATH)/anv_entrypoints_gen.py
-
-VULKAN_COMMON_INCLUDES := \
- $(MESA_TOP)/include/vulkan \
- $(MESA_TOP)/src/mapi \
- $(MESA_TOP)/src/gallium/auxiliary \
- $(MESA_TOP)/src/gallium/include \
- $(MESA_TOP)/src/mesa \
- $(MESA_TOP)/src/vulkan/wsi \
- $(MESA_TOP)/src/intel \
- $(MESA_TOP)/src/intel/vulkan
-
-# libmesa_anv_entrypoints with header and dummy.c
-#
-# This static library is built to pull entrypoints header
-# for multiple gen specific build targets below. The c file
-# is generated separately for libmesa_vulkan_common to avoid
-# duplicate symbols when linking the anv libraries.
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := libmesa_anv_entrypoints
-LOCAL_MODULE_CLASS := STATIC_LIBRARIES
-
-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
-
-$(intermediates)/dummy.c:
- @mkdir -p $(dir $@)
- @echo "Gen Dummy: $(PRIVATE_MODULE) <= $(notdir $(@))"
- $(hide) touch $@
-
-$(intermediates)/anv_entrypoints.h:
- $(hide) cat $(MESA_TOP)/src/vulkan/registry/vk.xml | $(VK_ENTRYPOINTS_SCRIPT) header > $@
-
-LOCAL_EXPORT_C_INCLUDE_DIRS := \
- $(intermediates)
-
-LOCAL_SHARED_LIBRARIES := libdrm_intel
-
-include $(MESA_COMMON_MK)
-include $(BUILD_STATIC_LIBRARY)
-
-ANV_INCLUDES := \
- $(VULKAN_COMMON_INCLUDES) \
- $(call generated-sources-dir-for,STATIC_LIBRARIES,libmesa_anv_entrypoints,,) \
- $(call generated-sources-dir-for,STATIC_LIBRARIES,libmesa_nir,,)/nir \
- $(call generated-sources-dir-for,STATIC_LIBRARIES,libmesa_vulkan_util,,)/util
-
-#
-# libanv for gen7
-#
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := libmesa_anv_gen7
-LOCAL_MODULE_CLASS := STATIC_LIBRARIES
-
-LOCAL_SRC_FILES := $(GEN7_FILES)
-LOCAL_CFLAGS := -DGEN_VERSIONx10=70
-
-LOCAL_C_INCLUDES := $(ANV_INCLUDES)
-
-LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_anv_entrypoints libmesa_genxml
-
-LOCAL_SHARED_LIBRARIES := libdrm_intel
-
-include $(MESA_COMMON_MK)
-include $(BUILD_STATIC_LIBRARY)
-
-#
-# libanv for gen75
-#
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := libmesa_anv_gen75
-LOCAL_MODULE_CLASS := STATIC_LIBRARIES
-
-LOCAL_SRC_FILES := $(GEN75_FILES)
-LOCAL_CFLAGS := -DGEN_VERSIONx10=75
-
-LOCAL_C_INCLUDES := $(ANV_INCLUDES)
-
-LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_anv_entrypoints libmesa_genxml
-
-LOCAL_SHARED_LIBRARIES := libdrm_intel
-
-include $(MESA_COMMON_MK)
-include $(BUILD_STATIC_LIBRARY)
-
-#
-# libanv for gen8
-#
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := libmesa_anv_gen8
-LOCAL_MODULE_CLASS := STATIC_LIBRARIES
-
-LOCAL_SRC_FILES := $(GEN8_FILES)
-LOCAL_CFLAGS := -DGEN_VERSIONx10=80
-
-LOCAL_C_INCLUDES := $(ANV_INCLUDES)
-
-LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_anv_entrypoints libmesa_genxml
-
-LOCAL_SHARED_LIBRARIES := libdrm_intel
-
-include $(MESA_COMMON_MK)
-include $(BUILD_STATIC_LIBRARY)
-
-#
-# libanv for gen9
-#
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := libmesa_anv_gen9
-LOCAL_MODULE_CLASS := STATIC_LIBRARIES
-
-LOCAL_SRC_FILES := $(GEN9_FILES)
-LOCAL_CFLAGS := -DGEN_VERSIONx10=90
-
-LOCAL_C_INCLUDES := $(ANV_INCLUDES)
-
-LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_anv_entrypoints libmesa_genxml
-
-LOCAL_SHARED_LIBRARIES := libdrm_intel
-
-include $(MESA_COMMON_MK)
-include $(BUILD_STATIC_LIBRARY)
-
-#
-# libmesa_vulkan_common
-#
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := libmesa_vulkan_common
-LOCAL_MODULE_CLASS := STATIC_LIBRARIES
-
-intermediates := $(call local-generated-sources-dir)
-
-LOCAL_SRC_FILES := $(VULKAN_FILES)
-
-LOCAL_C_INCLUDES := \
- $(ANV_INCLUDES) \
- $(MESA_TOP)/src/compiler
-
-LOCAL_WHOLE_STATIC_LIBRARIES := \
- libmesa_anv_entrypoints \
- libmesa_genxml \
- libmesa_vulkan_util
-
-LOCAL_GENERATED_SOURCES += $(intermediates)/anv_entrypoints.c
-
-$(intermediates)/anv_entrypoints.c:
- $(hide) cat $(MESA_TOP)/src/vulkan/registry/vk.xml | $(VK_ENTRYPOINTS_SCRIPT) code > $@
-
-LOCAL_SHARED_LIBRARIES := libdrm_intel
-
-include $(MESA_COMMON_MK)
-include $(BUILD_STATIC_LIBRARY)
-
-
-#
-# vulkan.mesa_intel
-#
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := vulkan.mesa_intel
-LOCAL_MODULE_CLASS := SHARED_LIBRARIES
-
-LOCAL_SRC_FILES := \
- $(VULKAN_GEM_FILES)
-
-LOCAL_C_INCLUDES := \
- $(VULKAN_COMMON_INCLUDES) \
- $(call generated-sources-dir-for,STATIC_LIBRARIES,libmesa_anv_entrypoints,,)
-
-LOCAL_EXPORT_C_INCLUDE_DIRS := $(MESA_TOP)/src/intel/vulkan
-
-LOCAL_WHOLE_STATIC_LIBRARIES := \
- libmesa_nir \
- libmesa_isl \
- libmesa_glsl \
- libmesa_util \
- libmesa_blorp \
- libmesa_compiler \
- libmesa_intel_common \
- libmesa_vulkan_common \
- libmesa_anv_gen7 \
- libmesa_anv_gen75 \
- libmesa_anv_gen8 \
- libmesa_anv_gen9 \
- libmesa_intel_compiler \
- libmesa_anv_entrypoints
-
-LOCAL_SHARED_LIBRARIES := \
- libdrm_intel
-
-include $(MESA_COMMON_MK)
-include $(BUILD_SHARED_LIBRARY)
+++ /dev/null
-# 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)
+++ /dev/null
-# 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)