summaryrefslogtreecommitdiff
path: root/sdm/libs/hwc2/hwc_layers.cpp
diff options
context:
space:
mode:
authorNaseer Ahmed <naseer@codeaurora.org>2016-05-03 19:13:07 -0400
committerNaseer Ahmed <naseer@codeaurora.org>2016-05-04 21:02:31 -0400
commit72dea24edbeea954ecb6e89f95a15afa51926b44 (patch)
tree1737e813660d60aef5926650c0bbe351ac700296 /sdm/libs/hwc2/hwc_layers.cpp
parentafd25498593011527fc4ae6d9e2d5e008b468578 (diff)
downloaddisplay-72dea24edbeea954ecb6e89f95a15afa51926b44.tar.gz
hwc2: Address remaining review comments
* Fix incorrect definition of GeometryChanges enum * Fix initializations * Fix plane alpha rounding * Add missing 10 bit formats * Fix hotplug reporting Change-Id: I3b531fea019fc6032148814c4cc27238e89aeb8e
Diffstat (limited to 'sdm/libs/hwc2/hwc_layers.cpp')
-rw-r--r--sdm/libs/hwc2/hwc_layers.cpp36
1 files changed, 31 insertions, 5 deletions
diff --git a/sdm/libs/hwc2/hwc_layers.cpp b/sdm/libs/hwc2/hwc_layers.cpp
index a8d8173c..ada1cacc 100644
--- a/sdm/libs/hwc2/hwc_layers.cpp
+++ b/sdm/libs/hwc2/hwc_layers.cpp
@@ -26,10 +26,6 @@
namespace sdm {
-bool SortLayersByZ::operator()(const HWCLayer *lhs, const HWCLayer *rhs) {
- return lhs->GetZ() < rhs->GetZ();
-}
-
std::atomic<hwc2_layer_t> HWCLayer::next_id_(1);
// Layer operations
@@ -170,7 +166,7 @@ HWC2::Error HWCLayer::SetLayerDisplayFrame(hwc_rect_t frame) {
HWC2::Error HWCLayer::SetLayerPlaneAlpha(float alpha) {
// Conversion of float alpha in range 0.0 to 1.0 similar to the HWC Adapter
- layer_->plane_alpha = static_cast<uint8_t>(255.0f * alpha + 0.5f);
+ layer_->plane_alpha = static_cast<uint8_t>(std::round(255.0f * alpha));
geometry_changes_ |= kPlaneAlpha;
return HWC2::Error::None;
}
@@ -337,6 +333,36 @@ LayerBufferFormat HWCLayer::GetSDMFormat(const int32_t &source, const int flags)
case HAL_PIXEL_FORMAT_YCbCr_422_I:
format = kFormatYCbCr422H2V1Packed;
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;
default:
DLOGW("Unsupported format type = %d", source);
return kFormatInvalid;