OSDN Git Service

anv/meta: Implement vkCmdResolveImage
[android-x86/external-mesa.git] / src / vulkan / Makefile.am
1 # Copyright © 2015 Intel Corporation
2 #
3 # Permission is hereby granted, free of charge, to any person obtaining a
4 # copy of this software and associated documentation files (the "Software"),
5 # to deal in the Software without restriction, including without limitation
6 # the rights to use, copy, modify, merge, publish, distribute, sublicense,
7 # and/or sell copies of the Software, and to permit persons to whom the
8 # Software is furnished to do so, subject to the following conditions:
9 #
10 # The above copyright notice and this permission notice (including the next
11 # paragraph) shall be included in all copies or substantial portions of the
12 # Software.
13 #
14 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
17 # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
20 # IN THE SOFTWARE.
21
22 SUBDIRS = . tests
23
24 vulkan_includedir = $(includedir)/vulkan
25
26 vulkan_include_HEADERS =                                \
27         $(top_srcdir)/include/vulkan/vk_platform.h      \
28         $(top_srcdir)/include/vulkan/vulkan.h           \
29         $(top_srcdir)/include/vulkan/vulkan_intel.h
30
31 # Used when generating entrypoints to filter out unwanted extensions
32 VULKAN_ENTRYPOINT_CPPFLAGS = \
33    -I$(top_srcdir)/include/vulkan \
34    -DVK_USE_PLATFORM_XCB_KHR \
35    -DVK_USE_PLATFORM_WAYLAND_KHR
36
37 lib_LTLIBRARIES = libvulkan.la
38
39 check_LTLIBRARIES = libvulkan-test.la
40
41 PER_GEN_LIBS = \
42    libanv-gen7.la \
43    libanv-gen75.la \
44    libanv-gen8.la \
45    libanv-gen9.la
46
47 noinst_LTLIBRARIES = $(PER_GEN_LIBS)
48
49 # The gallium includes are for the util/u_math.h include from main/macros.h
50
51 AM_CPPFLAGS = \
52         $(INTEL_CFLAGS) \
53         $(VALGRIND_CFLAGS) \
54         $(DEFINES) \
55         -I$(top_srcdir)/include \
56         -I$(top_srcdir)/src \
57         -I$(top_srcdir)/src/glsl/nir \
58         -I$(top_srcdir)/src/mapi \
59         -I$(top_srcdir)/src/mesa \
60         -I$(top_srcdir)/src/mesa/drivers/dri/common \
61         -I$(top_srcdir)/src/mesa/drivers/dri/i965 \
62         -I$(top_srcdir)/src/gallium/auxiliary \
63         -I$(top_srcdir)/src/gallium/include \
64         -I$(top_srcdir)/src/isl/ \
65         -I$(top_builddir)/src \
66         -I$(top_builddir)/src/glsl/nir \
67         -I$(top_builddir)/src/vulkan
68
69 libvulkan_la_CFLAGS = $(CFLAGS) -Wno-override-init
70
71 VULKAN_SOURCES =                                        \
72         anv_allocator.c                                 \
73         anv_cmd_buffer.c                                \
74         anv_batch_chain.c                               \
75         anv_descriptor_set.c                            \
76         anv_device.c                                    \
77         anv_dump.c                                      \
78         anv_entrypoints.c                               \
79         anv_entrypoints.h                               \
80         anv_formats.c                                   \
81         anv_image.c                                     \
82         anv_intel.c                                     \
83         anv_meta.c                                      \
84         anv_meta_clear.c                                \
85         anv_meta_resolve.c                              \
86         anv_nir_apply_dynamic_offsets.c                 \
87         anv_nir_apply_pipeline_layout.c                 \
88         anv_nir_lower_push_constants.c                  \
89         anv_pass.c                                      \
90         anv_pipeline.c                                  \
91         anv_private.h                                   \
92         anv_query.c                                     \
93         anv_util.c                                      \
94         anv_wsi.c                                       \
95         anv_wsi_x11.c
96
97 BUILT_SOURCES =                                         \
98         anv_entrypoints.h                               \
99         anv_entrypoints.c
100
101 libanv_gen7_la_SOURCES =                                \
102         genX_cmd_buffer.c                               \
103         gen7_cmd_buffer.c                               \
104         gen7_pipeline.c                                 \
105         gen7_state.c
106 libanv_gen7_la_CFLAGS = $(libvulkan_la_CFLAGS) -DANV_GENx10=70
107
108 libanv_gen75_la_SOURCES =                               \
109         genX_cmd_buffer.c                               \
110         gen7_cmd_buffer.c                               \
111         gen7_pipeline.c                                 \
112         gen7_state.c
113 libanv_gen75_la_CFLAGS = $(libvulkan_la_CFLAGS) -DANV_GENx10=75
114
115 libanv_gen8_la_SOURCES =                                \
116         genX_cmd_buffer.c                               \
117         gen8_cmd_buffer.c                               \
118         gen8_pipeline.c                                 \
119         gen8_state.c
120 libanv_gen8_la_CFLAGS = $(libvulkan_la_CFLAGS) -DANV_GENx10=80
121
122 libanv_gen9_la_SOURCES =                                \
123         genX_cmd_buffer.c                               \
124         gen8_cmd_buffer.c                               \
125         gen8_pipeline.c                                 \
126         gen8_state.c
127 libanv_gen9_la_CFLAGS = $(libvulkan_la_CFLAGS) -DANV_GENx10=90
128
129 if HAVE_EGL_PLATFORM_WAYLAND
130 BUILT_SOURCES += \
131         wayland-drm-protocol.c \
132         wayland-drm-client-protocol.h
133
134 %-protocol.c : $(top_srcdir)/src/egl/wayland/wayland-drm/%.xml
135         $(AM_V_GEN)$(WAYLAND_SCANNER) code < $< > $@
136
137 %-client-protocol.h : $(top_srcdir)/src/egl/wayland/wayland-drm/%.xml
138         $(AM_V_GEN)$(WAYLAND_SCANNER) client-header < $< > $@
139
140 AM_CPPFLAGS += -I$(top_srcdir)/src/egl/wayland/wayland-drm
141 VULKAN_SOURCES += \
142         wayland-drm-protocol.c \
143         anv_wsi_wayland.c
144 libvulkan_la_CFLAGS += -DHAVE_WAYLAND_PLATFORM
145 endif
146
147 libvulkan_la_SOURCES =                                  \
148         $(VULKAN_SOURCES)                               \
149         anv_gem.c
150
151 anv_entrypoints.h : anv_entrypoints_gen.py $(vulkan_include_HEADERS)
152         $(AM_V_GEN) cat $(vulkan_include_HEADERS) | $(CPP) $(VULKAN_ENTRYPOINT_CPPFLAGS) - | $(PYTHON2) $< header > $@
153
154 anv_entrypoints.c : anv_entrypoints_gen.py $(vulkan_include_HEADERS)
155         $(AM_V_GEN) cat $(vulkan_include_HEADERS) | $(CPP) $(VULKAN_ENTRYPOINT_CPPFLAGS) - | $(PYTHON2) $< code > $@
156
157 CLEANFILES = $(BUILT_SOURCES)
158
159 libvulkan_la_LIBADD = $(WAYLAND_LIBS) -lxcb -lxcb-dri3 \
160         $(top_builddir)/src/isl/libisl.la \
161         $(top_builddir)/src/mesa/drivers/dri/i965/libi965_compiler.la \
162         ../mesa/libmesa.la \
163         ../mesa/drivers/dri/common/libdri_test_stubs.la \
164         -lpthread -ldl -lstdc++ \
165         $(PER_GEN_LIBS)
166
167 # Libvulkan with dummy gem. Used for unit tests.
168
169 libvulkan_test_la_SOURCES =                             \
170         $(VULKAN_SOURCES)                               \
171         anv_gem_stubs.c
172
173 libvulkan_test_la_CFLAGS = $(libvulkan_la_CFLAGS)
174 libvulkan_test_la_LIBADD = $(libvulkan_la_LIBADD)
175
176 include $(top_srcdir)/install-lib-links.mk