Commit Graph

313 Commits

Author SHA1 Message Date
Tom Marshall 8def73c018 hwc: Validate display ID in hwc interfaces
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
2018-09-21 14:50:15 +02:00
Haynes Mathew George dcb016231e display: Fix deprecated log warning
Change-Id: Ib3cb65ea19fa21dca6626080f5117073f0a86766
2018-09-13 23:23:30 +02:00
Chih-Hung Hsieh 6fd2d4bb57 Add -Wno-error to compile with global -Werror.
Bug: 66996870
Test: normal builds.
Change-Id: Iee4ac5f95a2013c5eeac1c061889a593caf0ec36
2018-01-04 12:09:30 -08:00
Jiyong Park da9d9de59c Move QCOM HALs to vendor partition
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
2017-02-24 13:53:21 +00:00
Mathias Agopian 2e3a46c539 fallout of splitting rect.h out of libandroid.
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
2017-02-16 14:31:11 -08:00
Dan Albert 4a797eb2a0 Merge "Fix -Wmacro-redefined werror issues." am: 3d4d976af2 am: 06d4d81212 am: 2e84083ef7
am: 33fc66f8e7

Change-Id: I24da518a22bc0dc4b03adcffbae7d7c7d378c89f
2017-01-31 03:49:45 +00:00
Dan Albert 2e84083ef7 Merge "Fix -Wmacro-redefined werror issues." am: 3d4d976af2
am: 06d4d81212

Change-Id: I9360d25086818ad65b6172bb0271b5ccb336a175
2017-01-31 03:44:43 +00:00
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 9fe2840616 Merge "hwcomposer: Fix regression in hwc_sync" am: a0de1d3cc3 am: 9e5907e6b4 am: e93a5f5337
am: 47cec256dd

Change-Id: I5c43ac8f3717c291e33504af5047022c05eedcbf
2017-01-05 04:10:17 +00:00
Alex Naidis e93a5f5337 Merge "hwcomposer: Fix regression in hwc_sync" am: a0de1d3cc3
am: 9e5907e6b4

Change-Id: If5b9888290f78e32db4e063da37993af8c391645
2017-01-05 04:00:53 +00: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
Tom Cherry d9a15952ff msm8226: update references to support prebuilt kernel build am: 9c880b505e am: ddd2c1b598
am: 302ab72bbf

Change-Id: I31946ddf81c2bee69a29e0bb6f9cba4fc4d0d218
2016-12-02 03:16:14 +00:00
Tom Cherry 9c880b505e msm8226: update references to support prebuilt kernel build
Updating kernel references to BOARD_KERNEL_HEADER_DEPENDENCIES and
BOARD_KERNEL_HEADER_DIR

Bug: 32910179
Change-Id: I8ff1c26a88cc29ac9fa83bf8bb0e30ea592855bf
2016-12-01 17:32:00 -08:00
Hal Canary 8e9bbcb6fe SkImageEncoder->SkEncodeImage
Test: none
Change-Id: Idec9438683b4e542dca662b958368190faece7b6
2016-11-24 20:18:33 -05:00
Chenjie Luo 2c58a97dcc Merge "Switch to OV_MDP_PIPE_DMA only for delta panel" into cw-e-dev am: f317914
am: f9eddfa

* commit 'f9eddfa16d00bbd19be3674acf4f892da6912359':
  Switch to OV_MDP_PIPE_DMA only for delta panel

Change-Id: I9e1ba597581daa5dda5044cc77e139187d33b49c
2016-04-12 23:43:52 +00:00
Matthew Bouyack 9fae8b8b5b Fix rotation on hardware composer (msm8226)
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
2016-04-07 13:55:06 -07:00
Chenjie Luo 5c2c0ce488 Switch to OV_MDP_PIPE_DMA only for delta panel
Bug: 27744892
Change-Id: I587f056cd1929a112dc2961d03c7c40ae9b25d12
2016-03-24 16:50:45 -07:00
Prashant Malani cde4bf9ddc msm8226: Fix compilation error
PRIu64 requires a space before and after strings.

Bug: 27336841
Change-Id: Idc4c8faab9ec15c69d7a1cff83683c17b12d68a4
2016-03-03 23:24:36 -08:00
WANG XING 6f3fd9edc4 Merge "display: HAL: FB pipe type select" into cw-e-dev am: cbd1c32fd0
am: 9f2dba9bc5

* commit '9f2dba9bc5831055f6e6168bb32d9adf5189b3d6':
  display: HAL: FB pipe type select
2016-03-03 19:24:30 +00:00
Chenjie Luo cbd1c32fd0 Merge "display: HAL: FB pipe type select" into cw-e-dev 2016-03-03 19:12:10 +00:00
Ivan Podogov 9fc72ab0f6 Micro-optimisations for the full RGB antialiasing. am: 6a9eac16fa
am: 1484aaf3f2

* commit '1484aaf3f2767b2fb74705000f050d8cfe769f27':
  Micro-optimisations for the full RGB antialiasing.
2016-03-03 18:36:20 +00:00
WANG XING 3e344bb1ba display: HAL: FB pipe type select
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>
2016-03-03 10:12:01 -08:00
Dan Willemsen f7b40858db Fix duplicate copy file rules
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)
2016-02-23 16:17:09 -08:00
Ivan Podogov 6a9eac16fa Micro-optimisations for the full RGB antialiasing.
Change-Id: I367d3462549b4156b55bf36bfee5790c2957a959
2016-02-17 14:37:28 +00:00
Zhao Xuewen ed83eaacc5 display: edo panel: display quality optimization
am: 48857cd056

* commit '48857cd056356d233d2751b2510376ea6017b056':
  display: edo panel: display quality optimization
2015-12-18 22:51:51 +00:00
Zhao Xuewen 48857cd056 display: edo panel: display quality optimization
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>
2015-12-18 11:07:03 -08:00
Uday Kishore Pasupuleti e198c38dc2 DO NOT MERGE display: HAL: FB pipe type select
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>
2015-12-15 23:27:17 +00:00
Uday Kishore Pasupuleti f48303a2d8 overlay: Allow to set target specific max rot session
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>
2015-10-05 12:05:09 -07:00
Prashant Malani 4c9a29a3c5 gralloc: Default flexible YUV format to NV21_ZSL
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
2015-09-22 16:01:07 -07:00
Joe LaPenna c4149b66b4 am a7e7e0ac: set some qdhwcomposer setPowerMode logs to verbse
* commit 'a7e7e0ac4b4348ebb5d29197992c1f474408e567':
  set some qdhwcomposer setPowerMode logs to verbse
2015-07-20 21:47:37 +00:00
Joe LaPenna a7e7e0ac4b set some qdhwcomposer setPowerMode logs to verbse
BUG: 20915340

Change-Id: I2ab071de8b42d22bc781dbde282aa31531bbf449
2015-07-17 23:18:36 +00:00
Richard Uhler 54c63971b5 libmemtrack: Fix the kgsl memory flag to determine usermapped buffers
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
2015-06-16 22:55:19 +00:00
Naseer Ahmed b05e85c9d0 am cfbf3052: am c935e2ac: hwc: Restore last value when recovering from ESD.
* commit 'cfbf3052089ecea54c8cf297032fbd303d6e42ab':
  hwc: Restore last value when recovering from ESD.
2015-04-03 14:52:35 +00:00
Naseer Ahmed cfbf305208 am c935e2ac: hwc: Restore last value when recovering from ESD.
* commit 'c935e2acdebcb269eafd59abe0328cdfa2bf4da8':
  hwc: Restore last value when recovering from ESD.
2015-04-03 00:15:42 +00:00
Naseer Ahmed c935e2acde hwc: Restore last value when recovering from ESD.
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
2015-04-02 23:45:54 +00:00
Eino-Ville Talvala 4ee9ce6a95 Remove sRGB, replace RAW_SENSOR with RAW16 graphics format.
Change-Id: I22a557cabcba4c0d0a87c8a982a324ebb3ba701a
2015-02-19 16:36:44 -08:00
Lajos Molnar 25999fa825 am 1a92db6e: Merge "gralloc: 8084/8226: align cstride for YV12 buffers in gralloc_lock_ycbcr" into lmp-mr1-dev
* commit '1a92db6e13aaa3e3fac037b930144a44e9b59347':
  gralloc: 8084/8226: align cstride for YV12 buffers in gralloc_lock_ycbcr
2015-02-06 00:06:59 +00:00
Lajos Molnar d535e59815 gralloc: 8084/8226: align cstride for YV12 buffers in gralloc_lock_ycbcr
Bug: 17906609
Change-Id: I2c29a14e2de5a678427a92559d94660d9c815553
2015-02-04 21:23:38 -08:00
Naseer Ahmed a44a0ed78b am adc3f594: hwc: msm8226: Bump up version to 1.4
* commit 'adc3f5944f63cd432cc2f52790ba80e82ec98c19':
  hwc: msm8226: Bump up version to 1.4
2015-01-13 21:32:25 +00:00
Naseer Ahmed adc3f5944f hwc: msm8226: Bump up version to 1.4
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>
2015-01-13 11:58:06 -08:00
Dileep Kumar Reddi 4a5beab8e5 am 66528d1c: copybit: Minor fix in opening copybit device
* commit '66528d1c2cd28ce406f8e6192cd0fd007a0ba0c4':
  copybit: Minor fix in opening copybit device
2015-01-09 23:47:36 +00:00
Praveena Pachipulusu 6520874c11 am 2130dc33: copybit: Use proper type casts and pointers
* commit '2130dc33b27b36880920f72b11529c7e1087ae21':
  copybit: Use proper type casts and pointers
2015-01-09 23:47:35 +00:00
Raj Kamal 6536db507a am 60712080: Revert "Set priority among various display devices"
* commit '60712080d834941754dca8d34adac6bd355318ea':
  Revert "Set priority among various display devices"
2015-01-09 23:47:34 +00:00
Jeykumar Sankaran 0fcf145091 am 7249973d: hwc: Avoid partial frame update on secure display
* commit '7249973d8972f333a1a8c38345fa8751f3d27944':
  hwc: Avoid partial frame update on secure display
2015-01-09 23:47:34 +00:00
Saurabh Shah 39e2edb6ef am afb0630f: qdutils: Parse rotator downscale feature
* commit 'afb0630fd38b3db0e01f243d3112d0b67a93976e':
  qdutils: Parse rotator downscale feature
2015-01-09 23:47:33 +00:00
Mao Li 47ae557bdc am cbf0d5f8: liblight: turn off the LED when fail to set it blink
* commit 'cbf0d5f822b638271c897338a3d29c43ce0d4e37':
  liblight: turn off the LED when fail to set it blink
2015-01-09 23:47:33 +00:00
Simon Wilson 6dbc8dbf31 resolved conflicts for merge of 000cb84f to lmp-mr1-dev-plus-aosp
Change-Id: Idb4b55f50e3e0ab7026eed5a5d8b3ce29b5630c1
2015-01-09 15:44:24 -08:00
Saurabh Shah b85206bf40 am 52c40f73: qdutils: Add getter for 8994
* commit '52c40f737665f00bf9ecd486b9896ce256c94fd2':
  qdutils: Add getter for 8994
2015-01-09 22:43:02 +00:00
Saurabh Shah be994b8f6c am c5628e5e: hwc/overlay: Get rot dest dimensions instead of manipulating source
* commit 'c5628e5e5d07912ad30849801f18c07ab433a4f5':
  hwc/overlay: Get rot dest dimensions instead of manipulating source
2015-01-09 22:43:01 +00:00
Saurabh Shah f0d3db3dfd am 4a84a77c: overlay: Remove obsolete code from pipe config path
* commit '4a84a77c6de89fc12b727bf41661aa2314dfba8f':
  overlay: Remove obsolete code from pipe config path
2015-01-09 22:43:01 +00:00