History log of /hardware/qcom/display/msm8084/liboverlay/overlayMdssRot.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cbefbc5940c49ab5eb7af4fb3e4dc229e617c0c2 02-May-2014 Saurabh Shah <saurshah@codeaurora.org> overlay: Fix BWC buffer size

BWC buffer size was added to address worst case sizes. But it doesn't
take care of RGB formats. Also the YUV CbCr worst case is 32x2 not
64x2. This change fixes those.

Change-Id: I72277bc1858ce704b34c831a73ce8cbcd93925fa
/hardware/qcom/display/msm8084/liboverlay/overlayMdssRot.cpp
8bc12cba5e3e8377cd5ea3410609af005c01335d 07-Feb-2014 Saurabh Shah <saurshah@codeaurora.org> overlay: rotator: Remove previous allocation for a session

When ION was not ref counted, we needed to maintain the previous
session memory until the new one was taken by MDP. ION being
ref counted now, it is not necessary to maintain previous memory
allocation.

Change-Id: I102df065bb288a661d509912f4c7b894505df393
/hardware/qcom/display/msm8084/liboverlay/overlayMdssRot.cpp
fbda988d2909e2b8527098b5ffc93fa38fb0219e 22-Jan-2014 Arun Kumar K.R <akumarkr@codeaurora.org> liboverlay: remove warnings during compilation

- Remove unused variables
- Use proper typecast

Change-Id: Ia60fc4c3c7ec39a1df4a780de7f5d75d723f7960
/hardware/qcom/display/msm8084/liboverlay/overlayMdssRot.cpp
f963e55de71b4598d3bd65c02896f1a9ff8a787f 17-Oct-2013 Tatenda Chipeperekwa <tatendac@codeaurora.org> liboverlay: explicitly set alignment to 1M for secure buffers

On systems that do not have a Contiguous Memory Allocator (CMA) it is
the responsibily of the client to specify the required address alignment.

Additionally, we centralize size alignment to so that overlay clients
do not need to take of this.

Change-Id: Id6cec19bf59826fca2617c856bb62968790bf71c
/hardware/qcom/display/msm8084/liboverlay/overlayMdssRot.cpp
b79d3ca8afad0421450869bd3058d15b71201a30 31-Jul-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> overlay: Fix compressed output buffer size for MDSS Rotator.

Compressed output buffer size calculation for MDSS Rotator needs to
be performed according to destination rectangle (rotated src rect)
due to alignment requirements (like non-BWC calculation).

Change-Id: I6a232d77ca5fce42a1cc3e7f406c9cc4d46553ed
/hardware/qcom/display/msm8084/liboverlay/overlayMdssRot.cpp
17bc744d9876cae0ede15ad6de69b887c3db1381 09-Jul-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> overlay: Update rotator buffer size calculation for BWC.

For BWC, update the rotator buffer size calculation in display HAL
as MDSS driver needs to allocate for both chroma (U & V) planes.

Change-Id: I140be2b0a38d6cd66e2ee1b3c9a8bb06efd96bfe
/hardware/qcom/display/msm8084/liboverlay/overlayMdssRot.cpp
9bea850d6ebbb94c6e5806e5914b2c2aa376269c 14-May-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> overlay: Do not carry over the stale rotator flags.

Do not carry over the stale rotator flags from previous draw cycle.

CRs-Fixed: 486749

Change-Id: Ie67ce1714e48381e58c64634d45b6915263efe5d
/hardware/qcom/display/msm8084/liboverlay/overlayMdssRot.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/liboverlay/overlayMdssRot.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/liboverlay/overlayMdssRot.cpp
4762db4eb027284225be9d10f08d87252612064c 11-Apr-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Fix dumpsys crash

In extreme cases, when all pipes are used, the buffer is insufficient.
Reduce logging by striping off unnecessary bytes.

Change-Id: I5a6ffb9ff288e389eea4e9ca4ac850ed59d539ff
/hardware/qcom/display/msm8084/liboverlay/overlayMdssRot.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/liboverlay/overlayMdssRot.cpp
565bcd227933ac067efa29c52a9660f04f3c976f 05-Apr-2013 Saurabh Shah <saurshah@codeaurora.org> overlay: MdssRot: Clear orientation values in setTransform.

We cleared the values after MSMFB_OVERLAY_SET, which could cause dumpsys
to not show them.
Clear the values in setTransfrom, before applying incoming values.

Change-Id: Icf2244a0ea7f2cae5d8f1b8c5e2f4cbecbe3ce3f
/hardware/qcom/display/msm8084/liboverlay/overlayMdssRot.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/liboverlay/overlayMdssRot.cpp
dbdcee7b408fa6cbf37169d9601aa3598c91ce40 22-Feb-2013 Linux Build Service Account <lnxbuild@localhost> Merge "overlay: Fix rotator output buffer size."
a22f5873a9974b00f352370e077db9788ad67699 13-Feb-2013 Saurabh Shah <saurshah@codeaurora.org> overlay: Add support for pipe dumps.

Add support for pipe state dump useful in dumpsys.
Reduce debug log spam when mdp state changes.

Change-Id: Ie27ad00698085e2ffd6166ad2f7503fe16a571f8
/hardware/qcom/display/msm8084/liboverlay/overlayMdssRot.cpp
e4dbe91c2c45ef7ad1f5106b75bd49062cf80c48 15-Feb-2013 Saurabh Shah <saurshah@codeaurora.org> overlay: Fix rotator output buffer size.

Fix rotator output buffer size for mdp and mdss rotators.
Output size is based on rotated width & height.
Output format can be different than source format.
It could be same if using mdss rot or using fastyuv mode in mdp rot.
Deprecate the static mapping of rotator input and output formats.
Driver will be responsible for correctly populating the dest format that its
wishes to use.

Change-Id: I17352d6d460cac24eb97083aed38668929c66807
/hardware/qcom/display/msm8084/liboverlay/overlayMdssRot.cpp
c01db174462880690678edaf56cb189cf3b9200b 13-Feb-2013 Linux Build Service Account <lnxbuild@localhost> Merge "liboverlay: Set mdp src format as rotator output format."
6be1d0f8c034cbb734a770fc04f00615cea943aa 12-Feb-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> liboverlay: Fix stride alignment issue for s/w decoded video.

1. Due to alignment requirements on HAL_PIXEL_FORMAT_YV12 format,
rotator buffer size calculation needs to be performed based on
rotated width and height because buffer size can be different when
width & height are swapped due to 90 degree rotation.

2. Input and output color formats are same for MDSS Rotator.

Change-Id: I0a06ef9bb7bdceb951e7ab5160dac3e92a28bcda
CRs-Fixed: 451871
/hardware/qcom/display/msm8084/liboverlay/overlayMdssRot.cpp
47c130ffbafe12d6ddf6e8df4ffdd9916318c379 16-Nov-2012 Raj kamal <rkamal@codeaurora.org> liboverlay: Set mdp src format as rotator output format.

* Set mdp source format as rotator output format
rather than determine it from a fixed mapping of
input/output formats.

* This is needed since for the same input format
to rotator, fastyuv mode if enabled may result in
a different output format than the one if the mode
is not enabled.

* Do the inline optimization for rotator where possible

CRs-fixed: 451064
Change-Id: If0bb2f3a44df10968383ab3f5c3625257518934d
/hardware/qcom/display/msm8084/liboverlay/overlayMdssRot.cpp
8b2d50f3c665329517352269a687bdf562b2cc6d 15-Jan-2013 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> liboverlay: Rotator-assisted MDP downscaling of videos.

Engage the rotator to assist MDP in performing video downscale for
primary and external. This saves bandwidth and avoids causing the
driver to make too many panel mode switches between BLT (writeback)
and non-BLT (direct) modes.

Change-Id: Icfabc2c0f978a23cf96c78a9976cf69cea697b5f
CRs-Fixed: 434852
/hardware/qcom/display/msm8084/liboverlay/overlayMdssRot.cpp
26a80a197c792e833131a2abc923d52db732d5a3 15-Jan-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> overlay: mdssRot: Do not reset non-rotation flags.

Reset only rotation flags to fix stale orientation flag values.
Resetting non-rotation flag breaks secure-playback using rotator.

CRs-Fixed: 440417

Change-Id: Ia35c6258cfd26358b3dfe5cb006e9245d51e3dfc
/hardware/qcom/display/msm8084/liboverlay/overlayMdssRot.cpp
80c8f568158d0d65306a710d5994bc8052364ec5 08-Jan-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> overlay: mdssRot: Fix the logic for setting Rotator info flags.

Set the required flags instead of considering SECURE flag only.

CRs-Fixed: 423045

Change-Id: I82699d23de97c5276cac8f3b614b5d0463d7b06a
/hardware/qcom/display/msm8084/liboverlay/overlayMdssRot.cpp
9698610c51504c1192fcd64f341fc7475cf7e166 18-Dec-2012 Saurabh Shah <saurshah@codeaurora.org> overlay: mdssRot: Fix stale rotation flag values.

When moving from a non-zero to 0 orientation rot flags are not cleared.
This change resets the flag to 0 after every commit.

Change-Id: I2fb9759921c36620c53bf2ac92d9473a42919d8c
/hardware/qcom/display/msm8084/liboverlay/overlayMdssRot.cpp
201b32ddd456ed8ffe60818d57e88d43e7ac08c6 20-Nov-2012 Sushil Chauhan <sushilchauhan@codeaurora.org> liboverlay: Mdss Rotator secure buffer needs to be aligned to 1M.

It is TZ requirement, xpu needs the buffer size to be 1MB aligned
for protection.

Change-Id: Icd9047a54d5706c321445e7970fb0f455d0c130b
/hardware/qcom/display/msm8084/liboverlay/overlayMdssRot.cpp
0522d5648711e45384699d4ccb295d64e7227c87 24-Oct-2012 Sushil Chauhan <sushilchauhan@codeaurora.org> liboverlay: Enable secure content flag in Mdss Rotator.

- Secured contents shared with hardware should be uncached.
- Secure heap needs to be contiguously allocated & aligned to 1MB,
which is not supported by IOMMU heap.

Change-Id: I6c7c00d5363319f9a6db6e52c1e78e1b16ecd9aa
/hardware/qcom/display/msm8084/liboverlay/overlayMdssRot.cpp
270550d926a2e3c4d65b9c1c1d3b696f8a49b4cc 06-Nov-2012 Sushil Chauhan <sushilchauhan@codeaurora.org> mdssRotator:For Venus, rotator buffer size depends on rotated w/h

Due to alignment requirements on venus format, rotator buffer size
calculation needs to be performed according to destination buffer
dimensions. Due to these alignments, the buffer can be different
when width and height are swapped due to 90 degree rotation.

Change-Id: I8eb0f1ece22946e6c3b2106623c3457e6871fd9c
/hardware/qcom/display/msm8084/liboverlay/overlayMdssRot.cpp
b1c1ba39399236d5a3d1486db67b2ec2e56b46ce 16-Dec-2012 Linux Build Service Account <lnxbuild@localhost> Merge "display: Add target specific flag to support Venus color format"
da4e354248d655a64d0f8ef8262678ed82bb429e 12-Dec-2012 Sushil Chauhan <sushilchauhan@codeaurora.org> display: Add target specific flag to support Venus color format

Venus color format is not supported on older platforms. Add target
specific flag in display hal and define Venus macros to zero for
older platforms.

Change-Id: I38141ae870e255a0e54ce9fde46fe6cc3415f179
/hardware/qcom/display/msm8084/liboverlay/overlayMdssRot.cpp
df785e9cf231c7ff755920e60553fc743c0de64d 12-Dec-2012 Ken Zhang <kenz@codeaurora.org> overlay: Do not unset overlay for MSMFB_NEW_REQUEST

Change-Id: I40c21964db91e098f6f445e7860fefd09dcad768
/hardware/qcom/display/msm8084/liboverlay/overlayMdssRot.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/liboverlay/overlayMdssRot.cpp