1
0
Fork 0
android_external_drm_hwcomp.../meson.build
Drew Davenport 129d12f38a drm_hwcomposer: Report composition stats as vendor atoms
The IStats service provides an interface for reporting metrics from
vendor processes through the IStats::reportVendorAtom interface.

The type and ordering of the data in a VendorAtom are determined by a
proto definition which is typically OEM-specific. The code to construct
the VendorAtom is generated from the proto definition.

Add a soong config variable in the DRMHWC config namespace to enable the
atom reporting. Currently there is only one such implementation.
  atom_reporter: Set this to configure OEM-specific atom reporting.

With the config variable omitted, reporting will be disabled and a stub
implementation is used, ensuring no build or runtime dependency or usage
of the IStats service.

Change-Id: I832adbd42412db1ab4c9403c1da60fa075443caa
Signed-off-by: Drew Davenport <ddavenport@google.com>
2025-06-10 06:59:51 +00:00

75 lines
1.8 KiB
Meson

project(
'drm_hwcomposer',
['c', 'cpp'],
version : '3',
license : 'APACHE-2.0',
meson_version : '>= 0.56',
default_options : ['buildtype=debugoptimized', 'b_ndebug=if-release', 'c_std=c11', 'cpp_std=c++17', 'cpp_rtti=false']
)
inc_include = [include_directories('.')]
src_common = files(
'compositor/DrmKmsPlan.cpp',
'compositor/FlatteningController.cpp',
'backend/BackendManager.cpp',
'backend/Backend.cpp',
'backend/BackendClient.cpp',
'hwc/HwcDisplayConfigs.cpp',
'hwc/HwcDisplay.cpp',
'hwc/HwcLayer.cpp',
'stats/CompositionStats.cpp',
'stats/CompositionStatsAtomReporter.cpp',
'stats/CompositionStatsPoller.cpp',
'utils/fd.cpp',
'utils/LibdisplayEdidWrapper.cpp',
'utils/properties.cpp',
)
srcs_hwc2_device = [
'hwc2_device/hwc2_device.cpp',
'hwc2_device/DrmHwcTwo.cpp',
]
deps = [
dependency('cutils'),
dependency('drm'),
dependency('hardware'),
dependency('hidlbase'),
dependency('log'),
dependency('sync'),
dependency('ui'),
dependency('utils'),
dependency('aidlcommonsupport'),
dependency('android.hardware.graphics.composer@2.1-resources'),
dependency('android.hardware.graphics.composer@2.2-resources'),
]
common_cpp_flags = [
'-DUSE_IMAPPER4_METADATA_API',
]
dep_libdisplay_info = dependency('display_info', required : false)
if dep_libdisplay_info.found()
common_cpp_flags += '-DHAS_LIBDISPLAY_INFO'
deps += dep_libdisplay_info
endif
hwc2_cpp_flags = [
'-DHWC2_INCLUDE_STRINGIFICATION',
'-DHWC2_USE_CPP11',
]
subdir('drm')
subdir('bufferinfo')
drmhwc_common = static_library(
'drm_hwcomposer_common',
src_common,
# TODO remove hwc2 flags from common code (backends needs rework)
cpp_args : common_cpp_flags + hwc2_cpp_flags,
dependencies : deps,
)
subdir('hwc2_device')
subdir('hwc3')