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
2101e04c3fSmrgfiles_i965 = files(
2201e04c3fSmrg  'brw_binding_tables.c',
2301e04c3fSmrg  'brw_blorp.c',
2401e04c3fSmrg  'brw_blorp.h',
2501e04c3fSmrg  'brw_bufmgr.c',
2601e04c3fSmrg  'brw_bufmgr.h',
2701e04c3fSmrg  'brw_clear.c',
2801e04c3fSmrg  'brw_clip.c',
2901e04c3fSmrg  'brw_compute.c',
3001e04c3fSmrg  'brw_conditional_render.c',
3101e04c3fSmrg  'brw_context.c',
3201e04c3fSmrg  'brw_context.h',
3301e04c3fSmrg  'brw_cs.c',
3401e04c3fSmrg  'brw_cs.h',
3501e04c3fSmrg  'brw_curbe.c',
3601e04c3fSmrg  'brw_defines.h',
3701e04c3fSmrg  'brw_disk_cache.c',
3801e04c3fSmrg  'brw_draw.c',
3901e04c3fSmrg  'brw_draw.h',
4001e04c3fSmrg  'brw_draw_upload.c',
4101e04c3fSmrg  'brw_ff_gs.c',
4201e04c3fSmrg  'brw_ff_gs.h',
4301e04c3fSmrg  'brw_formatquery.c',
4401e04c3fSmrg  'brw_generate_mipmap.c',
4501e04c3fSmrg  'brw_gs.c',
4601e04c3fSmrg  'brw_gs.h',
4701e04c3fSmrg  'brw_gs_surface_state.c',
4801e04c3fSmrg  'brw_link.cpp',
4901e04c3fSmrg  'brw_meta_util.c',
5001e04c3fSmrg  'brw_meta_util.h',
5101e04c3fSmrg  'brw_misc_state.c',
5201e04c3fSmrg  'brw_multisample_state.h',
5301e04c3fSmrg  'brw_nir_uniforms.cpp',
5401e04c3fSmrg  'brw_object_purgeable.c',
5501e04c3fSmrg  'brw_pipe_control.c',
5601e04c3fSmrg  'brw_performance_query.c',
5701e04c3fSmrg  'brw_program.c',
5801e04c3fSmrg  'brw_program.h',
5901e04c3fSmrg  'brw_program_binary.c',
6001e04c3fSmrg  'brw_program_cache.c',
6101e04c3fSmrg  'brw_primitive_restart.c',
6201e04c3fSmrg  'brw_queryobj.c',
6301e04c3fSmrg  'brw_reset.c',
6401e04c3fSmrg  'brw_sf.c',
6501e04c3fSmrg  'brw_state.h',
6601e04c3fSmrg  'brw_state_upload.c',
6701e04c3fSmrg  'brw_structs.h',
6801e04c3fSmrg  'brw_surface_formats.c',
6901e04c3fSmrg  'brw_sync.c',
7001e04c3fSmrg  'brw_tcs.c',
7101e04c3fSmrg  'brw_tcs_surface_state.c',
7201e04c3fSmrg  'brw_tes.c',
7301e04c3fSmrg  'brw_tes_surface_state.c',
7401e04c3fSmrg  'brw_urb.c',
7501e04c3fSmrg  'brw_util.c',
7601e04c3fSmrg  'brw_util.h',
7701e04c3fSmrg  'brw_vs.c',
7801e04c3fSmrg  'brw_vs.h',
7901e04c3fSmrg  'brw_vs_surface_state.c',
8001e04c3fSmrg  'brw_wm.c',
8101e04c3fSmrg  'brw_wm.h',
8201e04c3fSmrg  'brw_wm_surface_state.c',
837ec681f3Smrg  'gfx4_blorp_exec.h',
847ec681f3Smrg  'gfx6_clip_state.c',
857ec681f3Smrg  'gfx6_constant_state.c',
867ec681f3Smrg  'gfx6_multisample_state.c',
877ec681f3Smrg  'gfx6_queryobj.c',
887ec681f3Smrg  'gfx6_sampler_state.c',
897ec681f3Smrg  'gfx6_sol.c',
907ec681f3Smrg  'gfx6_urb.c',
917ec681f3Smrg  'gfx7_l3_state.c',
927ec681f3Smrg  'gfx7_sol_state.c',
937ec681f3Smrg  'gfx7_urb.c',
947ec681f3Smrg  'gfx8_depth_state.c',
957ec681f3Smrg  'gfx8_multisample_state.c',
9601e04c3fSmrg  'hsw_queryobj.c',
9701e04c3fSmrg  'hsw_sol.c',
987ec681f3Smrg  'brw_batch.c',
997ec681f3Smrg  'brw_batch.h',
1007ec681f3Smrg  'brw_blit.c',
1017ec681f3Smrg  'brw_blit.h',
1027ec681f3Smrg  'brw_buffer_objects.c',
1037ec681f3Smrg  'brw_buffer_objects.h',
1047ec681f3Smrg  'brw_buffers.c',
1057ec681f3Smrg  'brw_buffers.h',
1067ec681f3Smrg  'brw_copy_image.c',
1077ec681f3Smrg  'brw_extensions.c',
1087ec681f3Smrg  'brw_fbo.c',
1097ec681f3Smrg  'brw_fbo.h',
1107ec681f3Smrg  'brw_image.h',
1117ec681f3Smrg  'brw_mipmap_tree.c',
1127ec681f3Smrg  'brw_mipmap_tree.h',
1137ec681f3Smrg  'brw_pixel_bitmap.c',
1147ec681f3Smrg  'brw_pixel.c',
1157ec681f3Smrg  'brw_pixel_copy.c',
1167ec681f3Smrg  'brw_pixel_draw.c',
1177ec681f3Smrg  'brw_pixel.h',
1187ec681f3Smrg  'brw_pixel_read.c',
1197ec681f3Smrg  'brw_screen.c',
1207ec681f3Smrg  'brw_screen.h',
1217ec681f3Smrg  'brw_state.c',
1227ec681f3Smrg  'brw_tex.c',
1237ec681f3Smrg  'brw_tex_copy.c',
1247ec681f3Smrg  'brw_tex.h',
1257ec681f3Smrg  'brw_tex_image.c',
1267ec681f3Smrg  'brw_tex_obj.h',
1277ec681f3Smrg  'brw_tex_validate.c',
1287ec681f3Smrg  'brw_upload.c',
12901e04c3fSmrg  'libdrm_macros.h',
13001e04c3fSmrg)
13101e04c3fSmrg
1327ec681f3Smrgi965_per_hw_ver_libs = []
1337ec681f3Smrgforeach v : ['40', '45', '50', '60', '70', '75', '80', '90', '110']
1347ec681f3Smrg  i965_per_hw_ver_libs += static_library(
1357ec681f3Smrg    'i965_per_hw_ver@0@'.format(v),
136a8bb7a65Smaya    ['genX_blorp_exec.c', 'genX_boilerplate.h', 'genX_pipe_control.c',
137a8bb7a65Smaya     'genX_state_upload.c', gen_xml_pack],
1387ec681f3Smrg    include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_intel, inc_dri_common],
13901e04c3fSmrg    c_args : [
1407ec681f3Smrg      no_override_init_args, c_sse2_args,
1417ec681f3Smrg      '-DGFX_VERx10=@0@'.format(v),
14201e04c3fSmrg    ],
1437ec681f3Smrg    gnu_symbol_visibility : 'hidden',
1447ec681f3Smrg    dependencies : [dep_libdrm, idep_nir_headers, idep_mesautil],
14501e04c3fSmrg  )
14601e04c3fSmrgendforeach
14701e04c3fSmrg
14801e04c3fSmrg
14901e04c3fSmrglibi965 = static_library(
15001e04c3fSmrg  'i965',
1517ec681f3Smrg  [files_i965, ir_expression_operation_h],
15201e04c3fSmrg  include_directories : [
1537ec681f3Smrg    inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_intel, inc_dri_common,
15401e04c3fSmrg  ],
1557ec681f3Smrg  c_args : [no_override_init_args, c_sse2_args],
1567ec681f3Smrg  cpp_args : [c_sse2_args],
1577ec681f3Smrg  gnu_symbol_visibility : 'hidden',
15801e04c3fSmrg  link_with : [
1597ec681f3Smrg    i965_per_hw_ver_libs, libintel_dev, libisl, libintel_compiler, libblorp,
1607ec681f3Smrg    libintel_perf
1617ec681f3Smrg  ],
1627ec681f3Smrg  dependencies : [
1637ec681f3Smrg    dep_libdrm, dep_valgrind, idep_libintel_common, idep_nir_headers, idep_genxml,
1647ec681f3Smrg    idep_xmlconfig,
16501e04c3fSmrg  ],
16601e04c3fSmrg)
167