Loading services/bufferhub/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -63,6 +63,7 @@ cc_binary { "libbufferhubservice", "libcrypto", "libcutils", "libhidlbase", "libhidltransport", "libhwbinder", "liblog", Loading services/surfaceflinger/Client.cpp +7 −0 Original line number Diff line number Diff line Loading @@ -87,11 +87,18 @@ status_t Client::createWithSurfaceParent(const String8& name, uint32_t w, uint32 LayerMetadata metadata, sp<IBinder>* handle, sp<IGraphicBufferProducer>* gbp) { if (mFlinger->authenticateSurfaceTexture(parent) == false) { ALOGE("failed to authenticate surface texture"); // The extra parent layer check below before returning is to help with debugging // b/134888387. Once the bug is fixed the check can be deleted. if ((static_cast<MonitoredProducer*>(parent.get()))->getLayer() == nullptr) { ALOGE("failed to find parent layer"); } return BAD_VALUE; } const auto& layer = (static_cast<MonitoredProducer*>(parent.get()))->getLayer(); if (layer == nullptr) { ALOGE("failed to find parent layer"); return BAD_VALUE; } Loading services/surfaceflinger/SurfaceFlinger.cpp +8 −1 Original line number Diff line number Diff line Loading @@ -2133,7 +2133,14 @@ void SurfaceFlinger::postComposition() } mTransactionCompletedThread.addPresentFence(mPreviousPresentFences[0]); // Lock the mStateLock in case SurfaceFlinger is in the middle of applying a transaction. // If we do not lock here, a callback could be sent without all of its SurfaceControls and // metrics. { Mutex::Autolock _l(mStateLock); mTransactionCompletedThread.sendCallbacks(); } if (mLumaSampling && mRegionSamplingThread) { mRegionSamplingThread->notifyNewContent(); Loading Loading
services/bufferhub/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -63,6 +63,7 @@ cc_binary { "libbufferhubservice", "libcrypto", "libcutils", "libhidlbase", "libhidltransport", "libhwbinder", "liblog", Loading
services/surfaceflinger/Client.cpp +7 −0 Original line number Diff line number Diff line Loading @@ -87,11 +87,18 @@ status_t Client::createWithSurfaceParent(const String8& name, uint32_t w, uint32 LayerMetadata metadata, sp<IBinder>* handle, sp<IGraphicBufferProducer>* gbp) { if (mFlinger->authenticateSurfaceTexture(parent) == false) { ALOGE("failed to authenticate surface texture"); // The extra parent layer check below before returning is to help with debugging // b/134888387. Once the bug is fixed the check can be deleted. if ((static_cast<MonitoredProducer*>(parent.get()))->getLayer() == nullptr) { ALOGE("failed to find parent layer"); } return BAD_VALUE; } const auto& layer = (static_cast<MonitoredProducer*>(parent.get()))->getLayer(); if (layer == nullptr) { ALOGE("failed to find parent layer"); return BAD_VALUE; } Loading
services/surfaceflinger/SurfaceFlinger.cpp +8 −1 Original line number Diff line number Diff line Loading @@ -2133,7 +2133,14 @@ void SurfaceFlinger::postComposition() } mTransactionCompletedThread.addPresentFence(mPreviousPresentFences[0]); // Lock the mStateLock in case SurfaceFlinger is in the middle of applying a transaction. // If we do not lock here, a callback could be sent without all of its SurfaceControls and // metrics. { Mutex::Autolock _l(mStateLock); mTransactionCompletedThread.sendCallbacks(); } if (mLumaSampling && mRegionSamplingThread) { mRegionSamplingThread->notifyNewContent(); Loading