Commit Graph

42 Commits

Author SHA1 Message Date
Dan Albert 789f042d3c Fix -Wmacro-redefined werror issues.
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
2017-01-30 17:54:29 -08:00
Alex Naidis 5936d78c2a
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>
2016-12-27 16:38:36 +01:00
Naseer Ahmed 201084d947 gralloc: Use AOSP API to filter board platform
Change-Id: I35cf0dd15346a6444f3dc0259fd8a4ac2716d7a2
2015-05-06 18:58:16 -04:00
Ajay Dudani 18d878af97 apq8084: display: Drop dependency on KERNEL_OBJS by default
Change-Id: I51fa6eec05ed4057a768a2e2e06739b3d3fc1bbd
2014-06-04 01:36:53 -07:00
Naseer Ahmed 83c416f424 display: Use msm8084 instead of apq8084
Bug: 15116418

Change-Id: I15bcc9b96f7d74c950c201beb9ba62489666f0cc
2014-05-28 15:58:33 -07:00
Naseer Ahmed efd5b99909 display: Makefile changes for AOSP builds
- 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
2014-05-19 09:20:32 -07:00
Naseer Ahmed 72ec599646 Revert "fixed msm8084 display HAL compilation"
This reverts commit b4216eed26.
2014-05-19 09:20:31 -07:00
Vineeta Srivastava b4216eed26 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>
2014-04-28 12:48:39 -07:00
Naseer Ahmed 01cbebaaab 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 330a2820c2)
2014-03-25 11:09:34 -07:00
Linux Build Service Account b82287802c Merge "display: set compiler option to print all warning messages" 2014-02-26 21:24:14 -08:00
Naseer Ahmed 2439a75225 common: Do not link to ABL lib
The library is not used in the code. If used in the future, it
can be linked to with dlopen.

Change-Id: I5af0847f0838f26c3c7f39375d3f082b1d3b8a6c
2014-02-19 17:46:46 -05:00
Arun Kumar K.R 770578c61b display: set compiler option to print all warning messages
- 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
2014-02-18 14:37:25 -08:00
Zohaib Alam b0f5e47fdc 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
2014-01-31 14:59:19 -05:00
Sivalatha Chakrala 83beda7cc3 display: Add display HAL support for msm8916.
Add initial display support for msm8916 target.

Change-Id: I709b2422dd1ac65b3b12d2853c1fc1e1efffcb7a
2013-12-12 22:24:05 +05:30
Aparna Mallavarapu eea6a429c4 display: Add display HAL support for msm_bronze
Add initial display support for msm_bronze target.

Change-Id: Ifcdb4347dc32553a855bb54e54773bac11540335
2013-10-20 14:37:33 +05:30
Naseer Ahmed c439b604bc 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
2013-09-12 09:15:44 -07:00
Jeykumar Sankaran 361900d9a6 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
2013-08-14 13:19:37 -07:00
Saurabh Shah 0709a18fdb hwc: Add support for mpq8092 platform
Add support for mpq8092 platform to hwc

Change-Id: Ic1811052eb4701cb20fdaa24be42689b0d4ac61e
2013-07-16 17:41:48 -07:00
Linux Build Service Account 44096d6ca6 Merge "display: Export headers" 2013-07-15 17:36:44 -07:00
Naseer Ahmed 7c35ce4e7b display: Export headers
Display headers used by other components should be at a common
location to avoid issues with future changes in paths.

Change-Id: Iaec21206b82dd7dae03e598b9ec46b3e6f1bbf71
2013-07-12 11:58:51 -04:00
Ramkumar Radhakrishnan f64df327a2 display: define ANDROID_JELLYBEAN_MR1 outside TARGET_USES_QCOM_BSP
define ANDROID_JELLYBEAN_MR1 outside TARGET_USES_QCOM_BSP check,
because ANDROID_JELLYBEAN_MR1 is not specific to qualcomm.

Change-Id: Ib99dfa3a77d2b4df8bd4910fff3d948924629d9b
2013-07-11 19:49:26 -07:00
Linux Build Service Account 851bef9f1c Merge "display: define QCOM_BSP" 2013-07-09 05:27:58 -07:00
Saurabh Shah 55582b5a7b hwc: Add 8084 to the list of mdss targets.
Add 8084 to the list of mdss taregts in make file,
so that the compile time flags are enabled.

Change-Id: Icba9686a5c51b463c5f2c07d3c1781fe23312469
2013-07-01 17:15:10 -07:00
Arun Kumar K.R 44590ea617 display: define QCOM_BSP
this enables custom features for display on QCOM platform

Change-Id: If2941efe19245ed770bb4df6ac9f53d00de91698
2013-06-25 12:18:01 -07:00
Arun Kumar K.R 0d94ad0371 display: changes for mr2 bringup
- Disable QCOM_BSP on jb_mr2 till all the display features
  are enabled
- Define ANDROID_JELLYBEAN_MR1 determine JB_MR1 SDK

Change-Id: I1271c0f0d392a54e20313f99c0ae494cd69f5492
2013-06-18 15:07:36 -07:00
Linux Build Service Account 72d698e863 Merge "display: Add msm8610 to list to enable mdss target flag" 2013-05-02 14:18:30 -07:00
Terence Hampson 27fdde0ac7 display: Add msm8610 to list to enable mdss target flag
msm8610 uses MDSS framework and venus color format

Change-Id: Ia6caeb92580413e947fcbf6c497499afe1f3282c
2013-04-17 19:04:14 -04:00
Naseer Ahmed 041564af39 display: Use flag to distinguish QCOM BSP features
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
2013-04-16 13:00:17 -04:00
Saurabh Shah 5d50448ce6 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
2013-03-23 04:53:38 +08:00
Linux Build Service Account ca7fb6260d Merge "display: Remove genlock usage" 2013-03-15 15:55:07 -07:00
Naseer Ahmed 83b98f3b7c display: Remove genlock usage
genlock is no-op from Android 4.2 onwards since the sync framework
is used for explicit synchronization.

Change-Id: Idd1df589516534a683e0fa1ef0cfbb7f0e411f67
2013-03-15 11:48:59 -07:00
Sushil Chauhan 6e146950e6 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
2013-03-14 11:43:42 -07:00
Sushil Chauhan 4f970b2833 display: Enable venus support for new target.
New target needs support for VENUS color format in display hal.

Change-Id: I72137a3be87f3001e0455a1451c93bd00f4128a3
2013-03-07 19:40:02 -08:00
Naseer Ahmed 59644b2127 display: Reconcile display HALs
Make the display HALs compile with/without the Qualcomm BSP
specific features so they can work with pure AOSP.
Change-Id: I1ad7282c4fe1fe7e3309afb530a07735f165ffbe
2013-02-09 08:29:49 -05:00
Sushil Chauhan da4e354248 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
2012-12-12 17:00:09 -08:00
Naseer Ahmed d48c074b5d display: Use fences for all targets
Change-Id: I89a8b661dba7919707ba26ff35fb294b22aaba67
2012-12-05 18:52:23 -05:00
Kinjal Bhavsar 3314774332 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>
2012-09-21 17:18:44 -07:00
Saurabh Shah bbee5b1c34 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
2012-09-18 10:21:14 -07:00
Naseer Ahmed bd4704d4b4 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>
2012-08-14 14:15:51 -07:00
Naseer Ahmed 5aa9f9bebb display: Fix warnings, make warnings as errors
Change-Id: I61f22765b04112be48e62135db930c415c9c7d37
2012-07-23 12:40:50 -07:00
Naseer Ahmed be2e1bb905 display: Clean up gralloc
* Remove pmem and ashmem implementations
* Remove usage of RefBase
* Reduce log verbosity

Change-Id: If8ef543d236e5305bd5430f4f9c62c51b3a13787
2012-07-23 12:39:29 -07:00
Naseer Ahmed a6bf153e8a display: Clean up makefiles
Move common includes and shared libraries to
a common location

Change-Id: I0427f0f98b4c039a691be0ef6f3deead2b4bfa02
2012-07-23 12:29:27 -07:00