-# 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.
-
-SUBDIRS = . tests
+include Makefile.sources
-vulkan_includedir = $(includedir)/vulkan
+noinst_LTLIBRARIES = libvulkan_wsi.la libvulkan_util.la
-vulkan_include_HEADERS = \
- $(top_srcdir)/include/vulkan/vk_platform.h \
- $(top_srcdir)/include/vulkan/vulkan.h \
- $(top_srcdir)/include/vulkan/vulkan_intel.h \
- $(top_srcdir)/include/vulkan/vk_ext_khr_swapchain.h \
- $(top_srcdir)/include/vulkan/vk_ext_khr_device_swapchain.h
+vulkan_includedir = $(includedir)/vulkan
+vulkan_api_xml = $(top_srcdir)/src/vulkan/registry/vk.xml
-lib_LTLIBRARIES = libvulkan.la
+MKDIR_GEN = $(AM_V_at)$(MKDIR_P) $(@D)
+PYTHON_GEN = $(AM_V_GEN)$(PYTHON2) $(PYTHON_FLAGS)
-check_LTLIBRARIES = libvulkan-test.la
+EXTRA_DIST = \
+ util/gen_enum_to_str.py
-PER_GEN_LIBS = \
- libanv-gen7.la \
- libanv-gen75.la \
- libanv-gen8.la
+BUILT_SOURCES = \
+ util/vk_enum_to_str.c \
+ util/vk_enum_to_str.h
-noinst_LTLIBRARIES = $(PER_GEN_LIBS)
+util/vk_enum_to_str.c util/vk_enum_to_str.h: util/gen_enum_to_str.py $(vulkan_api_xml)
+ $(MKDIR_GEN)
+ $(PYTHON_GEN) $(srcdir)/util/gen_enum_to_str.py --outdir $(top_builddir)/src/vulkan/util
-# The gallium includes are for the util/u_math.h include from main/macros.h
+libvulkan_util_la_SOURCES = $(VULKAN_UTIL_FILES)
AM_CPPFLAGS = \
- $(INTEL_CFLAGS) \
- $(VALGRIND_CFLAGS) \
$(DEFINES) \
-I$(top_srcdir)/include \
-I$(top_srcdir)/src \
- -I$(top_srcdir)/src/glsl/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_builddir)/src/vulkan
-
-libvulkan_la_CFLAGS = \
- -Wall -Wno-unused-parameter -fvisibility=hidden -O0 -g \
- -Wstrict-prototypes -Wmissing-prototypes -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_clear.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_private.h \
- anv_query.c \
- anv_util.c \
- anv_wsi.c \
- anv_wsi_x11.c \
- gen8_state.c \
- gen8_cmd_buffer.c \
- gen8_pipeline.c \
- isl.c \
- isl_format_layout.c
-
-BUILT_SOURCES = \
- anv_entrypoints.h \
- anv_entrypoints.c \
- isl_format_layout.c
-
-libanv_gen7_la_SOURCES = \
- genX_cmd_buffer.c \
- gen7_cmd_buffer.c \
- gen7_pipeline.c \
- gen7_state.c
-libanv_gen7_la_CFLAGS = $(libvulkan_la_CFLAGS) -DANV_GENx10=70
-
-libanv_gen75_la_SOURCES = \
- genX_cmd_buffer.c \
- gen7_cmd_buffer.c \
- gen7_pipeline.c \
- gen7_state.c
-libanv_gen75_la_CFLAGS = $(libvulkan_la_CFLAGS) -DANV_GENx10=75
-
-libanv_gen8_la_SOURCES = \
- genX_cmd_buffer.c
-libanv_gen8_la_CFLAGS = $(libvulkan_la_CFLAGS) -DANV_GENx10=80
-
-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_la_CFLAGS += -DHAVE_WAYLAND_PLATFORM
-endif
+ -I$(top_srcdir)/src/gallium/include
-libvulkan_la_SOURCES = \
- $(VULKAN_SOURCES) \
- anv_gem.c
+AM_CFLAGS = \
+ $(LIBDRM_CFLAGS) \
+ $(VISIBILITY_CFLAGS)
-anv_entrypoints.h : anv_entrypoints_gen.py $(vulkan_include_HEADERS)
- $(AM_V_GEN)cat $(vulkan_include_HEADERS) | $(PYTHON2) $< header > $@
+VULKAN_LIB_DEPS =
-anv_entrypoints.c : anv_entrypoints_gen.py $(vulkan_include_HEADERS)
- $(AM_V_GEN)cat $(vulkan_include_HEADERS) | $(PYTHON2) $< code > $@
+VULKAN_WSI_SOURCES = \
+ $(VULKAN_WSI_FILES)
-isl_format_layout.c: isl_format_layout_gen.bash \
- isl_format_layout.csv
- $(AM_V_GEN)$(srcdir)/isl_format_layout_gen.bash \
- <$(srcdir)/isl_format_layout.csv >$@
+if HAVE_PLATFORM_X11
+AM_CPPFLAGS += \
+ $(XCB_DRI3_CFLAGS) \
+ -DVK_USE_PLATFORM_XCB_KHR \
+ -DVK_USE_PLATFORM_XLIB_KHR
-CLEANFILES = $(BUILT_SOURCES)
+VULKAN_WSI_SOURCES += $(VULKAN_WSI_X11_FILES)
-libvulkan_la_LIBADD = $(WAYLAND_LIBS) -lxcb -lxcb-dri3 \
- $(top_builddir)/src/mesa/drivers/dri/i965/libi965_compiler.la \
- ../mesa/libmesa.la \
- ../mesa/drivers/dri/common/libdri_test_stubs.la \
- -lpthread -ldl -lstdc++ \
- $(PER_GEN_LIBS)
+# FIXME: Use pkg-config for X11-xcb ldflags.
+VULKAN_LIB_DEPS += $(XCB_DRI3_LIBS) -lX11-xcb
+endif
-# Libvulkan with dummy gem. Used for unit tests.
+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
-libvulkan_test_la_SOURCES = \
- $(VULKAN_SOURCES) \
- anv_gem_stubs.c
+VULKAN_WSI_SOURCES += $(VULKAN_WSI_WAYLAND_FILES)
-libvulkan_test_la_CFLAGS = $(libvulkan_la_CFLAGS)
-libvulkan_test_la_LIBADD = $(libvulkan_la_LIBADD)
+VULKAN_LIB_DEPS += \
+ $(top_builddir)/src/egl/wayland/wayland-drm/libwayland-drm.la \
+ $(WAYLAND_LIBS)
+endif
-include $(top_srcdir)/install-lib-links.mk
+libvulkan_wsi_la_SOURCES = $(VULKAN_WSI_SOURCES)