1b8e80941Smrg# Copyright © 2017 Intel Corporation
2b8e80941Smrg
3b8e80941Smrg# Permission is hereby granted, free of charge, to any person obtaining a copy
4b8e80941Smrg# of this software and associated documentation files (the "Software"), to deal
5b8e80941Smrg# in the Software without restriction, including without limitation the rights
6b8e80941Smrg# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7b8e80941Smrg# copies of the Software, and to permit persons to whom the Software is
8b8e80941Smrg# furnished to do so, subject to the following conditions:
9b8e80941Smrg
10b8e80941Smrg# The above copyright notice and this permission notice shall be included in
11b8e80941Smrg# all copies or substantial portions of the Software.
12b8e80941Smrg
13b8e80941Smrg# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14b8e80941Smrg# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15b8e80941Smrg# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16b8e80941Smrg# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17b8e80941Smrg# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18b8e80941Smrg# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19b8e80941Smrg# SOFTWARE.
20b8e80941Smrg
21b8e80941Smrgfiles_i965 = files(
22b8e80941Smrg  'brw_binding_tables.c',
23b8e80941Smrg  'brw_blorp.c',
24b8e80941Smrg  'brw_blorp.h',
25b8e80941Smrg  'brw_bufmgr.c',
26b8e80941Smrg  'brw_bufmgr.h',
27b8e80941Smrg  'brw_clear.c',
28b8e80941Smrg  'brw_clip.c',
29b8e80941Smrg  'brw_compute.c',
30b8e80941Smrg  'brw_conditional_render.c',
31b8e80941Smrg  'brw_context.c',
32b8e80941Smrg  'brw_context.h',
33b8e80941Smrg  'brw_cs.c',
34b8e80941Smrg  'brw_cs.h',
35b8e80941Smrg  'brw_curbe.c',
36b8e80941Smrg  'brw_defines.h',
37b8e80941Smrg  'brw_disk_cache.c',
38b8e80941Smrg  'brw_draw.c',
39b8e80941Smrg  'brw_draw.h',
40b8e80941Smrg  'brw_draw_upload.c',
41b8e80941Smrg  'brw_ff_gs.c',
42b8e80941Smrg  'brw_ff_gs_emit.c',
43b8e80941Smrg  'brw_ff_gs.h',
44b8e80941Smrg  'brw_formatquery.c',
45b8e80941Smrg  'brw_generate_mipmap.c',
46b8e80941Smrg  'brw_gs.c',
47b8e80941Smrg  'brw_gs.h',
48b8e80941Smrg  'brw_gs_surface_state.c',
49b8e80941Smrg  'brw_link.cpp',
50b8e80941Smrg  'brw_meta_util.c',
51b8e80941Smrg  'brw_meta_util.h',
52b8e80941Smrg  'brw_misc_state.c',
53b8e80941Smrg  'brw_multisample_state.h',
54b8e80941Smrg  'brw_nir_uniforms.cpp',
55b8e80941Smrg  'brw_object_purgeable.c',
56b8e80941Smrg  'brw_pipe_control.c',
57b8e80941Smrg  'brw_performance_query.h',
58b8e80941Smrg  'brw_performance_query.c',
59b8e80941Smrg  'brw_performance_query_mdapi.c',
60b8e80941Smrg  'brw_program.c',
61b8e80941Smrg  'brw_program.h',
62b8e80941Smrg  'brw_program_binary.c',
63b8e80941Smrg  'brw_program_cache.c',
64b8e80941Smrg  'brw_primitive_restart.c',
65b8e80941Smrg  'brw_queryobj.c',
66b8e80941Smrg  'brw_reset.c',
67b8e80941Smrg  'brw_sf.c',
68b8e80941Smrg  'brw_state.h',
69b8e80941Smrg  'brw_state_upload.c',
70b8e80941Smrg  'brw_structs.h',
71b8e80941Smrg  'brw_surface_formats.c',
72b8e80941Smrg  'brw_sync.c',
73b8e80941Smrg  'brw_tcs.c',
74b8e80941Smrg  'brw_tcs_surface_state.c',
75b8e80941Smrg  'brw_tes.c',
76b8e80941Smrg  'brw_tes_surface_state.c',
77b8e80941Smrg  'brw_urb.c',
78b8e80941Smrg  'brw_util.c',
79b8e80941Smrg  'brw_util.h',
80b8e80941Smrg  'brw_vs.c',
81b8e80941Smrg  'brw_vs.h',
82b8e80941Smrg  'brw_vs_surface_state.c',
83b8e80941Smrg  'brw_wm.c',
84b8e80941Smrg  'brw_wm.h',
85b8e80941Smrg  'brw_wm_surface_state.c',
86b8e80941Smrg  'gen4_blorp_exec.h',
87b8e80941Smrg  'gen6_clip_state.c',
88b8e80941Smrg  'gen6_constant_state.c',
89b8e80941Smrg  'gen6_multisample_state.c',
90b8e80941Smrg  'gen6_queryobj.c',
91b8e80941Smrg  'gen6_sampler_state.c',
92b8e80941Smrg  'gen6_sol.c',
93b8e80941Smrg  'gen6_urb.c',
94b8e80941Smrg  'gen7_l3_state.c',
95b8e80941Smrg  'gen7_sol_state.c',
96b8e80941Smrg  'gen7_urb.c',
97b8e80941Smrg  'gen8_depth_state.c',
98b8e80941Smrg  'gen8_multisample_state.c',
99b8e80941Smrg  'hsw_queryobj.c',
100b8e80941Smrg  'hsw_sol.c',
101b8e80941Smrg  'intel_batchbuffer.c',
102b8e80941Smrg  'intel_batchbuffer.h',
103b8e80941Smrg  'intel_blit.c',
104b8e80941Smrg  'intel_blit.h',
105b8e80941Smrg  'intel_buffer_objects.c',
106b8e80941Smrg  'intel_buffer_objects.h',
107b8e80941Smrg  'intel_buffers.c',
108b8e80941Smrg  'intel_buffers.h',
109b8e80941Smrg  'intel_copy_image.c',
110b8e80941Smrg  'intel_extensions.c',
111b8e80941Smrg  'intel_fbo.c',
112b8e80941Smrg  'intel_fbo.h',
113b8e80941Smrg  'intel_image.h',
114b8e80941Smrg  'intel_mipmap_tree.c',
115b8e80941Smrg  'intel_mipmap_tree.h',
116b8e80941Smrg  'intel_pixel_bitmap.c',
117b8e80941Smrg  'intel_pixel.c',
118b8e80941Smrg  'intel_pixel_copy.c',
119b8e80941Smrg  'intel_pixel_draw.c',
120b8e80941Smrg  'intel_pixel.h',
121b8e80941Smrg  'intel_pixel_read.c',
122b8e80941Smrg  'intel_screen.c',
123b8e80941Smrg  'intel_screen.h',
124b8e80941Smrg  'intel_state.c',
125b8e80941Smrg  'intel_tex.c',
126b8e80941Smrg  'intel_tex_copy.c',
127b8e80941Smrg  'intel_tex.h',
128b8e80941Smrg  'intel_tex_image.c',
129b8e80941Smrg  'intel_tex_obj.h',
130b8e80941Smrg  'intel_tex_validate.c',
131b8e80941Smrg  'intel_upload.c',
132b8e80941Smrg  'libdrm_macros.h',
133b8e80941Smrg)
134b8e80941Smrg
135b8e80941Smrgi965_gen_libs = []
136b8e80941Smrgforeach v : ['40', '45', '50', '60', '70', '75', '80', '90', '100', '110']
137b8e80941Smrg  i965_gen_libs += static_library(
138b8e80941Smrg    'i965_gen@0@'.format(v),
139b8e80941Smrg    ['genX_blorp_exec.c', 'genX_boilerplate.h', 'genX_pipe_control.c',
140b8e80941Smrg     'genX_state_upload.c', gen_xml_pack],
141b8e80941Smrg    include_directories : [inc_common, inc_intel, inc_dri_common],
142b8e80941Smrg    c_args : [
143b8e80941Smrg      c_vis_args, no_override_init_args, c_sse2_args,
144b8e80941Smrg      '-DGEN_VERSIONx10=@0@'.format(v),
145b8e80941Smrg    ],
146b8e80941Smrg    dependencies : [dep_libdrm, idep_nir_headers],
147b8e80941Smrg  )
148b8e80941Smrgendforeach
149b8e80941Smrg
150b8e80941Smrg
151b8e80941Smrglibi965 = static_library(
152b8e80941Smrg  'i965',
153b8e80941Smrg  [files_i965, ir_expression_operation_h, xmlpool_options_h],
154b8e80941Smrg  include_directories : [
155b8e80941Smrg    inc_common, inc_intel, inc_dri_common, inc_util, inc_include,
156b8e80941Smrg  ],
157b8e80941Smrg  c_args : [c_vis_args, no_override_init_args, c_sse2_args],
158b8e80941Smrg  cpp_args : [cpp_vis_args, c_sse2_args],
159b8e80941Smrg  link_with : [
160b8e80941Smrg    i965_gen_libs, libintel_common, libintel_dev, libisl, libintel_compiler,
161b8e80941Smrg    libblorp, libintel_perf
162b8e80941Smrg  ],
163b8e80941Smrg  dependencies : [dep_libdrm, dep_valgrind, idep_nir_headers, idep_genxml],
164b8e80941Smrg)
165