Merge 10952656

Merged-In: Ib9494d167e0d433adb05ce071df978d7dfe566f9
Change-Id: Idcb1fd03d1d1510aecf247759d7b2c5a23c5e46f
diff --git a/.clang-format b/.clang-format
index 03af56d..f63f670 100644
--- a/.clang-format
+++ b/.clang-format
@@ -11,3 +11,7 @@
 IndentWidth: 4
 PenaltyBreakBeforeFirstCallParameter: 100000
 SpacesBeforeTrailingComments: 1
+IncludeBlocks: Preserve
+
+DerivePointerAlignment: false
+PointerAlignment: Left
diff --git a/libcap/acrylic_capability.h b/libcap/acrylic_capability.h
index ff49f1a..614c44c 100644
--- a/libcap/acrylic_capability.h
+++ b/libcap/acrylic_capability.h
@@ -46,6 +46,7 @@
     MALI_GRALLOC_FORMAT_INTERNAL_YUV420_10BIT_I,
     HAL_PIXEL_FORMAT_EXYNOS_YCbCr_P010_SPN,
     HAL_PIXEL_FORMAT_EXYNOS_YCbCr_P010_M,
+    MALI_GRALLOC_FORMAT_INTERNAL_P010,
     HAL_PIXEL_FORMAT_EXYNOS_YCbCr_420_SP_M_SBWC,
     HAL_PIXEL_FORMAT_EXYNOS_YCbCr_420_SPN_SBWC,
     HAL_PIXEL_FORMAT_EXYNOS_YCbCr_420_SP_M_10B_SBWC,
diff --git a/libhwc2.1/ExynosHWCModule.h b/libhwc2.1/ExynosHWCModule.h
index d816bdc..87b6926 100644
--- a/libhwc2.1/ExynosHWCModule.h
+++ b/libhwc2.1/ExynosHWCModule.h
@@ -46,6 +46,11 @@
     {MPP_DPP_VGRFS, MPP_LOGICAL_DPP_VGRFS, "DPP_VGRFS2", 2, 0, HWC_DISPLAY_SECONDARY_BIT, 0, 0}
 };
 
+static const std::array<exynos_display_t, 2> AVAILABLE_DISPLAY_UNITS = {{
+    {HWC_DISPLAY_PRIMARY, 0, "PrimaryDisplay", "/dev/dri/card0", ""},
+    {HWC_DISPLAY_PRIMARY, 1, "SecondaryDisplay", "/dev/dri/card0", ""}
+}};
+
 } // namespace gs201
 
 #endif // ANDROID_EXYNOS_HWC_MODULE_GS201_H_
diff --git a/libhwc2.1/ExynosResourceRestriction.h b/libhwc2.1/ExynosResourceRestriction.h
index 3583fbd..75baa6a 100644
--- a/libhwc2.1/ExynosResourceRestriction.h
+++ b/libhwc2.1/ExynosResourceRestriction.h
@@ -115,6 +115,7 @@
     {MPP_DPP_VGRFS, NODE_NONE, HAL_PIXEL_FORMAT_EXYNOS_YCbCr_P010_M, 0},
     {MPP_DPP_VGRFS, NODE_NONE, HAL_PIXEL_FORMAT_EXYNOS_YCbCr_P010_SPN, 0},
     {MPP_DPP_VGRFS, NODE_NONE, HAL_PIXEL_FORMAT_YCBCR_P010, 0},
+    {MPP_DPP_VGRFS, NODE_NONE, MALI_GRALLOC_FORMAT_INTERNAL_P010, 0},
     {MPP_DPP_VGRFS, NODE_NONE, HAL_PIXEL_FORMAT_GOOGLE_NV12_SP, 0},
     {MPP_DPP_VGRFS, NODE_NONE, HAL_PIXEL_FORMAT_GOOGLE_NV12_SP_10B, 0},
     {MPP_G2D, NODE_NONE, HAL_PIXEL_FORMAT_RGB_565, 0},
@@ -133,12 +134,15 @@
     {MPP_G2D, NODE_NONE, HAL_PIXEL_FORMAT_EXYNOS_YCbCr_420_SPN_S10B, 0},
     {MPP_G2D, NODE_NONE, HAL_PIXEL_FORMAT_EXYNOS_YCbCr_P010_M, 0},
     {MPP_G2D, NODE_NONE, HAL_PIXEL_FORMAT_EXYNOS_YCbCr_P010_SPN, 0},
+    {MPP_G2D, NODE_NONE, MALI_GRALLOC_FORMAT_INTERNAL_P010, 0},
     {MPP_G2D, NODE_NONE, HAL_PIXEL_FORMAT_YCrCb_420_SP, 0},
     {MPP_G2D, NODE_NONE, HAL_PIXEL_FORMAT_EXYNOS_YCbCr_420_SPN_TILED, 0},
     {MPP_G2D, NODE_NONE, HAL_PIXEL_FORMAT_GOOGLE_NV12_SP, 0},
     {MPP_G2D, NODE_NONE, HAL_PIXEL_FORMAT_GOOGLE_NV12_SP_10B, 0},
 };
 
+static ppc_table ppc_table_map = gs101::ppc_table_map;
+
 } // namespace gs201
 
 #endif // EXYNOS_RESOURCE_RESTRICTION_GS201_H_
diff --git a/libhwc2.1/libdevice/HistogramController.h b/libhwc2.1/libdevice/HistogramController.h
new file mode 100644
index 0000000..e907943
--- /dev/null
+++ b/libhwc2.1/libdevice/HistogramController.h
@@ -0,0 +1,22 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "HistogramDevice.h"
+
+class HistogramController : public HistogramDevice {
+public:
+    HistogramController(ExynosDisplay *display) : HistogramDevice(display, 1, {}) {}
+};
diff --git a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.h b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.h
index d2c3040..1ffe292 100644
--- a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.h
+++ b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.h
@@ -57,8 +57,6 @@
         using CGCDataInfo = std::pair<int32_t, struct cgc_dma_lut *>;
         std::vector<CGCDataInfo> mCGCDataInfos;
         size_t iCGCDataInfo = 0;
-        /* For Histogram */
-        std::shared_ptr<IDLHistogram> mHistogramInfo;
 };
 
 class ExynosPrimaryDisplayDrmInterfaceModule : public ExynosDisplayDrmInterfaceModule {