History log of /hardware/qcom/display/msm8960/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/msm8960/libhwcomposer/hwc_utils.cpp
ed30f732801662d3affab06238adf2961ae65dea 16-Oct-2015 Arun Kumar K.R <akumarkr@codeaurora.org> am 45660529: hwc: Fix to avoid heap corruption

* commit '45660529af1f4063a00e84aa2361649e6a9a878c':
hwc: Fix to avoid heap corruption
45660529af1f4063a00e84aa2361649e6a9a878c 06-Jun-2013 Arun Kumar K.R <akumarkr@codeaurora.org> hwc: Fix to avoid heap corruption

- Check for MAX_NUM_APP_LAYERS before updating yuv indices array.
- Fall back to GPU composition when number of app layers exceeds
MAX_NUM_APP_LAYERS to avoid heap corruption.

Bug: 24163261

Acked-by: Ramkumar Radhakrishnan <ramkumar@codeaurora.org>

Change-Id: Ieb91b705a0a5f50ce2f8829d1f1ee048d44b7d2e
/hardware/qcom/display/msm8960/libhwcomposer/hwc_utils.cpp
6d5467dc95f3e970eb81d6a7ea5b3bcc3b015078 09-Dec-2014 Andreas Gampe <agampe@google.com> msm8960: Remove unused variables & functions

For build-system CFLAGS clean-up, remove unused variables and
functions.

Bug: 18632512
Change-Id: Ib9e5013bfd95b7f32f3574e6945aa7637fc59339
/hardware/qcom/display/msm8960/libhwcomposer/hwc_utils.cpp
4693292411622c9be2d23b9904c88907be629625 09-Oct-2014 Naseer Ahmed <naseer@codeaurora.org> hwc: msm8960: Add padding round for transitioning VG pipe

When an external display is connected, the primary display may be
using up both VG pipes. However, a VG pipe is necessary for
playing secure video on the external display. This needs a
padding round to transition the pipe to the external display's
mixer.

Bug: 17132088
Change-Id: Iecbc067cb79513a0a97f73812886277b83bb7107
Acked-by: Saurabh Shah <saurshah@codeaurora.org>
/hardware/qcom/display/msm8960/libhwcomposer/hwc_utils.cpp
da6152a5a57cf78cef01ee4ba2e695048f161231 15-Oct-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Enable rotator during resolution change.

MDP VG pipe framesize register is not double bufferred.
It introduces corrupted frame during resolution change especially when
rotator is not used. Enable rotator to handle the transition case.

Change-Id: Ifec55fee0c762dfb12a09580b80dca6f051a1c86
Acked-by: Ramkumar Radhakrishnan <ramkumar@codeaurora.org>
/hardware/qcom/display/msm8960/libhwcomposer/hwc_utils.cpp
2e89cad843d9f442be47feb2d9347cffe3c4948e 15-Aug-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Fix rotator size allocation to max buffer size

When using the metadata for calculating the rotator destination
buffer size, the allocation happens frequently in the smooth
streaming use case leading to fragmentation of rotator memory.
Base the calculation of this buffer size on the actual width and
height of the buffer instead of the metadata.

Bug: 9920327

Change-Id: Ic551a2b1eb7418cb0b03251b26bbf55d612822fd
/hardware/qcom/display/msm8960/libhwcomposer/hwc_utils.cpp
ef7a34a100962fd4bc5d5415a2db4b8bc7d2fdc9 20-Jul-2013 Naseer Ahmed <naseer@codeaurora.org> am 98ac6ad7: am b5258f91: hwc: Resend the command after broken pipe is fixed

* commit '98ac6ad74b33dc91ce08a9ee637f310449402b07':
hwc: Resend the command after broken pipe is fixed
2dd419024d46662b0a697ffe6e659d20e66abfef 20-Jul-2013 Naseer Ahmed <naseer@codeaurora.org> am 7e127d7b: am 6285dc6b: hwc: Handle the broken pipe issue between hwc and ppdaemon

* commit '7e127d7b4c6f99d05955667dfddae1e96b4489fb':
hwc: Handle the broken pipe issue between hwc and ppdaemon
6a87855fa47fdca8bc277034af6e7844cb84a11e 11-Jul-2013 Naseer Ahmed <naseer@codeaurora.org> am 1c584fb7: am fbc4be19: hwc: Set a timeout when communicating with CABL

* commit '1c584fb73a9a3ea5d08114f517a706061b3608d2':
hwc: Set a timeout when communicating with CABL
6ede31651a9f207e0c567a4d887e914455424fd9 03-Jul-2013 naseer <naseer@codeaurora.org> am 4f245fd7: am f6ef59b0: hwc: Don\'t kill ppd when HDMI is on and primary also has video

* commit '4f245fd7f44b7506d4d9357116f332286e241359':
hwc: Don't kill ppd when HDMI is on and primary also has video
9033e8098c7cc733e097f4dae1657ec6e9a15566 28-Jun-2013 naseer <naseer@codeaurora.org> am cf29225b: am a63c9a0a: hwc: Don\'t run CABL when HDMI is connected

* commit 'cf29225bb78a072c6e3fb501f45251f0b26696ac':
hwc: Don't run CABL when HDMI is connected
14d3eff5f9882bb23a1de856a492a595f360aaf2 28-Jun-2013 naseer <naseer@codeaurora.org> am 24ffb909: am be50f7b6: hwc: Ignore SIGPIPE error when communicating with ppd

* commit '24ffb909ad3ed652ea60b0441dd5ef353968f687':
hwc: Ignore SIGPIPE error when communicating with ppd
3e762b78772fd52669ae71ea1ce11dbe3202c256 27-Jun-2013 Naseer Ahmed <naseer@codeaurora.org> am 7883cd50: am 8e1eee92: hwc: Get the retire fence from the MDP driver

* commit '7883cd502d6ceed104b731d0ce1206edfeb64344':
hwc: Get the retire fence from the MDP driver
eeebd0dd35a5cb5e38bc552e6e9005a42fcef6e0 27-Jun-2013 Naseer Ahmed <naseer@codeaurora.org> am 9f0d78ef: am b9c9e783: hwc: Add support to enable CABL for video use case only

* commit '9f0d78ef8b02fdb8bc25370ec12c9592331e8f7f':
hwc: Add support to enable CABL for video use case only
63c517f1fed28b2f975447ef4f74a4481af69213 26-Jun-2013 Naseer Ahmed <naseer@codeaurora.org> am 26b170be: am 32cafd22: hwc: Add support for smooth streaming feature.

* commit '26b170be0beef87876b28f6fa9832d098dcbe355':
hwc: Add support for smooth streaming feature.
afd2af8bd4132022cb5611f60cfa3ef36cafa28c 13-Jun-2013 Vineeta Srivastava <vsrivastava@google.com> hwc: Clear rotator map if overlay allocation fails

This fixes the GPU fallback path in case overlay set fails.

Reapplying this patch (sha 3035250) after split.

Bug: 9322550

Change-Id: Idae088b95a0853baf1deb4c63bf46c7ba6f295c0
/hardware/qcom/display/msm8960/libhwcomposer/hwc_utils.cpp
513ddc2124abf90c63af41999201f0d2031af0c8 12-Jun-2013 Vineeta Srivastava <vsrivastava@google.com> Splitting hardware/qcom/display chip specific.

Moved msm8960 specific code in msm8960/ directory.
Moved msm8974 specific code in msm8974/ directory.
Updated Makefiles to point to correct header files.

Change-Id: I0623022f324be0ae42571660074f16afa1f71df5
/hardware/qcom/display/msm8960/libhwcomposer/hwc_utils.cpp