xref: /aosp_15_r20/external/mesa3d/src/gallium/drivers/panfrost/meson.build (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1*61046927SAndroid Build Coastguard Worker# Copyright © 2017 Intel Corporation
2*61046927SAndroid Build Coastguard Worker# Copyright © 2018 Alyssa Rosenzweig
3*61046927SAndroid Build Coastguard Worker# SPDX-License-Identifier: MIT
4*61046927SAndroid Build Coastguard Worker
5*61046927SAndroid Build Coastguard Workerfiles_panfrost = files(
6*61046927SAndroid Build Coastguard Worker  'driinfo_panfrost.h',
7*61046927SAndroid Build Coastguard Worker  'pan_afbc_cso.c',
8*61046927SAndroid Build Coastguard Worker  'pan_bo.c',
9*61046927SAndroid Build Coastguard Worker  'pan_device.c',
10*61046927SAndroid Build Coastguard Worker  'pan_disk_cache.c',
11*61046927SAndroid Build Coastguard Worker  'pan_fence.c',
12*61046927SAndroid Build Coastguard Worker  'pan_helpers.c',
13*61046927SAndroid Build Coastguard Worker  'pan_public.h',
14*61046927SAndroid Build Coastguard Worker  'pan_screen.c',
15*61046927SAndroid Build Coastguard Worker  'pan_screen.h',
16*61046927SAndroid Build Coastguard Worker  'pan_resource.c',
17*61046927SAndroid Build Coastguard Worker  'pan_resource.h',
18*61046927SAndroid Build Coastguard Worker  'pan_context.c',
19*61046927SAndroid Build Coastguard Worker  'pan_blit.c',
20*61046927SAndroid Build Coastguard Worker  'pan_job.c',
21*61046927SAndroid Build Coastguard Worker  'pan_shader.c',
22*61046927SAndroid Build Coastguard Worker  'pan_mempool.c',
23*61046927SAndroid Build Coastguard Worker  'pan_mempool.h',
24*61046927SAndroid Build Coastguard Worker  'pan_nir_remove_fragcolor_stores.c',
25*61046927SAndroid Build Coastguard Worker  'pan_nir_lower_sysvals.c',
26*61046927SAndroid Build Coastguard Worker  'pan_nir_lower_res_indices.c',
27*61046927SAndroid Build Coastguard Worker)
28*61046927SAndroid Build Coastguard Worker
29*61046927SAndroid Build Coastguard Workerpanfrost_includes = [
30*61046927SAndroid Build Coastguard Worker  inc_mapi,
31*61046927SAndroid Build Coastguard Worker  inc_mesa,
32*61046927SAndroid Build Coastguard Worker  inc_gallium,
33*61046927SAndroid Build Coastguard Worker  inc_gallium_aux,
34*61046927SAndroid Build Coastguard Worker  inc_include,
35*61046927SAndroid Build Coastguard Worker  inc_src,
36*61046927SAndroid Build Coastguard Worker  inc_panfrost,
37*61046927SAndroid Build Coastguard Worker]
38*61046927SAndroid Build Coastguard Worker
39*61046927SAndroid Build Coastguard Workercompile_args_panfrost = [
40*61046927SAndroid Build Coastguard Worker  '-DGALLIUM_PANFROST',
41*61046927SAndroid Build Coastguard Worker  '-Wno-pointer-arith'
42*61046927SAndroid Build Coastguard Worker]
43*61046927SAndroid Build Coastguard Worker
44*61046927SAndroid Build Coastguard Workerpanfrost_versions = ['4', '5', '6', '7', '9', '10']
45*61046927SAndroid Build Coastguard Workerlibpanfrost_versions = []
46*61046927SAndroid Build Coastguard Worker
47*61046927SAndroid Build Coastguard Workerforeach ver : panfrost_versions
48*61046927SAndroid Build Coastguard Worker  files_panfrost_vx = ['pan_cmdstream.c', pan_packers]
49*61046927SAndroid Build Coastguard Worker  if ver in ['4', '5', '6', '7', '9']
50*61046927SAndroid Build Coastguard Worker    files_panfrost_vx += ['pan_jm.c']
51*61046927SAndroid Build Coastguard Worker  elif ver in ['10']
52*61046927SAndroid Build Coastguard Worker    files_panfrost_vx += ['pan_csf.c']
53*61046927SAndroid Build Coastguard Worker  endif
54*61046927SAndroid Build Coastguard Worker  libpanfrost_versions += static_library(
55*61046927SAndroid Build Coastguard Worker    'panfrost-v' + ver, files_panfrost_vx,
56*61046927SAndroid Build Coastguard Worker    include_directories : panfrost_includes,
57*61046927SAndroid Build Coastguard Worker    c_args : ['-DPAN_ARCH=' + ver],
58*61046927SAndroid Build Coastguard Worker    gnu_symbol_visibility : 'hidden',
59*61046927SAndroid Build Coastguard Worker    dependencies : [idep_pan_packers, idep_nir, dep_libdrm, idep_mesautil],
60*61046927SAndroid Build Coastguard Worker)
61*61046927SAndroid Build Coastguard Workerendforeach
62*61046927SAndroid Build Coastguard Worker
63*61046927SAndroid Build Coastguard Workerlibpanfrost = static_library(
64*61046927SAndroid Build Coastguard Worker  'panfrost',
65*61046927SAndroid Build Coastguard Worker  files_panfrost,
66*61046927SAndroid Build Coastguard Worker  dependencies: [
67*61046927SAndroid Build Coastguard Worker    dep_thread,
68*61046927SAndroid Build Coastguard Worker    dep_libdrm,
69*61046927SAndroid Build Coastguard Worker    idep_mesautil,
70*61046927SAndroid Build Coastguard Worker    idep_nir,
71*61046927SAndroid Build Coastguard Worker    idep_pan_packers
72*61046927SAndroid Build Coastguard Worker  ],
73*61046927SAndroid Build Coastguard Worker  include_directories : panfrost_includes,
74*61046927SAndroid Build Coastguard Worker  c_args : [c_msvc_compat_args, compile_args_panfrost],
75*61046927SAndroid Build Coastguard Worker  gnu_symbol_visibility : 'hidden',
76*61046927SAndroid Build Coastguard Worker  link_with: [libpanfrost_versions],
77*61046927SAndroid Build Coastguard Worker)
78*61046927SAndroid Build Coastguard Worker
79*61046927SAndroid Build Coastguard Workerdriver_panfrost = declare_dependency(
80*61046927SAndroid Build Coastguard Worker  compile_args : compile_args_panfrost,
81*61046927SAndroid Build Coastguard Worker  link_with : [libpanfrost, libpanfrostwinsys, libpanfrost_shared, libpanfrost_midgard, libpanfrost_bifrost, libpanfrost_decode, libpanfrost_lib],
82*61046927SAndroid Build Coastguard Worker)
83