diff options
author | Naseer Ahmed <naseer@codeaurora.org> | 2016-05-03 19:13:07 -0400 |
---|---|---|
committer | Naseer Ahmed <naseer@codeaurora.org> | 2016-05-04 21:02:31 -0400 |
commit | 72dea24edbeea954ecb6e89f95a15afa51926b44 (patch) | |
tree | 1737e813660d60aef5926650c0bbe351ac700296 /sdm/libs/hwc2/hwc_layers.cpp | |
parent | afd25498593011527fc4ae6d9e2d5e008b468578 (diff) | |
download | display-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.cpp | 36 |
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; |