i965: extract performance query metrics
[mesa.git] / src / mesa / drivers / dri / i965 / Android.mk
1 #
2 # Copyright (C) 2011 Intel Corporation
3 # Copyright (C) 2010-2011 Chia-I Wu <olvaffe@gmail.com>
4 # Copyright (C) 2010-2011 LunarG
5 #
6 # Permission is hereby granted, free of charge, to any person obtaining a
7 # copy of this software and associated documentation files (the "Software"),
8 # to deal in the Software without restriction, including without limitation
9 # the rights to use, copy, modify, merge, publish, distribute, sublicense,
10 # and/or sell copies of the Software, and to permit persons to whom the
11 # Software is furnished to do so, subject to the following conditions:
12 #
13 # The above copyright notice and this permission notice shall be included
14 # in all copies or substantial portions of the Software.
15 #
16 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19 # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22 # DEALINGS IN THE SOFTWARE.
23 #
24
25 LOCAL_PATH := $(call my-dir)
26
27 # Import variables i965_FILES.
28 include $(LOCAL_PATH)/Makefile.sources
29
30 I965_PERGEN_COMMON_INCLUDES := \
31 $(MESA_DRI_C_INCLUDES) \
32 $(MESA_TOP)/src/intel \
33 $(MESA_TOP)/include
34
35 I965_PERGEN_SHARED_LIBRARIES := \
36 $(MESA_DRI_SHARED_LIBRARIES)
37
38 I965_PERGEN_STATIC_LIBRARIES := \
39 libmesa_genxml \
40 libmesa_nir
41
42 I965_PERGEN_LIBS := \
43 libmesa_i965_gen4 \
44 libmesa_i965_gen45 \
45 libmesa_i965_gen5 \
46 libmesa_i965_gen6 \
47 libmesa_i965_gen7 \
48 libmesa_i965_gen75 \
49 libmesa_i965_gen8 \
50 libmesa_i965_gen9 \
51 libmesa_i965_gen10 \
52 libmesa_i965_gen11
53
54 # ---------------------------------------
55 # Build libmesa_i965_gen4
56 # ---------------------------------------
57
58 include $(CLEAR_VARS)
59
60 LOCAL_MODULE := libmesa_i965_gen4
61
62 LOCAL_C_INCLUDES := $(I965_PERGEN_COMMON_INCLUDES)
63
64 LOCAL_SRC_FILES := $(i965_gen4_FILES)
65
66 LOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
67
68 LOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
69
70 LOCAL_CFLAGS := -DGEN_VERSIONx10=40
71
72 include $(MESA_COMMON_MK)
73 include $(BUILD_STATIC_LIBRARY)
74
75 # ---------------------------------------
76 # Build libmesa_i965_gen45
77 # ---------------------------------------
78
79 include $(CLEAR_VARS)
80
81 LOCAL_MODULE := libmesa_i965_gen45
82
83 LOCAL_C_INCLUDES := $(I965_PERGEN_COMMON_INCLUDES)
84
85 LOCAL_SRC_FILES := $(i965_gen45_FILES)
86
87 LOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
88
89 LOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
90
91 LOCAL_CFLAGS := -DGEN_VERSIONx10=45
92
93 include $(MESA_COMMON_MK)
94 include $(BUILD_STATIC_LIBRARY)
95
96 # ---------------------------------------
97 # Build libmesa_i965_gen5
98 # ---------------------------------------
99
100 include $(CLEAR_VARS)
101
102 LOCAL_MODULE := libmesa_i965_gen5
103
104 LOCAL_C_INCLUDES := $(I965_PERGEN_COMMON_INCLUDES)
105
106 LOCAL_SRC_FILES := $(i965_gen5_FILES)
107
108 LOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
109
110 LOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
111
112 LOCAL_CFLAGS := -DGEN_VERSIONx10=50
113
114 include $(MESA_COMMON_MK)
115 include $(BUILD_STATIC_LIBRARY)
116
117 # ---------------------------------------
118 # Build libmesa_i965_gen6
119 # ---------------------------------------
120
121 include $(CLEAR_VARS)
122
123 LOCAL_MODULE := libmesa_i965_gen6
124
125 LOCAL_C_INCLUDES := $(I965_PERGEN_COMMON_INCLUDES)
126
127 LOCAL_SRC_FILES := $(i965_gen6_FILES)
128
129 LOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
130
131 LOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
132
133 LOCAL_CFLAGS := -DGEN_VERSIONx10=60
134
135 include $(MESA_COMMON_MK)
136 include $(BUILD_STATIC_LIBRARY)
137
138 # ---------------------------------------
139 # Build libmesa_i965_gen7
140 # ---------------------------------------
141
142 include $(CLEAR_VARS)
143
144 LOCAL_MODULE := libmesa_i965_gen7
145
146 LOCAL_C_INCLUDES := $(I965_PERGEN_COMMON_INCLUDES)
147
148 LOCAL_SRC_FILES := $(i965_gen7_FILES)
149
150 LOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
151
152 LOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
153
154 LOCAL_CFLAGS := -DGEN_VERSIONx10=70
155
156 include $(MESA_COMMON_MK)
157 include $(BUILD_STATIC_LIBRARY)
158
159 # ---------------------------------------
160 # Build libmesa_i965_gen75
161 # ---------------------------------------
162
163 include $(CLEAR_VARS)
164
165 LOCAL_MODULE := libmesa_i965_gen75
166
167 LOCAL_C_INCLUDES := $(I965_PERGEN_COMMON_INCLUDES)
168
169 LOCAL_SRC_FILES := $(i965_gen75_FILES)
170
171 LOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
172
173 LOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
174
175 LOCAL_CFLAGS := -DGEN_VERSIONx10=75
176
177 include $(MESA_COMMON_MK)
178 include $(BUILD_STATIC_LIBRARY)
179
180 # ---------------------------------------
181 # Build libmesa_i965_gen8
182 # ---------------------------------------
183
184 include $(CLEAR_VARS)
185
186 LOCAL_MODULE := libmesa_i965_gen8
187
188 LOCAL_C_INCLUDES := $(I965_PERGEN_COMMON_INCLUDES)
189
190 LOCAL_SRC_FILES := $(i965_gen8_FILES)
191
192 LOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
193
194 LOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
195
196 LOCAL_CFLAGS := -DGEN_VERSIONx10=80
197
198 include $(MESA_COMMON_MK)
199 include $(BUILD_STATIC_LIBRARY)
200
201 # ---------------------------------------
202 # Build libmesa_i965_gen9
203 # ---------------------------------------
204
205 include $(CLEAR_VARS)
206
207 LOCAL_MODULE := libmesa_i965_gen9
208
209 LOCAL_C_INCLUDES := $(I965_PERGEN_COMMON_INCLUDES)
210
211 LOCAL_SRC_FILES := $(i965_gen9_FILES)
212
213 LOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
214
215 LOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
216
217 LOCAL_CFLAGS := -DGEN_VERSIONx10=90
218
219 include $(MESA_COMMON_MK)
220 include $(BUILD_STATIC_LIBRARY)
221
222 # ---------------------------------------
223 # Build libmesa_i965_gen10
224 # ---------------------------------------
225
226 include $(CLEAR_VARS)
227
228 LOCAL_MODULE := libmesa_i965_gen10
229
230 LOCAL_C_INCLUDES := $(I965_PERGEN_COMMON_INCLUDES)
231
232 LOCAL_SRC_FILES := $(i965_gen10_FILES)
233
234 LOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
235
236 LOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
237
238 LOCAL_CFLAGS := -DGEN_VERSIONx10=100
239
240 include $(MESA_COMMON_MK)
241 include $(BUILD_STATIC_LIBRARY)
242
243 # ---------------------------------------
244 # Build libmesa_i965_gen11
245 # ---------------------------------------
246
247 include $(CLEAR_VARS)
248
249 LOCAL_MODULE := libmesa_i965_gen11
250
251 LOCAL_C_INCLUDES := $(I965_PERGEN_COMMON_INCLUDES)
252
253 LOCAL_SRC_FILES := $(i965_gen11_FILES)
254
255 LOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
256
257 LOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
258
259 LOCAL_CFLAGS := -DGEN_VERSIONx10=110
260
261 include $(MESA_COMMON_MK)
262 include $(BUILD_STATIC_LIBRARY)
263
264 # ---------------------------------------
265 # Build i965_dri
266 # ---------------------------------------
267
268 include $(CLEAR_VARS)
269
270 LOCAL_MODULE := i965_dri
271 LOCAL_MODULE_RELATIVE_PATH := $(MESA_DRI_MODULE_REL_PATH)
272 LOCAL_LDFLAGS += $(MESA_DRI_LDFLAGS)
273
274 LOCAL_CFLAGS := \
275 $(MESA_DRI_CFLAGS)
276
277 LOCAL_C_INCLUDES := \
278 $(MESA_DRI_C_INCLUDES) \
279 $(call generated-sources-dir-for,STATIC_LIBRARIES,libmesa_glsl,,) \
280 $(MESA_TOP)/include
281
282 LOCAL_SRC_FILES := \
283 $(i965_FILES)
284
285 LOCAL_WHOLE_STATIC_LIBRARIES := \
286 $(MESA_DRI_WHOLE_STATIC_LIBRARIES) \
287 $(I965_PERGEN_LIBS) \
288 libmesa_intel_dev \
289 libmesa_intel_common \
290 libmesa_isl \
291 libmesa_blorp \
292 libmesa_intel_compiler \
293 libmesa_intel_perf
294
295 ifeq ($(ARCH_X86_HAVE_SSE4_1),true)
296 LOCAL_CFLAGS += \
297 -DUSE_SSE41
298 endif
299
300 LOCAL_SHARED_LIBRARIES := \
301 $(MESA_DRI_SHARED_LIBRARIES)
302
303 LOCAL_GENERATED_SOURCES := \
304 $(MESA_DRI_OPTIONS_H) \
305 $(MESA_GEN_NIR_H)
306
307 LOCAL_MODULE_CLASS := SHARED_LIBRARIES
308
309 intermediates := $(call local-generated-sources-dir)
310
311 LOCAL_GENERATED_SOURCES += $(addprefix $(intermediates)/, \
312 $(i965_oa_GENERATED_FILES))
313
314 i965_oa_xml_FILES := $(addprefix $(MESA_TOP)/src/mesa/drivers/dri/i965/, \
315 $(i965_oa_xml_FILES))
316
317 $(intermediates)/brw_oa_metrics.c: $(LOCAL_PATH)/brw_oa.py $(i965_oa_xml_FILES)
318 @echo "target Generated: $(PRIVATE_MODULE) <= $(notdir $(@))"
319 @mkdir -p $(dir $@)
320 $(hide) $(MESA_PYTHON2) $< \
321 --code=$@ \
322 --header=$(call generated-sources-dir-for,SHARED_LIBRARIES,i965_dri,,)/brw_oa_metrics.h \
323 $(i965_oa_xml_FILES)
324
325 $(intermediates)/brw_oa_metrics.h: $(intermediates)/brw_oa_metrics.c
326
327 include $(MESA_COMMON_MK)
328 include $(BUILD_SHARED_LIBRARY)