xref: /aosp_15_r20/external/mesa3d/src/broadcom/meson.build (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1# Copyright © 2017 Broadcom
2# SPDX-License-Identifier: MIT
3
4inc_broadcom = include_directories('.', 'cle')
5
6subdir('cle')
7
8v3d_versions = ['42', '71']
9v3d_libs = []
10
11if with_gallium_v3d or with_broadcom_vk
12  subdir('compiler')
13  subdir('qpu')
14  subdir('simulator')
15endif
16
17if with_tools.contains('drm-shim')
18  subdir('drm-shim')
19endif
20
21per_version_libs = []
22foreach ver : v3d_versions
23  per_version_libs += static_library(
24    'broadcom-v' + ver,
25    [
26      files('clif/v3dx_dump.c'),
27      v3d_xml_pack
28    ],
29    include_directories : [inc_include, inc_src, inc_broadcom],
30    c_args : [no_override_init_args, '-DV3D_VERSION=' + ver],
31    gnu_symbol_visibility : 'hidden',
32    dependencies: [dep_valgrind, dep_thread],
33  )
34endforeach
35
36v3d_args = ['-DV3D_BUILD_NEON']
37
38v3d_neon_c_args = []
39if host_machine.cpu_family() == 'arm'
40    v3d_neon_c_args = '-mfpu=neon'
41endif
42
43libv3d_neon = static_library(
44  'v3d_neon',
45  'common/v3d_tiling.c',
46  include_directories : [
47    inc_src, inc_include, inc_broadcom,
48  ],
49  c_args : [v3d_args, v3d_neon_c_args],
50  gnu_symbol_visibility : 'hidden',
51  dependencies : [dep_libdrm, dep_valgrind, idep_nir_headers, idep_mesautil],
52)
53
54libbroadcom_v3d = static_library(
55  'broadcom_v3d',
56  [
57    files('common/v3d_debug.c', 'common/v3d_device_info.c', 'clif/clif_dump.c', 'common/v3d_util.c'),
58    v3d_xml_pack,
59  ],
60  include_directories : [inc_include, inc_src, inc_broadcom],
61  c_args : [no_override_init_args],
62  gnu_symbol_visibility : 'hidden',
63  link_whole : v3d_libs + per_version_libs,
64  link_with: [libv3d_neon],
65  build_by_default : false,
66  dependencies: [dep_valgrind, dep_thread, idep_mesautil],
67)
68
69if with_broadcom_vk
70  subdir('vulkan')
71endif
72