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