History log of /hardware/qcom/display/msm8994/libhwcomposer/hwc_utils.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
5936d78c2a15671de2a803e3beffdcb5079041b3 23-Dec-2016 Alex Naidis <alex.naidis@linux.com> hwcomposer: Fix regression in hwc_sync

Hwc_sync is in the hotpath of display
rendering and gets called every ~17ms
during active rerendering.

Reading the property "debug.egl.swapinterval"
on every execution of hwc_sync causes a major
regression where the execution of hwc_sync
is much slower than it can be.

Doing I/O in hotpaths is inacceptable
and can cause an unnecessary constant
I/O load, additionally to the slowdown
in display rendering which was caused
in this case.

As solution, we condition this debugging
feature with "DISPLAY_DEBUG_SWAPINTERVAL",
so it can be enabled when explicitly needed.

Gralloc is not directly affected by the regression,
it was adjusted to match the conditioning
of the swapinterval debugging feature.

The HALs of msm8084,msm8226,msm8909,msm8960 and
msm8994 are affected by the regression and
get patched by this patch. Newer HALs
are not affected.

The stats contained in this patch were
collected using a Nextbit Robin (MSM8992),
which uses the msm8994 HAL.

Test: Manual testing for proper conditioning.
Test: Running full CTS suite without DISPLAY_DEBUG_SWAPINTERVAL set.

Change-Id: If08595d37ac0c1a19edd8d296289a21c9f95512a
Signed-off-by: Alex Naidis <alex.naidis@linux.com>
/hardware/qcom/display/msm8994/libhwcomposer/hwc_utils.cpp
34b65632c721b5193d6992ed5f7b0a193f68d35f 23-Apr-2016 Dan Austin <danielaustin@google.com> Merge "Perform typecast to disambiguate the call to abs in preparation for libcxx rebase." am: 1994925
am: 011da83

* commit '011da83efdb366d9c1254c2287e7a120376532ea':
Perform typecast to disambiguate the call to abs in preparation for libcxx rebase.

Change-Id: I77b540571afce11618f3a05f49d0acfe6a4c1d02
438a86130d02c5a6fb71367ba8681f36c53531d2 31-Mar-2016 Dan Austin <danielaustin@google.com> Perform typecast to disambiguate the call to abs in preparation for libcxx rebase.

Change-Id: I17f0292a5fc51a3b7aa7d7a290cb2489e52c3c80
/hardware/qcom/display/msm8994/libhwcomposer/hwc_utils.cpp
3bbf145177e8bccb8cf5f817dfd7751a712cfdfa 09-Nov-2015 Naseer Ahmed <naseer@codeaurora.org> hwc: get active display mode at boot

The initial mode was not set and incorrectly reported to
surfaceflinger.
Also, fix comparison bug when reading active config

Change-Id: I4fdf1d2ebb56721d044fc6e0c5ef3ea5c3616e5e
/hardware/qcom/display/msm8994/libhwcomposer/hwc_utils.cpp
0457a52eef9d19cea5922d83da07b7dd1095bdcb 15-Jan-2016 Steve Pfetsch <spfetsch@google.com> Enable color temperature developer setting am: f1812e0b56
am: 0e87e54c58

* commit '0e87e54c5842ab44bd74636046e941905dc1c3ea':
Enable color temperature developer setting
f1812e0b56773537760c9ae8ea45cee5ac902118 14-Jan-2016 Steve Pfetsch <spfetsch@google.com> Enable color temperature developer setting

Add a switch in Developer Settings to enable "cool" color temperature
mode.

Bug: 26110238
Change-Id: I669ae4ddf58d6654b154692afc7d0689227617b2
/hardware/qcom/display/msm8994/libhwcomposer/hwc_utils.cpp
bc094c7aa4c1ba978c1dd0e228dc5373a184a407 24-Sep-2015 Arun Kumar K.R <akumarkr@codeaurora.org> hwc: Fix colorMode setting

- On color mode change, remove redundant setDefaultMode
call, as the defaultMode was already set from applyModebyID
- destroy the ModeManager on deinit

Bug: 24311008

Change-Id: I4971f513e389adb56d7ed00e2c6a20adfe49f4e2
/hardware/qcom/display/msm8994/libhwcomposer/hwc_utils.cpp
831babe5975a052c87de04db7a6acf006b031380 03-Sep-2015 Naseer Ahmed <naseer@codeaurora.org> hwc: Try applying default mode at first frame...

...Before waiting for bootanimation exit

Change-Id: I0c9d643ddddc2d206603a4d10d1be7eb48d975ff
/hardware/qcom/display/msm8994/libhwcomposer/hwc_utils.cpp
6109f69d576a9692126ebf8c8d6391fd92aa8e5a 01-Sep-2015 Naseer Ahmed <naseer@codeaurora.org> hwc: Add support for color mode switching

Add a ColorMode class to HWC to manage color modes and expose
them as display attributes to SurfaceFlinger

Change-Id: I1010096120db6aec61163a84390527f5a0a3645e
/hardware/qcom/display/msm8994/libhwcomposer/hwc_utils.cpp
c30c577b5318940126005724c097fd452b903e62 26-Aug-2015 Arun Kumar K.R <akumarkr@codeaurora.org> hwc: Fix ROI sanitize

- In sanitizeROI function do not increase width/height in both
directions which causes left and right ROI to be unequal for
a source split enabled panel
- Handle ROI calculation which was beyond the frame boundary
when the panel had high min width and height values

Change-Id: Iaf9b2a97a55dc3fbab9ea8c41bfd9368eae0950b
/hardware/qcom/display/msm8994/libhwcomposer/hwc_utils.cpp
cfacc80f236685f3c3c9f556cf9fae81fbf8a37a 13-Aug-2015 Naseer Ahmed <naseer@codeaurora.org> hwc: Program default mode upon boot anim completion

Default display mode needs to applied exactly on boot
completion. Hence we check for the exact instance of
boot completion by checking the property of boot
animation exit. We keep on checking till the property
is found to be set and program the default mode over
a dynamic link to libmm-qdcm.so.

Change-Id: Ic68667a12e4058f29bc2203382baf59ef34ab038
Acked-by: Krishna Chaitanya Parimi <cparimi@codeaurora.org>
/hardware/qcom/display/msm8994/libhwcomposer/hwc_utils.cpp
8982d8b9241f4ac3fd5a35a5016289f25981a729 10-Jul-2015 Arun Kumar K.R <akumarkr@codeaurora.org> hwc: Fix ROI calculation for panels with high min values

- ROI calculations was beyond the frame boundary when the panel
had high min width and height values
- Consider the bounds into account when aligning the ROI

Acked by: Dileep Kumar Reddi <dkumarre@codeaurora.org>

Change-Id: Ic28a524435b1ebf0ab6894008f2af1d936d13a13
/hardware/qcom/display/msm8994/libhwcomposer/hwc_utils.cpp
72aecbe8c0c4398ea5c996b913cda6adf2e01659 29-May-2015 Arun Kumar K.R <akumarkr@codeaurora.org> hwc: use surfaceDamage to calculate the dirtyrect as per HWC 1.5

Update the HWC version to HWC 1.5

surfaceDamage is passed as part of the layer, use this information
to determine if the layer is changing and handle cache.

The total dirty rectangle for a given layer will be the sum of all
the damageRectangles, use that to calculate the ROI

Change-Id: Iddff278e716099d252e059aae02764f4b8630a6f
/hardware/qcom/display/msm8994/libhwcomposer/hwc_utils.cpp
07bb927c66c474b9f0aff9677f848d3d8d543b8f 26-Feb-2015 Arun Kumar K.R <akumarkr@codeaurora.org> hwc: Partial update support for dual DSI panels with source split.

1) When source split is enabled, both the panels are calibrated
in a single coordinate system. So only one ROI is generated
for the whole panel extending equally from the midpoint and
populated for the left side.
2) Fixes a bug in mdpcomp where ROI generated for the frame is
reset when a strategy fails.

Acked-by: Jeykumar Sankaran <jsanka@codeaurora.org>

Change-Id: I47fa0e827985dd76d06dcbe464ef832cfc57a671
/hardware/qcom/display/msm8994/libhwcomposer/hwc_utils.cpp
9f4ab24b0f20c60739a93172d548ece1f88f6f87 29-May-2015 Arun Kumar K.R <akumarkr@codeaurora.org> hwc: Partial update support for ping pong split.

ping-pong split needs source split to be enabled to stage two
pipes of a layer in the same Z order. This change adds partial
update support to generate ROI when source split is enabled.
When configured, ping-pong-split splits the layer mixer output
equally across two DSI's. To meet this limitation, the generated
ROI is adjusted to have equal widths from the panel mid point.

Acked-by: Jeykumar Sankaran <jsanka@codeaurora.org>

Change-Id: Ic307a1d5b902af9e352b0dfc6f5ab474ecd9c8a4
/hardware/qcom/display/msm8994/libhwcomposer/hwc_utils.cpp
a670ba4e8a6fb6c72b285ed54d66be1e965a4eb1 11-Jun-2015 Arun Kumar K.R <akumarkr@codeaurora.org> hwc: Limit BWC to content with height within 4092

Limit BWC to content with height within 4092, since this is a MDSS
requirement.

Acked-by: Saurabh Shah <saurshah@codeaurora.org>

Change-Id: I82cd7212fc6c393b8b568abf2734a725a51d3cb0
/hardware/qcom/display/msm8994/libhwcomposer/hwc_utils.cpp
054df959aef7dce630a7f41d4aba6626c130756b 12-Mar-2015 Patrick Tjin <pattjin@google.com> msm8994: import msm8994/msm8992 display code

AU_LINUX_ANDROID_LA.BF64.1.2.1_RB1.05.00.00.019.037

Change-Id: Ie94c9207ea736a114bfdf4f35d372ccc326d7207
Signed-off-by: Patrick Tjin <pattjin@google.com>
/hardware/qcom/display/msm8994/libhwcomposer/hwc_utils.cpp