xref: /aosp_15_r20/external/mesa3d/src/intel/decoder/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 Workerlibintel_decoder_files = files(
5*61046927SAndroid Build Coastguard Worker  'intel_decoder.h',
6*61046927SAndroid Build Coastguard Worker  )
7*61046927SAndroid Build Coastguard Worker
8*61046927SAndroid Build Coastguard Workerlibintel_decoder_deps = [
9*61046927SAndroid Build Coastguard Worker  idep_intel_dev
10*61046927SAndroid Build Coastguard Worker]
11*61046927SAndroid Build Coastguard Worker
12*61046927SAndroid Build Coastguard Workerif not dep_expat.found()
13*61046927SAndroid Build Coastguard Worker  libintel_decoder_files += files(
14*61046927SAndroid Build Coastguard Worker    'intel_batch_decoder_stub.c',
15*61046927SAndroid Build Coastguard Worker  )
16*61046927SAndroid Build Coastguard Workerelse
17*61046927SAndroid Build Coastguard Worker  libintel_decoder_deps += dep_expat
18*61046927SAndroid Build Coastguard Worker  libintel_decoder_files += files(
19*61046927SAndroid Build Coastguard Worker    'intel_decoder.c',
20*61046927SAndroid Build Coastguard Worker    'intel_batch_decoder.c',
21*61046927SAndroid Build Coastguard Worker  )
22*61046927SAndroid Build Coastguard Workerendif
23*61046927SAndroid Build Coastguard Worker
24*61046927SAndroid Build Coastguard Workerlibintel_decoder_brw = static_library(
25*61046927SAndroid Build Coastguard Worker  'intel_decoder_brw',
26*61046927SAndroid Build Coastguard Worker  [libintel_decoder_files, 'intel_batch_decoder_brw.c', genX_xml_h, sha1_h],
27*61046927SAndroid Build Coastguard Worker  include_directories : [inc_include, inc_src, inc_intel],
28*61046927SAndroid Build Coastguard Worker  c_args : [no_override_init_args, sse2_args],
29*61046927SAndroid Build Coastguard Worker  gnu_symbol_visibility : 'hidden',
30*61046927SAndroid Build Coastguard Worker  dependencies : libintel_decoder_deps,
31*61046927SAndroid Build Coastguard Worker  build_by_default : false,
32*61046927SAndroid Build Coastguard Worker)
33*61046927SAndroid Build Coastguard Worker
34*61046927SAndroid Build Coastguard Workeridep_intel_decoder_brw = declare_dependency(
35*61046927SAndroid Build Coastguard Worker  link_with : [libintel_decoder_brw],
36*61046927SAndroid Build Coastguard Worker  dependencies : libintel_decoder_deps,
37*61046927SAndroid Build Coastguard Worker)
38*61046927SAndroid Build Coastguard Worker
39*61046927SAndroid Build Coastguard Workerlibintel_decoder_elk = static_library(
40*61046927SAndroid Build Coastguard Worker  'intel_decoder_elk',
41*61046927SAndroid Build Coastguard Worker  [libintel_decoder_files, 'intel_batch_decoder_elk.c', genX_xml_h, sha1_h],
42*61046927SAndroid Build Coastguard Worker  include_directories : [inc_include, inc_src, inc_intel],
43*61046927SAndroid Build Coastguard Worker  c_args : [no_override_init_args, sse2_args],
44*61046927SAndroid Build Coastguard Worker  gnu_symbol_visibility : 'hidden',
45*61046927SAndroid Build Coastguard Worker  dependencies : libintel_decoder_deps,
46*61046927SAndroid Build Coastguard Worker  build_by_default : false,
47*61046927SAndroid Build Coastguard Worker)
48*61046927SAndroid Build Coastguard Worker
49*61046927SAndroid Build Coastguard Workeridep_intel_decoder_elk = declare_dependency(
50*61046927SAndroid Build Coastguard Worker  link_with : [libintel_decoder_elk],
51*61046927SAndroid Build Coastguard Worker  dependencies : libintel_decoder_deps,
52*61046927SAndroid Build Coastguard Worker)
53*61046927SAndroid Build Coastguard Worker
54*61046927SAndroid Build Coastguard Workerif with_tests and not with_platform_android
55*61046927SAndroid Build Coastguard Worker  gentest_xml = 'tests/gentest.xml'
56*61046927SAndroid Build Coastguard Worker  _name = 'gentest_pack.h'
57*61046927SAndroid Build Coastguard Worker  gentest_pack = custom_target(
58*61046927SAndroid Build Coastguard Worker    _name,
59*61046927SAndroid Build Coastguard Worker    input : [gen_pack_header_py, gentest_xml],
60*61046927SAndroid Build Coastguard Worker    output : _name,
61*61046927SAndroid Build Coastguard Worker    command : [prog_python, '@INPUT@'],
62*61046927SAndroid Build Coastguard Worker    capture : true,
63*61046927SAndroid Build Coastguard Worker    depend_files: gen_pack_header_deps
64*61046927SAndroid Build Coastguard Worker  )
65*61046927SAndroid Build Coastguard Worker
66*61046927SAndroid Build Coastguard Worker  genxml_path = join_paths(meson.current_source_dir(),
67*61046927SAndroid Build Coastguard Worker                           '@0@'.format(gentest_xml))
68*61046927SAndroid Build Coastguard Worker
69*61046927SAndroid Build Coastguard Worker  test(
70*61046927SAndroid Build Coastguard Worker    'genxml_test',
71*61046927SAndroid Build Coastguard Worker    executable(
72*61046927SAndroid Build Coastguard Worker      'genxml_test',
73*61046927SAndroid Build Coastguard Worker      ['tests/genxml_test.c', gentest_pack],
74*61046927SAndroid Build Coastguard Worker      include_directories : [
75*61046927SAndroid Build Coastguard Worker        inc_include,
76*61046927SAndroid Build Coastguard Worker        inc_src,
77*61046927SAndroid Build Coastguard Worker        inc_intel
78*61046927SAndroid Build Coastguard Worker      ],
79*61046927SAndroid Build Coastguard Worker      dependencies : [
80*61046927SAndroid Build Coastguard Worker        idep_libintel_common,
81*61046927SAndroid Build Coastguard Worker        idep_intel_decoder_brw,
82*61046927SAndroid Build Coastguard Worker        idep_intel_decoder_elk,
83*61046927SAndroid Build Coastguard Worker        idep_mesautil,
84*61046927SAndroid Build Coastguard Worker        idep_intel_dev,
85*61046927SAndroid Build Coastguard Worker        idep_genxml,
86*61046927SAndroid Build Coastguard Worker      ],
87*61046927SAndroid Build Coastguard Worker      c_args : [
88*61046927SAndroid Build Coastguard Worker        '-DGENXML_DIR="@0@"'.format(fs.parent(genxml_path)),
89*61046927SAndroid Build Coastguard Worker        '-DGENXML_FILE="@0@"'.format(fs.name(genxml_path)),
90*61046927SAndroid Build Coastguard Worker      ],
91*61046927SAndroid Build Coastguard Worker    ),
92*61046927SAndroid Build Coastguard Worker    args : ['-quiet'],
93*61046927SAndroid Build Coastguard Worker    suite : ['intel'],
94*61046927SAndroid Build Coastguard Worker  )
95*61046927SAndroid Build Coastguard Workerendif
96