From ef3ecd5096d8f4a4c92dd19e0d9ae09320455ba9 Mon Sep 17 00:00:00 2001 From: Alec Mouri Date: Tue, 24 Sep 2024 21:00:32 +0000 Subject: Add metrics for TextureView dataspace changes Bug: 329475035 Flag: EXEMPT logging only Test: builds Test: GraphicsAtomTests Change-Id: Ia65ceb3bf205e3050b182aa6d170a453076bdc4c --- libs/hwui/DeferredLayerUpdater.cpp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'libs/hwui/DeferredLayerUpdater.cpp') diff --git a/libs/hwui/DeferredLayerUpdater.cpp b/libs/hwui/DeferredLayerUpdater.cpp index b763a96e8e8a..c0160705fd47 100644 --- a/libs/hwui/DeferredLayerUpdater.cpp +++ b/libs/hwui/DeferredLayerUpdater.cpp @@ -19,6 +19,7 @@ #include // TODO: Use public SurfaceTexture APIs once available and include public NDK header file instead. +#include #include #include "AutoBackendTextureRelease.h" @@ -50,6 +51,14 @@ DeferredLayerUpdater::~DeferredLayerUpdater() { setTransform(nullptr); mRenderState.removeContextCallback(this); destroyLayer(); + if (mFirstTimeForDataspace > std::chrono::steady_clock::time_point::min()) { + auto currentTime = std::chrono::steady_clock::now(); + stats_write(stats::TEXTURE_VIEW_EVENT, static_cast(getuid()), + static_cast(std::chrono::duration_cast( + currentTime - mFirstTimeForDataspace) + .count()), + mDataspace); + } } void DeferredLayerUpdater::setSurfaceTexture(AutoTextureRelease&& consumer) { @@ -195,6 +204,21 @@ void DeferredLayerUpdater::apply() { updateLayer(forceFilter, layerImage, outTransform, currentCropRect, maxLuminanceNits); } + + if (dataspace != mDataspace || + mFirstTimeForDataspace == std::chrono::steady_clock::time_point::min()) { + auto currentTime = std::chrono::steady_clock::now(); + if (mFirstTimeForDataspace > std::chrono::steady_clock::time_point::min()) { + stats_write(stats::TEXTURE_VIEW_EVENT, static_cast(getuid()), + static_cast( + std::chrono::duration_cast( + currentTime - mFirstTimeForDataspace) + .count()), + mDataspace); + } + mFirstTimeForDataspace = currentTime; + mDataspace = dataspace; + } } } -- cgit v1.2.3-59-g8ed1b