diff options
author | Naseer Ahmed <naseer@codeaurora.org> | 2018-05-23 13:57:29 -0400 |
---|---|---|
committer | Naseer Ahmed <naseer@codeaurora.org> | 2018-05-23 14:14:34 -0400 |
commit | 7330f814480c157439a5f35a6f3f78a99d332e56 (patch) | |
tree | 7a0cba803eb9baddf83ee7d5c0524316e79cf056 | |
parent | 51f914f1c58615e9cd3c5bfaa94642c186b38bc6 (diff) | |
download | display-7330f814480c157439a5f35a6f3f78a99d332e56.tar.gz |
hwc: Mark only the scRGB layer as skip
Since the color mode is now being used as the working color
space, scRGB layers can be marked as skip and the entire
composition no longer needs to fall back to GPU.
CRs-Fixed: 2247597
Bug: 80082357
Change-Id: Ic32ab3495037a0dcb2f2f3b427bd55e37e17d0cd
-rw-r--r-- | sdm/libs/hwc2/hwc_display.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/sdm/libs/hwc2/hwc_display.cpp b/sdm/libs/hwc2/hwc_display.cpp index 66a0d79a..1a36623c 100644 --- a/sdm/libs/hwc2/hwc_display.cpp +++ b/sdm/libs/hwc2/hwc_display.cpp @@ -452,8 +452,6 @@ void HWCDisplay::BuildLayerStack() { uint32_t color_mode_count = 0; display_intf_->GetColorModeCount(&color_mode_count); - bool extended_range = false; - // Add one layer for fb target // TODO(user): Add blit target layers for (auto hwc_layer : layer_set_) { @@ -476,7 +474,7 @@ void HWCDisplay::BuildLayerStack() { auto range = hwc_layer->GetLayerDataspace() & HAL_DATASPACE_RANGE_MASK; if (range == HAL_DATASPACE_RANGE_EXTENDED) { - extended_range = true; + layer->flags.skip = true; } // set default composition as GPU for SDM @@ -607,7 +605,7 @@ void HWCDisplay::BuildLayerStack() { // fall back frame composition to GPU when client target is 10bit // TODO(user): clarify the behaviour from Client(SF) and SDM Extn - // when handling 10bit FBT, as it would affect blending - if (Is10BitFormat(sdm_client_target->input_buffer.format) || extended_range) { + if (Is10BitFormat(sdm_client_target->input_buffer.format)) { // Must fall back to client composition MarkLayersForClientComposition(); } |