xref: /aosp_15_r20/external/mesa3d/src/panfrost/lib/meson.build (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1*61046927SAndroid Build Coastguard Worker# Copyright © 2018 Rob Clark
2*61046927SAndroid Build Coastguard Worker# Copyright © 2019 Collabora
3*61046927SAndroid Build Coastguard Worker# SPDX-License-Identifier: MIT
4*61046927SAndroid Build Coastguard Worker
5*61046927SAndroid Build Coastguard Workersubdir('genxml')
6*61046927SAndroid Build Coastguard Workersubdir('kmod')
7*61046927SAndroid Build Coastguard Worker
8*61046927SAndroid Build Coastguard Workerpixel_format_versions = ['5', '6', '7', '9', '10']
9*61046927SAndroid Build Coastguard Workerlibpanfrost_pixel_format = []
10*61046927SAndroid Build Coastguard Worker
11*61046927SAndroid Build Coastguard Workerdeps_for_libpanfrost = [dep_libdrm, idep_pan_packers, idep_mesautil]
12*61046927SAndroid Build Coastguard Worker
13*61046927SAndroid Build Coastguard Workerforeach ver : pixel_format_versions
14*61046927SAndroid Build Coastguard Worker  libpanfrost_pixel_format += static_library(
15*61046927SAndroid Build Coastguard Worker    'pan-format-v' + ver,
16*61046927SAndroid Build Coastguard Worker    ['pan_format.c', pan_packers],
17*61046927SAndroid Build Coastguard Worker    include_directories : [
18*61046927SAndroid Build Coastguard Worker      inc_src, inc_include, inc_panfrost_hw, inc_panfrost_hw
19*61046927SAndroid Build Coastguard Worker    ],
20*61046927SAndroid Build Coastguard Worker    c_args : ['-DPAN_ARCH=' + ver],
21*61046927SAndroid Build Coastguard Worker    gnu_symbol_visibility : 'hidden',
22*61046927SAndroid Build Coastguard Worker    dependencies : [deps_for_libpanfrost, dep_valgrind],
23*61046927SAndroid Build Coastguard Worker)
24*61046927SAndroid Build Coastguard Workerendforeach
25*61046927SAndroid Build Coastguard Worker
26*61046927SAndroid Build Coastguard Workerlibpanfrost_per_arch = []
27*61046927SAndroid Build Coastguard Worker
28*61046927SAndroid Build Coastguard Workerforeach ver : ['4', '5', '6', '7', '9', '10']
29*61046927SAndroid Build Coastguard Worker  libpanfrost_per_arch += static_library(
30*61046927SAndroid Build Coastguard Worker    'pan-arch-v' + ver,
31*61046927SAndroid Build Coastguard Worker    [
32*61046927SAndroid Build Coastguard Worker      'pan_blend.c',
33*61046927SAndroid Build Coastguard Worker      'pan_blitter.c',
34*61046927SAndroid Build Coastguard Worker      'pan_desc.c',
35*61046927SAndroid Build Coastguard Worker      'pan_shader.c',
36*61046927SAndroid Build Coastguard Worker      'pan_texture.c',
37*61046927SAndroid Build Coastguard Worker    ],
38*61046927SAndroid Build Coastguard Worker    include_directories : [inc_include, inc_src, inc_panfrost_hw],
39*61046927SAndroid Build Coastguard Worker    c_args : ['-DPAN_ARCH=' + ver],
40*61046927SAndroid Build Coastguard Worker    gnu_symbol_visibility : 'hidden',
41*61046927SAndroid Build Coastguard Worker    dependencies : [deps_for_libpanfrost, idep_nir],
42*61046927SAndroid Build Coastguard Worker  )
43*61046927SAndroid Build Coastguard Workerendforeach
44*61046927SAndroid Build Coastguard Worker
45*61046927SAndroid Build Coastguard Workerforeach ver : ['7']
46*61046927SAndroid Build Coastguard Worker  libpanfrost_per_arch += static_library(
47*61046927SAndroid Build Coastguard Worker    'pan-arch-indirect-v' + ver,
48*61046927SAndroid Build Coastguard Worker    'pan_indirect_dispatch.c',
49*61046927SAndroid Build Coastguard Worker    include_directories : [inc_include, inc_src, inc_panfrost_hw],
50*61046927SAndroid Build Coastguard Worker    c_args : ['-DPAN_ARCH=' + ver],
51*61046927SAndroid Build Coastguard Worker    gnu_symbol_visibility : 'hidden',
52*61046927SAndroid Build Coastguard Worker    dependencies : [deps_for_libpanfrost, idep_nir],
53*61046927SAndroid Build Coastguard Worker  )
54*61046927SAndroid Build Coastguard Workerendforeach
55*61046927SAndroid Build Coastguard Worker
56*61046927SAndroid Build Coastguard Workerlibpanfrost_lib_files = files(
57*61046927SAndroid Build Coastguard Worker  'pan_encoder.h',
58*61046927SAndroid Build Coastguard Worker
59*61046927SAndroid Build Coastguard Worker  'pan_afbc.c',
60*61046927SAndroid Build Coastguard Worker  'pan_afrc.c',
61*61046927SAndroid Build Coastguard Worker  'pan_attributes.c',
62*61046927SAndroid Build Coastguard Worker  'pan_blend.c',
63*61046927SAndroid Build Coastguard Worker  'pan_clear.c',
64*61046927SAndroid Build Coastguard Worker  'pan_earlyzs.c',
65*61046927SAndroid Build Coastguard Worker  'pan_samples.c',
66*61046927SAndroid Build Coastguard Worker  'pan_tiler.c',
67*61046927SAndroid Build Coastguard Worker  'pan_layout.c',
68*61046927SAndroid Build Coastguard Worker  'pan_scratch.c',
69*61046927SAndroid Build Coastguard Worker  'pan_props.c',
70*61046927SAndroid Build Coastguard Worker  'pan_util.c',
71*61046927SAndroid Build Coastguard Worker)
72*61046927SAndroid Build Coastguard Worker
73*61046927SAndroid Build Coastguard Workerlibpanfrost_lib = static_library(
74*61046927SAndroid Build Coastguard Worker  'panfrost_lib',
75*61046927SAndroid Build Coastguard Worker  [libpanfrost_lib_files, pan_packers],
76*61046927SAndroid Build Coastguard Worker  include_directories : [inc_include, inc_src, inc_panfrost_hw],
77*61046927SAndroid Build Coastguard Worker  c_args : [no_override_init_args],
78*61046927SAndroid Build Coastguard Worker  gnu_symbol_visibility : 'hidden',
79*61046927SAndroid Build Coastguard Worker  dependencies: [dep_libdrm, idep_nir, idep_mesautil],
80*61046927SAndroid Build Coastguard Worker  build_by_default : false,
81*61046927SAndroid Build Coastguard Worker  link_with: [libpanfrost_pixel_format, libpanfrost_per_arch, libpankmod_lib],
82*61046927SAndroid Build Coastguard Worker)
83*61046927SAndroid Build Coastguard Worker
84*61046927SAndroid Build Coastguard Workerlibpanfrost_dep = declare_dependency(
85*61046927SAndroid Build Coastguard Worker  link_with: [libpanfrost_lib, libpanfrost_decode, libpanfrost_midgard, libpanfrost_bifrost, libpanfrost_pixel_format, libpanfrost_per_arch],
86*61046927SAndroid Build Coastguard Worker  include_directories: [inc_include, inc_src, inc_panfrost_hw, inc_panfrost],
87*61046927SAndroid Build Coastguard Worker  dependencies: [deps_for_libpanfrost, libpankmod_dep, idep_nir],
88*61046927SAndroid Build Coastguard Worker)
89*61046927SAndroid Build Coastguard Worker
90*61046927SAndroid Build Coastguard Workerif with_tests
91*61046927SAndroid Build Coastguard Worker  test(
92*61046927SAndroid Build Coastguard Worker    'panfrost_blend',
93*61046927SAndroid Build Coastguard Worker    executable(
94*61046927SAndroid Build Coastguard Worker      'panfrost_blend_test',
95*61046927SAndroid Build Coastguard Worker      files('tests/test-blend.c'),
96*61046927SAndroid Build Coastguard Worker      c_args : [c_msvc_compat_args, no_override_init_args],
97*61046927SAndroid Build Coastguard Worker      gnu_symbol_visibility : 'hidden',
98*61046927SAndroid Build Coastguard Worker      include_directories : [inc_include, inc_src],
99*61046927SAndroid Build Coastguard Worker      dependencies: [libpanfrost_dep],
100*61046927SAndroid Build Coastguard Worker    ),
101*61046927SAndroid Build Coastguard Worker    suite : ['panfrost'],
102*61046927SAndroid Build Coastguard Worker  )
103*61046927SAndroid Build Coastguard Worker
104*61046927SAndroid Build Coastguard Worker  test(
105*61046927SAndroid Build Coastguard Worker    'panfrost_clear',
106*61046927SAndroid Build Coastguard Worker    executable(
107*61046927SAndroid Build Coastguard Worker      'panfrost_clear_test',
108*61046927SAndroid Build Coastguard Worker      files('tests/test-clear.c'),
109*61046927SAndroid Build Coastguard Worker      c_args : [c_msvc_compat_args, no_override_init_args],
110*61046927SAndroid Build Coastguard Worker      gnu_symbol_visibility : 'hidden',
111*61046927SAndroid Build Coastguard Worker      include_directories : [inc_include, inc_src],
112*61046927SAndroid Build Coastguard Worker      dependencies: [libpanfrost_dep],
113*61046927SAndroid Build Coastguard Worker    ),
114*61046927SAndroid Build Coastguard Worker    suite : ['panfrost'],
115*61046927SAndroid Build Coastguard Worker  )
116*61046927SAndroid Build Coastguard Worker
117*61046927SAndroid Build Coastguard Worker  test(
118*61046927SAndroid Build Coastguard Worker    'panfrost_tests',
119*61046927SAndroid Build Coastguard Worker    executable(
120*61046927SAndroid Build Coastguard Worker      'panfrost_tests',
121*61046927SAndroid Build Coastguard Worker      files(
122*61046927SAndroid Build Coastguard Worker        'tests/test-earlyzs.cpp',
123*61046927SAndroid Build Coastguard Worker        'tests/test-layout.cpp',
124*61046927SAndroid Build Coastguard Worker      ),
125*61046927SAndroid Build Coastguard Worker      c_args : [c_msvc_compat_args, no_override_init_args],
126*61046927SAndroid Build Coastguard Worker      gnu_symbol_visibility : 'hidden',
127*61046927SAndroid Build Coastguard Worker      include_directories : [inc_include, inc_src, inc_panfrost],
128*61046927SAndroid Build Coastguard Worker      dependencies: [idep_gtest, libpanfrost_dep],
129*61046927SAndroid Build Coastguard Worker    ),
130*61046927SAndroid Build Coastguard Worker    suite : ['panfrost'],
131*61046927SAndroid Build Coastguard Worker    protocol : 'gtest',
132*61046927SAndroid Build Coastguard Worker  )
133*61046927SAndroid Build Coastguard Workerendif
134