Revert "Caching between SF and HWC for BufferStateLayers"

This reverts commit b28f007e51fb84ff78ce8b053d80efb0efdbce20.

Reason for revert: Causing pre-submit failure b/126704033

Change-Id: I17c99cd410b3fa3825d01fedd21a52451368b5c0
diff --git a/services/surfaceflinger/CompositionEngine/src/HwcBufferCache.cpp b/services/surfaceflinger/CompositionEngine/src/HwcBufferCache.cpp
index 8177c7f..6f340b9 100644
--- a/services/surfaceflinger/CompositionEngine/src/HwcBufferCache.cpp
+++ b/services/surfaceflinger/CompositionEngine/src/HwcBufferCache.cpp
@@ -21,45 +21,31 @@
 namespace android::compositionengine::impl {
 
 HwcBufferCache::HwcBufferCache() {
-    std::fill(std::begin(mBuffers), std::end(mBuffers),
-              std::pair<uint64_t, wp<GraphicBuffer>>(0, nullptr));
+    mBuffers.reserve(BufferQueue::NUM_BUFFER_SLOTS);
 }
-int HwcBufferCache::getSlot(const sp<GraphicBuffer>& buffer) {
-    // search for cached buffer first
-    for (int i = 0; i < BufferQueue::NUM_BUFFER_SLOTS; i++) {
-        if (mBuffers[i].second == buffer) {
-            return i;
-        }
+
+void HwcBufferCache::getHwcBuffer(int slot, const sp<GraphicBuffer>& buffer, uint32_t* outSlot,
+                                  sp<GraphicBuffer>* outBuffer) {
+    if (slot == BufferQueue::INVALID_BUFFER_SLOT || slot < 0) {
+        // default to slot 0
+        slot = 0;
     }
 
-    // use the least-recently used slot
-    return getLeastRecentlyUsedSlot();
-}
+    if (static_cast<size_t>(slot) >= mBuffers.size()) {
+        mBuffers.resize(slot + 1);
+    }
 
-int HwcBufferCache::getLeastRecentlyUsedSlot() {
-    auto iter = std::min_element(std::begin(mBuffers), std::end(mBuffers));
-    return std::distance(std::begin(mBuffers), iter);
-}
+    *outSlot = slot;
 
-void HwcBufferCache::getHwcBuffer(const sp<GraphicBuffer>& buffer, uint32_t* outSlot,
-                                  sp<GraphicBuffer>* outBuffer) {
-    *outSlot = getSlot(buffer);
-
-    auto& [currentCounter, currentBuffer] = mBuffers[*outSlot];
-    if (currentBuffer == buffer) {
+    if (mBuffers[slot] == buffer) {
         // already cached in HWC, skip sending the buffer
         *outBuffer = nullptr;
-        currentCounter = getCounter();
     } else {
         *outBuffer = buffer;
 
         // update cache
-        currentBuffer = buffer;
-        currentCounter = getCounter();
+        mBuffers[slot] = buffer;
     }
 }
 
-uint64_t HwcBufferCache::getCounter() {
-    return mCounter++;
-}
 } // namespace android::compositionengine::impl