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