diff options
Diffstat (limited to 'libs/hwui/renderthread/RenderProxy.cpp')
-rw-r--r-- | libs/hwui/renderthread/RenderProxy.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/libs/hwui/renderthread/RenderProxy.cpp b/libs/hwui/renderthread/RenderProxy.cpp index e14842f89b61..423cc08189ca 100644 --- a/libs/hwui/renderthread/RenderProxy.cpp +++ b/libs/hwui/renderthread/RenderProxy.cpp @@ -215,6 +215,7 @@ void RenderProxy::notifyFramePending() { void RenderProxy::dumpProfileInfo(int fd, int dumpFlags) { mRenderThread.queue().runSync([&]() { + std::lock_guard lock(mRenderThread.getJankDataMutex()); mContext->profiler().dumpData(fd); if (dumpFlags & DumpFlags::FrameStats) { mContext->dumpFrames(fd); @@ -229,11 +230,15 @@ void RenderProxy::dumpProfileInfo(int fd, int dumpFlags) { } void RenderProxy::resetProfileInfo() { - mRenderThread.queue().runSync([=]() { mContext->resetFrameStats(); }); + mRenderThread.queue().runSync([=]() { + std::lock_guard lock(mRenderThread.getJankDataMutex()); + mContext->resetFrameStats(); + }); } uint32_t RenderProxy::frameTimePercentile(int percentile) { return mRenderThread.queue().runSync([&]() -> auto { + std::lock_guard lock(mRenderThread.globalProfileData().getDataMutex()); return mRenderThread.globalProfileData()->findPercentile(percentile); }); } |