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>
- On some builds, the display HAL can be located in a subdirectory.
Use LOCAL_PATH to include local headers.
- Use msm and apq filters to pick up the qcom display HAL.
Change-Id: Ib9b47ececb37fda1ecde5ce1cbe1fce9b041f84a
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>
Targets in which VPU interacts with display through HWC are no
longer supported.
Change-Id: I65a5348a375ad0c193a8659d0cdfb37c2db6f38e
(cherry picked from commit 330a2820c2)
- Remove -Werror which would stop compilation, instead add -Wall
and -Wconversion, which would still print out the warning messages.
- Helps in fixing the warnings without breaking the compilation
Change-Id: Iffa4687a267d405a3011521f0882a9aefd88b5ce
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
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
- 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
Display headers used by other components should be at a common
location to avoid issues with future changes in paths.
Change-Id: Iaec21206b82dd7dae03e598b9ec46b3e6f1bbf71
define ANDROID_JELLYBEAN_MR1 outside TARGET_USES_QCOM_BSP check,
because ANDROID_JELLYBEAN_MR1 is not specific to qualcomm.
Change-Id: Ib99dfa3a77d2b4df8bd4910fff3d948924629d9b
- Disable QCOM_BSP on jb_mr2 till all the display features
are enabled
- Define ANDROID_JELLYBEAN_MR1 determine JB_MR1 SDK
Change-Id: I1271c0f0d392a54e20313f99c0ae494cd69f5492
Earlier the presence of is-vendor-board-platform, QCOM was relied
on. However some builds could be using that macro and still be
builds without framework changes.
Change-Id: I9cf9494753086f8b86a0f69aed825230752cf240
genlock is no-op from Android 4.2 onwards since the sync framework
is used for explicit synchronization.
Change-Id: Idd1df589516534a683e0fa1ef0cfbb7f0e411f67
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
Make the display HALs compile with/without the Qualcomm BSP
specific features so they can work with pure AOSP.
Change-Id: I1ad7282c4fe1fe7e3309afb530a07735f165ffbe
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
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
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>