Change slot generation for BufferState
BufferState layers now do slot generation with buffer death considered
appropriately. When a buffer dies, the slot will be pushed onto a stack
of available slots to be reused at the next opportunity. This should
mimic BufferQueue slot behavior and prevent Composer Resources from
growing too large.
Test: build, boot, manual
Bug: 129351223
Change-Id: Icef9592593cacb0b5c6b12f6679fc2c4dabdcd19
diff --git a/services/surfaceflinger/SurfaceFlinger.h b/services/surfaceflinger/SurfaceFlinger.h
index 7a7ad33..72b4721 100644
--- a/services/surfaceflinger/SurfaceFlinger.h
+++ b/services/surfaceflinger/SurfaceFlinger.h
@@ -46,6 +46,7 @@
#include <utils/Trace.h>
#include <utils/threads.h>
+#include "ClientCache.h"
#include "DisplayDevice.h"
#include "DisplayHardware/HWC2.h"
#include "DisplayHardware/PowerAdvisor.h"
@@ -386,7 +387,7 @@
const Vector<DisplayState>& displays, uint32_t flags,
const sp<IBinder>& applyToken,
const InputWindowCommands& inputWindowCommands,
- int64_t desiredPresentTime, const cached_buffer_t& uncacheBuffer,
+ int64_t desiredPresentTime, const client_cache_t& uncacheBuffer,
const std::vector<ListenerCallbacks>& listenerCallbacks) override;
void bootFinished() override;
bool authenticateSurfaceTexture(
@@ -545,7 +546,7 @@
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 = false)
REQUIRES(mStateLock);
@@ -1031,7 +1032,7 @@
struct TransactionState {
TransactionState(const Vector<ComposerState>& composerStates,
const Vector<DisplayState>& displayStates, uint32_t transactionFlags,
- int64_t desiredPresentTime, const cached_buffer_t& uncacheBuffer,
+ int64_t desiredPresentTime, const client_cache_t& uncacheBuffer,
const std::vector<ListenerCallbacks>& listenerCallbacks, int64_t postTime,
bool privileged)
: states(composerStates),
@@ -1047,7 +1048,7 @@
Vector<DisplayState> displays;
uint32_t flags;
const int64_t desiredPresentTime;
- cached_buffer_t buffer;
+ client_cache_t buffer;
std::vector<ListenerCallbacks> callback;
const int64_t postTime;
bool privileged;