xref: /aosp_15_r20/external/mesa3d/src/gallium/frontends/dri/meson.build (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1*61046927SAndroid Build Coastguard Worker# Copyright © 2017 Dylan Baker
2*61046927SAndroid Build Coastguard Worker# SPDX-License-Identifier: MIT
3*61046927SAndroid Build Coastguard Worker
4*61046927SAndroid Build Coastguard Workerinc_st_dri = include_directories('.')
5*61046927SAndroid Build Coastguard Workerdeps_for_libdri = []
6*61046927SAndroid Build Coastguard Worker
7*61046927SAndroid Build Coastguard Workerfiles_libdri = files(
8*61046927SAndroid Build Coastguard Worker  'dri_context.c',
9*61046927SAndroid Build Coastguard Worker  'dri_context.h',
10*61046927SAndroid Build Coastguard Worker  'dri_drawable.c',
11*61046927SAndroid Build Coastguard Worker  'dri_drawable.h',
12*61046927SAndroid Build Coastguard Worker  'dri_helpers.c',
13*61046927SAndroid Build Coastguard Worker  'dri_helpers.h',
14*61046927SAndroid Build Coastguard Worker  'dri_query_renderer.c',
15*61046927SAndroid Build Coastguard Worker  'dri_query_renderer.h',
16*61046927SAndroid Build Coastguard Worker  'dri_screen.c',
17*61046927SAndroid Build Coastguard Worker  'dri_screen.h',
18*61046927SAndroid Build Coastguard Worker  'dri_util.c',
19*61046927SAndroid Build Coastguard Worker  'dri_util.h',
20*61046927SAndroid Build Coastguard Worker)
21*61046927SAndroid Build Coastguard Worker
22*61046927SAndroid Build Coastguard Workerif with_platform_x11
23*61046927SAndroid Build Coastguard Worker  deps_for_libdri += dep_xcb
24*61046927SAndroid Build Coastguard Worker  if with_dri_platform == 'drm'
25*61046927SAndroid Build Coastguard Worker    deps_for_libdri += [dep_xcb_dri3, dep_xcb_present, dep_xcb_sync,
26*61046927SAndroid Build Coastguard Worker                        dep_xshmfence, dep_xcb_xfixes]
27*61046927SAndroid Build Coastguard Worker    files_libdri += files('loader_dri3_helper.c')
28*61046927SAndroid Build Coastguard Worker  endif
29*61046927SAndroid Build Coastguard Workerendif
30*61046927SAndroid Build Coastguard Worker
31*61046927SAndroid Build Coastguard Workerif with_dri
32*61046927SAndroid Build Coastguard Worker  files_libdri += files('drisw.c')
33*61046927SAndroid Build Coastguard Workerendif
34*61046927SAndroid Build Coastguard Worker
35*61046927SAndroid Build Coastguard Workerif with_dri2
36*61046927SAndroid Build Coastguard Worker  files_libdri += files('dri2.c')
37*61046927SAndroid Build Coastguard Workerendif
38*61046927SAndroid Build Coastguard Worker
39*61046927SAndroid Build Coastguard Workerlibdri_c_args = []
40*61046927SAndroid Build Coastguard Workerif with_gallium_zink and not with_platform_android
41*61046927SAndroid Build Coastguard Worker  if with_glvnd
42*61046927SAndroid Build Coastguard Worker    libdri_c_args += '-DKOPPER_LIB_NAMES="libEGL_@0@ and libGLX_@0@"'.format(glvnd_vendor_name)
43*61046927SAndroid Build Coastguard Worker  else
44*61046927SAndroid Build Coastguard Worker    libdri_c_args += '-DKOPPER_LIB_NAMES="libEGL and libGLX"'
45*61046927SAndroid Build Coastguard Worker  endif
46*61046927SAndroid Build Coastguard Worker  files_libdri += files('kopper.c')
47*61046927SAndroid Build Coastguard Worker  deps_for_libdri += vulkan_wsi_deps
48*61046927SAndroid Build Coastguard Workerelse
49*61046927SAndroid Build Coastguard Worker  files_libdri += files('kopper_stubs.c')
50*61046927SAndroid Build Coastguard Workerendif
51*61046927SAndroid Build Coastguard Worker
52*61046927SAndroid Build Coastguard Workerlibdri = static_library(
53*61046927SAndroid Build Coastguard Worker  'dri',
54*61046927SAndroid Build Coastguard Worker  [ files_libdri, sha1_h ],
55*61046927SAndroid Build Coastguard Worker  include_directories : [
56*61046927SAndroid Build Coastguard Worker    inc_include, inc_util, inc_mesa, inc_mapi, inc_src, inc_gallium,
57*61046927SAndroid Build Coastguard Worker    inc_gallium_aux, inc_util, inc_gallium_drivers, inc_loader,
58*61046927SAndroid Build Coastguard Worker  ],
59*61046927SAndroid Build Coastguard Worker  c_args : [libdri_c_args],
60*61046927SAndroid Build Coastguard Worker  gnu_symbol_visibility : 'hidden',
61*61046927SAndroid Build Coastguard Worker  dependencies : [
62*61046927SAndroid Build Coastguard Worker    dep_libdrm,
63*61046927SAndroid Build Coastguard Worker    idep_mesautil,
64*61046927SAndroid Build Coastguard Worker    deps_for_libdri,
65*61046927SAndroid Build Coastguard Worker  ],
66*61046927SAndroid Build Coastguard Worker  link_with : [libloader],
67*61046927SAndroid Build Coastguard Worker)
68*61046927SAndroid Build Coastguard Worker
69*61046927SAndroid Build Coastguard Workerif with_dri
70*61046927SAndroid Build Coastguard Worker  dri_req_private = []
71*61046927SAndroid Build Coastguard Worker  if dep_libdrm.found()
72*61046927SAndroid Build Coastguard Worker    dri_req_private = ['libdrm >= @0@'.format(_drm_ver)]
73*61046927SAndroid Build Coastguard Worker  endif
74*61046927SAndroid Build Coastguard Worker
75*61046927SAndroid Build Coastguard Worker  pkg.generate(
76*61046927SAndroid Build Coastguard Worker    name : 'dri',
77*61046927SAndroid Build Coastguard Worker    filebase : 'dri',
78*61046927SAndroid Build Coastguard Worker    description : 'Direct Rendering Infrastructure',
79*61046927SAndroid Build Coastguard Worker    version : meson.project_version(),
80*61046927SAndroid Build Coastguard Worker    variables : ['dridriverdir=@0@'.format(dri_drivers_path)],
81*61046927SAndroid Build Coastguard Worker    requires_private : dri_req_private,
82*61046927SAndroid Build Coastguard Worker  )
83*61046927SAndroid Build Coastguard Workerendif
84