Snap for 11992464 from 7e05c880a4402e761003170213706dba567760ac to emu-35-1-release

Change-Id: I78ced8d29540aa0259e5793a8c924922cf3f782b
diff --git a/system/hwc3/AlternatingImageStorage.cpp b/system/hwc3/AlternatingImageStorage.cpp
index 6ca2b0b..c4a1d85 100644
--- a/system/hwc3/AlternatingImageStorage.cpp
+++ b/system/hwc3/AlternatingImageStorage.cpp
@@ -20,22 +20,22 @@
 
 uint8_t* AlternatingImageStorage::getRotatingScratchBuffer(std::size_t neededSize,
                                                            std::uint32_t imageIndex) {
-  std::size_t totalNeededSize = neededSize * kNumScratchBufferPieces;
-  if (mScratchBuffer.size() < totalNeededSize) {
-    mScratchBuffer.resize(totalNeededSize);
-  }
+    std::size_t totalNeededSize = neededSize * kNumScratchBufferPieces;
+    if (mScratchBuffer.size() < totalNeededSize) {
+        mScratchBuffer.resize(totalNeededSize);
+    }
 
-  std::size_t bufferIndex = imageIndex % kNumScratchBufferPieces;
-  std::size_t bufferOffset = bufferIndex * neededSize;
-  return &mScratchBuffer[bufferOffset];
+    std::size_t bufferIndex = imageIndex % kNumScratchBufferPieces;
+    std::size_t bufferOffset = bufferIndex * neededSize;
+    return &mScratchBuffer[bufferOffset];
 }
 
 uint8_t* AlternatingImageStorage::getSpecialScratchBuffer(size_t neededSize) {
-  if (mSpecialScratchBuffer.size() < neededSize) {
-    mSpecialScratchBuffer.resize(neededSize);
-  }
+    if (mSpecialScratchBuffer.size() < neededSize) {
+        mSpecialScratchBuffer.resize(neededSize);
+    }
 
-  return &mSpecialScratchBuffer[0];
+    return &mSpecialScratchBuffer[0];
 }
 
 }  // namespace aidl::android::hardware::graphics::composer3::impl
diff --git a/system/hwc3/AlternatingImageStorage.h b/system/hwc3/AlternatingImageStorage.h
index 31c4467..aa17bc7 100644
--- a/system/hwc3/AlternatingImageStorage.h
+++ b/system/hwc3/AlternatingImageStorage.h
@@ -18,6 +18,7 @@
 #define ANDROID_HWC_ALTERNATINGIMAGESTORAGE_H
 
 #include <stdint.h>
+
 #include <vector>
 
 #include "Common.h"
@@ -29,21 +30,21 @@
 // the storage just needs to be 2x the needed image size and the returned buffers
 // can alternate back and forth.
 class AlternatingImageStorage {
- public:
-  AlternatingImageStorage() = default;
+   public:
+    AlternatingImageStorage() = default;
 
-  uint8_t* getRotatingScratchBuffer(std::size_t neededSize, std::uint32_t imageIndex);
+    uint8_t* getRotatingScratchBuffer(std::size_t neededSize, std::uint32_t imageIndex);
 
-  uint8_t* getSpecialScratchBuffer(std::size_t neededSize);
+    uint8_t* getSpecialScratchBuffer(std::size_t neededSize);
 
- private:
-  static constexpr const int kNumScratchBufferPieces = 2;
+   private:
+    static constexpr const int kNumScratchBufferPieces = 2;
 
-  // The main alternating storage.
-  std::vector<uint8_t> mScratchBuffer;
+    // The main alternating storage.
+    std::vector<uint8_t> mScratchBuffer;
 
-  // Extra additional storage for one-off operations (scaling).
-  std::vector<uint8_t> mSpecialScratchBuffer;
+    // Extra additional storage for one-off operations (scaling).
+    std::vector<uint8_t> mSpecialScratchBuffer;
 };
 
 }  // namespace aidl::android::hardware::graphics::composer3::impl
diff --git a/system/hwc3/Display.cpp b/system/hwc3/Display.cpp
index c221c25..fa98015 100644
--- a/system/hwc3/Display.cpp
+++ b/system/hwc3/Display.cpp
@@ -244,6 +244,7 @@
 
     outCapabilities->clear();
     outCapabilities->push_back(DisplayCapability::SKIP_CLIENT_COLOR_TRANSFORM);
+    outCapabilities->push_back(DisplayCapability::MULTI_THREADED_PRESENT);
 
     return HWC3::Error::None;
 }
@@ -263,27 +264,27 @@
 }
 
 HWC3::Error Display::getDisplayConfigurations(std::vector<DisplayConfiguration>* outConfigs) {
-  DEBUG_LOG("%s: display:%" PRId64, __FUNCTION__, mId);
+    DEBUG_LOG("%s: display:%" PRId64, __FUNCTION__, mId);
 
-  std::unique_lock<std::recursive_mutex> lock(mStateMutex);
+    std::unique_lock<std::recursive_mutex> lock(mStateMutex);
 
-  outConfigs->clear();
-  outConfigs->reserve(mConfigs.size());
+    outConfigs->clear();
+    outConfigs->reserve(mConfigs.size());
 
-  for (const auto& [configId, displayConfig] : mConfigs) {
-    DisplayConfiguration displayConfiguration;
-    displayConfiguration.configId = configId;
-    displayConfiguration.width = displayConfig.getWidth();
-    displayConfiguration.height = displayConfig.getHeight();
-    displayConfiguration.dpi = { static_cast<float>(displayConfig.getDpiX()),
-                                static_cast<float>(displayConfig.getDpiY()) };
-    displayConfiguration.vsyncPeriod = displayConfig.getVsyncPeriod();
-    displayConfiguration.configGroup = displayConfig.getConfigGroup();
+    for (const auto& [configId, displayConfig] : mConfigs) {
+        DisplayConfiguration displayConfiguration;
+        displayConfiguration.configId = configId;
+        displayConfiguration.width = displayConfig.getWidth();
+        displayConfiguration.height = displayConfig.getHeight();
+        displayConfiguration.dpi = {static_cast<float>(displayConfig.getDpiX()),
+                                    static_cast<float>(displayConfig.getDpiY())};
+        displayConfiguration.vsyncPeriod = displayConfig.getVsyncPeriod();
+        displayConfiguration.configGroup = displayConfig.getConfigGroup();
 
-    outConfigs->emplace_back(displayConfiguration);
-  }
+        outConfigs->emplace_back(displayConfiguration);
+    }
 
-  return HWC3::Error::None;
+    return HWC3::Error::None;
 }
 
 HWC3::Error Display::getDisplayConnectionType(DisplayConnectionType* outType) {