History log of /hardware/qcom/display/msm8974/libhwcomposer/hwc_utils.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
8a07739c20408defbb1cba710fa50ae199524907 18-Jun-2014 Saurabh Shah <saurshah@codeaurora.org> hwc/overlay: Fix decimation / bwc bugs

1) While setting BWC check for 90 transform and swap crop
2) Calculate decimation in the getDecimationFactor API itself.
Currently, a residual downscale is calculated and the clients have
to take logs and apply forcible decimation like in MdpCtrl
3) Fix bug where transform gets typecasted to bool

Bug: 14225977

Change-Id: I3c99c571e02e2cf7822342516b6a87d97be553d1
/hardware/qcom/display/msm8974/libhwcomposer/hwc_utils.cpp
b434b98715e4bfe9b8bfb0ac34f33e695aa9891d 05-Oct-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Add support for virtual displays

Add support for virtual displays in hwc.
The availability is detected when a valid list first appears.
Need a valid framebuffer handle to configure writeback based
on aligned dimensions.
Force full GLES virtual layers to go through HWC based on
boardconfig flag.

b/8316155 - Implement HWComposer 1.3 w/ virtual display support
Change-Id: Ice26d47022c8582a6d30503cfa5c918057046320
Signed-off-by: Iliyan Malchev <malchev@google.com>
/hardware/qcom/display/msm8974/libhwcomposer/hwc_utils.cpp
b5199b08a351177e2d572b29d04f5a05069b3c2a 15-Oct-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Add load based partial mdp comp

Add support for load based partial mdp comp.
This is used on geometry changes where a redraw is unavoidable.
We select a batch of layers, that has minimum pixels for FB comp,
the rest go to MDP.

b/11175503 - Hammerhead window animations are janky
Change-Id: Ifc5eeb4785c75c37de97a2bb89ca81409d324691
Signed-off-by: Iliyan Malchev <malchev@google.com>
/hardware/qcom/display/msm8974/libhwcomposer/hwc_utils.cpp
1c3402c355c966bb443139b5becb1fe092815855 20-Aug-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Add check for block mode for rotated video

Do not allow video if it requires pre-rotation and DMA pipe
is configured in LINE mode.
Fall back to GPU in this usecase.
This is not applicable for wfd on 8x26 since Driver supports
both multiplexing of DMA pipe in LINE and BLOCK mode as same
mixer control block is used for rotation and writeback mode.

b/9764589 - use h/w overlays on HDMI when possible
Change-Id: I5b99b214619134b1bd67f3c441b14f76051e3d3b
Acked-by: Amara Venkata Mastan Manoj Kumar <manojavm@codeaurora.org>
Signed-off-by: Iliyan Malchev <malchev@google.com>
/hardware/qcom/display/msm8974/libhwcomposer/hwc_utils.cpp
63d668829904b49e30e2e3e53defbfda70ab23b7 25-Jun-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Get the retire fence from the MDP driver

Get the retire fence separately instead of duplicating the
release fence. Close the retire fence for the rotator as it is
unused.

Bug: 9319776
Bug: 10153314
Change-Id: Iacb773c2d94f635e27a7b355d399cb2e36dac2a5
/hardware/qcom/display/msm8974/libhwcomposer/hwc_utils.cpp
d79de9b08a0d1affb272dcfb37062bd42c6540e8 09-Sep-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Add additional trace points

Require HAL tag for tracing HWC and add additional trace points
for systrace.

Change-Id: If0abb438da96d3507fb3e2a42bcb8d8b4734fb8f
/hardware/qcom/display/msm8974/libhwcomposer/hwc_utils.cpp
83f9f73c45da200a06244749e4f21a632ecc01ba 30-Aug-2013 Jesse Hall <jessehall@google.com> Unrevert "hwc: Bump up version to 1.3"

This reverts commit ad17afc8bcda6c2d6006a3b005defb011042aaac,
which reverted commit a5b5aebd86ed595990435692e7e7ede31aeb63dc.

The original change exposed a bug in the platform but wasn't itself
buggy; the platform bug has now been fixed.

Bug: 10443969
/hardware/qcom/display/msm8974/libhwcomposer/hwc_utils.cpp
be984c968c2ff350ff9943d775fcfdce620ce8d5 29-Aug-2013 Vineeta Srivastava <vsrivastava@google.com> Merge changes Ib0ef6b1b,Ie0e266ee,I96365b4c,I595547dd,I33bd64a5,I14adf2df into klp-dev

* changes:
hwc: Enable sync-pt for rotator on B-family
gralloc: Move getAllocator in unlock
libhwcomposer: Add check for MDP comp dump
hwc: Fix locking.
overlay: Remove optimization that prevents garbage collection
hwc: Change log message for AD feature
5444bcea32ab111a723ec19f907704f465591498 28-Jun-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Enable sync-pt for rotator on B-family

Enable sync-pt for rotator on B-family. The already existing
MSMFB_BUF_SYNC ioctl is used, with an extra member for session_id
from rotator.

Conflicts:
msm8974/libhwcomposer/hwc_utils.cpp

Change-Id: Ib0ef6b1bc5cf1e6437090a217d7f731a3440f84b
/hardware/qcom/display/msm8974/libhwcomposer/hwc_utils.cpp
ad17afc8bcda6c2d6006a3b005defb011042aaac 27-Aug-2013 Jesse Hall <jessehall@google.com> Revert "hwc: Bump up version to 1.3"

This reverts commit a5b5aebd86ed595990435692e7e7ede31aeb63dc.

That change added support for float croprects, but didn't add support
for virtual displays. SurfaceFlinger crashed when virtual displays
(including wifi display) were used because HWC didn't behave as
expected.

Bug: 10443969
/hardware/qcom/display/msm8974/libhwcomposer/hwc_utils.cpp
87838778cdb83d1f8d5c708865714268bc8ea167 27-Aug-2013 Naseer Ahmed <naseer@codeaurora.org> hwcomposer: Deprecate setupBasePipe

Needed only for A family targets where MDP boots up with
RGB pipe attached to the base.

Conflicts:
msm8974/libhwcomposer/hwc_mdpcomp.cpp

Change-Id: I5118b8b41e4f864f8c73a115398b13bffa1f3383
Acked-by: Jeykumar Sankaran <jsanka@codeaurora.org>
/hardware/qcom/display/msm8974/libhwcomposer/hwc_utils.cpp
bf3b12bcc5a565d76f29e75d40baacc0718db2bc 16-Aug-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Add support for smooth streaming feature.

Update the source video width and height set by the video decoder
for the secure video smooth streaming usecase from the gralloc
metadata.
Acked-by: Ramkumar Radhakrishnan <ramkumar@codeaurora.org>

Change-Id: Id0dbfd7f01972ac0bfa16d2b532f168cefc41254
/hardware/qcom/display/msm8974/libhwcomposer/hwc_utils.cpp
a5b5aebd86ed595990435692e7e7ede31aeb63dc 17-Aug-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Bump up version to 1.3

Increment hwc version to 1.3.
Create and use a converter from float source crop to integers.

Change-Id: I5e185195c975b3a9434c5d9dce9ae4757ff98739
/hardware/qcom/display/msm8974/libhwcomposer/hwc_utils.cpp
9e3d34120ce5f349322a8ffe41d9655a183a8202 16-Aug-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Move creation of secondary composition objects to utils

Move the creation of secondary composition objects to functions
in utils so that they could be used for both external and virtual
displays

Change-Id: Ic9e13944330990e07f9f64654e622aeb7667923d
/hardware/qcom/display/msm8974/libhwcomposer/hwc_utils.cpp
fcd23276f6846a81a107c52372a9a29cf5dd8b4a 15-Aug-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Cleanup secondary configuration variables / helpers.

Make secondary configuration status as an attribute per display.
Replace the unused helpers related to display's active state with
display's configuring state.

Memset display atttibutes to 0 at bootup.

Change-Id: Id964eba9d268c5a0daa7a9f187a542db36f90362
/hardware/qcom/display/msm8974/libhwcomposer/hwc_utils.cpp
d80659c540b719660c7af9f530445268bc409db6 03-Jul-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Add assertive display support.

Add assertive display support to hwc. This feature takes effect when
node /sys/class/graphics/fb*/ad is present. This signifies that that LM0
is being used with fb* for writeback.

When a video playback begins we write "1" to this node to indicate to
post processing that a writeback will happen. Likewise a "0" is written
to this node when playback stops.

The original contents are worked upon and the modified output is fed
via writeback to either rotator or mdp as appropriate.

The feature doesnt trigger when either:
1) Buffer size exceeds 2048
2) External display is connected
3) Multiple yuv streams are present

When this mode is active, MDP comp is applied only to yuv layer.

Conflicts:

msm8974/libhwcomposer/Android.mk
msm8974/libhwcomposer/hwc_utils.cpp
msm8974/libhwcomposer/hwc_utils.h

Change-Id: If5520f9dc849de3189c9f9ed4e9072c8f8f760e1
/hardware/qcom/display/msm8974/libhwcomposer/hwc_utils.cpp
517e8b0015001fed3ea1d7bbeeda421de7fdeb2e 07-Aug-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: split display: Fix left split default value if not published

If the left split is not published by the driver then the default should
be even split. This was missing from the configuration in utils. This is
already taken care of in framebuffer configuration and mdp composition.

Change-Id: I3db44481fd791809146752ddff56420dcbe89fb4

Conflicts:

msm8974/libhwcomposer/hwc_utils.cpp
/hardware/qcom/display/msm8974/libhwcomposer/hwc_utils.cpp
180608ed79e238a94d6b25774193c8c92f44ee2b 09-Jul-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Increase precision in triming

Increase precision from float to double in triming calcs.
This improves the output. We need this since ultimately
we assign to int which would truncate excesses. With float
due to lower precision, we end up slightly lower than an
integral value.

Change-Id: I5d781b609be1761b746edf6503340f34a985b9e2
/hardware/qcom/display/msm8974/libhwcomposer/hwc_utils.cpp
32a7f2f765c4445983a159fdd2d04736e596f394 18-May-2013 Arun Kumar K.R <akumarkr@codeaurora.org> hwc: Add action safe support for low res panels

Consider action safe values for UI and video while
configuring overlay for low res panels

Change-Id: Ia40c3e2bb21f808ec127df3edb10e484b82cec3f
CRs-fixed: 481442

Conflicts:
msm8974/libhwcomposer/hwc_fbupdate.cpp
msm8974/libhwcomposer/hwc_utils.cpp
/hardware/qcom/display/msm8974/libhwcomposer/hwc_utils.cpp
35fba7a6327e8ae5d64391e80f2e6435ec9a4fa6 02-Jul-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: split display: Fix flip on which to do crop swap

Crop swapping is being done on V flip, rather it should be done
on H-flip in case of split displays.

Change-Id: If6136ad36731f4ac4847e94d8dfa851182f25c83
/hardware/qcom/display/msm8974/libhwcomposer/hwc_utils.cpp
828e828437e9d6dd027819c2bbea21f0c13597d5 11-Jun-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Add support for uneven split primary displays

Add support for unevenly split primary displays.
The driver provides info about the split via msm_fb_split sysfs node

For external we assume even split. If driver doesn't specify any split
for primary, we default to even split.

Change-Id: I4d541f41de2d7a5d2b62653fa33cab079a6d5d30

Conflicts:
msm8974/libhwcomposer/hwc_fbupdate.cpp
msm8974/libhwcomposer/hwc_uevents.cpp
msm8974/libhwcomposer/hwc_utils.cpp
/hardware/qcom/display/msm8974/libhwcomposer/hwc_utils.cpp
04af919f7d16572b16a91d8b681afe42386fb4e1 17-Jun-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: 8x26: Composition policy when WFD connected

When WFD is connected to 8x26
1) On Video transition, have 1 padding round if external connected.
Required to shift pipes across mixers.
2) Request DMA pipe always for FB on WFD.
Necessary for rotation + writeback
3) Disable non-worm-hole calcs on external (because of 2)
4) Disable action-safe calcs on external (because of 2)

Change-Id: I63b50b2477db443f9ea1d3fa610b59295c9359b7

Conflicts:
msm8974/libhwcomposer/hwc_fbupdate.cpp
msm8974/libhwcomposer/hwc_utils.cpp
msm8974/libhwcomposer/hwc_utils.h
/hardware/qcom/display/msm8974/libhwcomposer/hwc_utils.cpp
e465ae1753e615e187136ffc98b7b8d5fe2ef811 21-Jun-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> hwc: Initialize yuvIndices properly.

memset initializes first 32 bytes of yuvIndices array, so remove
memset initialization and initialize yuvIndices whenever it is required.

Change-Id: I2f01a5c3d07cfbc325f4ca06e3c019616b8a7588

Conflicts:
msm8974/libhwcomposer/hwc_utils.cpp
/hardware/qcom/display/msm8974/libhwcomposer/hwc_utils.cpp
0f47bb43e032f6396d9496c1ecb254c9aa7e94ba 06-Jun-2013 Ramkumar Radhakrishnan <ramkumar@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.

Change-Id: Ieb91b705a0a5f50ce2f8829d1f1ee048d44b7d2e

Conflicts:
msm8974/libhwcomposer/hwc_utils.cpp
msm8974/libhwcomposer/hwc_utils.h
/hardware/qcom/display/msm8974/libhwcomposer/hwc_utils.cpp
49dd76fa0b16a77209c0c7b04114f3edec4a7a29 05-Jun-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Fix Bwc policy's decimation check.

In decimation checks of BWC, take log, since a value > 0 and <= 1
doesn't mean decimation will be used.

Change-Id: I2a518e9021a814d3a65e3db793abbb1eb433120a
/hardware/qcom/display/msm8974/libhwcomposer/hwc_utils.cpp
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/msm8974/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/msm8974/libhwcomposer/hwc_utils.cpp