meson.build revision 7ec681f3
101e04c3fSmrg# Copyright © 2017 Intel Corporation 201e04c3fSmrg 301e04c3fSmrg# Permission is hereby granted, free of charge, to any person obtaining a copy 401e04c3fSmrg# of this software and associated documentation files (the "Software"), to deal 501e04c3fSmrg# in the Software without restriction, including without limitation the rights 601e04c3fSmrg# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 701e04c3fSmrg# copies of the Software, and to permit persons to whom the Software is 801e04c3fSmrg# furnished to do so, subject to the following conditions: 901e04c3fSmrg 1001e04c3fSmrg# The above copyright notice and this permission notice shall be included in 1101e04c3fSmrg# all copies or substantial portions of the Software. 1201e04c3fSmrg 1301e04c3fSmrg# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 1401e04c3fSmrg# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 1501e04c3fSmrg# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 1601e04c3fSmrg# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 1701e04c3fSmrg# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 1801e04c3fSmrg# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 1901e04c3fSmrg# SOFTWARE. 2001e04c3fSmrg 2101e04c3fSmrglibintel_compiler_files = files( 2201e04c3fSmrg 'brw_cfg.cpp', 2301e04c3fSmrg 'brw_cfg.h', 2401e04c3fSmrg 'brw_clip.h', 2501e04c3fSmrg 'brw_clip_line.c', 2601e04c3fSmrg 'brw_clip_point.c', 2701e04c3fSmrg 'brw_clip_tri.c', 2801e04c3fSmrg 'brw_clip_unfilled.c', 2901e04c3fSmrg 'brw_clip_util.c', 3001e04c3fSmrg 'brw_compile_clip.c', 317ec681f3Smrg 'brw_compile_ff_gs.c', 3201e04c3fSmrg 'brw_compile_sf.c', 3301e04c3fSmrg 'brw_compiler.c', 3401e04c3fSmrg 'brw_compiler.h', 3501e04c3fSmrg 'brw_dead_control_flow.cpp', 3601e04c3fSmrg 'brw_dead_control_flow.h', 379f464c52Smaya 'brw_debug_recompile.c', 3801e04c3fSmrg 'brw_disasm.c', 3901e04c3fSmrg 'brw_disasm_info.c', 4001e04c3fSmrg 'brw_disasm_info.h', 417ec681f3Smrg 'brw_eu.cpp', 4201e04c3fSmrg 'brw_eu_compact.c', 4301e04c3fSmrg 'brw_eu_defines.h', 4401e04c3fSmrg 'brw_eu_emit.c', 4501e04c3fSmrg 'brw_eu.h', 4601e04c3fSmrg 'brw_eu_util.c', 4701e04c3fSmrg 'brw_eu_validate.c', 4801e04c3fSmrg 'brw_fs_bank_conflicts.cpp', 4901e04c3fSmrg 'brw_fs_builder.h', 5001e04c3fSmrg 'brw_fs_cmod_propagation.cpp', 5101e04c3fSmrg 'brw_fs_combine_constants.cpp', 5201e04c3fSmrg 'brw_fs_copy_propagation.cpp', 5301e04c3fSmrg 'brw_fs.cpp', 5401e04c3fSmrg 'brw_fs_cse.cpp', 5501e04c3fSmrg 'brw_fs_dead_code_eliminate.cpp', 5601e04c3fSmrg 'brw_fs_generator.cpp', 5701e04c3fSmrg 'brw_fs.h', 5801e04c3fSmrg 'brw_fs_live_variables.cpp', 5901e04c3fSmrg 'brw_fs_live_variables.h', 6001e04c3fSmrg 'brw_fs_lower_pack.cpp', 619f464c52Smaya 'brw_fs_lower_regioning.cpp', 6201e04c3fSmrg 'brw_fs_nir.cpp', 6301e04c3fSmrg 'brw_fs_reg_allocate.cpp', 6401e04c3fSmrg 'brw_fs_register_coalesce.cpp', 6501e04c3fSmrg 'brw_fs_saturate_propagation.cpp', 667ec681f3Smrg 'brw_fs_scoreboard.cpp', 6701e04c3fSmrg 'brw_fs_sel_peephole.cpp', 6801e04c3fSmrg 'brw_fs_validate.cpp', 6901e04c3fSmrg 'brw_fs_visitor.cpp', 7001e04c3fSmrg 'brw_inst.h', 7101e04c3fSmrg 'brw_interpolation_map.c', 727ec681f3Smrg 'brw_ir.h', 7301e04c3fSmrg 'brw_ir_allocator.h', 747ec681f3Smrg 'brw_ir_analysis.h', 7501e04c3fSmrg 'brw_ir_fs.h', 767ec681f3Smrg 'brw_ir_performance.h', 777ec681f3Smrg 'brw_ir_performance.cpp', 7801e04c3fSmrg 'brw_ir_vec4.h', 7901e04c3fSmrg 'brw_nir.h', 8001e04c3fSmrg 'brw_nir.c', 8101e04c3fSmrg 'brw_nir_analyze_boolean_resolves.c', 8201e04c3fSmrg 'brw_nir_analyze_ubo_ranges.c', 8301e04c3fSmrg 'brw_nir_attribute_workarounds.c', 849f464c52Smaya 'brw_nir_lower_conversions.c', 8501e04c3fSmrg 'brw_nir_lower_cs_intrinsics.c', 867ec681f3Smrg 'brw_nir_lower_alpha_to_coverage.c', 877ec681f3Smrg 'brw_nir_lower_intersection_shader.c', 889f464c52Smaya 'brw_nir_lower_mem_access_bit_sizes.c', 897ec681f3Smrg 'brw_nir_lower_rt_intrinsics.c', 907ec681f3Smrg 'brw_nir_lower_scoped_barriers.c', 917ec681f3Smrg 'brw_nir_lower_shader_calls.c', 927ec681f3Smrg 'brw_nir_lower_storage_image.c', 9301e04c3fSmrg 'brw_nir_opt_peephole_ffma.c', 947ec681f3Smrg 'brw_nir_rt.h', 957ec681f3Smrg 'brw_nir_rt.c', 967ec681f3Smrg 'brw_nir_rt_builder.h', 9701e04c3fSmrg 'brw_nir_tcs_workarounds.c', 987ec681f3Smrg 'brw_nir_clamp_image_1d_2d_array_sizes.c', 9901e04c3fSmrg 'brw_packed_float.c', 10001e04c3fSmrg 'brw_predicated_break.cpp', 10101e04c3fSmrg 'brw_reg.h', 10201e04c3fSmrg 'brw_reg_type.c', 10301e04c3fSmrg 'brw_reg_type.h', 1047ec681f3Smrg 'brw_rt.h', 10501e04c3fSmrg 'brw_schedule_instructions.cpp', 10601e04c3fSmrg 'brw_shader.cpp', 10701e04c3fSmrg 'brw_shader.h', 10801e04c3fSmrg 'brw_vec4_builder.h', 10901e04c3fSmrg 'brw_vec4_cmod_propagation.cpp', 11001e04c3fSmrg 'brw_vec4_copy_propagation.cpp', 11101e04c3fSmrg 'brw_vec4.cpp', 11201e04c3fSmrg 'brw_vec4_cse.cpp', 11301e04c3fSmrg 'brw_vec4_dead_code_eliminate.cpp', 11401e04c3fSmrg 'brw_vec4_generator.cpp', 11501e04c3fSmrg 'brw_vec4_gs_visitor.cpp', 11601e04c3fSmrg 'brw_vec4_gs_visitor.h', 11701e04c3fSmrg 'brw_vec4.h', 11801e04c3fSmrg 'brw_vec4_live_variables.cpp', 11901e04c3fSmrg 'brw_vec4_live_variables.h', 12001e04c3fSmrg 'brw_vec4_nir.cpp', 12101e04c3fSmrg 'brw_vec4_gs_nir.cpp', 12201e04c3fSmrg 'brw_vec4_reg_allocate.cpp', 12301e04c3fSmrg 'brw_vec4_surface_builder.cpp', 12401e04c3fSmrg 'brw_vec4_surface_builder.h', 12501e04c3fSmrg 'brw_vec4_tcs.cpp', 12601e04c3fSmrg 'brw_vec4_tcs.h', 12701e04c3fSmrg 'brw_vec4_tes.cpp', 12801e04c3fSmrg 'brw_vec4_tes.h', 12901e04c3fSmrg 'brw_vec4_visitor.cpp', 13001e04c3fSmrg 'brw_vec4_vs_visitor.cpp', 13101e04c3fSmrg 'brw_vec4_vs.h', 13201e04c3fSmrg 'brw_vue_map.c', 13301e04c3fSmrg 'brw_wm_iz.cpp', 1347ec681f3Smrg 'gfx6_gs_visitor.cpp', 1357ec681f3Smrg 'gfx6_gs_visitor.h', 13601e04c3fSmrg) 13701e04c3fSmrg 13801e04c3fSmrgbrw_nir_trig = custom_target( 13901e04c3fSmrg 'brw_nir_trig_workarounds.c', 14001e04c3fSmrg input : 'brw_nir_trig_workarounds.py', 14101e04c3fSmrg output : 'brw_nir_trig_workarounds.c', 14201e04c3fSmrg command : [ 14301e04c3fSmrg prog_python, '@INPUT@', 14401e04c3fSmrg '-p', join_paths(meson.source_root(), 'src/compiler/nir/'), 14501e04c3fSmrg ], 1467ec681f3Smrg depend_files : nir_algebraic_depends, 14701e04c3fSmrg capture : true, 14801e04c3fSmrg) 14901e04c3fSmrg 15001e04c3fSmrglibintel_compiler = static_library( 15101e04c3fSmrg 'intel_compiler', 15201e04c3fSmrg [libintel_compiler_files, brw_nir_trig, ir_expression_operation_h], 1537ec681f3Smrg include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_intel], 1547ec681f3Smrg c_args : [no_override_init_args], 1557ec681f3Smrg gnu_symbol_visibility : 'hidden', 1567ec681f3Smrg dependencies : [idep_nir_headers, idep_mesautil], 15701e04c3fSmrg build_by_default : false, 15801e04c3fSmrg) 15901e04c3fSmrg 16001e04c3fSmrgif with_tests 16101e04c3fSmrg foreach t : ['fs_cmod_propagation', 'fs_copy_propagation', 16201e04c3fSmrg 'fs_saturate_propagation', 'vf_float_conversions', 16301e04c3fSmrg 'vec4_register_coalesce', 'vec4_copy_propagation', 16401e04c3fSmrg 'vec4_cmod_propagation', 'vec4_dead_code_eliminate', 1657ec681f3Smrg 'eu_compact', 'eu_validate', 'fs_scoreboard'] 16601e04c3fSmrg test( 16701e04c3fSmrg t, 16801e04c3fSmrg executable( 16901e04c3fSmrg [t, ir_expression_operation_h], 17001e04c3fSmrg 'test_@0@.cpp'.format(t), 1717ec681f3Smrg include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_intel], 17201e04c3fSmrg link_with : [ 1737ec681f3Smrg libintel_compiler, libintel_common, libintel_dev, libisl, 17401e04c3fSmrg ], 1757ec681f3Smrg dependencies : [idep_gtest, idep_nir, idep_mesautil], 1769f464c52Smaya ), 1779f464c52Smaya suite : ['intel'], 17801e04c3fSmrg ) 17901e04c3fSmrg endforeach 18001e04c3fSmrgendif 181