mesa: fix fallthrough in glformats
[mesa.git] / src / mesa / meson.build
1 # Copyright © 2017 Intel Corporation
2
3 # Permission is hereby granted, free of charge, to any person obtaining a copy
4 # of this software and associated documentation files (the "Software"), to deal
5 # in the Software without restriction, including without limitation the rights
6 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 # copies of the Software, and to permit persons to whom the Software is
8 # furnished to do so, subject to the following conditions:
9
10 # The above copyright notice and this permission notice shall be included in
11 # all copies or substantial portions of the Software.
12
13 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19 # SOFTWARE.
20
21 subdir('program')
22 subdir('main')
23
24 # files shared between classic mesa and gallium mesa
25 files_libmesa_common = files(
26 'program/arbprogparse.c',
27 'program/arbprogparse.h',
28 'program/ir_to_mesa.cpp',
29 'program/ir_to_mesa.h',
30 'program/prog_cache.c',
31 'program/prog_cache.h',
32 'program/prog_execute.c',
33 'program/prog_execute.h',
34 'program/prog_instruction.c',
35 'program/prog_instruction.h',
36 'program/prog_noise.c',
37 'program/prog_noise.h',
38 'program/prog_opt_constant_fold.c',
39 'program/prog_optimize.c',
40 'program/prog_optimize.h',
41 'program/prog_parameter.c',
42 'program/prog_parameter.h',
43 'program/prog_parameter_layout.c',
44 'program/prog_parameter_layout.h',
45 'program/prog_print.c',
46 'program/prog_print.h',
47 'program/program.c',
48 'program/program.h',
49 'program/programopt.c',
50 'program/programopt.h',
51 'program/program_parse_extra.c',
52 'program/program_parser.h',
53 'program/prog_statevars.c',
54 'program/prog_statevars.h',
55 'program/symbol_table.c',
56 'program/symbol_table.h',
57 'program/prog_to_nir.c',
58 'program/prog_to_nir.h',
59 'main/accum.c',
60 'main/accum.h',
61 'main/api_arrayelt.c',
62 'main/api_arrayelt.h',
63 'main/api_exec.h',
64 'main/api_loopback.c',
65 'main/api_loopback.h',
66 'main/arbprogram.c',
67 'main/arbprogram.h',
68 'main/arrayobj.c',
69 'main/arrayobj.h',
70 'main/atifragshader.c',
71 'main/atifragshader.h',
72 'main/attrib.c',
73 'main/attrib.h',
74 'main/barrier.c',
75 'main/barrier.h',
76 'main/bbox.c',
77 'main/bbox.h',
78 'main/blend.c',
79 'main/blend.h',
80 'main/blit.c',
81 'main/blit.h',
82 'main/bufferobj.c',
83 'main/bufferobj.h',
84 'main/buffers.c',
85 'main/buffers.h',
86 'main/clear.c',
87 'main/clear.h',
88 'main/clip.c',
89 'main/clip.h',
90 'main/colormac.h',
91 'main/colortab.c',
92 'main/colortab.h',
93 'main/compute.c',
94 'main/compute.h',
95 'main/condrender.c',
96 'main/condrender.h',
97 'main/config.h',
98 'main/conservativeraster.c',
99 'main/conservativeraster.h',
100 'main/context.c',
101 'main/context.h',
102 'main/convolve.c',
103 'main/convolve.h',
104 'main/copyimage.c',
105 'main/copyimage.h',
106 'main/cpuinfo.c',
107 'main/cpuinfo.h',
108 'main/dd.h',
109 'main/debug.c',
110 'main/debug.h',
111 'main/debug_output.c',
112 'main/debug_output.h',
113 'main/depth.c',
114 'main/depth.h',
115 'main/dlist.c',
116 'main/dlist.h',
117 'main/draw.c',
118 'main/draw.h',
119 'main/drawpix.c',
120 'main/drawpix.h',
121 'main/drawtex.c',
122 'main/drawtex.h',
123 'main/draw_validate.c',
124 'main/draw_validate.h',
125 'main/enable.c',
126 'main/enable.h',
127 'main/enums.h',
128 'main/errors.c',
129 'main/errors.h',
130 'main/eval.c',
131 'main/eval.h',
132 'main/execmem.c',
133 'main/extensions.c',
134 'main/extensions.h',
135 'main/extensions_table.c',
136 'main/extensions_table.h',
137 'main/externalobjects.c',
138 'main/externalobjects.h',
139 'main/fbobject.c',
140 'main/fbobject.h',
141 'main/feedback.c',
142 'main/feedback.h',
143 'main/ff_fragment_shader.cpp',
144 'main/ffvertex_prog.c',
145 'main/ffvertex_prog.h',
146 'main/fog.c',
147 'main/fog.h',
148 'main/format_pack.h',
149 'main/format_unpack.h',
150 'main/formatquery.c',
151 'main/formatquery.h',
152 'main/formats.c',
153 'main/formats.h',
154 'main/format_utils.c',
155 'main/format_utils.h',
156 'main/framebuffer.c',
157 'main/framebuffer.h',
158 'main/get.c',
159 'main/get.h',
160 'main/genmipmap.c',
161 'main/genmipmap.h',
162 'main/getstring.c',
163 'main/glformats.c',
164 'main/glformats.h',
165 'main/glspirv.c',
166 'main/glspirv.h',
167 'main/glthread.c',
168 'main/glthread.h',
169 'main/glthread_bufferobj.c',
170 'main/glthread_draw.c',
171 'main/glthread_marshal.h',
172 'main/glthread_shaderobj.c',
173 'main/glthread_varray.c',
174 'main/glheader.h',
175 'main/hash.c',
176 'main/hash.h',
177 'main/hint.c',
178 'main/hint.h',
179 'main/histogram.c',
180 'main/histogram.h',
181 'main/image.c',
182 'main/image.h',
183 'main/mesa_private.h',
184 'main/light.c',
185 'main/light.h',
186 'main/lines.c',
187 'main/lines.h',
188 'main/macros.h',
189 'main/matrix.c',
190 'main/matrix.h',
191 'main/mipmap.c',
192 'main/mipmap.h',
193 'main/menums.h',
194 'main/mtypes.h',
195 'main/multisample.c',
196 'main/multisample.h',
197 'main/objectlabel.c',
198 'main/objectlabel.h',
199 'main/objectpurge.c',
200 'main/objectpurge.h',
201 'main/pack.c',
202 'main/pack.h',
203 'main/pbo.c',
204 'main/pbo.h',
205 'main/performance_monitor.c',
206 'main/performance_monitor.h',
207 'main/performance_query.c',
208 'main/performance_query.h',
209 'main/pipelineobj.c',
210 'main/pipelineobj.h',
211 'main/pixel.c',
212 'main/pixel.h',
213 'main/pixelstore.c',
214 'main/pixelstore.h',
215 'main/pixeltransfer.c',
216 'main/pixeltransfer.h',
217 'main/points.c',
218 'main/points.h',
219 'main/polygon.c',
220 'main/polygon.h',
221 'main/program_binary.c',
222 'main/program_binary.h',
223 'main/program_resource.c',
224 'main/program_resource.h',
225 'main/querymatrix.c',
226 'main/querymatrix.h',
227 'main/queryobj.c',
228 'main/queryobj.h',
229 'main/rastpos.c',
230 'main/rastpos.h',
231 'main/readpix.c',
232 'main/readpix.h',
233 'main/remap.c',
234 'main/remap.h',
235 'main/renderbuffer.c',
236 'main/renderbuffer.h',
237 'main/robustness.c',
238 'main/samplerobj.c',
239 'main/samplerobj.h',
240 'main/scissor.c',
241 'main/scissor.h',
242 'main/shaderapi.c',
243 'main/shaderapi.h',
244 'main/shaderimage.c',
245 'main/shaderimage.h',
246 'main/shaderobj.c',
247 'main/shaderobj.h',
248 'main/shader_query.cpp',
249 'main/shared.c',
250 'main/shared.h',
251 'main/spirv_extensions.c',
252 'main/spirv_extensions.h',
253 'main/state.c',
254 'main/state.h',
255 'main/stencil.c',
256 'main/stencil.h',
257 'main/syncobj.c',
258 'main/syncobj.h',
259 'main/texcompress.c',
260 'main/texcompress_astc.cpp',
261 'main/texcompress_astc.h',
262 'main/texcompress_bptc.c',
263 'main/texcompress_bptc.h',
264 'main/texcompress_cpal.c',
265 'main/texcompress_cpal.h',
266 'main/texcompress_etc.c',
267 'main/texcompress_etc.h',
268 'main/texcompress_etc_tmp.h',
269 'main/texcompress_fxt1.c',
270 'main/texcompress_fxt1.h',
271 'main/texcompress.h',
272 'main/texcompress_rgtc.c',
273 'main/texcompress_rgtc.h',
274 'main/texcompress_s3tc.c',
275 'main/texcompress_s3tc.h',
276 'main/texenv.c',
277 'main/texenv.h',
278 'main/texenvprogram.h',
279 'main/texformat.c',
280 'main/texformat.h',
281 'main/texgen.c',
282 'main/texgen.h',
283 'main/texgetimage.c',
284 'main/texgetimage.h',
285 'main/teximage.c',
286 'main/teximage.h',
287 'main/texobj.c',
288 'main/texobj.h',
289 'main/texparam.c',
290 'main/texparam.h',
291 'main/texstate.c',
292 'main/texstate.h',
293 'main/texstorage.c',
294 'main/texstorage.h',
295 'main/texstore.c',
296 'main/texstore.h',
297 'main/texturebindless.c',
298 'main/texturebindless.h',
299 'main/textureview.c',
300 'main/textureview.h',
301 'main/transformfeedback.c',
302 'main/transformfeedback.h',
303 'main/uniform_query.cpp',
304 'main/uniforms.c',
305 'main/uniforms.h',
306 'main/varray.c',
307 'main/varray.h',
308 'main/vdpau.c',
309 'main/vdpau.h',
310 'main/version.c',
311 'main/version.h',
312 'main/viewport.c',
313 'main/viewport.h',
314 'main/vtxfmt.c',
315 'main/vtxfmt.h',
316 'main/es1_conversion.c',
317 'main/es1_conversion.h',
318 'math/m_debug.h',
319 'math/m_debug_clip.c',
320 'math/m_debug_norm.c',
321 'math/m_debug_util.h',
322 'math/m_debug_xform.c',
323 'math/m_eval.c',
324 'math/m_eval.h',
325 'math/m_matrix.c',
326 'math/m_matrix.h',
327 'math/m_trans_tmp.h',
328 'math/m_translate.c',
329 'math/m_translate.h',
330 'math/m_vector.c',
331 'math/m_vector.h',
332 'vbo/vbo_attrib.h',
333 'vbo/vbo_attrib_tmp.h',
334 'vbo/vbo_context.c',
335 'vbo/vbo_exec_api.c',
336 'vbo/vbo_exec.c',
337 'vbo/vbo_exec_draw.c',
338 'vbo/vbo_exec_eval.c',
339 'vbo/vbo_exec.h',
340 'vbo/vbo.h',
341 'vbo/vbo_init_tmp.h',
342 'vbo/vbo_minmax_index.c',
343 'vbo/vbo_noop.c',
344 'vbo/vbo_noop.h',
345 'vbo/vbo_primitive_restart.c',
346 'vbo/vbo_save_api.c',
347 'vbo/vbo_save.c',
348 'vbo/vbo_save_draw.c',
349 'vbo/vbo_save.h',
350 'vbo/vbo_save_loopback.c',
351 'vbo/vbo_util.h',
352 'x86/common_x86.c',
353 )
354
355 # mesa files
356 files_libmesa_classic = files(
357 'math/m_clip_tmp.h',
358 'math/m_copy_tmp.h',
359 'math/m_dotprod_tmp.h',
360 'math/m_norm_tmp.h',
361 'math/m_xform.c',
362 'math/m_xform.h',
363 'math/m_xform_tmp.h',
364 'tnl/t_context.c',
365 'tnl/t_context.h',
366 'tnl/t_draw.c',
367 'tnl/tnl.h',
368 'tnl/t_pipeline.c',
369 'tnl/t_pipeline.h',
370 'tnl/t_rebase.c',
371 'tnl/t_split.c',
372 'tnl/t_split_copy.c',
373 'tnl/t_split.h',
374 'tnl/t_split_inplace.c',
375 'tnl/t_vb_cliptmp.h',
376 'tnl/t_vb_fog.c',
377 'tnl/t_vb_light.c',
378 'tnl/t_vb_lighttmp.h',
379 'tnl/t_vb_normals.c',
380 'tnl/t_vb_points.c',
381 'tnl/t_vb_program.c',
382 'tnl/t_vb_render.c',
383 'tnl/t_vb_rendertmp.h',
384 'tnl/t_vb_texgen.c',
385 'tnl/t_vb_texmat.c',
386 'tnl/t_vb_vertex.c',
387 'tnl/t_vertex.c',
388 'tnl/t_vertex_generic.c',
389 'tnl/t_vertex.h',
390 'tnl/t_vertex_sse.c',
391 'tnl/t_vp_build.c',
392 'tnl/t_vp_build.h',
393 'swrast/s_aaline.c',
394 'swrast/s_aaline.h',
395 'swrast/s_aalinetemp.h',
396 'swrast/s_aatriangle.c',
397 'swrast/s_aatriangle.h',
398 'swrast/s_aatritemp.h',
399 'swrast/s_alpha.c',
400 'swrast/s_alpha.h',
401 'swrast/s_atifragshader.c',
402 'swrast/s_atifragshader.h',
403 'swrast/s_bitmap.c',
404 'swrast/s_blend.c',
405 'swrast/s_blend.h',
406 'swrast/s_blit.c',
407 'swrast/s_chan.h',
408 'swrast/s_clear.c',
409 'swrast/s_context.c',
410 'swrast/s_context.h',
411 'swrast/s_copypix.c',
412 'swrast/s_depth.c',
413 'swrast/s_depth.h',
414 'swrast/s_drawpix.c',
415 'swrast_setup/ss_tritmp.h',
416 'swrast_setup/ss_vb.h',
417 'swrast_setup/swrast_setup.h',
418 'swrast/s_feedback.c',
419 'swrast/s_feedback.h',
420 'swrast/s_fog.c',
421 'swrast/s_fog.h',
422 'swrast/s_fragprog.c',
423 'swrast/s_fragprog.h',
424 'swrast/s_lines.c',
425 'swrast/s_lines.h',
426 'swrast/s_linetemp.h',
427 'swrast/s_logic.c',
428 'swrast/s_logic.h',
429 'swrast/s_masking.c',
430 'swrast/s_masking.h',
431 'swrast/s_points.c',
432 'swrast/s_points.h',
433 'swrast/s_renderbuffer.c',
434 'swrast/s_renderbuffer.h',
435 'swrast/s_span.c',
436 'swrast/s_span.h',
437 'swrast/s_stencil.c',
438 'swrast/s_stencil.h',
439 'swrast/s_texcombine.c',
440 'swrast/s_texcombine.h',
441 'swrast/s_texfetch.c',
442 'swrast/s_texfetch.h',
443 'swrast/s_texfetch_tmp.h',
444 'swrast/s_texfilter.c',
445 'swrast/s_texfilter.h',
446 'swrast/s_texrender.c',
447 'swrast/s_texture.c',
448 'swrast/s_triangle.c',
449 'swrast/s_triangle.h',
450 'swrast/s_tritemp.h',
451 'swrast/swrast.h',
452 'swrast/s_zoom.c',
453 'swrast/s_zoom.h',
454 'swrast_setup/ss_context.c',
455 'swrast_setup/ss_context.h',
456 'swrast_setup/ss_triangle.c',
457 'swrast_setup/ss_triangle.h',
458 'drivers/common/driverfuncs.c',
459 'drivers/common/driverfuncs.h',
460 'drivers/common/meta_blit.c',
461 'drivers/common/meta_generate_mipmap.c',
462 'drivers/common/meta.c',
463 'drivers/common/meta.h',
464 'x86/x86_xform.c',
465 'x86/3dnow.c',
466 'x86/sse.c',
467 'x86/rtasm/x86sse.c',
468 'x86/rtasm/x86sse.h',
469 'sparc/sparc.c',
470 'x86-64/x86-64.c',
471 )
472
473 files_libmesa_gallium = files(
474 'state_tracker/st_atifs_to_tgsi.c',
475 'state_tracker/st_atifs_to_tgsi.h',
476 'state_tracker/st_atom_array.c',
477 'state_tracker/st_atom_atomicbuf.c',
478 'state_tracker/st_atom_blend.c',
479 'state_tracker/st_atom.c',
480 'state_tracker/st_atom_clip.c',
481 'state_tracker/st_atom_constbuf.c',
482 'state_tracker/st_atom_constbuf.h',
483 'state_tracker/st_atom_depth.c',
484 'state_tracker/st_atom_framebuffer.c',
485 'state_tracker/st_atom.h',
486 'state_tracker/st_atom_list.h',
487 'state_tracker/st_atom_image.c',
488 'state_tracker/st_atom_msaa.c',
489 'state_tracker/st_atom_pixeltransfer.c',
490 'state_tracker/st_atom_rasterizer.c',
491 'state_tracker/st_atom_sampler.c',
492 'state_tracker/st_atom_scissor.c',
493 'state_tracker/st_atom_shader.c',
494 'state_tracker/st_atom_stipple.c',
495 'state_tracker/st_atom_storagebuf.c',
496 'state_tracker/st_atom_tess.c',
497 'state_tracker/st_atom_texture.c',
498 'state_tracker/st_atom_viewport.c',
499 'state_tracker/st_cb_bitmap.c',
500 'state_tracker/st_cb_bitmap.h',
501 'state_tracker/st_cb_bitmap_shader.c',
502 'state_tracker/st_cb_blit.c',
503 'state_tracker/st_cb_blit.h',
504 'state_tracker/st_cb_bufferobjects.c',
505 'state_tracker/st_cb_bufferobjects.h',
506 'state_tracker/st_cb_clear.c',
507 'state_tracker/st_cb_clear.h',
508 'state_tracker/st_cb_compute.c',
509 'state_tracker/st_cb_compute.h',
510 'state_tracker/st_cb_condrender.c',
511 'state_tracker/st_cb_condrender.h',
512 'state_tracker/st_cb_copyimage.c',
513 'state_tracker/st_cb_copyimage.h',
514 'state_tracker/st_cb_drawpixels.c',
515 'state_tracker/st_cb_drawpixels.h',
516 'state_tracker/st_cb_drawpixels_shader.c',
517 'state_tracker/st_cb_drawtex.c',
518 'state_tracker/st_cb_drawtex.h',
519 'state_tracker/st_cb_eglimage.c',
520 'state_tracker/st_cb_eglimage.h',
521 'state_tracker/st_cb_fbo.c',
522 'state_tracker/st_cb_fbo.h',
523 'state_tracker/st_cb_feedback.c',
524 'state_tracker/st_cb_feedback.h',
525 'state_tracker/st_cb_flush.c',
526 'state_tracker/st_cb_flush.h',
527 'state_tracker/st_cb_memoryobjects.c',
528 'state_tracker/st_cb_memoryobjects.h',
529 'state_tracker/st_cb_msaa.c',
530 'state_tracker/st_cb_msaa.h',
531 'state_tracker/st_cb_perfmon.c',
532 'state_tracker/st_cb_perfmon.h',
533 'state_tracker/st_cb_perfquery.c',
534 'state_tracker/st_cb_perfquery.h',
535 'state_tracker/st_cb_program.c',
536 'state_tracker/st_cb_program.h',
537 'state_tracker/st_cb_queryobj.c',
538 'state_tracker/st_cb_queryobj.h',
539 'state_tracker/st_cb_rasterpos.c',
540 'state_tracker/st_cb_rasterpos.h',
541 'state_tracker/st_cb_readpixels.c',
542 'state_tracker/st_cb_readpixels.h',
543 'state_tracker/st_cb_strings.c',
544 'state_tracker/st_cb_strings.h',
545 'state_tracker/st_cb_semaphoreobjects.c',
546 'state_tracker/st_cb_semaphoreobjects.h',
547 'state_tracker/st_cb_syncobj.c',
548 'state_tracker/st_cb_syncobj.h',
549 'state_tracker/st_cb_texturebarrier.c',
550 'state_tracker/st_cb_texturebarrier.h',
551 'state_tracker/st_cb_texture.c',
552 'state_tracker/st_cb_texture.h',
553 'state_tracker/st_cb_viewport.c',
554 'state_tracker/st_cb_viewport.h',
555 'state_tracker/st_cb_xformfb.c',
556 'state_tracker/st_cb_xformfb.h',
557 'state_tracker/st_context.c',
558 'state_tracker/st_context.h',
559 'state_tracker/st_copytex.c',
560 'state_tracker/st_copytex.h',
561 'state_tracker/st_debug.c',
562 'state_tracker/st_debug.h',
563 'state_tracker/st_draw.c',
564 'state_tracker/st_draw_feedback.c',
565 'state_tracker/st_draw.h',
566 'state_tracker/st_extensions.c',
567 'state_tracker/st_extensions.h',
568 'state_tracker/st_format.c',
569 'state_tracker/st_format.h',
570 'state_tracker/st_gen_mipmap.c',
571 'state_tracker/st_gen_mipmap.h',
572 'state_tracker/st_gl_api.h',
573 'state_tracker/st_glsl_to_ir.cpp',
574 'state_tracker/st_glsl_to_ir.h',
575 'state_tracker/st_glsl_to_nir.cpp',
576 'state_tracker/st_glsl_to_tgsi.cpp',
577 'state_tracker/st_glsl_to_tgsi.h',
578 'state_tracker/st_glsl_to_tgsi_array_merge.cpp',
579 'state_tracker/st_glsl_to_tgsi_array_merge.h',
580 'state_tracker/st_glsl_to_tgsi_private.cpp',
581 'state_tracker/st_glsl_to_tgsi_private.h',
582 'state_tracker/st_glsl_to_tgsi_temprename.cpp',
583 'state_tracker/st_glsl_to_tgsi_temprename.h',
584 'state_tracker/st_manager.c',
585 'state_tracker/st_manager.h',
586 'state_tracker/st_mesa_to_tgsi.c',
587 'state_tracker/st_mesa_to_tgsi.h',
588 'state_tracker/st_nir.h',
589 'state_tracker/st_nir_builtins.c',
590 'state_tracker/st_nir_lower_builtin.c',
591 'state_tracker/st_nir_lower_tex_src_plane.c',
592 'state_tracker/st_pbo.c',
593 'state_tracker/st_pbo.h',
594 'state_tracker/st_program.c',
595 'state_tracker/st_program.h',
596 'state_tracker/st_sampler_view.c',
597 'state_tracker/st_sampler_view.h',
598 'state_tracker/st_scissor.c',
599 'state_tracker/st_scissor.h',
600 'state_tracker/st_shader_cache.c',
601 'state_tracker/st_shader_cache.h',
602 'state_tracker/st_texture.c',
603 'state_tracker/st_texture.h',
604 'state_tracker/st_tgsi_lower_depth_clamp.c',
605 'state_tracker/st_tgsi_lower_depth_clamp.h',
606 'state_tracker/st_tgsi_lower_yuv.c',
607 'state_tracker/st_tgsi_lower_yuv.h',
608 'state_tracker/st_util.h',
609 'state_tracker/st_vdpau.c',
610 'state_tracker/st_vdpau.h',
611 )
612
613 inc_libmesa_asm = []
614 if with_asm_arch == 'x86'
615 files_libmesa_common += files(
616 'x86/assyntax.h',
617 'x86/clip_args.h',
618 'x86/norm_args.h',
619 'x86/xform_args.h',
620 'x86/common_x86_asm.S',
621 'x86/common_x86_asm.h',
622 'x86/common_x86_features.h',
623 'x86/x86_xform.h',
624 'x86/x86_xform2.S',
625 'x86/x86_xform3.S',
626 'x86/x86_xform4.S',
627 'x86/x86_cliptest.S',
628 'x86/mmx.h',
629 'x86/mmx_blend.S',
630 'x86/mmx_blendtmp.h',
631 'x86/3dnow.h',
632 'x86/3dnow_xform1.S',
633 'x86/3dnow_xform2.S',
634 'x86/3dnow_xform3.S',
635 'x86/3dnow_xform4.S',
636 'x86/sse.h',
637 'x86/sse_xform1.S',
638 'x86/sse_xform2.S',
639 'x86/sse_xform3.S',
640 'x86/sse_xform4.S',
641 'x86/sse_normal.S',
642 'x86/read_rgba_span_x86.S',
643 )
644 inc_libmesa_asm = include_directories('x86')
645 elif with_asm_arch == 'x86_64'
646 files_libmesa_common += files('x86-64/x86-64.h', 'x86-64/xform4.S')
647 inc_libmesa_asm = include_directories('x86-64')
648 elif with_asm_arch == 'sparc'
649 files_libmesa_common += files(
650 'sparc/sparc_clip.S',
651 'sparc/norm.S',
652 'sparc/xform.S',
653 )
654 inc_libmesa_asm = include_directories('sparc')
655 endif
656
657 format_fallback_c = custom_target(
658 'format_fallback.c',
659 input : ['main/format_fallback.py', 'main/formats.csv'],
660 output : 'format_fallback.c',
661 command : [prog_python, '@INPUT0@', '@INPUT1@', '@OUTPUT@'],
662 depend_files : files('main/format_parser.py'),
663 )
664
665 get_hash_h = custom_target(
666 'get_hash.h',
667 input : ['main/get_hash_generator.py', gl_and_es_api_files],
668 output : 'get_hash.h',
669 command : [prog_python, '@INPUT0@', '-f', '@INPUT1@'],
670 depend_files : files('main/get_hash_params.py'),
671 capture : true,
672 )
673
674 foreach x : [['format_info.h', 'format_info.py'],
675 ['format_pack.c', 'format_pack.py'],
676 ['format_unpack.c', 'format_unpack.py']]
677 files_libmesa_common += custom_target(
678 x[0],
679 input : ['main/@0@'.format(x[1]), 'main/formats.csv'],
680 output : x[0],
681 command : [prog_python, '@INPUT0@', '@INPUT1@'],
682 depend_files : files('main/format_parser.py'),
683 capture : true,
684 )
685 endforeach
686
687 files_libmesa_common += [
688 mesa_lex,
689 program_parse_tab,
690 main_api_exec_c,
691 main_enums_c,
692 format_fallback_c,
693 get_hash_h,
694 main_marshal_generated_h,
695 main_dispatch_h,
696 ir_expression_operation_h,
697 main_remap_helper_h,
698 sha1_h,
699 ] + main_marshal_generated_c
700 files_libmesa_gallium += [
701 ir_expression_operation_h,
702 sha1_h,
703 ]
704
705 if with_sse41
706 libmesa_sse41 = static_library(
707 'mesa_sse41',
708 files('main/streaming-load-memcpy.c', 'main/sse_minmax.c'),
709 c_args : [c_msvc_compat_args, sse41_args],
710 include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux],
711 gnu_symbol_visibility : 'hidden',
712 )
713 else
714 libmesa_sse41 = []
715 endif
716
717 _mesa_windows_args = []
718 if with_platform_windows
719 _mesa_windows_args += [
720 '-D_GDI32_', # prevent gl* being declared __declspec(dllimport) in MS headers
721 '-DBUILD_GL32' # declare gl* as __declspec(dllexport) in Mesa headers
722 ]
723 if not with_shared_glapi
724 # prevent _glapi_* from being declared __declspec(dllimport)
725 _mesa_windows_args += '-D_GLAPI_NO_EXPORTS'
726 endif
727 endif
728
729 libmesa_common = static_library(
730 'mesa_common',
731 files_libmesa_common,
732 c_args : [c_msvc_compat_args, _mesa_windows_args],
733 cpp_args : [cpp_msvc_compat_args, _mesa_windows_args],
734 gnu_symbol_visibility : 'hidden',
735 include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux, inc_libmesa_asm, include_directories('main')],
736 dependencies : idep_nir_headers,
737 build_by_default : false,
738 )
739
740 libmesa_classic = static_library(
741 'mesa_classic',
742 files_libmesa_classic,
743 c_args : [c_msvc_compat_args],
744 cpp_args : [cpp_msvc_compat_args],
745 gnu_symbol_visibility : 'hidden',
746 include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux, inc_libmesa_asm, include_directories('main')],
747 link_with : [libmesa_common, libglsl, libmesa_sse41],
748 dependencies : idep_nir_headers,
749 build_by_default : false,
750 )
751
752 libmesa_gallium = static_library(
753 'mesa_gallium',
754 files_libmesa_gallium,
755 c_args : [c_msvc_compat_args, _mesa_windows_args],
756 cpp_args : [cpp_msvc_compat_args, _mesa_windows_args],
757 gnu_symbol_visibility : 'hidden',
758 include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux, inc_libmesa_asm, include_directories('main')],
759 link_with : [libmesa_common, libglsl, libmesa_sse41],
760 dependencies : [idep_nir_headers, dep_vdpau],
761 build_by_default : false,
762 )
763
764 subdir('drivers/dri')
765 if with_osmesa == 'classic'
766 subdir('drivers/osmesa')
767 endif
768 if with_glx == 'xlib'
769 subdir('drivers/x11')
770 endif
771 if with_tests and dri_drivers != []
772 subdir('main/tests')
773 endif