diff --git a/Android.bp b/Android.bp index b034c47..6064664 100644 --- a/Android.bp +++ b/Android.bp @@ -54,6 +54,7 @@ cc_defaults { cppflags: [ "-DHAS_LIBDISPLAY_INFO", + "-DHAS_LIBSYNC", ], cpp_std: "gnu++17", diff --git a/drm/DrmAtomicStateManager.cpp b/drm/DrmAtomicStateManager.cpp index 53b9e68..d628fed 100644 --- a/drm/DrmAtomicStateManager.cpp +++ b/drm/DrmAtomicStateManager.cpp @@ -22,7 +22,9 @@ #include "DrmAtomicStateManager.h" #include +#if HAS_LIBSYNC #include +#endif // HAS_LIBSYNC #include #include @@ -52,6 +54,7 @@ DrmAtomicStateManager::~DrmAtomicStateManager() { } void DrmAtomicStateManager::WaitLastFrame() { +#if HAS_LIBSYNC SharedFd present_fence; { std::lock_guard lock(mutex_); @@ -75,6 +78,7 @@ void DrmAtomicStateManager::WaitLastFrame() { CleanupPriorFrameResources(); } } +#endif // HAS_LIBSYNC } void DrmAtomicStateManager::CleanFailedCommit() { @@ -201,6 +205,7 @@ void DrmAtomicStateManager::CheckDoubleSettingState( } } +#if HAS_LIBSYNC bool DrmAtomicStateManager::SetWriteBackFenceIfNeeded( const AtomicCommitArgs &args, AtomicRequest &request) { if (!pipe_->writeback_connector || !args.writeback_fb) { @@ -240,6 +245,13 @@ bool DrmAtomicStateManager::SetWriteBackFenceIfNeeded( return true; } +#else +// NOLINTNEXTLINE(readability-convert-member-functions-to-static) +bool DrmAtomicStateManager::SetWriteBackFenceIfNeeded( + const AtomicCommitArgs & /* args */, AtomicRequest & /* request */) { + return false; +} +#endif // HAS_LIBSYNC bool DrmAtomicStateManager::SetOutputFence(AtomicRequest &request) { auto *crtc = pipe_->crtc->Get(); @@ -509,6 +521,7 @@ DrmAtomicStateManager::GetAtomicModeReqForArgs(AtomicCommitArgs &args) { } void DrmAtomicStateManager::ThreadFn() { +#if HAS_LIBSYNC int tracking_at_the_moment = -1; for (;;) { @@ -555,6 +568,7 @@ void DrmAtomicStateManager::ThreadFn() { } ALOGI("DrmAtomicStateManager thread exit"); +#endif // HAS_LIBSYNC } void DrmAtomicStateManager::CleanupPriorFrameResources() { diff --git a/meson.build b/meson.build index 99203a2..423fed2 100644 --- a/meson.build +++ b/meson.build @@ -52,6 +52,7 @@ message('ANDROID_SDK_VERSION = ' + android_sdk_version) common_cpp_flags = [ '-DUSE_IMAPPER4_METADATA_API', '-D__ANDROID_API__=' + android_sdk_version, + '-DHAS_LIBSYNC', ] dep_libdisplay_info = dependency('display_info', required : false)