diff options
Diffstat (limited to 'services/surfaceflinger/SurfaceFlinger.cpp')
-rw-r--r-- | services/surfaceflinger/SurfaceFlinger.cpp | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index 606355549e..29441d95d6 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -75,7 +75,6 @@ #include "BufferLayer.h" #include "BufferQueueLayer.h" #include "BufferStateLayer.h" -#include "BufferStateLayerCache.h" #include "Client.h" #include "ColorLayer.h" #include "Colorizer.h" @@ -3542,7 +3541,7 @@ void SurfaceFlinger::setTransactionState(const Vector<ComposerState>& states, const sp<IBinder>& applyToken, const InputWindowCommands& inputWindowCommands, int64_t desiredPresentTime, - const cached_buffer_t& uncacheBuffer, + const client_cache_t& uncacheBuffer, const std::vector<ListenerCallbacks>& listenerCallbacks) { ATRACE_CALL(); @@ -3574,7 +3573,7 @@ void SurfaceFlinger::applyTransactionState(const Vector<ComposerState>& states, const Vector<DisplayState>& displays, uint32_t flags, const InputWindowCommands& inputWindowCommands, const int64_t desiredPresentTime, - const cached_buffer_t& uncacheBuffer, + const client_cache_t& uncacheBuffer, const std::vector<ListenerCallbacks>& listenerCallbacks, const int64_t postTime, bool privileged, bool isMainThread) { @@ -3624,8 +3623,8 @@ void SurfaceFlinger::applyTransactionState(const Vector<ComposerState>& states, transactionFlags |= addInputWindowCommands(inputWindowCommands); - if (uncacheBuffer.token) { - BufferStateLayerCache::getInstance().erase(uncacheBuffer.token, uncacheBuffer.cacheId); + if (uncacheBuffer.isValid()) { + ClientCache::getInstance().erase(uncacheBuffer); } // If a synchronous transaction is explicitly requested without any changes, force a transaction @@ -3980,17 +3979,15 @@ uint32_t SurfaceFlinger::setClientStateLocked( bool cacheIdChanged = what & layer_state_t::eCachedBufferChanged; sp<GraphicBuffer> buffer; if (bufferChanged && cacheIdChanged) { - BufferStateLayerCache::getInstance().add(s.cachedBuffer.token, s.cachedBuffer.cacheId, - s.buffer); + ClientCache::getInstance().add(s.cachedBuffer, s.buffer); buffer = s.buffer; } else if (cacheIdChanged) { - buffer = BufferStateLayerCache::getInstance().get(s.cachedBuffer.token, - s.cachedBuffer.cacheId); + buffer = ClientCache::getInstance().get(s.cachedBuffer); } else if (bufferChanged) { buffer = s.buffer; } if (buffer) { - if (layer->setBuffer(buffer, postTime, desiredPresentTime)) { + if (layer->setBuffer(buffer, postTime, desiredPresentTime, s.cachedBuffer)) { flags |= eTraversalNeeded; } } |