diff options
author | Scott Lobdell <slobdell@google.com> | 2021-04-25 19:53:06 +0000 |
---|---|---|
committer | Rob Seymour <rseymour@google.com> | 2021-05-06 22:32:25 +0000 |
commit | afbe732519a96ff0a42a1c98bd59fd04080b4a96 (patch) | |
tree | 9ca836d438ca47756e4761ee4b844b85bd7e8857 /services/surfaceflinger/ClientCache.cpp | |
parent | 7a303d6e8135bbd0a32075986c9f7083e0fbef23 (diff) | |
parent | 7132116dfd8bdb9c5b505db8d8a27526a4e889d8 (diff) |
Merge SP1A.210425.001
Change-Id: I219cc0af128876534b77a72c36979fa1fe08ba13
Diffstat (limited to 'services/surfaceflinger/ClientCache.cpp')
-rw-r--r-- | services/surfaceflinger/ClientCache.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/services/surfaceflinger/ClientCache.cpp b/services/surfaceflinger/ClientCache.cpp index 44b33ef43d..f310738423 100644 --- a/services/surfaceflinger/ClientCache.cpp +++ b/services/surfaceflinger/ClientCache.cpp @@ -102,7 +102,12 @@ bool ClientCache::add(const client_cache_t& cacheId, const sp<GraphicBuffer>& bu return false; } - processBuffers[id].buffer = buffer; + LOG_ALWAYS_FATAL_IF(mRenderEngine == nullptr, + "Attempted to build the ClientCache before a RenderEngine instance was " + "ready!"); + processBuffers[id].buffer = std::make_shared< + renderengine::ExternalTexture>(buffer, *mRenderEngine, + renderengine::ExternalTexture::Usage::READABLE); return true; } @@ -132,7 +137,7 @@ void ClientCache::erase(const client_cache_t& cacheId) { } } -sp<GraphicBuffer> ClientCache::get(const client_cache_t& cacheId) { +std::shared_ptr<renderengine::ExternalTexture> ClientCache::get(const client_cache_t& cacheId) { std::lock_guard lock(mMutex); ClientCacheBuffer* buf = nullptr; @@ -213,8 +218,8 @@ void ClientCache::dump(std::string& result) { auto &buffers = i.second.second; for (auto& [id, clientCacheBuffer] : buffers) { StringAppendF(&result, "\t ID: %d, Width/Height: %d,%d\n", (int)id, - (int)clientCacheBuffer.buffer->getWidth(), - (int)clientCacheBuffer.buffer->getHeight()); + (int)clientCacheBuffer.buffer->getBuffer()->getWidth(), + (int)clientCacheBuffer.buffer->getBuffer()->getHeight()); } } } |