xref: /aosp_15_r20/external/mesa3d/src/intel/dev/meson.build (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1*61046927SAndroid Build Coastguard Worker# Copyright © 2017 Intel Corporation
2*61046927SAndroid Build Coastguard Worker# SPDX-License-Identifier: MIT
3*61046927SAndroid Build Coastguard Worker
4*61046927SAndroid Build Coastguard Worker# TODO: android?
5*61046927SAndroid Build Coastguard Worker
6*61046927SAndroid Build Coastguard Workerfiles_libintel_dev = files(
7*61046927SAndroid Build Coastguard Worker  'i915/intel_device_info.c',
8*61046927SAndroid Build Coastguard Worker  'i915/intel_device_info.h',
9*61046927SAndroid Build Coastguard Worker  'xe/intel_device_info.c',
10*61046927SAndroid Build Coastguard Worker  'xe/intel_device_info.h',
11*61046927SAndroid Build Coastguard Worker  'intel_debug.c',
12*61046927SAndroid Build Coastguard Worker  'intel_debug.h',
13*61046927SAndroid Build Coastguard Worker  'intel_device_info.c',
14*61046927SAndroid Build Coastguard Worker  'intel_device_info.h',
15*61046927SAndroid Build Coastguard Worker  'intel_hwconfig.c',
16*61046927SAndroid Build Coastguard Worker  'intel_hwconfig.h',
17*61046927SAndroid Build Coastguard Worker  'intel_kmd.c',
18*61046927SAndroid Build Coastguard Worker  'intel_kmd.h',
19*61046927SAndroid Build Coastguard Worker)
20*61046927SAndroid Build Coastguard Worker
21*61046927SAndroid Build Coastguard Workerintel_dev_wa_src = custom_target('intel_wa.[ch]',
22*61046927SAndroid Build Coastguard Worker                                 input : ['gen_wa_helpers.py', 'mesa_defs.json'],
23*61046927SAndroid Build Coastguard Worker                                 output : ['intel_wa.h', 'intel_wa.c'],
24*61046927SAndroid Build Coastguard Worker                                 command : [prog_python, '@INPUT@', '@OUTPUT@'])
25*61046927SAndroid Build Coastguard Worker
26*61046927SAndroid Build Coastguard Workerintel_dev_info_gen_src = custom_target('intel_device_info_gen.h',
27*61046927SAndroid Build Coastguard Worker                                       input : 'intel_device_info_gen_h.py',
28*61046927SAndroid Build Coastguard Worker                                       depend_files: 'intel_device_info.py',
29*61046927SAndroid Build Coastguard Worker                                       output : ['intel_device_info_gen.h'],
30*61046927SAndroid Build Coastguard Worker                                       command : [prog_python, '@INPUT@', '@OUTPUT@'])
31*61046927SAndroid Build Coastguard Worker
32*61046927SAndroid Build Coastguard Workerintel_dev_serialize_src = custom_target('intel_device_info_serialize_gen.c',
33*61046927SAndroid Build Coastguard Worker                                        input : 'intel_device_info_serialize_gen_c.py',
34*61046927SAndroid Build Coastguard Worker                                        depend_files: 'intel_device_info.py',
35*61046927SAndroid Build Coastguard Worker                                        output : ['intel_device_info_serialize_gen.c'],
36*61046927SAndroid Build Coastguard Worker                                        command : [prog_python, '@INPUT@', '@OUTPUT@'])
37*61046927SAndroid Build Coastguard Worker
38*61046927SAndroid Build Coastguard Worker# ensures intel_wa.h exists before implementation files are compiled
39*61046927SAndroid Build Coastguard Workeridep_intel_dev_wa = declare_dependency(sources : [intel_dev_wa_src[0]])
40*61046927SAndroid Build Coastguard Worker
41*61046927SAndroid Build Coastguard Workeridep_intel_dev_info_gen = declare_dependency(sources : [intel_dev_info_gen_src[0]])
42*61046927SAndroid Build Coastguard Worker
43*61046927SAndroid Build Coastguard Workerlibintel_dev = static_library(
44*61046927SAndroid Build Coastguard Worker  'intel_dev',
45*61046927SAndroid Build Coastguard Worker  [files_libintel_dev, sha1_h, [intel_dev_wa_src]],
46*61046927SAndroid Build Coastguard Worker  include_directories : [inc_include, inc_src, inc_intel],
47*61046927SAndroid Build Coastguard Worker  dependencies : [dep_libdrm, idep_mesautil, idep_intel_dev_wa,
48*61046927SAndroid Build Coastguard Worker                  idep_intel_dev_info_gen],
49*61046927SAndroid Build Coastguard Worker  c_args : [no_override_init_args],
50*61046927SAndroid Build Coastguard Worker  gnu_symbol_visibility : 'hidden',
51*61046927SAndroid Build Coastguard Worker)
52*61046927SAndroid Build Coastguard Worker
53*61046927SAndroid Build Coastguard Workeridep_intel_dev = declare_dependency(
54*61046927SAndroid Build Coastguard Worker  link_with : libintel_dev,
55*61046927SAndroid Build Coastguard Worker  dependencies : [idep_intel_dev_wa, idep_intel_dev_info_gen, idep_mesautil],
56*61046927SAndroid Build Coastguard Worker  sources : [intel_dev_info_gen_src, intel_dev_wa_src[0]],
57*61046927SAndroid Build Coastguard Worker)
58*61046927SAndroid Build Coastguard Worker
59*61046927SAndroid Build Coastguard Workerif with_tests
60*61046927SAndroid Build Coastguard Worker  test('intel_device_info_test',
61*61046927SAndroid Build Coastguard Worker       executable(
62*61046927SAndroid Build Coastguard Worker         'intel_device_info_test',
63*61046927SAndroid Build Coastguard Worker         'intel_device_info_test.c',
64*61046927SAndroid Build Coastguard Worker         include_directories : [inc_include, inc_src, inc_intel],
65*61046927SAndroid Build Coastguard Worker         dependencies : idep_intel_dev,
66*61046927SAndroid Build Coastguard Worker       ),
67*61046927SAndroid Build Coastguard Worker       suite : ['intel'],
68*61046927SAndroid Build Coastguard Worker      )
69*61046927SAndroid Build Coastguard Workerendif
70*61046927SAndroid Build Coastguard Worker
71*61046927SAndroid Build Coastguard Workerif with_tests and with_tools.contains('drm-shim') and with_tools.contains('intel')
72*61046927SAndroid Build Coastguard Worker  platforms = [ [ 70,  ['ivb', 'byt'] ],
73*61046927SAndroid Build Coastguard Worker                [ 75,  ['hsw'] ],
74*61046927SAndroid Build Coastguard Worker                [ 80,  ['bdw', 'chv'] ],
75*61046927SAndroid Build Coastguard Worker                [ 90,  ['skl', 'kbl', 'aml', 'cml', 'whl', 'bxt', 'glk'] ],
76*61046927SAndroid Build Coastguard Worker                [ 110, ['icl', 'ehl', 'jsl'] ],
77*61046927SAndroid Build Coastguard Worker                [ 120, ['tgl', 'rkl', 'adl', 'rpl', 'dg1', 'sg1'] ],
78*61046927SAndroid Build Coastguard Worker                [ 125, ['dg2'] ],
79*61046927SAndroid Build Coastguard Worker              ]
80*61046927SAndroid Build Coastguard Worker  intel_devinfo_override_test = executable(
81*61046927SAndroid Build Coastguard Worker    'intel_device_info_override_test',
82*61046927SAndroid Build Coastguard Worker    'intel_device_info_override_test.c',
83*61046927SAndroid Build Coastguard Worker    dependencies : [dep_libdrm, idep_intel_dev],
84*61046927SAndroid Build Coastguard Worker    include_directories : [inc_include, inc_src, inc_intel],
85*61046927SAndroid Build Coastguard Worker  )
86*61046927SAndroid Build Coastguard Worker  intel_drm_ld_preload = join_paths(meson.current_build_dir(), '..', 'tools', 'libintel_noop_drm_shim.so')
87*61046927SAndroid Build Coastguard Worker  foreach _gens : platforms
88*61046927SAndroid Build Coastguard Worker    gen = _gens[0]
89*61046927SAndroid Build Coastguard Worker    foreach p : _gens[1]
90*61046927SAndroid Build Coastguard Worker              test('intel_device_info_override_test_@0@'.format(p),
91*61046927SAndroid Build Coastguard Worker                   intel_devinfo_override_test,
92*61046927SAndroid Build Coastguard Worker                   args : '@0@'.format(gen),
93*61046927SAndroid Build Coastguard Worker                   env : [
94*61046927SAndroid Build Coastguard Worker                      'LD_PRELOAD=@0@'.format(intel_drm_ld_preload),
95*61046927SAndroid Build Coastguard Worker                      'INTEL_STUB_GPU_PLATFORM=@0@'.format(p),
96*61046927SAndroid Build Coastguard Worker                      'STRACEDIR=meson-logs/strace/intel_device_info_override_test_@0@'.format(p),
97*61046927SAndroid Build Coastguard Worker                   ],
98*61046927SAndroid Build Coastguard Worker                   suite : ['intel'],
99*61046927SAndroid Build Coastguard Worker                  )
100*61046927SAndroid Build Coastguard Worker    endforeach
101*61046927SAndroid Build Coastguard Worker  endforeach
102*61046927SAndroid Build Coastguard Workerendif
103