History log of /hardware/intel/img/hwcomposer/common/planes/DisplayPlaneManager.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a6ca0e98674e3f1b0a7239f6e775cae2f667fe5c 04-Sep-2014 Lei Zhang <lei.zhang@intel.com> hwc: add support for cursor plane.

Bug: 17256663 BZ: 218062

Change-Id: Ib8e2c4c460520fef111966e622a4adf8a7f3e6ee
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
Signed-off-by: Lei Zhang <lei.zhang@intel.com>
/hardware/intel/img/hwcomposer/common/planes/DisplayPlaneManager.cpp
4157ee3f6fb20e0a249b9eedc06f3b16785ba31b 02-Sep-2014 Iliyan Malchev <malchev@google.com> hwc: rename logging macros: TRACE --> LOGTRACE

find . -type f -a \( -name \*.c -o -name \*.cpp -o -name \*.h \) \
-exec sed -r -i -e 's/([ADEITVWX])TRACE/\1LOGTRACE/g' {} \;

In preparation for instrumenting HWC with ATRACE tags.

Change-Id: I172a48bd86a711b67e67d44a8d47da6b8e67b56d
Signed-off-by: Iliyan Malchev <malchev@google.com>
/hardware/intel/img/hwcomposer/common/planes/DisplayPlaneManager.cpp
cd727f537d5085eec7f1b8f9c1d33922d4de75d4 24-Jul-2014 Prodyut Hazarika <prodyut.hazarika@intel.com> Change license headers to Apache

BZ: 209178

Change-Id: I4933f49129b085ef5a76c28ae4a775cef5b1b636
Signed-off-by: Prodyut Hazarika <prodyut.hazarika@intel.com>
/hardware/intel/img/hwcomposer/common/planes/DisplayPlaneManager.cpp
0594c42af26255fd8d3d7d39c0cb0e2da5b8841b 14-Jul-2014 Thierry Strudel <thierry.strudel@intel.com> AOSP: cleanup include paths and warnings

BZ: 209178

Include header file from top of module only
Move makefiles to top of module
Fix all warnings and enable -Werror

Change-Id: I6921b41d5512a81aaeb167383b9392efbae275bf
Signed-off-by: Thierry Strudel <thierry.strudel@intel.com>
Reviewed-on: https://android.intel.com/217843
Reviewed-by: Imberton, Guilhem <guilhem.imberton@intel.com>
Tested-by: Imberton, Guilhem <guilhem.imberton@intel.com>
/hardware/intel/img/hwcomposer/common/planes/DisplayPlaneManager.cpp
009ab1d686644a8294b16d97ec1d4fe58879cf89 11-Jun-2014 Lei Zhang <lei.zhang@intel.com> HWC: check overly plane disable status in DisplayAnalyzer

BZ:202507

This patch changes overlay plane disable in DisplayAnalyzer to be
overlay state check, because now plane disable logic is maintained
in driver and HWC only need to query the status if needed.

This patch is to solve the scrambled issue for protected video.

Change-Id: I3bc01ea90bccc481c853934c1677beb3662820ff
Signed-off-by: Lei Zhang <lei.zhang@intel.com>
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
/hardware/intel/img/hwcomposer/common/planes/DisplayPlaneManager.cpp
9d1d3833469f52dbd2a017702bf0116fddc703bc 29-Mar-2014 Andy Qiu <junhai.qiu@intel.com> Optimization on plane allocation

BZ: 190141

1, allocate overlay to video layer whenever possible
2, allocate overlay A to pipe A and overlay C to pipe C whenever possible
3, allocate as many sprite planes as possible
4, plane allocation happens only when all conditions are met.
5, use rotation buffer provider to produce rotated buffer when needed

Change-Id: I67af25da2ed4dffc17a2b548ee2e8c920a51f127
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
/hardware/intel/img/hwcomposer/common/planes/DisplayPlaneManager.cpp
68dbca089b413041774b80ef5bf95a4f4a858489 27-Mar-2014 Lei Zhang <lei.zhang@intel.com> HWC: modify overlay ctx pipe to be same with other planes

BZ:184545

This is HWC patch to co-work with the kernel patch of plane
enable/disable auto control in driver. It modifies overlay
ctx pipe to be same with other planes. It also adds isDisabled
interface for HWC to query plane states in driver.

The kernel patch is 174233. Both patches needed to make it work.

Change-Id: I625bf7345b670241e816f948553d623058566171
Signed-off-by: Lei Zhang <lei.zhang@intel.com>
/hardware/intel/img/hwcomposer/common/planes/DisplayPlaneManager.cpp
e24acf1d95bc16160a665a526e5593b22c7d4dfd 28-Jan-2014 Zhu,Tianyang <tianyang.zhu@intel.com> [Workaround] Add a macro to distinguish MERR and MOFD.

BZ: 167139

Here we add a macro "MERR" to distinguish MERR and MOFD.
on MERR, we use "overlay semi-fixed" to solve overlay crash and MIPI off
issue, it make MERR stabler than before.
But this method is not available on MOFD, and cause this bug.
so we add this macro to as a workaround.
And we will continue to investigate this issue for root cause and remove
this patch in the future.

Change-Id: Ie15c25d194aea30169fe6e70b4fe821052d19767
Signed-off-by: Zhu,Tianyang <tianyang.zhu@intel.com>
/hardware/intel/img/hwcomposer/common/planes/DisplayPlaneManager.cpp
c8ed4d7c744a7f59864fa5a7db8ae3d0c05a119f 21-Jan-2014 Zhu,Tianyang <tianyang.zhu@intel.com> HWC: Improvement on overlay management

BZ: 165757

Changes in this patch
1) by default overlay A is assigned to pipe A and overlay C is assigned to pipe B
2) reset active input state to true after video playback stops.
This will ensure video is in cloned mode when video playback starts.

Change-Id: If0ae2693750b5d6f97575353270e313149683e83
Signed-off-by: Zhu,Tianyang <tianyang.zhu@intel.com>
/hardware/intel/img/hwcomposer/common/planes/DisplayPlaneManager.cpp
f6d5b36e320f093f08855d64fa3d565eacae3c4b 02-Jan-2014 Jackie Li <yaodong.li@intel.com> hwc: updated hwcomposer to support ANN.

BZ: 161970

This is part of a set of patches to enable Moorefield graphics.

Change-Id: Ica32c38871f86bca68c34c7e54e9db2c6b7d4f56
Signed-off-by: Jackie Li <yaodong.li@intel.com>
/hardware/intel/img/hwcomposer/common/planes/DisplayPlaneManager.cpp
a379b633520d7c816fb17f4a51a17e8f2aa30c2f 23-Oct-2013 Lin Xie <lin.xie@intel.com> Make the overlay assignment semi-fixed.

BZ: 141169 145211

Normally, if no pipe needs both two overlays, overlayA
will be assigned to pipeA and overlayC to pipeB.
One pipe can attach both overlays only when other pipe
doesn't need to.

Change-Id: I228e57c010155be556314723c2dec49f41753950
Signed-off-by: Lin Xie <lin.xie@intel.com>
/hardware/intel/img/hwcomposer/common/planes/DisplayPlaneManager.cpp
e7abb8ca06e07c3af44e8b4d9e2905859d327de0 16-Oct-2013 Andy Qiu <junhai.qiu@intel.com> fix occasional surface flinger crash during boot

BZ: 138841

check if wsbm is initialized before calling wsbmTakedown.
correct several deinitialization and initialization sequence.

Change-Id: If1e28962c369212e624bf071f886c5b57000acd2
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
Reviewed-on: http://android.intel.com:8080/138997
Reviewed-by: Patel, Hitesh K <hitesh.k.patel@intel.com>
Tested-by: Patel, Hitesh K <hitesh.k.patel@intel.com>
Reviewed-by: cactus <cactus@intel.com>
Tested-by: cactus <cactus@intel.com>
/hardware/intel/img/hwcomposer/common/planes/DisplayPlaneManager.cpp
6a56bd739af22a3c34067426edbb3082504d8e03 13-Sep-2013 Andy Qiu <junhai.qiu@intel.com> [hwc] enhance overlay management

BZ: 140456

This patch enables dynamic overlay assignment to different pipe. When
overlay is assigned to a different pipe, HWC will first mark overlay
is "disabled pending" and then query kernel whether it is fully disabled
subsequently. Overlay can be re-enabled only when it is fully disabled,
to avoid "overlay crash" issue.

Change-Id: I26d3e94bc47770877aadf19992ea90e6c968e017
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
Reviewed-on: http://android.intel.com:8080/131833
Reviewed-by: Patel, Hitesh K <hitesh.k.patel@intel.com>
Tested-by: Patel, Hitesh K <hitesh.k.patel@intel.com>
Reviewed-by: cactus <cactus@intel.com>
Tested-by: cactus <cactus@intel.com>
/hardware/intel/img/hwcomposer/common/planes/DisplayPlaneManager.cpp
d191dc7a785f312ede10d711720d8ca32a71b44c 30-Jul-2013 Jackie Li <yaodong.li@intel.com> hwc: optimized plane allocation

BZ: 127803

patch 2/2 of z order setting and plane allocation optimization.

optimized plane allocation algorithm to try to achieve following goals:

1) attach display planes to large layers which need more GPU power to do
composition.
2) attach display planes to layers which contain protected content as
much as possible
3) scalability to support different z order configure restrictions
of different hardware platforms
4) allocate as much display planes as possible

remain issues:
1) flickering was observed rarely when doing manual stress tests, which
root caused by turning on sw layer support. will fix it in another
RGX patch.
2) found an issue that buffer crop may be incorrect, which can be fixed
by patch http://android.intel.com:8080/#/c/124022/

Conflicts:

common/base/HwcLayerList.cpp

Change-Id: I0fbef3b8cda227ed3aaf75775330ae136c2b5298
Signed-off-by: Jackie Li <yaodong.li@intel.com>
Signed-off-by: Austin Hu <austin.hu@intel.com>
Signed-off-by: Jackie Li <yaodong.li@intel.com>
Signed-off-by: Austin Hu <austin.hu@intel.com>
Signed-off-by: Jackie Li <yaodong.li@intel.com>
Reviewed-on: http://android.intel.com:8080/122669
Reviewed-by: Qiu, Junhai <junhai.qiu@intel.com>
Reviewed-by: Dai, Yu <yu.dai@intel.com>
Tested-by: Dai, Yu <yu.dai@intel.com>
Reviewed-by: cactus <cactus@intel.com>
Tested-by: cactus <cactus@intel.com>
/hardware/intel/img/hwcomposer/common/planes/DisplayPlaneManager.cpp
284336b37affb07241f38c899722c25c1c0343b2 23-Aug-2013 fu jin <fu.jin@intel.com> Workaround: always relate overlay A to pipe A and overlay C to pipe B

BZ:129253

Overlay plane may crash on pipe switch. The workaround always relate overlay A to pipe A and
overlay C to pipe B. But the root cause still needs to be investigated.

Change-Id: I094f14972c225c376844a46e12b0d84276268fb0
Signed-off-by: fu jin <fu.jin@intel.com>
Reviewed-on: http://android.intel.com:8080/127517
Reviewed-by: Qiu, Junhai <junhai.qiu@intel.com>
Reviewed-by: Shi, PingX <pingx.shi@intel.com>
Tested-by: Shi, PingX <pingx.shi@intel.com>
Reviewed-by: cactus <cactus@intel.com>
Tested-by: cactus <cactus@intel.com>
/hardware/intel/img/hwcomposer/common/planes/DisplayPlaneManager.cpp
0f3087a3fcd76560a54aa167d2fb8b67129730ba 17-Jul-2013 Greg Cantrell <gregx.t.cantrell@intel.com> Klocwork: hwcomposer 'CRITICAL' Klocwork issue fixes on BODEGABAY.

BZ:123994

Target: BODEGABAY
This patch fixes some 'CRITICAL' Klocwork issues in the hwcomposer code.

Change-Id: Id0fcab83c20d422ac10d40cf4cd36126b41140bb
Signed-off-by: Greg Cantrell <gregx.t.cantrell@intel.com>
Reviewed-on: http://android.intel.com:8080/119323
Reviewed-by: Qiu, Junhai <junhai.qiu@intel.com>
Reviewed-by: Patel, Hitesh K <hitesh.k.patel@intel.com>
Tested-by: Patel, Hitesh K <hitesh.k.patel@intel.com>
Reviewed-by: cactus <cactus@intel.com>
Tested-by: cactus <cactus@intel.com>
/hardware/intel/img/hwcomposer/common/planes/DisplayPlaneManager.cpp
d9045abeda7b707f3c55779989fc77b2197bc38e 18-Jul-2013 Jackie Li <yaodong.li@intel.com> hwc: improved Z order config calculation & setting

BZ: 121852

Apps floating video playback window such as social gallery require
z order configure should be exactly the same as layer stack passed
by surface flinger. or display might messed up because of incorrect
plane z order configuration.

this patch improved z order calculation so that we can assign display
planes and setup z order configure accordingly by aligning with both
orignal layer z orders and display hardware z order settings.

Conflicts:

common/planes/DisplayPlaneManager.cpp

Change-Id: I79607f5a4a49c97f3ec62492c29f90d09e1fa546
Signed-off-by: Jackie Li <yaodong.li@intel.com>
Signed-off-by: Austin Hu <austin.hu@intel.com>
Reviewed-on: http://android.intel.com:8080/119524
Reviewed-by: Qiu, Junhai <junhai.qiu@intel.com>
Reviewed-by: Patel, Hitesh K <hitesh.k.patel@intel.com>
Tested-by: Sun, Hang L <hang.l.sun@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
/hardware/intel/img/hwcomposer/common/planes/DisplayPlaneManager.cpp
4ffa9f40b823e4c99cd7a21598373969517d93a8 16-Jul-2013 Andy Qiu <junhai.qiu@intel.com> disable overlay when video is being prepared/unprepared.

BZ: 106070

overlay needs to be detached when protected video is being prepared
or unprepared otherwise video may be scrambled.

Change-Id: Idb7837616a48a5ecf0a8ed2863c14070b421a7ee
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
Reviewed-on: http://android.intel.com:8080/119102
Tested-by: Post, DavidX J <davidx.j.post@intel.com>
Reviewed-by: Shi, PingX <pingx.shi@intel.com>
Tested-by: Shi, PingX <pingx.shi@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
/hardware/intel/img/hwcomposer/common/planes/DisplayPlaneManager.cpp
c5bd3cd6c8e854c6581105a5867e4d251b5281fe 18-Jun-2013 Jackie Li <yaodong.li@intel.com> hwc: fixed a mem leak issue

BZ: 114988

hwc had no chance to free data buffers when a reclaimed plane
was reused immediately for the next frame.

this patch fixed invalidation of the data buffers of a plane
an invalidation operation will NOT release the active data buffer
(which is being consumed by this plane). Meanwhile, this patch
also refined plane manager and made sure data buffers of primary
plane can be invalidated correctly.

Change-Id: I2c6d51de8322203640d287373c71cf00c39ceab4
Signed-off-by: Jackie Li <yaodong.li@intel.com>
Reviewed-on: http://android.intel.com:8080/114052
Reviewed-by: Qiu, Junhai <junhai.qiu@intel.com>
Tested-by: Patel, Hitesh K <hitesh.k.patel@intel.com>
Reviewed-by: Patel, Hitesh K <hitesh.k.patel@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
/hardware/intel/img/hwcomposer/common/planes/DisplayPlaneManager.cpp
e2ad4c047651d4442f6a0e002290016d45e9201a 28-May-2013 fu jin <fu.jin@intel.com> Extend current design for supporting future platforms

BZ: 112342

Extend current design for support future platforms:
1) flip takes context parameter
2) commitBegin and commitEnd take parameters for display contents
3) Initialize/Deinitialize of BufferManager need to be virtual
4) Move management of Primary display plane from physical device to HWC Layer list.
5) Better data buffer cache management to avoid unbound increment of cache
6) Calling deinitializer before deleting object

Change-Id: I1aea10e52ac778e101559855a1fce7c7add45336
Signed-off-by: fu jin <fu.jin@intel.com>
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
Signed-off-by: fu jin <fu.jin@intel.com>
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
Reviewed-on: http://android.intel.com:8080/110631
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
/hardware/intel/img/hwcomposer/common/planes/DisplayPlaneManager.cpp
4c4ea2fc2ab5ece6e894808e52588c9d644cea8b 16-May-2013 Andy Qiu <junhai.qiu@intel.com> Make embedded video fullscreen for external display

BZ:108424

In extended video mode, if video is embedded it needs to be scaled up to full screen.
Aspect ratio needs to be preserved based on destination position.

Overlay needs to be moved below primary display in Z order but all pixels will be visible.

Change-Id: Idcc627d64e209d37cf5421aa4e915a45a6d4d9f3
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
Reviewed-on: http://android.intel.com:8080/107827
Reviewed-by: Stimson, Dale B <dale.b.stimson@intel.com>
Tested-by: Stimson, Dale B <dale.b.stimson@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
/hardware/intel/img/hwcomposer/common/planes/DisplayPlaneManager.cpp
e2b2a5fe291662041d1bbec00996c2ba302dc4c9 13-Apr-2013 Andy Qiu <junhai.qiu@intel.com> Make HWC logging scalable.

BZ:100612

In current implemnention, if verbose logging is enabled there will be tons of messages printed out, which
makes it less useful for debugging purpose. We need one way to selectively enable or disable certain verbose
information.

For each log message, we also want class name and function name to be automatically pre-appended, this removes burden
of adding it manually, and enables developer to focus on key output message only.

Changes in this patch include:

1) define VTRACE, DTRACE, ITRACE, WTRACE and ETRACE, they are equivalent to LOGV, LOGD, LOGI, LOGW and LOGE
with class name and function name automatically pre-appended.
2) define CTRACE to trace function call entrance
3) define XTRACE to trace function call exit
4) CTRACE and XTRACE are turned off by default. They should only be enabled to trace deadlock, infinite loop or display freeze.
5) define ATRACE to trace function call entrance with input arguments, this is turned off by default either.

New type of trace can be defined to control output of certain type of information.

Change-Id: Iab185ad5ce407880322b2b306ea43bdb8440facc
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
Reviewed-on: http://android.intel.com:8080/101952
Reviewed-by: Hu, Austin <austin.hu@intel.com>
Reviewed-by: Gummadi, Latha C <latha.c.gummadi@intel.com>
Tested-by: Gummadi, Latha C <latha.c.gummadi@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
/hardware/intel/img/hwcomposer/common/planes/DisplayPlaneManager.cpp
e6ecdadd57e79c2218b3e6ae407f12599f33bd22 25-Mar-2013 Jackie Li <yaodong.li@intel.com> Enable refactored HWC for merrifield.

BZ: 95290

This refactored HWC replaces current HWC for merrifield under hardware/intel/mfld_cdk/hwc/merrifield.

Change-Id: I00986b24e70e33c13e5e81e8b3473a42166640a1
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
Signed-off-by: Jackie Li <yaodong.li@intel.com>
Reviewed-on: http://android.intel.com:8080/98227
Reviewed-by: cactus <cactus@intel.com>
Reviewed-by: Gummadi, Latha C <latha.c.gummadi@intel.com>
Tested-by: Gummadi, Latha C <latha.c.gummadi@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
/hardware/intel/img/hwcomposer/common/planes/DisplayPlaneManager.cpp
6a6081a46a83da606cf21548879b37695adc7e1f 23-Mar-2013 Andy Qiu <junhai.qiu@intel.com> Initial version of refactored HWC, based on design from Jackie.

BZ: 95246

This is the first submission of refactored HWC, based on design from Jackie.
Build is temporarily disabled.

Change-Id: Idf6d8ab5263cfa797d9e3b93328702f486b30c43
Signed-off-by: Andy Qiu <junhai.qiu@intel.com>
Reviewed-on: http://android.intel.com:8080/97996
Reviewed-by: cactus <cactus@intel.com>
Reviewed-by: Dai, Yu <yu.dai@intel.com>
Tested-by: Dai, Yu <yu.dai@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
/hardware/intel/img/hwcomposer/common/planes/DisplayPlaneManager.cpp