Validate the display ID before processing any calls from the
client. This is needed to handle only the displays which are
supported by HWC
Adapted from commit of the same title in CAF msm8974 tree.
Original author: Arun Kumar K.R <akumarkr@codeaurora.org>
Change-Id: Iebeeabf791b5c53e811e1f4bb3d777ab0e4d0f47
In order to build generic system image that is agnostic to SoC or
device, such HALs should be moved from system partition to vendor
partition.
HALs moved: copybit, gralloc, hwcomposer, light, memtrack, hdmi_cec
Bug: 34826389
Bug: 35232083
Test: build & run and check whether the HAL is loaded from
/vendor/lib[64]/hw.
$ su; lsof | grep hwcomposer
Change-Id: I2bb617ac71ab040a5b1ba306c194e8672ac84561
Some makefiles didn’t specify libui but included
headers from it directly, and they didn’t even
need them.
It works because these headers are on the global
include path. With this change, though, rect.h
is not anymore (albeit exported from libui).
Test: built and booted device
Bug: 35164655
Change-Id: Ib2de5e5a2f86bd857e12861bb6fc5e4739ff185a
The libc++ defines this (wrapped in ifndef, like this should have
been), so including a libc++ header and then defining this results in
a werror failure. Define this in common.mk so we can be sure it does
get defined, but also that it gets defined early enough that anyone
defining this in source wrapped with ifndef doesn't get broken.
Test: mma # on angler
Bug: http://b/34740564
Change-Id: Id7d70a6ad5e530390eb8b37e5e618312d1d7e6dc
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>
am: f9eddfa
* commit 'f9eddfa16d00bbd19be3674acf4f892da6912359':
Switch to OV_MDP_PIPE_DMA only for delta panel
Change-Id: I9e1ba597581daa5dda5044cc77e139187d33b49c
Add RGBX_8888 as a supported format.
Also, fixes a mistake introduced by 3e344bb1ba
If we try OV_MDP_PIPE_DMA and it doesn't work, try the other pipes
instead of just aborting.
Change-Id: Ice557d58abe700ff8b10c90c43bfbbfa371ab286
When disable mdpcomp,it will fail to select pipe type.
For wearable targets, secondary display is not applicable.
Try for DMA pipe for FB first, if FB does not have scaling.
Change-Id: Ib621dca2f383d2dd9a6916bc8ccf6408050f8a5b
Signed-off-by: l00212897 <gang.li@huawei.com>
Signed-off-by: Uday Kishore Pasupuleti <upasupul@codeaurora.org>
If these libraries are built, both BUILD_COPY_FILES and
BUILD_SHARED_LIBRARY would copy the headers. This would create a warning
because multiple rules would define the same target header file.
Bug: 27302058
Change-Id: If91bd70d2320aaaee9679642ff9ea48b99739cbd
(cherry picked from commit b360857e92)
Because edo panel design using delta pixel design,
so you can see aliasing in the display edges
of the panel. In order to optimize the display
quality,add algorithms to rending the framebuff data.
If we detect the display pixel design is Delta,
disable mdpcomp to get the whole single layer framebuff,
then use the algorithms to optimize the pixel arrangement.
Change-Id: I4d6ac7e2bae13548ed35807eb6a2b7d933101cb4
Signed-off-by: l00212897 <gang.li@huawei.com>
When disable mdpcomp,it will fail to select pipe type.
For wearable targets, secondary display is not applicable.
Try for DMA pipe for FB first, if FB does not have scaling.
Change-Id: Ib621dca2f383d2dd9a6916bc8ccf6408050f8a5b
Signed-off-by: l00212897 <gang.li@huawei.com>
Signed-off-by: Uday Kishore Pasupuleti <upasupul@codeaurora.org>
Set the target specific max rot session with DISPLAY_FEATURE_MAX_ROT_SESSION
Bug: 24483502
Change-Id: Id4335ac154a0a3c08fc730c4d3842c6483b55ed3
Signed-off-by: Uday Kishore Pasupuleti <upasupul@codeaurora.org>
There could be buffers allocated in flexible YUV format without any
camera usage flags. Default the format for such buffers to NV21_ZSL.
Bug: 24197991
Change-Id: I25814aed652bfcddb19b411499bc8d64e76e081b
The flag is the last character in 'flags' field array. It was wrongly
indexed at flags[6] causing all entries to be marked as unaccounted.
The correct check should be for flags[5] to be equal to 'Y'.
Bug: 20447631
Change-Id: Ibe9b88387a87b2caf37f3b20f8fd702dbef322db
When recovering from an ESD event, the panel needs to be put back
into the previous active mode it was in, which could be either
UNBLANK or DOZE.
Bug: 19711464
Change-Id: I5148fdb8b95ec5928a010c2695ae1399f8fda4f5
Add support for setPowerMode HWC_POWER_MODE_DOZE and
HWC_POWER_MODE_DOZE_SUSPEND are treated equally.
getActiveConfig and setActiveConfig only support the default 0th
config for now.
Change-Id: I010d1dae470c2b111d4ef2937b94d8c5e519e385
Acked-by: Saurabh Shah <saurshah@codeaurora.org>