hwc2: Clean up duplicate GetSDMFormat()

Change-Id: I1cac64c53199a3838c0bf37c843b6aa5f30bd0de
CRs-Fixed: 2221571
diff --git a/sdm/libs/hwc2/hwc_display.cpp b/sdm/libs/hwc2/hwc_display.cpp
index 91e47ef..45a5c3d 100644
--- a/sdm/libs/hwc2/hwc_display.cpp
+++ b/sdm/libs/hwc2/hwc_display.cpp
@@ -809,7 +809,7 @@
     GetRange(dataspace, &(color_metadata.range));
   }
 
-  LayerBufferFormat sdm_format = GetSDMFormat(format, 0);
+  LayerBufferFormat sdm_format = HWCLayer::GetSDMFormat(format, 0);
   if (display_intf_->GetClientTargetSupport(width, height, sdm_format,
                                             color_metadata) != kErrorNone) {
     return HWC2::Error::Unsupported;
@@ -1397,146 +1397,6 @@
   return error;
 }
 
-LayerBufferFormat HWCDisplay::GetSDMFormat(const int32_t &source, const int flags) {
-  LayerBufferFormat format = kFormatInvalid;
-  if (flags & private_handle_t::PRIV_FLAGS_UBWC_ALIGNED) {
-    switch (source) {
-      case HAL_PIXEL_FORMAT_RGBA_8888:
-        format = kFormatRGBA8888Ubwc;
-        break;
-      case HAL_PIXEL_FORMAT_RGBX_8888:
-        format = kFormatRGBX8888Ubwc;
-        break;
-      case HAL_PIXEL_FORMAT_BGR_565:
-        format = kFormatBGR565Ubwc;
-        break;
-      case HAL_PIXEL_FORMAT_YCbCr_420_SP_VENUS:
-      case HAL_PIXEL_FORMAT_YCbCr_420_SP_VENUS_UBWC:
-      case HAL_PIXEL_FORMAT_NV12_ENCODEABLE:
-        format = kFormatYCbCr420SPVenusUbwc;
-        break;
-      case HAL_PIXEL_FORMAT_RGBA_1010102:
-        format = kFormatRGBA1010102Ubwc;
-        break;
-      case HAL_PIXEL_FORMAT_RGBX_1010102:
-        format = kFormatRGBX1010102Ubwc;
-        break;
-      case HAL_PIXEL_FORMAT_YCbCr_420_TP10_UBWC:
-        format = kFormatYCbCr420TP10Ubwc;
-        break;
-      case HAL_PIXEL_FORMAT_YCbCr_420_P010_UBWC:
-        format = kFormatYCbCr420P010Ubwc;
-        break;
-      default:
-        DLOGE("Unsupported format type for UBWC %d", source);
-        return kFormatInvalid;
-    }
-    return format;
-  }
-
-  switch (source) {
-    case HAL_PIXEL_FORMAT_RGBA_8888:
-      format = kFormatRGBA8888;
-      break;
-    case HAL_PIXEL_FORMAT_RGBA_5551:
-      format = kFormatRGBA5551;
-      break;
-    case HAL_PIXEL_FORMAT_RGBA_4444:
-      format = kFormatRGBA4444;
-      break;
-    case HAL_PIXEL_FORMAT_BGRA_8888:
-      format = kFormatBGRA8888;
-      break;
-    case HAL_PIXEL_FORMAT_RGBX_8888:
-      format = kFormatRGBX8888;
-      break;
-    case HAL_PIXEL_FORMAT_BGRX_8888:
-      format = kFormatBGRX8888;
-      break;
-    case HAL_PIXEL_FORMAT_RGB_888:
-      format = kFormatRGB888;
-      break;
-    case HAL_PIXEL_FORMAT_RGB_565:
-      format = kFormatRGB565;
-      break;
-    case HAL_PIXEL_FORMAT_BGR_565:
-      format = kFormatBGR565;
-      break;
-    case HAL_PIXEL_FORMAT_BGR_888:
-      format = kFormatBGR888;
-      break;
-    case HAL_PIXEL_FORMAT_NV12_ENCODEABLE:
-    case HAL_PIXEL_FORMAT_YCbCr_420_SP_VENUS:
-      format = kFormatYCbCr420SemiPlanarVenus;
-      break;
-    case HAL_PIXEL_FORMAT_YCrCb_420_SP_VENUS:
-      format = kFormatYCrCb420SemiPlanarVenus;
-      break;
-    case HAL_PIXEL_FORMAT_YCbCr_420_SP_VENUS_UBWC:
-      format = kFormatYCbCr420SPVenusUbwc;
-      break;
-    case HAL_PIXEL_FORMAT_YV12:
-      format = kFormatYCrCb420PlanarStride16;
-      break;
-    case HAL_PIXEL_FORMAT_YCrCb_420_SP:
-      format = kFormatYCrCb420SemiPlanar;
-      break;
-    case HAL_PIXEL_FORMAT_YCbCr_420_SP:
-      format = kFormatYCbCr420SemiPlanar;
-      break;
-    case HAL_PIXEL_FORMAT_YCbCr_422_SP:
-      format = kFormatYCbCr422H2V1SemiPlanar;
-      break;
-    case HAL_PIXEL_FORMAT_YCbCr_422_I:
-      format = kFormatYCbCr422H2V1Packed;
-      break;
-    case HAL_PIXEL_FORMAT_CbYCrY_422_I:
-      format = kFormatCbYCrY422H2V1Packed;
-      break;
-    case HAL_PIXEL_FORMAT_RGBA_1010102:
-      format = kFormatRGBA1010102;
-      break;
-    case HAL_PIXEL_FORMAT_ARGB_2101010:
-      format = kFormatARGB2101010;
-      break;
-    case HAL_PIXEL_FORMAT_RGBX_1010102:
-      format = kFormatRGBX1010102;
-      break;
-    case HAL_PIXEL_FORMAT_XRGB_2101010:
-      format = kFormatXRGB2101010;
-      break;
-    case HAL_PIXEL_FORMAT_BGRA_1010102:
-      format = kFormatBGRA1010102;
-      break;
-    case HAL_PIXEL_FORMAT_ABGR_2101010:
-      format = kFormatABGR2101010;
-      break;
-    case HAL_PIXEL_FORMAT_BGRX_1010102:
-      format = kFormatBGRX1010102;
-      break;
-    case HAL_PIXEL_FORMAT_XBGR_2101010:
-      format = kFormatXBGR2101010;
-      break;
-    case HAL_PIXEL_FORMAT_YCbCr_420_P010:
-      format = kFormatYCbCr420P010;
-      break;
-    case HAL_PIXEL_FORMAT_YCbCr_420_TP10_UBWC:
-      format = kFormatYCbCr420TP10Ubwc;
-      break;
-    case HAL_PIXEL_FORMAT_YCbCr_420_P010_UBWC:
-      format = kFormatYCbCr420P010Ubwc;
-      break;
-    case HAL_PIXEL_FORMAT_YCbCr_420_P010_VENUS:
-      format = kFormatYCbCr420P010Venus;
-      break;
-    default:
-      DLOGW("Unsupported format type = %d", source);
-      return kFormatInvalid;
-  }
-
-  return format;
-}
-
 void HWCDisplay::DumpInputBuffers() {
   char dir_path[PATH_MAX];
 
@@ -1721,7 +1581,7 @@
 
   // TODO(user): How does the dirty region get set on the client target? File bug on Google
   client_target_layer->composition = kCompositionGPUTarget;
-  client_target_layer->input_buffer.format = GetSDMFormat(format, flags);
+  client_target_layer->input_buffer.format = HWCLayer::GetSDMFormat(format, flags);
   client_target_layer->input_buffer.width = UINT32(aligned_width);
   client_target_layer->input_buffer.height = UINT32(aligned_height);
   client_target_layer->input_buffer.unaligned_width = x_pixels;
diff --git a/sdm/libs/hwc2/hwc_display.h b/sdm/libs/hwc2/hwc_display.h
index 212de7f..9a4b228 100644
--- a/sdm/libs/hwc2/hwc_display.h
+++ b/sdm/libs/hwc2/hwc_display.h
@@ -253,7 +253,6 @@
   virtual DisplayError DisablePartialUpdateOneFrame() {
     return kErrorNotSupported;
   }
-  LayerBufferFormat GetSDMFormat(const int32_t &source, const int flags);
   const char *GetDisplayString();
   void MarkLayersForGPUBypass(void);
   void MarkLayersForClientComposition(void);
diff --git a/sdm/libs/hwc2/hwc_display_virtual.cpp b/sdm/libs/hwc2/hwc_display_virtual.cpp
index 11193bb..df8d3a6 100644
--- a/sdm/libs/hwc2/hwc_display_virtual.cpp
+++ b/sdm/libs/hwc2/hwc_display_virtual.cpp
@@ -171,7 +171,7 @@
           buffer_info.buffer_config.width = static_cast<uint32_t>(output_handle->width);
           buffer_info.buffer_config.height = static_cast<uint32_t>(output_handle->height);
           buffer_info.buffer_config.format =
-              GetSDMFormat(output_handle->format, output_handle->flags);
+              HWCLayer::GetSDMFormat(output_handle->format, output_handle->flags);
           buffer_info.alloc_buffer_info.size = static_cast<uint32_t>(output_handle->size);
           DumpOutputBuffer(buffer_info, reinterpret_cast<void *>(output_handle->base),
                            layer_stack_.retire_fence_fd);
@@ -229,7 +229,8 @@
       output_handle_format = HAL_PIXEL_FORMAT_RGBX_8888;
     }
 
-    LayerBufferFormat new_sdm_format = GetSDMFormat(output_handle_format, output_handle->flags);
+    LayerBufferFormat new_sdm_format =
+        HWCLayer::GetSDMFormat(output_handle_format, output_handle->flags);
     if (new_sdm_format == kFormatInvalid) {
       return HWC2::Error::BadParameter;
     }
diff --git a/sdm/libs/hwc2/hwc_layers.h b/sdm/libs/hwc2/hwc_layers.h
index a7d7f01..2a4d4b4 100644
--- a/sdm/libs/hwc2/hwc_layers.h
+++ b/sdm/libs/hwc2/hwc_layers.h
@@ -98,6 +98,7 @@
   bool IsSingleBuffered() { return single_buffer_; }
   bool IsScalingPresent();
   bool IsRotationPresent();
+  static LayerBufferFormat GetSDMFormat(const int32_t &source, const int flags);
 
  private:
   Layer *layer_ = nullptr;
@@ -123,7 +124,6 @@
   void SetRect(const hwc_rect_t &source, LayerRect *target);
   void SetRect(const hwc_frect_t &source, LayerRect *target);
   uint32_t GetUint32Color(const hwc_color_t &source);
-  LayerBufferFormat GetSDMFormat(const int32_t &source, const int flags);
   LayerBufferS3DFormat GetS3DFormat(uint32_t s3d_format);
   void GetUBWCStatsFromMetaData(UBWCStats *cr_stats, UbwcCrStatsVector *cr_vec);
   DisplayError SetMetaData(const private_handle_t *pvt_handle, Layer *layer);