History log of /hardware/qcom/display/msm8084/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/msm8084/libhwcomposer/hwc_utils.cpp
ecf38487b38d1351fe407665ed5a9ffa90392691 11-Mar-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

Bug: 11239309
Change-Id: Iddff278e716099d252e059aae02764f4b8630a6f
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
5a7d156b76908b60b72d1acc1d4b5959e7a9647c 23-Jul-2014 Naseer Ahmed <naseer@codeaurora.org> display: Add HDMI CEC HAL

Implement the spec as per
hardware/libhardware/include/hardware/hdmi_cec.h

Change-Id: I02e1ba9deee1007b7e5922c363b9f5d6c6ad82a9
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
af497507a296d3280b6bcd231223d623ef4ef15f 31-Jul-2014 Saurabh Shah <saurshah@codeaurora.org> hwc: Switch to VD object

Use the VD object by default for writeback.

b/16315225 -- GCast: GCastV2 is mirroring a Green Screen to the Chromecast Dongle followed by a Kernel Panic
Change-Id: I4a16e1fd393f9098df675ac59c835bc835806832
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
49d998ac4b1bb97dc390286d6d0e5d588dfeea3a 31-May-2014 Jeykumar Sankaran <jsanka@codeaurora.org> hwc: Consider FLIP flags for partial update.

FLIP flags need to be considered while calculating srcCrop and
displayFrame even when a layer is updated partially on dual DSI
panels.

Change-Id: I097b3335e66566d6639848bc8f8382bfeabb7f54
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
253d8a06d8c2b35e8cf22f853a8b2590848b5436 08-May-2014 Jeykumar Sankaran <jsanka@codeaurora.org> hwc: Map dirtyRect to layer destination before using.

DirtyRect for a layer is generated w.r.t to its buffer
coordinates. It needs to be mapped for layer destination
(display) coordinates before using it to calculate the frame's
ROI.

Change-Id: Id86f495b2016da2cfd5aed4d86bff6d3035abf10
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
c9b4387ff5af60882a032188b64b85bebad3977a 18-Nov-2013 Jeykumar Sankaran <jsanka@codeaurora.org> hwc: Extend partial frame update for split displays

Extends partial frame update support for split displays by calculating
changing region(ROI) independently for each half of the screen. In case of
only one half updating, display driver shuts down the DSI/MDP mixer control
of the non updating half.

Maintains two ROI's for each display. In case of Non-split
displays, only left ROI is updated.

Change-Id: I8a67fe40aac665a48b6f8a46beffb9f8027851b2
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
a59eed5c8989bb4ecfc2efcee5072b5974088df4 05-May-2014 Saurabh Shah <saurshah@codeaurora.org> hwc: Fix tearing with RGB layer rotation

Pass the acquire fence count to driver on a buffer sync ioctl call
for the rotator. The count is always 1 since the ioctl is called
once per rotator session. This also means that the rotator has to
wait for only 1 layer always.

The earlier assumption that in the presence of a session id, the
acquire count would be NOP, does not seem to hold with the driver.

Change-Id: I986a436194c66e8ce2a2afb363627f72dc6e20cd
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
d50e2fa08aa8e3d3ae103cd9d878af97ea496851 27-Feb-2014 Jeykumar Sankaran <jsanka@codeaurora.org> hwc: Use layer dirty rect to calculate frame's updating ROI.

Use layer dirty rect instead of display frame to calculate frame's ROI.

Change-Id: If5fe93da7815efdf9b44ed683a4d80b397921cf1
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
3d3705af561ebe7182b23fdc81e0b755d22b11eb 17-Feb-2014 Praveena Pachipulusu <pveena@codeaurora.org> hwc: Use proper typecasts.

- Remove compiler warnings
- Use proper typecasts

Change-Id: I7391f32ae31283239f5cebb93b02f3ce3a5c99f3
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
e21110177d7605c4668bad3e2de85c8bb2a531f7 01-Apr-2014 Raj kamal <rkamal@codeaurora.org> Display and wfd synchronization during teardown.

* Provide a binder interface call for wfd module
to inform display about the start/stop/pause/resume
of wfd session.

* This is needed for wfd-hdmi synchronization in
case of v4l2 wfd solution. If hdmi is plugged
in during v4l2 wfd session, display-hal waits in
uevent thread for wfd teardown notification from
wfd module, before going ahead with configuring
external display.

* For VDS WFD solution, display-hal waits in uevent
thread for wfd-teardown to be signalled from
the composition thread.

Change-Id: I9514cb5bc7ff81de0b5dd4cdf66d8286a64ba094
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
2a345b980298c7623e553634ff56cf5f619765d9 10-Apr-2014 Raj Kamal <rkamal@codeaurora.org> hwc: Set DMA state at the start of composition

* Set DMA state at the start of the composition cycle
based on the following.

Set it to LINE_MODE if the number of active rotator
sessions are 0.

Set it to BLOCK_MODE if
** A yuv-layer for any display-device requires rotation
** (or) mExtOrientation is set
** (or) mBufferMirrorMode is set

* Separate out the reset helper function into more
modular ones

Change-Id: I6a22ac4379565cd1fd2d875a7a417f4ed3ee0f1e
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
be1de76055d30e2c4de38622160d3eb6c5942e2d 09-Apr-2014 Sushil Chauhan <sushilchauhan@codeaurora.org> hwc: Display view frame needs to be set before using it.

The display view frame needs to be set before calling trimLayer api
because it uses view frame to find the scissor for display, which is
used to clip crop for out-of-bounds display frame sent by framework.
If mViewFrame is not set, scissor will be empty rect, which leads to
wrong source crop calculation.

Change-Id: I52ad4eb9037d34aff24c30fe65e3793684445264
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
592d33199d009cd45899728ccae80e8f53c17c83 29-Mar-2014 Saurabh Shah <saurshah@codeaurora.org> hwc: featurize using QCOM_BSP

- Use QCOM_BSP for HWC_BLIT and GPUHint features
- These are not avaliable on all platforms

Change-Id: Ied0c60246093c868ac708f2f8897f08cec1e8878
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
5080cdee5662ba2eab9a058bda428217720dc694 31-Mar-2014 Saurabh Shah <saurshah@codeaurora.org> hwc: Add rotator obj to layer-rot-map if acquired

Add rotator obj to the layer-rot-map soon after its successfully
acquired. This makes sure that any object allocated is accounted
for, irrespective of whether rotator configuration succeeds or not.

Change-Id: I94102d9c607cf61b2eccdf7f2445bb07d309d35c
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
ca469c724e7aaf97ed947c0b7599afae09ad9340 06-Mar-2014 Dileep Kumar Reddi <dkumarre@codeaurora.org> HWC: Use proper typecast to avoid scaling issues

Multiplying double with integer may scale up/down original value.

Change-Id: I2aa002a434d287df69d34de7e4fea3d56bcfbfaa
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
b4b5160515ba9f9aacf89b929ac854c2548bfba7 24-Mar-2014 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> hwc: Fix for HDMI video playback out of boundary in portrait.

Fix for out of boundary video playback issue on HDMI where HDMI
resolution is lower than primary resolution.

Change-Id: I4271471cda87e1e3d3805ace8b8723a91979a160
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
612312697ced432ec33c601b20a5be8a9d84f079 21-Mar-2014 Jeykumar Sankaran <jsanka@codeaurora.org> h/q/d: Invoke padding when DMA is not availble for ext rotator

This change invokes padding round when DMA is used in line mode
and rotator is needed for external display.

Change-Id: I1fef1a988d96695748d79d23b7927844eea237fe
CRs-Fixed: 632069
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
72ec5996469f52df964b4ea4ed8f1cc3f7fbb330 15-May-2014 Naseer Ahmed <naseer@codeaurora.org> Revert "fixed msm8084 display HAL compilation"

This reverts commit b4216eed261a310a9f93607d68d139518ba516c7.
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
9c2ae1c5238bfa2bfb2fb004fd82534c0460d7f9 15-May-2014 Naseer Ahmed <naseer@codeaurora.org> Revert "Revert "hwc: Set GPU performance hint.""

This reverts commit 74252f471f908060c238d63195acd7d39a615fd3.
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
b4216eed261a310a9f93607d68d139518ba516c7 28-Apr-2014 Vineeta Srivastava <vsrivastava@google.com> fixed msm8084 display HAL compilation

1. Updated Makefiles for it to compile.
2. Removed ANDROID_JB_MR2 flag
3. Removed HWC_BLIT
4. Included sync.h header

Change-Id: Ic8d713e9a68cecd961505a20ff55b8b173f2ee8d
Signed-off-by: Iliyan Malchev <malchev@google.com>
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
74252f471f908060c238d63195acd7d39a615fd3 28-Apr-2014 Iliyan Malchev <malchev@google.com> Revert "hwc: Set GPU performance hint."

This reverts commit 2230bdba7e80ef0378f67687771faa1bbfa630bd.
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
2230bdba7e80ef0378f67687771faa1bbfa630bd 15-Mar-2014 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> hwc: Set GPU performance hint.

1. Set the GPU hint flag to high for MIXED/GPU composition only for
first frame after MDP to GPU/MIXED mode transition.
2. Set the GPU hint to default if the current composition type is GPU
due to idle fallback or MDP composition.

Change-Id: I208a778017435a5a4620142da9d9fb3c50e09155
(cherry picked from commit fb822910e1ecb65a13e06751c92ef1f1ae332b75)
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
01cbebaaabd86eb7674a6d4b6939b0899f7bce3f 05-Mar-2014 Naseer Ahmed <naseer@codeaurora.org> display: Remove VPU related code

Targets in which VPU interacts with display through HWC are no
longer supported.

Change-Id: I65a5348a375ad0c193a8659d0cdfb37c2db6f38e
(cherry picked from commit 330a2820c28355e805cbecd097c839914a6dc1b2)
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
bad2217825fe0a98d9c4a987a139f4d7a0e05a2f 21-Feb-2014 Tatenda Chipeperekwa <tatendac@codeaurora.org> hwc: Enable downscale feature through system property

Add support to turn the MDP downscale feature ON through the
use of a system property. 'sys.hwc.mdp_downscale_enabled' shall be
set to 'true' in build.prop file to enable this functionality.

This is required for OEMs that might have privacy concerns over panel
size information being exposed.

Change-Id: I354b25b1fdabe5786aed7552f2afccda35412467
(cherry picked from commit 5d14c718eeea661a8f29278bfb283c7d2161e4a2)
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
55de6872b65814a5e5add05ee3d7d87b0791a838 03-Mar-2014 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> hwc: Disable Actionsafe for 8974 target and non-HDMI display.

1. Disable Action safe for 8974 due to HW limitation while downscaling
layers with overlapped region
2. Disable Actionsafe for non HDMI displays.

Change-Id: If974cf2bb2259ee6051645698ba641791b1425ce
(cherry picked from commit a61a0da1f8853fa52691f44ab6e0be45cd0ee02c)
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
d72e05f2da72e077909a82390729131055ebedd4 05-Mar-2014 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Fix external display position calculation"
e420a83fb7dfef2641151e07e76305d690f4d95a 21-Feb-2014 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> hwc: Fix external display position calculation

YUV layer display positions are mapped to primary resolution
[e.g. 1920x1080] when MDP downscale is enabled, that needs to be
transformed to the original external resoltion [e.g. 1280x720].
This transformation is not taken care for 4kx2k YUV use case.

Change-Id: Ifa60773bf9fcd18676a3f05cd72a603beb165733
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
6e02982097c44f4684e9f394c6b28b85ae99f325 20-Feb-2014 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Derive view frame for external display."
41ebb4f375e69bf590f1e2bb0bdb372929fa44ae 20-Feb-2014 Linux Build Service Account <lnxbuild@localhost> Merge "display: Remove klockwork warnings and errors."
c9cbe63708025b7aed15e251b2fb3a914fd842a0 01-Feb-2014 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> display: Remove klockwork warnings and errors.

Remove all klockwork warnings and errors for libgralloc,
libhwcomposer, liboverlay, libqdutils, libqservice, libvirtual,
libexternal libraries to avoid buffer overflow and memory leaks.

Change-Id: I078143bcbcf5e4b342156bd8305a644566f7cc4b
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
1e8bb08f0275c3acef37838114ab2b37ae814f13 04-Feb-2014 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> hwc: Derive view frame for external display.

Derive viewframe rectangle for external display from primary
resolution and primary device orientation.

Change-Id: I1885b660cd6343e41e4b574e358fd063cd47a54d
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
6bf645f729dcca66e156330cd1e2c2c6cbe4a40c 12-Feb-2014 Linux Build Service Account <lnxbuild@localhost> Merge "Invoke a padding round in certain use-cases."
b9e32ec898844ecf46ff9d2619b137478d8cfe80 10-Feb-2014 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: hwc_sync - populate correct fences for BLIT"
03514577d0c705056352898f66ed2a8e9b131df8 07-Feb-2014 Raj Kamal <rkamal@codeaurora.org> Invoke a padding round in certain use-cases.

* In some use-cases, it is possible that there are
no AppBuffer layers on the external/virtual layer-list
during which all the pipes will be allocated to the
primary. When layers do comeup on external/virtual
layer-list, subsequent overlay sets fail.

* This change ensures that in such cases, we invoke a
padding round on all the displays to free up the
hw resources which can be used in subsequent cycles.

Change-Id: Ifac0b8f51a8719eb55b11010d05b8d11352db054
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
e3d4aadbeede9e72180bb8978360d6ae883d2fd4 31-Jan-2014 Balamurugan Thanikachalam <bthanika@codeaurora.org> hwc: hwc_sync - populate correct fences for BLIT

Previously, the acquire and release fences for BLIT
composition were populated using same logic as Overlay,
but BLIT composition consists of separate BLIT step
before screen refresh, and app buffers are no longer
required after BLIT. So holding the buffers for both
the steps is unnecessary and impacts performance.

This change adds condition for BLIT in fence population
logic in hwc_sync and populates the right fences for the
App Buffers and Display Refresh during BLIT composition.

Change-Id: I9998a7052c0375acb32a174bdf0469d2a88f79e8
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
404047f2c61687024048b04374ea736285ddded1 22-Jan-2014 Arun Kumar K.R <akumarkr@codeaurora.org> hwc: resolve compiler warnings

- remove unused variables.
- fix incorrect castings.

Change-Id: I7661edb4539a3ffc7d4aedbb9f633bc5ba1dc149
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
b0f5e47fdc9c351d603ba7cc71b4fc61074d797a 28-Sep-2013 Zohaib Alam <zalam@codeaurora.org> hwc: vpuclient: vpuClient implementation

Vpuclient is the client side for VFM in hwc. It follows the
similar pattern of prepare and draw. It has 2 step prepare
including: setVpuSession and prepare. The setVpuSession function
passes all the layers from the SF list to VFM, which marks
the layers that it can support. After this, the layer
allocation/configuration is done, and finally in prepare the
allocated pipes are passed down to VFM. The draw function
passes the handle to the VFM to draw the video layer.

Change-Id: I5d8795de35ed98716f7fa4cd48506b488cb3cb5d
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
d706f8d6183a49fd5f48b642cbbd0c8a868fc830 31-Jan-2014 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Dynamic Resolution support on Primary"
b041f795560ae53110da55427e877f59ae8b34d2 31-Jan-2014 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: vpu: Added a new flag to indicate VPU pipe"
c979900d0a5b6a94c2d1765b4c54c433bb27270a 30-Jan-2014 Linux Build Service Account <lnxbuild@localhost> Merge "Set priority among various display devices"
f2a7cdb337bc7b0767c0fcca735b1c1d95b6c715 29-Jan-2014 Dileep Kumar Reddi <dkumarre@codeaurora.org> hwc: Dynamic Resolution support on Primary

* Useful to estimate GPU/MDP performance for different resolutions.
* MDP:
Every layer is downscaled/upscaled to primary panel resolution.
* GPU:
All layers will be composed in required resolution to FB.
FB is downscaled/upscaled to primary panel resolution.
* Steps to follow:
step 1: adb root
step 2: adb shell setprop debug.hwc.fbsize XRESxYRES
step 3: adb shell stop
step 4: adb shell start

Change-Id: I82a032df87c91549c49a9cdbd981ff02f105ff2e
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
757aba6d70ad2fc957af45fd605683197cbad7e9 29-Jan-2014 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Add type casting to aspect ratio calculations"
a9776b10e38f4ebdc7466955e933217fd15ae180 24-Jan-2014 Zohaib Alam <zalam@codeaurora.org> hwc: vpu: Added a new flag to indicate VPU pipe

Added a new layer flag: HWC_VPU_PIPE to indicate that the layer
will be drawn by VPU. There is a corresponding MDP pipe
flag: MDP_VPU_PIPE, which should be set for the VPU layers to
indicate the layer will be drawn by VPU, so that MDP driver does
the appropriate settings to allow this process.

Change-Id: I61270aca633bb831bf34d413877bf925a3d2ac37
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
4c087a193c4d6e1b5e20aa8e561bf5eba4592856 27-Jan-2014 Raj Kamal <rkamal@codeaurora.org> Set priority among various display devices

* When a non-WFD virtual display device (SSD/
screenrecord) is active along with
non-hybrid WFD solution(WFD faked on
external), give preference to non-hybrid WFD
device over non-WFD virtual display device.

* This is needed only in cases when WFD is
enabled via v4l2 rather than using VDS api's.

Change-Id: I63e53baa214bdcdac19430ca30b939cdd7416cbb
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
a8dcd0c8a89a41ec27d516d4d6b58b58cf7e209f 27-Jan-2014 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Common Display HAL to support VDS & V4L2 WFD solutions"
7271562e261571b12c9b4f29d64599d456b41018 19-Nov-2013 Arun Kumar K.R <akumarkr@codeaurora.org> hwc: Get the retire fence from the MDP driver

Get the retire fence separately instead of duplicating the
release fence.

Bug: 9319776
Change-Id: Iacb773c2d94f635e27a7b355d399cb2e36dac2a5
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
27bf8b36aac9dc5a7c43db5233ebc176b398aa0d 24-Jan-2014 Tatenda Chipeperekwa <tatendac@codeaurora.org> hwc: Add type casting to aspect ratio calculations

Type casting to float prevents rounding off errors which could
result in invalid or unexpected results when doing calculations
with integers.

Change-Id: I6d5c233c013322c4e9c7f7db61b5c604f915643c
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
140ee6411106722dae886dc8c5b104b72d64dee0 31-Dec-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> hwc: Common Display HAL to support VDS & V4L2 WFD solutions

1. Define classes for VDS and V4L2 based WFD solutions.
2. Overload the functionalities for VDS and V4L2 WFD solutions.
3. Instantiate VDS object or V4L2 object during hwc init based on the
property persist.hwc.enable_vds set by the user.
4. VDS solution is not verified as it requires some dependent changes.

Change-Id: I74bf944d532da138c850d4ec0c20b4a881489efa
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
a7fc5f138287d51c2349d5388a466a6afa5b8016 18-Jan-2014 Linux Build Service Account <lnxbuild@localhost> Merge "h/q/d: Optimize layer rects on sourceCropf"
ec2437450b4ac63684102a63d24420d178732fd5 16-Jan-2014 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Add support for Macro Tile feature"
91c6ba1704a079b47548ec2ba28351d4025b3697 15-Jan-2014 Jeykumar Sankaran <jsanka@codeaurora.org> h/q/d: Optimize layer rects on sourceCropf

This change optimizes layer dest rects and updates its
corresponding source crop value on sourceCropf.

Change-Id: Ie921908aa23ae029d2cd3add61795f71a6e5294e
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
c38cdae859e0ee12ad3284a308eaeef9d2708c74 10-Oct-2013 Manoj Kumar AVM <manojavm@codeaurora.org> hwc: Add support for Macro Tile feature

Macro tile is enabled only if all the conditions are met:
1. GPU hardware should support Macro Tiling.
2. MDSS hardware should support Macro Tiling.
3. USAGE flags shouldnt contain GRALLOC_USAGE_SW_READ_OFTEN and
GRALLOC_USAGE_SW_WRITE_OFTEN.
4. RGB 16bit and 32bit formats.
5. persist.hwc.macro_tile_enable flag should be enabled.

PRIV_FLAGS_TILE_RENDERED flag is added to indicate whether the layer
is rendered/composited in Macro Tiling or Linear format.

Change-Id: Ie3139839c84d76c5d1a2300f33910a09eb7336f4
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
0fc5f16d9a2eb0faf7904282eb9f716124e9c93b 09-Jan-2014 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Disable MDPComp for external UI layers if scaling is present."
8eb4c1c2d446d4bfae4b33b48950ac6b9dd81e13 03-Jan-2014 Arun Kumar K.R <akumarkr@codeaurora.org> hwc: Instantiate the copybit object when needed

- Initialize copybit object only when its used for composition, as it
was causing on unnecessary dup of the releaseFence in hwc_sync
- Its used only in case of MDP copybit
- Remove unused copybit object for external display

Change-Id: I876b7b8c5754e469613761789193bda321134c9f
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
ba3d6165c19bcec9a56eb2db1b13f8f930c5651b 12-Dec-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> hwc: Disable MDPComp for external UI layers if scaling is present.

Fallback to GPU composition for the external UI layers if Actionsafe
or WFD/HDMI downscale mode is enabled that requires scaling.

Change-Id: Ie03da35e1c2e78434de00f92ad6c2e5073fc33b8
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
ca8d8cb6a194c1164c50f21192d7b9506bc44659 24-Dec-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc/overlay: Set MDP_SOLID_FILL flag for Color layer."
eda2877ed666e3fd91d61e3029d4c0f858a8be5c 20-Dec-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Remove need for intermediate for mdp3 composition"
21f37c4ebb7be110d093d2a28c28251dbbdf525a 19-Dec-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> hwc/overlay: Set MDP_SOLID_FILL flag for Color layer.

Set MDP_SOLID_FILL flag while configuring MDP pipe for Color layer.

Change-Id: Ia48e6e3e759ae026510544cad8a6c1a6256d82e7
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
0ebcb2c1e52c56799c82ccd75834fa8b9eed281f 18-Dec-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Compute external display position for UI layers."
ec790b7b6d49528435d5b421641975f122506c1b 18-Dec-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Refactor disable animation on external"
ef49cc7dd1d50a020598a9e821c5aa234503b559 09-Oct-2013 Terence Hampson <thampson@codeaurora.org> hwc: Remove need for intermediate for mdp3 composition

8x10 has a product line that is suppose to use 256MB. The
intermediate buffers allocated are not needed when we can
compose onto fb frame.

Change-Id: I13fd2deb328a3ef4b6738cfe7030fe67ea7bd6c6
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
834852cce5c3e5ab2eabde1c6ca151228abbac6f 11-Dec-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Update rotator object handling in error cases

Earlier, on configuration errors, we simply drained the fences held
by current rotator objects and went to GPU comp. The rotator objects
were deleted in the subsequent rounds, if they remained unused.

If we don't use GPU comp on failure but use other strategies, then we
need to mark the rotator objects for a display for reuse, so that
other strategies can use them.

Also any failure resets on overlay or rotator need to happen from
functions that call configuration helpers rather than the helper
themselves. Leaving cleanup to black-box helpers is not desirable.

Change-Id: I59b5b1bb774b82ee85a037e934c9d2d023db30af
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
d25fd5c40f0469e708674bb4c3795e5b9f990a0c 05-Dec-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> hwc: Restrict scissor rect to view frame rect

Restrict scissor rect within view frame boundary to avoid displaying
the layer content out of view frame boundary.

Change-Id: Iea19a4c4880a0c495d2f215e6cfd0eb41b65b785
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
23a7db0dafcbd47e976be1011a08f56361801039 05-Dec-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> hwc: Use viewframe to compute display position and crop.

1. Use viewframe of external display to compute Aspect ratio position
for external.
2. Use viewframe to find the crop rectangle of the frame buffer to
configure rotator for external orientation usecase.

Change-Id: I564c70f202176c8b1f707cbafc08cbbb2abde383
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
6e0f479d11f7037bcbd778d07155f124f0dd26db 05-Dec-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> hwc: Compute external display position for UI layers.

Do external display position calculation for UI layers.

Change-Id: I55c36f3d44ae59b506d6d2ebff791d22f2529b6e
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
c3da4cc59d8e21b5905bd0ee3adf556dfe62b0e1 28-Aug-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> hwc: Refactor disable animation on external

Fall back to GPU for one cycle at the start of animation and display
the frame buffer for the subsequent cycle till animation ends.

Change-Id: I6c651cebaf4694f326d6e32ae485e014f391577c
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
75e03b293cdfb6835494ee14b33311377cb97bc4 12-Dec-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Calculate viewframe from layers display frame information."
25db44edf558461186d1e73d57be066744c37c4b 12-Dec-2013 Linux Build Service Account <lnxbuild@localhost> Merge "HWC: Fix for use int reference in function call"
93eafb51e50b99020c6f1d188b858f4a8b9cf6b9 12-Dec-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc : Add hw limitation checks for MDP compposition."
2df8434518a15d2905530d73923b70f4d6abc0d9 11-Dec-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Crop source rect for the optimized destination"
86c677669148a60b5d472fba407c2bfcdc0c05be 26-Nov-2013 Prabhanjan Kandula <pkandula@codeaurora.org> hwc : Add hw limitation checks for MDP compposition.

Add hw limitation checks for MDP composition once
we identify actual layers for MDP. This should be generic
way for all basic hw limitations of underlying MDP/MDSS.
Current limitations:
- a-family : MDP can not handle alpha scaling.
- 8226 & 8974 : Can not handle if multiple layers need
downscaling and blending

Change-Id: Ia944802d798f2d0e9cd4515d7e9854c7314cac78
CRs-fixed: 538803
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
456d555b1dc25dd1891ab7e38494d057b6bdf82e 05-Dec-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> hwc: Calculate viewframe from layers display frame information.

Calculate view frame of each display from the displayframe of all
the application layers.

Change-Id: I9ba4076b7b4419bd3559417fad28b4e1de6acff3
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
684e448bfd69df79725d78893f341989113fe803 07-Dec-2013 Arpita Banerjee <cabane@codeaurora.org> HWC: Fix for use int reference in function call

To use the integer reference, declared integer
variable to get value directly in that variable.

Change-Id: I1fd1a45580be99dd95ccbc3495e28455a4c7de23
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
f779b3d8113a8c82fb99d759226b835c4620a47d 08-Dec-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Reset layer-to-rotator map and fences on configuration failure"
c4aeb6a47160792212f22edecdf1ed45e5f575f3 30-Oct-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Do not use fb handle in hwc_prepare

Do not use fb handle in prepare. Use displayFrame for dimensions,
align them and hardcode format

Change-Id: I5c494a74a807d3a52a1c88257494b58c583700f5
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
18c3f73237eab2423455d717889a7b8a93d081a0 06-Dec-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: allow DMA pipe in BLOCK mode for virtual dpy"
b746f91fe3184bf7c3b6475d247d3cc16cc74646 26-Nov-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Reset layer-to-rotator map and fences on configuration failure

When a rotator or mdp configuration for a display fails, reset the
layer-to-rotator mappings for that display and reset the release
fences for the rotator objects used for that display.

Note: The rotator itself is offline and not tied to any mixer. It is
from the mappings that we deduce which rotator object was used for
layers of which display. Also we don't delete rotator objects held
for a specific display, since during stability runs, failures could
repeat each round and we end up allocating and deallocating memory
unnecessarily. The rotator objects will be deleted automatically
when not required anymore.

Change-Id: I9a67f02574be30be3b96b3575f60530cb1c89e10
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
39e492498664b6e9bbb23e7d40e95933c1131349 05-Dec-2013 Linux Build Service Account <lnxbuild@localhost> Merge "HWC: Use 2 VG pipes for YUV layer with width > 2048"
90618cb55df2990d04fbb97bc570eb6f6f1ee217 05-Dec-2013 Jeykumar Sankaran <jsanka@codeaurora.org> hwc: Crop source rect for the optimized destination

If a layer destination can be optimized, its source rect
needs to be cropped for the optimized destination rect.

Change-Id: If9a9891200d9cea52b58b253299b4007197cd9e5
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
531ab83263f2678b1b406b65a0415655ef5e73b7 22-Oct-2013 Raj Kamal <rkamal@codeaurora.org> hwc: allow DMA pipe in BLOCK mode for virtual dpy

For portrait videos case on WFD, driver supports multiplexing
of DMA pipe in LINE and BLOCK mode.
Loosen the requirements to allow DMA pipe in block mode for
portrait case of virtual display.

Change-Id: I5821501f89b17bb2d29c425aee0a6c16b2a4783b
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
8d64e523e2f6c8f04cf859536c2c073d6193d70e 02-Dec-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc/overlay: Add Color layer support in MDP Composition."
15c02b94dcc7d61d4af05ac32b3c4db3b3b8a1e6 25-Sep-2013 radhakrishna <radhakrishna@codeaurora.org> HWC: Use 2 VG pipes for YUV layer with width > 2048

To minimize usage of decimation when 4K x 2K video is played
on primary, split the yuv layer into 2 halves and configure
each layer to individual VG pipes. With this approach,
decimation can be avoided in some 4K x 2K video use cases,
thereby improving performance.

Change-Id: I7cddfab787c50f6ff132eaa7f5a3d9cfd636c282
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
08cbd816733f17c957411ae915f2543afea70b67 18-Jul-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> hwc/overlay: Add Color layer support in MDP Composition.

1. Color layer has a destination rectangle, RGBA color and plane
alpha. There is no gralloc buffer. Layer flag "HWC_COLOR_FILL"
denotes a Color layer.
2. There is no color member in HWC layer, so RGBA color value
is passed via the "tranform" member from framework to HAL.

Change-Id: I8769fd3f5febcaf952a1456de0a4262679c9a0e4
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
6289b315a26aede5ac12b89e65d8024b1ed0dd05 04-Oct-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Trim out of screen layers once only

Instead of trimming out of screen layer dimensions for various
operations repetitively, trim and store.
Will also prevent accidentally missing out on trimming.

Change-Id: I8800586070ec433aa1fcbb3aad73ec29c9c9111e
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
b81222638c632a44d894b15590c9c90b1adc959e 09-Nov-2013 Jeykumar Sankaran <jsanka@codeaurora.org> hwc: Add deduction operation to Rect utils

Seperate out rectangle deduction from the layer cropping. Update
layer sourceCrop and displayFrame after deducting the rect value.
This makes the function generic enough to be used by other
modules.

Change-Id: I587ac951357af823a1bf5e06c15ff47ac6a9c2a0
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
f44bcdd642866a7763d09d568b0f91dd0949bc5b 29-Oct-2013 Arun Kumar K.R <akumarkr@codeaurora.org> hwc: use sourceCropF instead of sourceCrop from hwc_layer_t

- Always use sourceCropF instead of sourceCrop.
- Change it to sourceCropF at places where sourceCrop
used
Change-Id: Ia64050a41a174f3f038c9b88d527d70c2240f2d9
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
8f42508dc1e3bf24da360d5fbefd8c6574f82868 17-Sep-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
(cherry picked from commit 7e5637c850bcdbe21784ca3bfa9668870306adff)
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
a8cb934533e93a38483f20de07047947944e6b2e 06-Nov-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: always enable BWC for primary"
093297a5c2e88d12498bdebcdd536f7431257847 29-Oct-2013 Arun Kumar KR <akumarkr@codeaurora.org> hwc: handle actionsafe with downscale on ext enabled

during actionsafe calculations, if downscale on ext is enabled, we need
to consider the physical display attributes.

Change-Id: Ia07218b0b8e47b91b0bf575c66478ebaeab2e2a4
CRs-fixed: 569152
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
e511861c7d8c28d5dec95263e8957f34ce9f4ee5 29-Oct-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Add support to smooth streaming feature."
03159f1aaed32052c75bb06b72c20fb1d863a3c0 20-Oct-2013 Tatenda Chipeperekwa <tatendac@codeaurora.org> hwc: always enable BWC for primary

BWC is always enabled on primary for yuv use cases. This is a
workaround for issues surrounding transitioning from non-BWC
to BWC when HDMI/WFD is disconnected.

Change-Id: I6952ef5572f925ce59cbb91c85609c1ad3172703
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
94f50bebdee0b3ab9deb6d51426c542407ced5fd 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.

Conflicts:
libhwcomposer/hwc_utils.cpp
libhwcomposer/hwc_utils.h

Change-Id: Ifc5eeb4785c75c37de97a2bb89ca81409d324691
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
0d530c8c754e9ccb1f122ee2818d9d1d47d7d4da 05-Jun-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> hwc: Add support to smooth streaming feature.

update the source video width and height set by the video decoder
for secure video smooth streaming usecase from metadata.

Change-Id: I73a3804d90557034604142481a232787dbc08f23
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
b80a98f092bd469121cb1b0b83b9e35a281f23a5 22-Oct-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc/copybit: Handle "R/B swap" for RGBA and RGBX color formats."
f01e10a58786e9cb3200a757f65547868a29773d 11-Oct-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> hwc/copybit: Handle "R/B swap" for RGBA and RGBX color formats.

1.Framework notifies HAL with "HWC_FORMAT_RB_SWAP" layer flag to handle
a limitation where R and B components were swapped in Rendering phase.
2.Add "R/B swap" in hwc query to enable framework to query for support
in display HAL, at run-time.

Change-Id: I3b44d15b51b4f24939048fee9d1bac2b9009c97c
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
36035afc0c366c26d7c330d004e7ded510c1f88c 25-Sep-2013 Prabhanjan Kandula <pkandula@codeaurora.org> libhwcomposer: Enhance mixed mode composition.

While marking layers for cache, neglect the z-order when
possible, to improve the scope of mixed mode usage.
It is safe to neglect the z-order if a static layer
doesn't have any overlapping region with updating layers
in between static layer & contiguous static layers batch.
- if above layer doesn't have any overlapping with updating
layer in middle, push it to the batch.
- If above case fails, but layers below(existing batch) does not
have any overlapping region with the updating layer, bring the
batch to top and modify fb-zorder accordingly.

Change-Id: I4882a750d0a9a2e11272fcbb146202160673d04f
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
1b28b60e15c27fee703a16fbd1e42e3b41b031fd 31-Aug-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> hwc: Add support for Secure display

- Identify secure display layer in the hwc_list
- Need to set both SECURE_OVERLAY and SECURE_DISPLAY flags for the secure
display layer
- Disable idle timeout for secure display usecase, as GPU should not be
accessing secure display layer

Change-Id: I555910db77c466b5e103b24b4f0ec7f47bb210a5
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
bc037e0bbb3d1778fb4bde55582fd1d4e666f957 01-Aug-2013 Jeykumar Sankaran <jsanka@codeaurora.org> libhwcomposer: MDP partial frame update

This change adds support in HWC for MDP partial update applicable
only for command mode panels. Presence of MDP FB (GRAM) in
command mode panels allows MDP clients to update only the updating region
of the frame as rest of the frame will be cached in the GRAM.

HWC calculates the updating region of a frame (ROI) by deducing
outer bounds of its updating layer destinations. Layers not lying
within the calculated ROI will be dropped from the composition
since its illegal to program MDP pipes for non participating layers.

Change-Id: I890d98ff7960fe888787981803cac62f68471201
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
f13681b96223de6b84461174aa08fe6d2959ced0 03-Oct-2013 Jeykumar Sankaran <jsanka@codeaurora.org> libhwcomposer: Make Rect utils generic.

Changes rect utility functions more generic.
Adds more sanity checks.

Change-Id: Ie935302592ac8eb5f7cfaffe03ac49da077a290d
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
77846b8bdb582d03273ccaf9be58f8544659cd10 25-Sep-2013 Prabhanjan Kandula <pkandula@codeaurora.org> libhwcomposer: Optimize layer crops when possible.

With in hwc list of layers if a layer above is opaque,
deduct the opaque layers crops from all the layers below
in z-order if deduction is possible with out creating
any hole.

Change-Id: I6391a13b0501cb972b134f72b58514cb807c7613
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
292610b5e44c81667db5802195d5417977e355a6 14-Sep-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Add needsScalingWithSplit for high resolution display."
c439b604bcd6441e3706fdcaa5084ec58cbaf16d 29-Jul-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Add vpu client

Stub implementation of VPU in HWC.
This commit passes through binder calls from HWC
to the VPU library. It also has stub prepare/draw calls
in the VPU client object which can be used to configure
VPU in the composition cycle.

Change-Id: I2606f2884e870448d29ef26e02faac92e157e2c6
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
c4e909803b3617afb33bef77c96d309dd8164055 12-Sep-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Enable sync-pt for rotator on B-family"
44625ff6484744d1307c0bb0d00e8c0ad90325ff 05-Sep-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> hwc: Add needsScalingWithSplit for high resolution display.

- needsScaling does not check for scaling required in left & right
mixers when the crop values are sanitized. So it leads to issue
if DMA pipes are picked-up as high resolution layer does not need
scaling but left or right mixer configuration needs scaling after
the split.
- needsScalingWithSplit takes care of this with checking for the
sanitized cropped values.

Change-Id: I1f5b1952a59a84f5ccbaef123251b3c8cd46e4dd
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
3156a8f38820366117cdd42cb727c7a2e0bc66ca 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/msm8084/libhwcomposer/hwc_utils.cpp
1486daa2096ae0535670e6c07b6521ec749c537f 03-Sep-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Writeback for ad is needed only for split displays.

Writeback for assertive display feature is needed only for
split displays and only if ro.qcom.ad is set to 2 by OEM.
This patch removes the unnecessary code and adds the relevant
conditional checks for split displays and property value

Change-Id: Ic36f28441d1a6e93132316b33fe1cf98a6e1efe4
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
f8c680dacf0a357ea1f56542fb329bbc9749b6b5 03-Sep-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Add API to find if a display is split

A display could be split if its dimensions exceed 2048 or in case
of primary if we make it so via device tree property.

Add an API to find if a display is split. Use this API instead of
going through a set of conditions in various use cases.
Rename the HighRes, LowRes objects to a more appropriate Split and
NonSplit respectively

Change-Id: Id847c2bf36ea9250e1cdbc0259fdec64bd124537
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
515d0fcdee1025c9ea57bb793259adad4d1a72aa 01-Aug-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Split display: Correct source crops split, enable overfetch

For split source crop of YUV ensure that Left and Width
(thus Right) of each crop is even.

For split source crop of RGB and YUV ensure that Crops have
no gaps (i.e right of left-crop = left of right-crop)

Enable overfetch of pixels in the center, for split layers,
to get a smooth upscale

Change-Id: I8e4a91b637c840f75742580645c6468b5769432d
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
050c8e4005bd400436a48e34289b8ce7defe614d 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.

Change-Id: Ib0ef6b1bc5cf1e6437090a217d7f731a3440f84b
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
97c10c26c62d57a3fc31197fdd37d1bbfb8d1c2a 22-Aug-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> hwc: Cleanup patch for SideSync and WFD/HDMI downscale feature

Move block of code corresponds to SideSync and WFD/HDMI downscale
feature to a seperate function.

Change-Id: Ib07cec61abf3a7226bc4dd2ebb9f313519114fd4
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
5208cf1acefb3cb74ea3ba904b6bee9f800133da 29-Aug-2013 Linux Build Service Account <lnxbuild@localhost> Merge "display: Add BufferMirrorMode support for External"
5320999d7fe1c517ff6629b5c1165bbadf387359 29-Aug-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Perform MDP downscaling for WFD/HDMI Scenario"
d31b37c202cc65d0c6a2cc9616b754368597e49a 29-Aug-2013 Linux Build Service Account <lnxbuild@localhost> Merge "libhwcomposer: align rotator source buffers for tile format."
5365726ef260406513c4787b6ed253eda754370c 23-Apr-2013 Prabhanjan Kandula <pkandula@codeaurora.org> libhwcomposer: align rotator source buffers for tile format.

for tile format make the rotator source buffers aligned to 64 X 32.
This avoids rotator hang during source fetch.

Change-Id: I9e42788cc6f538b155c073028ce41bf48e1d9349
CRs-fixed: 473297
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
4d0834b7bc85f5130867a704e3e5fbaed5210c3a 14-Aug-2013 Amara Venkata Mastan Manoj Kumar <manojavm@codeaurora.org> hwc: Fix Pause/Resume issues

1. During PAUSE event, trigger an invalidate frame
which will unset the pipes (in draw call) and invoke
display commit as part of hwc_event thread.
This is required to avoid iommu page faults arising when
WFD encoder is in the middle of configuring buffers
and providing to Writeback as part of RESUME event and
Display HAL tries to invoke display commit as part of PAUSE.

2. Allow usage of rotator for Primary when WFD is in Pause
state.

The above changes are required to support secure/non-secure
video playback on HDCP WFD session and Pause/Resume.

Change-Id: I7391ae4cc7cd8b968873996a1a00fee5fbe6039c
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
86adeda0140053bfc618f5fc087d30c7221459da 20-Aug-2013 Amara Venkata Mastan Manoj Kumar <manojavm@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.

Change-Id: I5b99b214619134b1bd67f3c441b14f76051e3d3b
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
ad60172f872d4827299c20b937f2b02da1a19987 24-Aug-2013 Linux Build Service Account <lnxbuild@localhost> Merge "Revert "hwc: Perform MDP downscaling for WFD/HDMI Scenario""
cc30f59623dfc338567c7178f6f7ef96aa89438a 24-Aug-2013 Linux Build Service Account <lnxbuild@localhost> Merge "Revert "display: Add BufferMirrorMode support for External""
effbd25d502916fcdebadd1d2b83988559434e79 25-Jul-2013 Arun Kumar K.R <akumarkr@codeaurora.org> display: Add BufferMirrorMode support for External

- In Buffer mirror mode, the output on the external should be rotated
based on the primary orientation.
- this is used for the side sync feature.
- buffermirrormode has higher precedence over external orientation
- Add binder interface to enable/disable buffermirror mode

Change-Id: Ibea0af9627d69b4d42453adc868b113d82613437
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
fea63d61337f1efeb2d1c7a7a4fafe472611704c 14-Mar-2013 Amara Venkata Mastan Manoj Kumar <manojavm@codeaurora.org> hwc: Perform MDP downscaling for WFD/HDMI Scenario

On WFD/HDMI connection, if the configured resolution is less than
Primary Resolution, Display HAL does the following:

1. sends hpd notification to SF with primary resolution.
2. configures MDP pipes with configured Resolution.

This is done to improve UI quality as MDP has better downscale
filter options compared to GPU.

Change-Id: I33570c13016a35ed6c5d22d4c34dfe75b2c605a1
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
e831288603d44b7e6133efae7dac9d0d117fd0e3 22-Aug-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> Revert "hwc: Perform MDP downscaling for WFD/HDMI Scenario"

This reverts commit 1291675ee44cadc234c4403cf1b0cfe70eadaf3a.
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
b89a73f96e83ea4fb1747c6fbec81af0d958cb70 22-Aug-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> Revert "display: Add BufferMirrorMode support for External"

This reverts commit 027d96511c3c5794f200ef1e8c3ef8f264a80d33.
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
60bd7a77779badae5d2e2eabb64ba6dadd820c81 22-Aug-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Add support for plane alpha"
12a7b537b1e043a61b06db3d083c2372c11ef1f2 19-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Add support for plane alpha

HWC 1.2 API passes down the plane alpha and the blending
operation to apply. Pass this information to the MDP.

Change-Id: I7fbd17345d9157aa654e4b1031ac3e26adf87f37
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
f9b43cd974f838c678ae4dffa4a23b516360ff97 25-Jul-2013 Arun Kumar K.R <akumarkr@codeaurora.org> display: Add BufferMirrorMode support for External

- In Buffer mirror mode, the output on the external should be rotated
based on the primary orientation.
- this is used for the side sync feature.
- buffermirrormode has higher precedence over external orientation
- Add binder interface to enable/disable buffermirror mode

Change-Id: I1768dbfac239ae663927358ca9b8e5510b683385
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
88722217d313796d01a1afde4ae456f23ed562fd 14-Mar-2013 Amara Venkata Mastan Manoj Kumar <manojavm@codeaurora.org> hwc: Perform MDP downscaling for WFD/HDMI Scenario

On WFD/HDMI connection, if the configured resolution is less than
Primary Resolution, Display HAL does the following:

1. sends hpd notification to SF with primary resolution.
2. configures MDP pipes with configured Resolution.

This is done to improve UI quality as MDP has better downscale
filter options compared to GPU.
This works only for QCOM WFD proprietary solution.

Change-Id: Ic20e837bf02c0f7b6718946e70b936f3a469fa7c
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
23421d260e81161813b0d8a14dac30d4d89ed380 17-Jul-2013 Arun Kumar K.R <akumarkr@codeaurora.org> hwc: fix aspect ratio calculations

- Make aspectratio calculations independent of ext dpy w/h
- pass hwc_rect_t to getAspectRatioPosition function instead of
x, y, w, h
- overload getAspectRatioPosition func to return the upscaled
or transformed position for a particular display based on the
values set by SurfaceFlinger

Change-Id: I0be9b2b4b030bdd8e69dc1493dc8cbac31918c27
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
361900d9a618d2c4d2276a10ca76919214f6759f 02-Aug-2013 Jeykumar Sankaran <jsanka@codeaurora.org> display: External display refactor

- cleans up external library
- add separate library for virtual display
- process virtual updates in its separate path
in hwc.
- Acquire blank mutex lock for one complete drawing
cycle

Change-Id: Ib984c578464a131ecdb27ee48960f58d68b7a5a7
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
8d12670e9d3c1d4c1e871e70a056c5f8370f7ef6 14-Aug-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Add assertive display support."
f1c9077e23f3fd814c27445ad73f6967a1ce5d9e 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.

Change-Id: If5520f9dc849de3189c9f9ed4e9072c8f8f760e1
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
9640e380d8f815ef7ca71c1fdf23eb6f7b30db1e 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
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
464983fc2b8c5df172e5bf94e0a53d7d61bb77d8 23-Jul-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Refactor of allowing virtual displays to HWC"
0df43c5a5da262ea6716f7614019fc710562028b 01-Jul-2013 Amara Venkata Mastan Manoj Kumar <manojavm@codeaurora.org> hwc: Refactor of allowing virtual displays to HWC

1. Since SF doesnt invoke blank for virtual display,
handle pipe clean up as part of Primary display
blank.
2. Support virtual display to query display attributes.

This refactor is done to address Framework reboot issue.

Change-Id: I266a87228193fd85252a22242b66dd4af5f3033f
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
b8f92dff0dd178485c7cd9798f542b93aa159b45 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/msm8084/libhwcomposer/hwc_utils.cpp
43addde8368fa726b6be3ff2194eca4fc0741994 21-Mar-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Sync for rotator

Implement sync for rotator.
If a buffer is rotated, it can be used by producer soon after
rotation (and it wont have to wait until vsync).

Mdp waits for the rotator buffer's release fence to signal
to start display.

Hwc waits for previous access to rotator buffer by MDP to finish
before using it

Change-Id: I5664806a17c44d58af62a2825ce454089fcd31cf
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
923e48b844c385a88b7db5988de52c2d3fc6d7f9 04-Jul-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: split display: Fix flip on which to do crop swap"
5a83bb56363086cd832709fd1dc69788af245946 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/msm8084/libhwcomposer/hwc_utils.cpp
2e474227e216ee37ab84a3c9a22ea1f650626231 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
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
2dbc0fce8c03f8a7beb205543c2e59af3b93ef47 26-Jun-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Initialize yuvIndices properly."
6b7e1a0d4ea314ca31114c787e060e28b9db4ab2 24-Jun-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: 8x26: Composition policy when WFD connected"
56d570f1d7eb34ab0db968298efb8e75b849c893 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
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
5ed47f48fedd9117cce293fa7c04962566ea15de 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
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
657ba21006fe2dbec5eb8285b813c074cd7d98ca 12-Jun-2013 Arun Kumar K.R <akumarkr@codeaurora.org> hwc: consider landscape panels for calculating aspect ratio

Need to consider the primary panel native orientation(portrait or
landscape) while calculating the aspect ratio for external display

Change-Id: Ic37c719fe736b6957d975ebefa9972b1ba3ccf7f
CRs-fixed: 497272
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
b413eeeac1f62035a9a7d8fdd860478c797ab766 07-Jun-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Fix Bwc policy's decimation check."
60560bc78d51ee84cb9c16692057c9bc8091f17a 06-Jun-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Fix to avoid heap corruption"
d9381b134ed518570554296fbfab8fd1175ecdb8 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
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
30ab3cfcf135223e279411681fe6bdf94f66d8f0 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
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
b5768280d6a9874ebd502d73a1b037780e349ad4 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/msm8084/libhwcomposer/hwc_utils.cpp
b1f967cdfb6a3e223ec8c45601da5640a8307228 01-Jun-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Add BWC policy manager"
7aa63d7e084deaa40acce9540c5879e3aba827ef 01-Jun-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: In scaling check, consider out of bounds layers."
281355c87bd64cb41a8d43da3b5057c01bbdbfb2 01-Jun-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Update orient info from transform."
0075abaa4825938bb806f24b67e20abddba2ad0b 31-May-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Featurize framework changes"
55c5bf42207f78090f0b63277fcaa2e7dd3262f9 30-May-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc/overlay: MDSS driver requires 4-aligned crop.h for interlaced"
f0a7a20029deae76ea13d90099a09cc5e540f6ba 29-May-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Add BWC policy manager

Add a BWC policy manager that decides if BWC needs to be disabled on
certain conditions.
These conditions are statically determined. BWC might get used and
still fail (or cause failure of subsequent pipe requests) if SMP
blocks are not sufficient.

Change-Id: I805738911a8da7dfc6232c133c74ef844c3af5b1
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
f1e233034ba5bc96e32861fa98a5504aad06415b 29-May-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Featurize framework changes

These flags were added to the core HWC header and break pure AOSP
builds.

Change-Id: I0d2f2071ce3fd6a9a0dc848b08098895b669c94e
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
d62eabcb27a58c7a041efcb2e801cccc4cc02c30 27-May-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Unblank primary display on bootup."
d49176f4cbdb03d1ef3225bddf225293241b16a0 24-May-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> hwc/overlay: MDSS driver requires 4-aligned crop.h for interlaced

MDSS driver requires the crop height to be multiple of 4 to
de-interlace the interlaced Yuv content.

CRs-Fixed: 491488
Change-Id: I9a95392a71cca217e2890c9736f1450fd8aa4a59
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
1ca0f09fec9ca2d43c5f88348fb16306b6d02411 23-May-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: In scaling check, consider out of bounds layers.

In scaling check, consider out of bounds layers, apply trim
and then decide if scaling is necessary or not.

Change-Id: Iad7f662f42096b3f7a4a1c4cfe71048d275f4b5f
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
fcb620ad4afbbf7cb4d11c3503b8c9ee8c107704 21-May-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> hwc: Update orient info from transform.

Update orient info from transform for animation use case.

Change-Id: I33e51d3ee9f5010c04642535316bc8ed97d10b33
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
5eae6cb495d7c08e06b2b4683b80d323c643f625 21-May-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Add check for YUV formats in configRotator."
e25b61d57d1b8e51f7754593c13f851451f97d82 15-May-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Unblank primary display on bootup.

SurfaceFlinger assumes that the primary is unblanked on bootup.

Change-Id: I481ece9772ad29ac5eddd2b31f67f3f68bb3baa5
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
d80dd577f7b1c73b23a884614492d08de29f5284 21-May-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Set List should not block DMA on 8x10"
42def420ce95ff338d3547d0305445a0786d37d8 20-May-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Don't permit rotator use under certain conditions"
280e29a24abce7fe785d55e2e0102f47ff738f30 18-May-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> hwc: Add check for YUV formats in configRotator.

Since configRotator gets called from FBUpdate for non-YUV layer,
check for YUV formats is required.

Change-Id: Idaef9d9b650499f8a0342ddfc04e1f55c9b75f73
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
38bb2bd104e45a75474267124facaff0c2de88f0 17-May-2013 Terence Hampson <thampson@codeaurora.org> hwc: Set List should not block DMA on 8x10

Since DMA is the only overlay pipe on 8x10 it should not be
blocked in the set list.

Change-Id: Ie8ba7028ceaf90e1a3211ef076bc839e793017de
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
7373b01342416475789bda78901a1a1cc146335b 17-May-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Simplify vsync code"
679b0b691c8a6ec92cc324e990f297b141e29180 17-May-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc/overlay: If configRotator fails, mark all pipes as available."
fa412e12943c16335c30bf81dbc2b0eef2118972 17-May-2013 Linux Build Service Account <lnxbuild@localhost> Merge "display: Remove default arguments for setMdpFlags function."
e188278e86ebb2f7f1ed3762855f15062b7f9d03 16-May-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Don't permit rotator use under certain conditions

These include constrained targets, with external connected which could
lead to a scarcity of pipes. Furthermore owing to a scarcity of writeback
interfaces, even if pipes are available, we may not be able to still
use rotator.

Change-Id: Ie2fb4c1726f32addcace89c268a126abe0cddbe0
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
6c00d487ca26b6ad864256248b0c5c59034d120e 15-May-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> hwc/overlay: If configRotator fails, mark all pipes as available.

If configRotator fails, reset usage & allocation bits on all pipes
for the given display to make them available for the current draw
cycle. It is required because if external is connected and Rotator
commit() on Video fails, all pipes which were picked-up by primary
are not available for FB update, hence it runs out of pipes.

CRs-Fixed: 483002
Change-Id: Ifd0d708e4ef8e3ddbe9d0531f6090539b8dcb249
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
3e76f19cb2c0441315ebe54110f7b452d2932f52 14-May-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> display: Remove default arguments for setMdpFlags function.

Remove default arguments from setMDPflags function to get rid of
issues hidden from the developer.

Change-Id: Ic78645675b0aaab284fe2d0de8fffb4b26beabc7
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
e2f07405d2d04aaf5577080761cd2b11a9e3c736 09-May-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> hwc/overlay: Crop x, y, w and h should be even for MDSS Rotator.

MDSS driver requires Rotator crop x, y, w and h to be even for YUV
formats.

CRs-Fixed: 485216
Change-Id: I9a066970f8cedaed7ba18534bb99edd1bcf421dd
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
10d293b379d1b8bdaa383b67c05b187365c5d1af 11-May-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Simplify vsync code

Handle the wait properly in the kernel and remove unnecessary
thread signaling.

Change-Id: Iff05825a7a85d0353f3feb64e7f9a06cedab7869
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
a0e87cbc523323604e8fb7cb5526f410a1ed26df 16-Apr-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> hwc: Do not show animation on External display.

- When primary is animating, the animation should not be
shown on the external display.
- Mark all app layers as HWC_OVERLAY on external during
animation so that SF wont compose it on FB.

Change-Id: Ic557cabfd9f2518614777c0e993541e36e090850
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
3b9570a337a3115ad05dee3c1aa2ecc6f82f6ab1 10-Apr-2013 Arun Kumar K.R <akumarkr@codeaurora.org> display: Add support orientation control on ext display

- The required orientation on External can be set using the
properyt sys.ext_orientation.
- Values can be HAL_TRANSFORM_ROT_90, HAL_TRANSFORM_ROT_270
- According to the value set, the FB_TARGET for External will
be rotated and positioned as per aspect ratio on Ext
- For YUV(video layer) it just calculates the position, as the
rotation should be the source orientation
- This feature is supported only for low resolution panel.

Change-Id: I3d532ee0cb8dca3c37869537b55cd8044fd9047e
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
eb43d2b7b681164a58e3f86bd0b0d88eea6a3591 07-Feb-2013 Arun Kumar K.R <akumarkr@codeaurora.org> hwc: Add support for EXT_ONLY Layers

If there are any EXTERNAL_ONLY layers present in the list, mark
them as HWC_OVERLAY such that SF does not compose and in hwc_set
post that layer to Ext display, ignore other layers

Change-Id: Ic5db3bfa88295167d23d1fb2be7640c9fc772054
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
a54b064d29f742af11cd4394a4e00af750108ef8 24-Apr-2013 Ping Li <quicpingli@codeaurora.org> hwc: Add property to differentiate the input image format

Set different vaules to property hw.cabl.yuv based on the input
image format, so that mm-pp-daemon can adjust CABL power
saving levels accordingly.

CRs-fixed: 464799
Change-Id: I212035d387a975e61a08749ba118a9da30e18d81
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
38042dc028430af40b214a268b4031d0c80cb160 01-May-2013 Linux Build Service Account <lnxbuild@localhost> Merge "liboverlay: Add support for MDSS Bandwidth Compression"
31e1d2dc50c5a9c4edc01bda365d5386a5e899ed 01-May-2013 Linux Build Service Account <lnxbuild@localhost> Merge "display: Fix Bug in 180 degree rotation use case for 4kx2k panel."
48426785155f8356f83da71f93a0fee740bb94c1 01-May-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Fix right mixer layer positioning."
fba65e8525f419ebcedfc014977ce43846d737b5 30-Apr-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> display: Fix Bug in 180 degree rotation use case for 4kx2k panel.

Check NULL condition for pointer to rotator object to swap
configuration information between right and left mixer.

Change-Id: Ib23552efcb7807164a33f618f7ff41c469661cb5
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
30323b98c1abab90dce91c3d226d4e65a24076fc 31-Jan-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> liboverlay: Add support for MDSS Bandwidth Compression

- This adds support for Bandwidth Compression.
- If MDSS supports BWC, then we set BWC flags
to both Rotator(encode) and overlay(decode)

Change-Id: I6f7800716a2ce2ab855f4c0b1a53cd96f7d06d74
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
a2ee1bba5da353db701904f6721c2121e5153d03 29-Apr-2013 Linux Build Service Account <lnxbuild@localhost> Merge "display: Enable more Debug logs."
2a9082bf46b3de9f997036a53a97834bcef170d9 12-Apr-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> display: Enable more Debug logs.

- Dump more info for BUFFER_SYNC ioctl failure case.
- Enable debug logs for blank/unblank display.

Change-Id: I289ed8ad39a0181ff4a404644b90cb02a8144b9a
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
e7fd567eb00aea104a726a88540dba639e17bf29 24-Apr-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> hwc/overlay: Set crop rectangle for MDSS Rotator.

Since MDSS rotator will crop, the crop rectangle for overlay
will always start from (0,0).

CRs-Fixed: 476494
Change-Id: I1ccece8eab7d1a97ccec561a4d0df4558b5e33c4
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
be17ffd2ba58abd9a06f492768ab35b35d86a0af 26-Apr-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Fix right mixer layer positioning.

Fix positioning of layer on the right mixer, by making it relative to
the half width of total panel.

Change-Id: Iecbe4496db1faae426b2606118ccaab90c1e4fca
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
586aedccc2eaa76923bc22a3325fc2e4eff415e2 23-Apr-2013 Saurabh Shah <saurshah@codeaurora.org> hwc/overlay: Introduce padding round between DMA modes.

Introduce a padding round between the DMA line and block modes.
Do this based on whether DMA is actually being used, when block mode
is first requested.

This relieves the driver of doing an UNSET ahead of vsync which could
cause blinks in all such transition scenarios.

This approach should lead to smooth transitions for multiple targets
with the exception of secure videos, where there could be a blink in
any of the different approaches we use.

Change-Id: Ibc0b8d284b5c6ed9291a7cfa7e7f221300a921e2
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
177b389e49264852a81fbaca3a86e0d5a0e2ec92 24-Apr-2013 Linux Build Service Account <lnxbuild@localhost> Merge "libexternal: change action safe property to persist"
1afa12c45ee08b13e96c681f3b21412b68a9b2b4 11-Apr-2013 Arun Kumar K.R <akumarkr@codeaurora.org> libexternal: change action safe property to persist

It is more probable that end user always use same TV to connect.
Hence make the action safe property persist, so that it is
persistent across reboot
Also, change property to sys. from hw. so that hwc can write

Change-Id: I5a77156012d121e28d1adbadb9162fcdf7ca3edd
CRs-fixed: 472431
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
ddd33e5a14f8d41d803458d2d266518e04ff7ad8 16-Apr-2013 Sravan Kumar D.V.N <sravank1@codeaurora.org> hwc: Close Fds in case of errors in openFramebuffer

Close opened Fds in case of errors in openFramebuffer
function.

Change-Id: Ifd80adf1eff0d2efd698cd4abd3980d5c1f333ab
CRs-fixed: 473488
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
11154eed0599cd2e03bd0706341e14e05265b907 13-Apr-2013 Saurabh Shah <saurshah@codeaurora.org> hwc/overlay: Fix dma mode design and issues.

Add support for tracking the mode in which DMA is being used in overlay.
Remove unnecessary tracking variables, and their set,reset inconsistency.

With such varibles in hwc, it still leads to overlay giving out DMA pipes.
Make overlay as the single tracking place.

Change-Id: Ib949f3d0ef5918ef323c81cb1768b68a68c83da4
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
5015ccda26e8f6e4d3293e0128f853557189ad47 13-Apr-2013 Linux Build Service Account <lnxbuild@localhost> Merge "overlay: Swap flips on 90 only for older mdp version."
c9889a4a83afe2e431bd6982144cee1b6370d451 06-Apr-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> libhwcomposer: Log and dump app layers of screen frames

Log a frame-by-frame succession of HWComposer layers' data and write
their buffers, if any, into raw or png files based on system property
values.

Change-Id: Icceccf5fff5ab4d78dbc6c28c11210b8837ddfd9
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
027d88d922505ca1e8d90e231e69b40e7948ea9e 10-Apr-2013 Saurabh Shah <saurshah@codeaurora.org> overlay: Swap flips on 90 only for older mdp version.

Older mdp rotator does 90 first and flip next,
forcing HAL to swap flips, in presence of 90.

Newer mdp does flip first and 90 next, owing to DMA pipe.
(Also similar to GPU flip handling). So we can pass flips as-is.

Change-Id: I379509a07e45966262005666e7727e7923079d3a
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
f9572cdbe3541d85522adea584f925671b375300 26-Feb-2013 Jeykumar Sankaran <jsanka@codeaurora.org> hwc: Implement mixed mode composition.

With this change we are moving MDP composition from all-or-nothing
implementation to mixed mode implementation where layers can
partially be composited through MDP and while rest of the layers are
composed / cached in framebuffer.

- Mixed mode design is based on layer caching
- Mixed mode path is configured only when non-bypassing
layers are cached.
- Never allow mixed mode when FB needs to be udpated.
- If we cannot bypass all MDP comp marked layers, bail
out completely.

Change-Id: Ie08f39db07e032b537f042d0d2bfe772ebfed049
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
e58b83d65c0e78769e603baefbf19005de5470da 29-Mar-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Use correct z-order in video overlay"
706de6b3abfc3d444047fc881b65e8f78c84bd21 26-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: NULL check on buffer handle

In some cases it is seen that we receive a NULL handle on
suspend/resume. One such test case is open browser, suspend
device, resume device, unlock screen. Since we rely on the handle
to get the format, make sure it is not null.

Change-Id: Ia476887a831df33a50b2939a46c143b9c207ea9b
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
fb704cff54130d8fc2041e3b10016376f67004a2 27-Mar-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Add MetaData support in overlay path."
3c5013d8ed74af9b28d62ee6f141860a6d5afce3 27-Mar-2013 Linux Build Service Account <lnxbuild@localhost> Merge "libhwcomposer: add dynamic thresold support for copybit."
5c937230915bced21130a3e5d129c4f470fd74d3 15-Mar-2013 Sravan Kumar D.V.N <sravank1@codeaurora.org> hwc: Use correct z-order in video overlay

Set z-order of video layer to 0 and framebuffer to 1 in case
of video overlay composition so that the blending takes effect.
Also set is_fg OFF for framebuffer.

Change-Id: I05f930074d265d690f29a1003b7c28077df89bbf
CRs-fixed: 458180
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
80d8a5cb55d1036b37c88924db1ea1298a3e4287 15-Mar-2013 Prabhanjan Kandula <pkandula@codeaurora.org> libhwcomposer: add dynamic thresold support for copybit.

copybit blit may not be effective if data for composition
is high. Add configurable threshold support beyond which
we can avoid copybit blit. set default threshold value to
2 times of fb resolution.

CRs-fixed: 462450

Change-Id: I0ee77ea1d761dc370d82ade1724caefbecfa01f5
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
a6b4d9570f8cc6d57f8b4f724c06e6ec6877b4a4 20-Mar-2013 Sravan Kumar D.V.N <sravank1@codeaurora.org> hwc: Fix alpha downscale check for mdp composition

Do not allow mdp composition when any layer format has alpha channel
and needs scaling as the VG pipes are not supporting alpha downscaling.

In few scenarios, at the beginning/ending of animations Surface Flinger
passes few frames with flag HWC_BLENDING_NONE though it has Alpha.
When such layer passed to VG piple and if needs scaling , it results in
flicker. Hence, just checking for HWC_BLENDING_NONE is not enough.

Change-Id: I70fdfe4547df6fe7b2771ed8042f43aa4e07a71d
CRs-fixed: 462508
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
c988273695938de0425ee0542f66352589ae60f7 26-Mar-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Add DMA pipe support in MDP composition."
5d50448ce691782fde0c26ec8247b3d5d6b2de82 23-Jan-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Add MetaData support in overlay path.

DONE:
1. HSIC(SPA) test.
2. IGC R/G/B channel test.
3. QSEED2 sharpening/smooth test verified through register value check.

Change-Id: Ia9472f489c013df22a3411eeaac3c8d1e6e22ac0
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
93f93515d4b36db7ddb56da15563e3ea6e7ce18c 19-Mar-2013 Arun Kumar K.R <akumarkr@codeaurora.org> hwc: fix dst calculations for right mixer

The calculations made for the right mixer was not correct,
fixed it for both FBUpdate and video usecases

Change-Id: Iff2c296321bce14b776731528fff6f1d255d829a
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
f8f3943c612a0e324b9fb01c858bf668d9e5b859 07-Mar-2013 Jeykumar Sankaran <jsanka@codeaurora.org> hwc: Add DMA pipe support in MDP composition.

This change adds support to MDP composition to use DMA pipes when
layer scaling is not needed. Also makes sure not to invoke
MDP rotator when DMA pipes are configured since MDP rotator will
expect both the DMA pipes to available for performing rotation.
In such cases, we let the first frame of rotated video frame to
fall back to FB.

Change-Id: I3c3697dd2713ce9b86ba1e23192ec5841abd25ec
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
ffc656e881bc4dba3fb2418bb32fe4194b1d55e3 22-Mar-2013 Linux Build Service Account <lnxbuild@localhost> Merge "display: Fix merge issue in jb_mr1"
255e4ae008be4e95530e7153f4ce2d55c70a1e18 20-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> display: Fix merge issue in jb_mr1

Slightly different version went on jb_2.5 which caused a
mismatch. Escaped testing because FB HAL is not used.

Change-Id: Ia7ee2fb80bf937499d372383641f71530dc1feca
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
89ce3b8b4cbfe7dfdd5addbd33aa61861c72aac4 19-Mar-2013 Linux Build Service Account <lnxbuild@localhost> Merge "display: Remove framebuffer HAL usage"
c567a93cd9ff7079ac03024d4fdb1ddc5683e748 21-Feb-2013 Jeykumar Sankaran <jsanka@codeaurora.org> display: Remove framebuffer HAL usage

This patch removes the usage of the framebuffer HAL which is
deprecated in JB MR1 onwards. The code is left for compatibility
such as conformance tests but it is unused for normal display
usage.

Change-Id: If98133bdaa759cdc41d4503ff695b225ee43cb6f

Conflicts:

libhwcomposer/hwc_utils.cpp
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
88dd176177d0830ad88a7cb975a77c8ce442410c 14-Mar-2013 Saurabh Shah <saurshah@codeaurora.org> hwc/ov: Fix MDP orientation flags and values.

--Fix MDP_SOURCE_ROTATED_90 removal.
Since mdp flags are updated fresh each round,
this flag should not be removed if there is no 90.
If pre-rotation is used, this flag is set by hwc and removed here.
(Affects anything having a 90 component in transform)

--Provide MDP adjusted transform to prerotation calcs.
Clients on Android don't switch flips if 90 component is present,
but expect the output to be that way. (camera)
We do it in HAL and then calculate final crop for MDP.
(Affects anything using 90 + Just 1 flip i.e camera)

--Pass 0 transform to MDP even for flips, since we
prerotate if there is 90 with flips or use MDP to flip via flags,
so no need to flip transform calcs.
(Affects anything using just flips).

Change-Id: I115a82ee4558794db0b6b641710494b9007d6f54
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
6e146950e61327d425750c1de36bfd70d526acad 07-Mar-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> qdutils: Retrieve MDP revision and pipes information from driver.

Userspace can retrieve MDP revision number and number of different
types of MDP pipes (RGB,VG,DMA) information from driver. Add target
specific flag as previous MDP versions do not provide this support.

- Make use of this information while maintaining PipeBook.
- Move PipeBook related functions from overlay utils to PipeBook.

Change-Id: I46578bb27e515c4b9525d90b6619c11d7749914f
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
327b2ba85538669304a50d0fb6cc2f6aab7aaf3b 26-Feb-2013 Saurabh Shah <saurshah@codeaurora.org> hwc/overlay: Video on 4k2k external, 4k2k rotation.

-Add support for Video via overlay on 4k2k external panel.
-Add support for rotating videos on 4k2k panels. We use
pre-rotation in hwc to rotate a video into a single buffer,
irrespective of panel size. Then this buffer is fed to MDP.
Rotator objects are managed by the new RotMgr.
-Cleaup mdpcomp and overlay.

Change-Id: Ifb08534747e8e18b6c58dd8a3e1a9947409100f1
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
55290a90518c4a8e2cc41d7bdb40918248a9920e 05-Mar-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Check for correct screen state before enabling vsync

Sometimes vsync would not be disabled before the display is
blanked.
This was due to the vsync disable ioctl being kicked off in a
thread different from the event control which surfaceflinger
called. So, while the calls from surfaceflinger are in order, the
order of execution wasn't always the same. Hence, making sure
ioctls are called in the same context to ensure order.

Also
- Make blanking/unblanking logs show the operation as a string.
- Add a debug property to dump vsync timestamps (needs framework
reboot)
- Remove a log which showed delay in reading vsync. This log was
unreliable when vsync is disabled and we're still reading from
the sysfs node.

Change-Id: Ibec04e9ffebd0ac6e1d32b7031e3668abd9390ff
CRs-fixed: 443113
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
04a2afbd65e9f8bc580a637bf44bfc4e627edce0 14-Feb-2013 Naseer Ahmed <naseer@codeaurora.org> hwc: Use intermediate buffers for copybit

The earlier copybit solution involved blitting directly into
the SurfaceFlinger's framebuffer target. That solution involved
unnecessary framework changes and caused issues when the
framebuffer was being written to both by GL and copybit.
Update hwc_copybit to use our own buffers for this purpose.
We also make sure we display only the region we're interested in
so that unnecessary artifacts from previous blits do not show up
on the display. This way, we can avoid clearing the intermediate
buffers every frame.

Change-Id: I713b3fc606e0768444c621af76853ece41964da1
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
ff148d4e5a75674193e26db0404a4b39ea4ddfc2 01-Mar-2013 Linux Build Service Account <lnxbuild@localhost> Merge "libhwcomposer: MDP composition for Higher Resolution panels"
c8d563c4df56d25bf6ac6f38fb6703150458737a 11-Jan-2013 Jeykumar Sankaran <jsanka@codeaurora.org> libhwcomposer: MDP composition for Higher Resolution panels

This patch:
-Implements MDP composition for higher resolution
panels of width more than 2k.
-Adds DMA pipe support for high res. MDP composition

Change-Id: Ib7b1f822e3600eca81521294fedfe05e948b65c3
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
a2fbf2e17b5b50016125016f05cb0b52bea5ce5f 26-Feb-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Close acquireFenceFds always.

Close acquireFenceFds always even in case of failures if a layer is either
OVERLAY or FRAMEBUFFER_TARGET to prevent leaks in case of failures.
The framework is *not* responsible for closing acquire fds, for layers
marked as above two.

Change-Id: Ia6c751d3ec25f196f5503120894fc6cc692b9d25
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
90571fc7c38e38858ad22a79e95efcb99c3a8b1d 17-Jan-2013 Amara Venkata Mastan Manoj Kumar <manojavm@codeaurora.org> hwc: Allow HWC to support Virtual Display

This change allows virtual display to be composed
by HWC for supporting Google WFD App + QCOM WFD stack.

Change-Id: If8892230256e72fa34e3fb5ae715c3ad8cbd5b64
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
c1de3bb0682a9d3b6ae96943e444e3536bb4c811 21-Feb-2013 Linux Build Service Account <lnxbuild@localhost> Merge "display: Close 0 fds"
50e19d2c536783fad3c29f8ffced6ba5915e7f06 16-Feb-2013 Naseer Ahmed <naseer@codeaurora.org> display: Close 0 fds

0 can be a valid file descriptor, make sure 0 fds are closed

Change-Id: I2bf2280d70eda74fa0b0a886ea54ecefc6854b24
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
c59c27830019a78f668f6fb2e9518483587ce098 09-Feb-2013 Saurabh Shah <saurshah@codeaurora.org> libqservice: Add a client interface.

Add a client interface which interfaces with hwc.
qservice upon receiving IPC, provides a callback notification to the qclient
which does appropriate stuff in hwc.

In future, qservice can safely be even made a separate process with no changes
to exisiting code. This was not true earlier owing to the hwc pointer held by
qservice forcing it to be in the same process that hwc is in.

CRs-fixed: 452977
Change-Id: I05838c213f5d4606a6573693de1bacbc5876107e
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
c6e63e6e181d37a5707c835b7e8708f158d3c731 12-Feb-2013 Linux Build Service Account <lnxbuild@localhost> Merge "libhwcomposer: Don't count video layers marked for SKIP"
49a64f0eb722a4789531e09bd7e18e1e9a1e2eed 04-Feb-2013 Jeykumar Sankaran <jsanka@codeaurora.org> libhwcomposer: Don't count video layers marked for SKIP

When YUV layers are marked for SKIP, it needs to be composed by
SurfaceFlinger. No need for tracking them in HWC

Change-Id: I4c8ca9710b709b9df9dcb6867681387b7507e14c
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
0ae34e340382b0b3b767b844305db19e91257edd 01-Feb-2013 Arun Kumar K.R <akumarkr@codeaurora.org> display: Add support for overscan compensation for ext display

- Read scan_info sys file node to check if TV underscans
- Apply action safe parameters to avoid overscan on ext display
- Store action safe width and height ratio using system property
- Use these to calculate the destination position on the ext display
- Remove unsed ActionSafe Class

Change-Id: Id27e6fa20966fb13fc16aa7e237cacce8caeb642
CRs-fixed: 447367
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
5a107b4b7124301baf3b9e58089c7621fb9dfc95 22-Jan-2013 Jeykumar Sankaran <jsanka@codeaurora.org> libhwcomposer: Allow 2 YUV layer frames to use MDP composition

This change introduces the following changes:
- Frames having 2 yuv layer can be bypassed
- if not handled by MDP comp, video path will not
handle any such frames and will be FB rendered

Change-Id: Id211dbc185608c482badbca00a2708fa6138a8e5
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
6b90a0c838871669457f5f81361ec062feb7539d 09-Jan-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> hwcomposer: In Mdss,secure content policy applies to layer buffer

In Mdss, mSecureMode is never set, instead the secure content flag
has been set/unset on each layer buffer.

Change-Id: I3283533c11206e189ce70dbc84776b2cff3a909d
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
4019c64ad8721cd9f3dc5c4e7be260a5f0706e34 28-Nov-2012 Arun Kumar K.R <akumarkr@codeaurora.org> hwc: Add support for copybit(C2D) composition

- Add CopybitEngine to hwc_context
- draw the layer on the HWC_FRAMEBUFFER_TARGET using
copybit(c2d) if it qualifies for C2D composition.
- use fence returned from the copybit during c2d
composition

Change-Id: I052da015cd031f7abd6411d83d7944c335caeff7
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
463a7b337c76050ccab5aa65a662a23e09a44ece 04-Jan-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Delay HDMI/WFD connection request by one frame"
413701aeb9879f1b9ae4401def52199c6950191e 28-Dec-2012 Amara Venkata Mastan Manoj Kumar <manojavm@codeaurora.org> hwc: Delay HDMI/WFD connection request by one frame

This change introduces hdmi pending state, where we allow
frames to fall back to FB, closing all MDP pipes.

Pipes could be used by primary (mixer 0) in which case moving
them to external (mixer 1) involves unsetting them and setting
them in the same round which is not recommended by the driver.
It will fall back to GPU till HDMI is configured on a connect
event.

CRs-Fixed: 430057

Change-Id: I4b6677883c499f6d15656c3578190be1115ee6b4
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
c18b3a0ef41fe474fe37e2e1833ef1bb11c85b11 20-Dec-2012 Saurabh Shah <saurshah@codeaurora.org> hwc: mdpcomp: Restructure for 4kx2k displays

Restructure MDPComp class for 4kx2k displays.
Cleanup MDPComp class to remove unused stuff and formatting.
Add a MDPCompLowRes class for current functionality.
Add a hollow MDPCompHighRes class for future.

Change-Id: I343540e712d31ca907257a73b49567578f49d5f7
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
58dece87d67d8cfea10ba1b221d9fa8b6bbbf77c 22-Dec-2012 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Support swap interval zero"
640cb9421639c13248aeb30c3496cdfaec6d894c 13-Dec-2012 Saurabh Shah <saurshah@codeaurora.org> hwc: Support 4kx2k FB for Primary and External.

Add support for 4kx2k FB for primary and external panels.
Change class design to create appropriate version of FBUpdate on boot up based
on the panel resolution.

Change-Id: I216d815d9b81c610aa39e351f7b55736dfa48b43
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
7e532f81a68e9c92425f9985be1ab5bba3508753 18-Dec-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: Support swap interval zero

Set debug.egl.swapinterval to zero to disable
fences with MDP composition enabling swap interval zero.
This is to measure performance only and will cause tearing.
CRs-fixed: 429343
Change-Id: I1460a02d568e69826800486a9a695d7a8953d4f8
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
0d3aa44c38407285c63f00308d4b1572f7de34f1 08-Dec-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: User Layercache for external display

Change-Id: Ibca92e1470ef72dc02d16d4ef8c05f1a1d2d485c
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
333c29be51cb3233a53a0efa4990bf8bd8001842 09-Dec-2012 Linux Build Service Account <lnxbuild@localhost> Merge "display: Use fences for all targets"
d48c074b5d9a5ff95f7cddc8a4b17de762bb3a5c 03-Dec-2012 Naseer Ahmed <naseer@codeaurora.org> display: Use fences for all targets

Change-Id: I89a8b661dba7919707ba26ff35fb294b22aaba67
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
93138887ec8fb0f232340c4fb852e3dbcb3542e4 26-Nov-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: Implement dump function

Does a basic implementation of the dump function
called by SurfaceFlinger in dumpsys.
Further logs in different areas can be added later on
using the dumpsys_log utility.

Change-Id: I2194b4ed7f10947272b7b824ef802ce2ee3c8a48
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
33650f2bc6096f20fb3974f5d1f98cb60ed6bdf4 03-Dec-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: Avoid MDP composition with alpha scaling

MDP4 supports scaling with alpha, only in RGB pipes.
In some cases this scaling happened with video pipes.
We now fall back to GLES composition for layers that have
alpha and need scaling.

Change-Id: I084355bad1cdb17c7308077b56006c59e75d2042
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
Bug: 7648647
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
16791f95b2570b9d48fa360875676e9c8559c0a1 29-Nov-2012 Naseer Ahmed <naseer@codeaurora.org> libhwcomposer: Add support for 4 layer MDP Comp

This change extends MDP composition to support
upto 4 layers by making border fill as base pipe and
using all MDP h/w pipes in overlay mode.

Conflicts:

libhwcomposer/hwc.cpp
libhwcomposer/hwc_utils.cpp
libhwcomposer/hwc_utils.h

Bug: 7626586
Change-Id: I01a0e53ddfbcf3ed46734f6f3bb0ef7d912ceac6
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
Signed-off-by: Iliyan Malchev <malchev@google.com>
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
47377987cc4eef72ee3b0cdced8c3a15038b39eb 28-Nov-2012 Naseer Ahmed <naseer@codeaurora.org> hwc/overlay: Dynamic pipe tracking.

Remove state based pipe handling and make pipes tracked dynamically.
Add the configStart, configDone, nextPipe availablePipes APIs.
Remove setState API.

-configStart marks all pipes available.
-configDone garbage-collects unused pipe objects.
-nextPipe returns the index of next available pipe and create a corresponding
pipe object if not present
-availablePipes returns total of "unallocated" pipes. (Pipes could be allocated
but unused)

Changes in hwc adapt to the new overlay APIs.
Compile out MDP comp.
Remove unused files in overlay and hwc.
Update licenses.

Conflicts:

libhwcomposer/hwc.cpp
libhwcomposer/hwc_utils.cpp

Bug: 7626586
Change-Id: Id8e56901d34e5dc0fd088260d05e3e46f68ff090
Signed-off-by: Saurabh Shah <saurshah@codeaurora.org>
Signed-off-by: Iliyan Malchev <malchev@google.com>
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
9f0b36a26d1c37ad0d31e59136b1e5d6f4d7efde 17-Oct-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: cache layers on framebuffer

In the cases where all the layers that are marked as HWC_FRAMEBUFFER did not
change, we can mark them as HWC_OVERLAY since their contents are already on the
framebuffer and do not need any additional processing.

This optimization shows power improvement for video playback.

Bug: 7623741
Change-Id: Ia178a926e6f56a3ec9291250a22a66f212c30b14
Signed-off-by: Iliyan Malchev <malchev@google.com>
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
e93587f3b9d5f1d9e7314973dbaf1120d70a3dcb 11-Oct-2012 Kinjal Bhavsar <kbhavsar@codeaurora.org> hwc: Create releaseFd even if no HWC layers

Change-Id: Ic12807d47391d7a48b5db118299aaa3e8b9d8625
Signed-off-by: Iliyan Malchev <malchev@google.com>
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
6e458c9164c7891d0f869a58c0ea12280c23e9ca 13-Oct-2012 Saurabh Shah <saurshah@codeaurora.org> hwc: clean up overlay for external from the draw thread only

Cleanup overlay for external from the draw thread. If done from the uevent
thread, its possible that the object being used by draw thread is deleted by
uevent thread.

This also removes unnecessary side-effects where libexternal sets states in
hwc, whereas, it could be set from hwc itself. There should be no need for
libexternal to modify states in hwc.

Bug: 7335863 (partial fix)
Change-Id: If07483e640abae2ced2418e0d5c8f278f8c6ec33
Signed-off-by: Iliyan Malchev <malchev@google.com>
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
0d78680c01269c7886db72d8a79eb4cf67fa1a39 11-Oct-2012 Saurabh Shah <saurshah@codeaurora.org> hwc: external: Add screen-fitting to external panel.

Screen fitting for out-of-bounds videos (with overlays) exists for primary
panel. Add this same support for external panels, so that GPU won't be needed
in panning use-cases.

Bug: 7313955
Change-Id: I274a821264d87098227b144752f4d0b89d342cd9
Signed-off-by: Iliyan Malchev <malchev@google.com>
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
9a678455a788dc76a43ad93459ae6a792f0fd114 15-Aug-2012 Saurabh Shah <saurshah@codeaurora.org> hwc: utils: Include orientation while screen-fitting.

MDP doesn't like out-of-screen-bounds parameters. So based on the position of
the layer, we adjust the portion of layer the MDP should pick.

However, this did not factor in orientation, so far. This patch does that and
allows panning to work in other orientations, without having to use GPU.

Bug: 7313955
Change-Id: Ice17ad144abcd60279c2ef9ad87fc617a1bd3621
Signed-off-by: Iliyan Malchev <malchev@google.com>
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
ee0d135b8a226b5844fd569fb166a90aa55bbba0 06-Oct-2012 Saurabh Shah <saurshah@codeaurora.org> hwc: external: Cleanup overlay objects on external disconnect.

Cleanup overlay objects and close fds when external is disconnected. Without
this, the external does not come on when cable connected-disconnected multiple
times when device is in suspended state.

Bug: 7150885 (part of the fix)
Bug: 7295979
Bug: 7150885 (partial)
Change-Id: I1ae2ce7220b9928dde332ce3644dbe671d25c7e6
Signed-off-by: Iliyan Malchev <malchev@google.com>
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
76443245d153635b512539fbc68fdf7a904fdf6f 28-Sep-2012 Saurabh Shah <saurshah@codeaurora.org> hwc: enable dual display on hwc 1.1

Enable dual display on HWC 1.1; video uses overlay.

Bug: 7124159
Change-Id: I8333e46cfc74072f6259fba2b82368f0dd52b6df
Signed-off-by: Iliyan Malchev <malchev@google.com>
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
aff82051a79fbaf752d3769667d34828cee2841d 01-Oct-2012 Naseer Ahmed <naseer@codeaurora.org> hwcomposer : Use sysfs to read vysnc information

* Read sysfs entries to get vsync timestamp from kernel.
* External display continues to use uevents for hotplug events
* A new thread, vsyncThread is created to read and send vsync
timestamps to HAL.
* Disable H/W VSYNC for MDP 5.x targets until kernel changes are
complete.
* Synchronization is needed to make sure read() is not called
by hwcVsyncThread when VSYNC is disabled.

Change-Id: Iab0a94a3cfce9142b8867859f2a7d9bcaecb0996
Acked-by: Neti Ravi Kumar <ravineti@codeaurora.org>
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
2e449280f98f003bb5831c274fc07ab722ac1a94 18-Sep-2012 Saurabh Shah <saurshah@codeaurora.org> hwc: hwc 1.1 implementation

Bug: 7124159

--External disabled
--MDP comp coded but disabled.
--Videos via overlay, so that secure videos can work.

Change-Id: Ie48b264143d5e4237ab9724e28930e3f68ba49ee
Signed-off-by: Iliyan Malchev <malchev@google.com>
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
33147743328e88e7859db6c935072f11ca038448 19-Sep-2012 Kinjal Bhavsar <kbhavsar@codeaurora.org> hwc: sync-point implementation.

Add sync pt implementation.
Add genlock and sync pt under conditional compilation flags.

Change-Id: I32fb7f6051ccc706662152e90ac15b6b6743f897
Signed-off-by: Iliyan Malchev <malchev@google.com>
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
3f853d304d0172a84e0b1a25837a17c63ca8e733 14-Sep-2012 Saurabh Shah <saurshah@codeaurora.org> hwc: Use overlay for video even during popups.

Continue using overlays for videos even during popup animations.

Change-Id: I6e3b1a2dc3328312f6f1745eded6f18a83fda1cd
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
bbee5b1c3475b630caa5061fbf535f87f21743f7 08-Aug-2012 Saurabh Shah <saurshah@codeaurora.org> display: Create QService binder interface.

Add QService binder interface to enable communication
to display by the mediaserver for Securing/Unsecuring start and end
notifications.

Create separate lib for external.
Clear reserved field before applying format.

Change-Id: I463c9c6deac7587bd0c4e0b84513b5d0b5dd7e98
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
c2dafd0dc70559422d91ff6828f769c0d5ab4cae 31-Aug-2012 Saurabh Shah <saurshah@codeaurora.org> hwc: Do not create copybit.

Do not create copybit instance.
Fix copybit init and deinit sequence.

Change-Id: Ia669f4cc89c85294a040400a750aa72a93e579b8
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
ed68f0b13f56426735e7897519aa1c43072ceb90 27-Aug-2012 Saurabh Shah <saurshah@codeaurora.org> hwcomposer: keep secure content in an overlay when below skip layer

Secure content can not be displayed unless in an overlay. Since
getLayerStats marks all layers under the skip layer for framebuffer
composition, when there is a skip layer on top of protected content,
the protected content disappears since surfaceflinger doesn't draw
protected layers.

Acked-by: Amara Venkata Mastan Manoj Kumar <manojavm@codeaurora.org>
Change-Id: I59dd5dffad08dbf578baa459f5f4c726b6674c83
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
a71a7ecd0323a16fe7728271474f8b7056c679d8 18-Aug-2012 Saurabh Shah <saurshah@codeaurora.org> hwc/fb/overlay: wait for fbpost and pan display

Draw sequence in hwc_set
--eglSwapBuffers
--wait for fb_post. Its ok to draw to External only at this point.
--draw to external | Parallel with PAN
--commit to external | Parallel with PAN
--wait for pan (happening in fb_post) to finish.

Call MSMFB_OVERLAY_SET ioctl only when params change.

These thing together ensure a correct sequence and should fix tearing and
stuttering, the latter assuming there are no other display pipeline delays.

Acked-by: Arun Kumar K.R <akumarkr@codeaurora.org>

Change-Id: Ibb0ad8485fa6b30dc6ac07ae8b25a760941c08ce
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
359c544e1ca5ad76be326d9ee809e7bee51f94b4 22-Aug-2012 Jesse Hall <jessehall@google.com> Update for cleanups in hwc interface

Also store the hwc_procs_t* into a dedicated field instead of one of
the hwc_composer_device_1_t::reserved_procs slots, which are supposed
to be NULL so the structure can be extended without breaking backwards
binary compatibility.

Change-Id: I11e6bc713958d854aba418242caa749cbcb21f1d
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
660267c43bb3370ab49f4e95562c027171d8fb83 02-Aug-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: Update to new API

* Updates HWC to use the Jellybean MR1 API
* Remove qcom_ui which was using parts of the old API

Change-Id: I663363547b193d2318aae88f2256a9baed1e3d4b
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
5d0935531842ab9cf01775a77e92f204e6d40971 01-Aug-2012 Naseer Ahmed <naseer@codeaurora.org> hwc: Add support for external-only layers

Add support for different types of external-only layers
EXTERNAL_ONLY: General purpose
EXTERNAL_BLOCK: Blocks the display of other ext-only layers
EXTERNAL_CC: Used for closed captions with videos.

Change-Id: I9cc7b9a1dbf1085194725474d6a4d1094e27a0c8
Acked-by: Saurabh Shah <saurshah@codeaurora.org>
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
b3c6e058ce1dbc689f27e7d7acbf1529d37307d8 26-Jul-2012 Naseer Ahmed <naseer@codeaurora.org> display: Get panel type from framebuffer

Change-Id: I3b7cb78d7c6019482ae698b30d553ca782f5022b
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
c85d6b7428ded41c74a9455f580f3ee8b451bbde 01-Aug-2012 Naseer Ahmed <naseer@codeaurora.org> display: Add support for MDP Composition

This change
1) implements MDP Composition upto 3 layers
2) adds invalidator support to fall back to FB
composition during idle screen condition.

Change-Id: I55f27321fd0df096b353d66aaad1cc720cd4b84b
Acked-by: Jeykumar Sankaran <jsanka@codeaurora.org>
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
1589dee5c27293d278d3e549af8a4bda27e080f8 21-Jul-2012 Naseer Ahmed <naseer@codeaurora.org> display: Enable vsync

* Use the vsync uevents from the kernel to start
surfaceflinger composition.
* This patch also does some code cleanup
- Move copybit specific functions to copybit files.
- Cleanup verbose logging.

Change-Id: I36936e4b0a082cfb0347d8ee7d2bc936e01808e6
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
bd4704d4b447bd4aa59e4894d68a7162ce4f99fd 01-Aug-2012 Naseer Ahmed <naseer@codeaurora.org> display : Add support for copybit composition

This change add support for copybit composition in display HAL
for MDP3 targets.

Change-Id: I9bc8e40f624b0760f4faa223cb03a13695611bb3
Acked-by: Sravan Kumar D.V.N <sravank1@codeaurora.org>
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
ccf943e44f9e9d615a6019459625148830039f8d 20-Jul-2012 Naseer Ahmed <naseer@codeaurora.org> hwcomposer: Add support for UI mirroring

- Uevent observer as part of Hwcomposer
- HPD, enabling/disabling external display from HWC

Change-Id: I52b4f30c78e98c5b52c86722046389f458c2dbee
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
ee7fc0347e52276d43413e91f31d72d6db99dcfb 20-Jul-2012 Naseer Ahmed <naseer@codeaurora.org> liboverlay: Refactor, bug-fixes, upgrade.

* Fix memory leak during copying pipe objects.
* Remove unused / unnecessary code.
* setMemoryId API is merged with queueBuffer.
* setParameter API is setTransform now.
* Rotator upgraded to:
--Allow different rotator hardware types.
--Remove dependency on MDP code.
--Allocate memory only during first playback,
close when the associated pipe is closed.
* Have single commit implementation.
* Include new format types.
* Remove WAIT and CHANNEL enums and usage. Replace BypassPipe with
GenericPipe. Client expected to set alignments and parameters.
Add transform combination enums.
* Allow APIs to be called in any order. Do transform calcs in commit.
Move ext type setter and getter functions.
* Add calculations for 180 transform.
* Add secure session support in rotator
* Implement all rotations in terms of H flip, V flip and 90 rotation.

Change-Id: I34a9a2a0f1255b3467a0abbaa254d0b584e901ce
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
0f859f6f0db0e0c05d8c319d8d597ad2731513ae 02-Jul-2012 Naseer Ahmed <naseer@codeaurora.org> display: Add QC Display utils

* Rename qcomui directory to qdutils
* Avoid inclusion of qcom_ui header
* Add class to get MDP version
* Add namespace for qdutils to prevent collison

Change-Id: I9a3f440e6b0fea1cfcc478ddca90af5df3bbb897
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp
befc466069680cb8a65b1f22ad44723d949128c8 14-Jun-2012 Naseer Ahmed <naseer@codeaurora.org> qcom/display: Update HALs

- Update the display HAL from Code Aurora Forum
- Add updated overlay library
- Enable HWC with basic video going through overlay
- Cleanup some files

Change-Id: I65c687c51be458cee71213c79e03eeda962d9086
/hardware/qcom/display/msm8084/libhwcomposer/hwc_utils.cpp