History log of /hardware/qcom/display/msm8974/libhwcomposer/hwc_utils.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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.h
873a69a63909b570e687817ac61684fb4a199c28 24-Oct-2013 Naseer Ahmed <naseer@codeaurora.org> display: Use L3 DRM for non TZ content

When the GRALLOC_USAGE_PROTECTED flag is set, use L3 DRM if the
buffer isn't also allocated with the MM heap.
Per the gralloc spec, this means that such buffers shouldn't be
routed to external displays since the hardware protected path is
not available due to allocation from an insecure heap.

b/11071443 - (related) [HH] Green frame happens during playback
of Forward-lock DRM with Miracast connetion
Change-Id: Ifd858f874b4e3c2c3ec54c6d6a33372ec55b0aee
/hardware/qcom/display/msm8974/libhwcomposer/hwc_utils.h
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.h
625e0a798a84c476f8cab99bb34b6f2df336aa6c 29-Aug-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Include more cases in partial MDP composition.

When MDP cannot support a layer, we send the whole list of layers to
GPU. If such layers are not updating they can be cached on FB while
allowing the rest to take the MDP route.

Example # 1: Volume bar on video in 90 rotated mode. Since volume bar
is not h/w accelerated, there is no prerotation and we invoke the GPU
for redraws each round. With this change we won't because of caching.

Example # 2: If prerotation is applied to layers on primary, the
secondary layers would show a transform and the whole list is redrawn
with GPU. Now we could make use of caching.

This change also imposes a 1 layer limit on secondary, but now allows
full and partial MDP comp, thus benefiting secondary-only content.

Signed-off-by: Iliyan Malchev <malchev@google.com>

Conflicts:

libhwcomposer/hwc_mdpcomp.cpp

b/9764589 - use h/w overlays on HDMI when possible
Change-Id: I7eb43ba817f1081f317fefa99fa0c507344060e8
/hardware/qcom/display/msm8974/libhwcomposer/hwc_utils.h
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.h
43b3bfe2cb5b924dd3fb9718e27eadebe6f04e19 06-Sep-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Punt layers with non integral source crop

The MDP driver cannot handle such layers right now. Investigate
doing this with pixel phase in the future.

Change-Id: Iabbdd0285234160770ae5a799b07a5b912e5fde3
/hardware/qcom/display/msm8974/libhwcomposer/hwc_utils.h
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.h
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
01f9a13e06f5b25788dfb042d20583ce2f974579 22-Aug-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Fix locking.

Remove the unnecessary blank lock, mdp comp lock, secure lock.
Rename the ext lock to a more appropriate draw lock.

The mdp comp lock is at an incorrect place and causes unwanted
objects to show up in dumpsys, since configDone hasnt cleaned
them up yet.

dump(), blank(), draw() should all acquire a common lock.
draw() includes prepare() and set().

Conflicts:

msm8974/libhwcomposer/hwc.cpp
msm8974/libhwcomposer/hwc_qclient.cpp
msm8974/libhwcomposer/hwc_uevents.cpp
msm8974/libhwcomposer/hwc_utils.h

Change-Id: I595547dd5a393a8af6cd8c9297d50793b715e658
/hardware/qcom/display/msm8974/libhwcomposer/hwc_utils.h
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.h
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.h
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.h
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.h
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.h
5fcdd463b18bc1796d57fde7d2876a32a816d7c5 16-Aug-2013 Jesse Hall <jessehall@google.com> HWC now defines HWC_DISPLAY_VIRTUAL, remove local version

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