OSDN Git Service

android-x86/external-IA-Hardware-Composer.git
4 years agodrmdisplay: fix drop const qualifier build error pie-x86
Mauro Rossi [Sat, 4 May 2019 19:24:09 +0000 (21:24 +0200)]
drmdisplay: fix drop const qualifier build error

Fixes the following building error:

external/IA-Hardware-Composer/wsi/drm/drmdisplay.cpp:558:43:
error: cast from 'const hwcomposer::OverlayLayer *' to 'hwcomposer::OverlayLayer *' drops const qualifier [-Werror,-Wcast-qual]
    OverlayLayer *layer = (OverlayLayer *)comp_plane.GetOverlayLayer();
                                          ^
1 error generated.

5 years agocore/hwclayer: avoid missing field inizializers in libsync
Mauro Rossi [Sun, 28 Apr 2019 20:24:49 +0000 (22:24 +0200)]
core/hwclayer: avoid missing field inizializers in libsync

To avoid following building errors:

In file included from external/IA-Hardware-Composer/common/core/hwclayer.cpp:18:
external/libdrm/libsync.h:63:24: error: missing field 'events' initializer [-Werror,-Wmissing-field-initializers]
        struct pollfd fds = {0};
                              ^
external/libdrm/libsync.h:88:33: error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces]
        struct sync_merge_data data = {0};
                                       ^
                                       {}
external/libdrm/libsync.h:88:34: error: missing field 'fd2' initializer [-Werror,-Wmissing-field-initializers]
        struct sync_merge_data data = {0};
                                        ^
3 errors generated.

5 years agodisplay/displayqueue: remove unused variable
Mauro Rossi [Sun, 28 Apr 2019 20:24:49 +0000 (22:24 +0200)]
display/displayqueue: remove unused variable

To avoid building error

5 years agoalways build libhwcservice
Mauro Rossi [Sun, 28 Apr 2019 20:24:49 +0000 (22:24 +0200)]
always build libhwcservice

To avoid missing libhwcservice when TARGET_USES_HWC2 not true

5 years agoRename module to hwcomposer.intel for testing IA-Hardware-Composer
Mauro Rossi [Sat, 5 May 2018 13:42:42 +0000 (15:42 +0200)]
Rename module to hwcomposer.intel for testing IA-Hardware-Composer

To be renamed accordingly in device/generic/common
(files gpu/gpu_mesa.mk and init.sh)

5 years agoDefine INTEL_MINIGBM to avoid building error
Mauro Rossi [Sat, 5 May 2018 13:38:59 +0000 (15:38 +0200)]
Define INTEL_MINIGBM to avoid building error

INTEL_MINIGBM is defined as external/minigbm_intel to avoid following error:

[116/838] including ./external/IA-Hardware-Composer/Android.mk ...
build/core/binary.mk:1480: error: external/IA-Hardware-Composer/Android.common.mk:
hwcomposer.intel: C_INCLUDES must be under the source or output directories: /cros_gralloc/.
14:15:43 ckati failed with: exit status 1

5 years agoThe buffer interlace info should change to frame by frame
HeYue [Thu, 18 Apr 2019 02:52:27 +0000 (10:52 +0800)]
The buffer interlace info should change to frame by frame

So far the buffer interlace is set according to GRALLOC_USAGE_PRIVATE_0.
It will cause play some irregular size video has green line in screen bottom.

Change-Id: I2bff0bf84a056c1e313cb79c2762e788598fd7ac
Tests: Video play without issue.
Tracked-On: https://jira.devtools.intel.com/browse/OAM-79458
Signed-off-by: HeYue <yue.he@intel.com>
5 years agoFix a misstike when LogicalDisplaymanager do present
yuzhengyang [Tue, 23 Apr 2019 01:14:46 +0000 (09:14 +0800)]
Fix a misstike when LogicalDisplaymanager do present

When layers_ is empty, missing reset queued_displays_ to 0

Change-Id: None
Tracked-On: None
Test: test ok!
Signed-off-by: yuzhengyang <yu.zhy@neusoft.com>
5 years agoBuild libhwcservice as static library
Shaofeng Tang [Fri, 12 Apr 2019 05:39:25 +0000 (13:39 +0800)]
Build libhwcservice as static library

Update makefile for build libhwcservice as static library

Test: Compile on Android successfully
Change-Id: Ibd98f1c6ff40c84da722990b7b745e8e80933476
Tracked-On: None
Signed-off-by: Shaofeng Tang <shaofeng.tang@intel.com>
5 years agoFix the wrong method name in compiling error
Shaofeng Tang [Mon, 22 Apr 2019 07:30:58 +0000 (15:30 +0800)]
Fix the wrong method name in compiling error

The method name for getting display type is typoed.

Change-Id: Idb22f258d3723b69867e055c70a7a7ca6f609400
Tracked-On: None
Test: Compile success
Signed-off-by: Shaofeng Tang <shaofeng.tang@intel.com>
5 years agoEnsure LogicalDisplay called LogicalDisplayManager::Present()
yuzhengyang [Sat, 20 Apr 2019 08:00:50 +0000 (16:00 +0800)]
Ensure LogicalDisplay called LogicalDisplayManager::Present()

All LogicalDisplay must called into LogicalDisplayManager::Present before return.
If return in HWC2Display that is actually LogicalDisplay when layers is empty,
the LogicalDisplayManager can't do the present at right moment.
This will cause Composer process to crash when using LogicalDisplay.

Change-Id: none
jira: none
Signed-off-by: yuzhengyang <yu.zhy@neusoft.com>
5 years agoAllow drm commit by default
Shaofeng Tang [Tue, 16 Apr 2019 12:35:08 +0000 (20:35 +0800)]
Allow drm commit by default

Allow DRM commit by default to optimize the switch duration for DRM
master. Checking if hwc is drmmaster before really commit to DRM.

Change-Id: I0a78e51e2359baab65402abd60f46df6940b3592
Tracked-On: https://jira.devtools.intel.com/browse/OAM-79621
Test: Compile success, work well with evs
Signed-off-by: Shaofeng Tang <shaofeng.tang@intel.com>
5 years agoAdded the Panorama dynamic turn on/off feature.
Wan Shuang [Thu, 4 Apr 2019 05:48:14 +0000 (13:48 +0800)]
Added the Panorama dynamic turn on/off feature.

Added enable/disable panorama interfaces in HWC service API for
it be able to controlled by other process for dynamic turning
on/off panorama view mode in ACRN AaaG environment.

Change-Id: Ic3e5f22d65a533132adf6752a4f93b060476d6ca
Tracked-On: https://jira.devtools.intel.com/browse/OAM-76498
Tests: Turn on/off Panorama mode dynamically on ACRN AaaG.

Signed-off-by: Wan Shuang <shuang.wan@intel.com>
5 years agoUpdate GPUDevice thread for DRM-master setting/dropping
Shaofeng Tang [Wed, 3 Apr 2019 05:27:16 +0000 (13:27 +0800)]
Update GPUDevice thread for DRM-master setting/dropping

GPUDevice thread will monitor hwc.lock once HWC is not drm master
Drm Master will not be set once hwc.lock is not available.

On Acrn and Celadon, an additional selinux patch are needed for
the permission on hwc.lock.

Change-Id: If185b7f1b912dd58ffcb0287fe1b3a234afc5b57
Test: Compile sucessful for Android.
Tracked-On: https://jira.devtools.intel.com/browse/OAM-76578
Signed-off-by: Shaofeng Tang <shaofeng.tang@intel.com>
5 years agoFix a null pointer bug after hwctrace enabled.
Yi Yao [Wed, 3 Apr 2019 15:45:07 +0000 (23:45 +0800)]
Fix a null pointer bug after hwctrace enabled.

Test: No null pointer crash.
Tracked-On: https://jira.devtools.intel.com/browse/OAM-79216
Signed-off-by: Yuanjun Huang <yuanjun.huang@intel.com>
5 years agofix build error
Chen Yu Y [Tue, 4 Dec 2018 08:28:57 +0000 (16:28 +0800)]
fix build error

fix build error

Change-Id: I82ae3d4286094affeaf874985f846746ed76c87c
Tracked-On: https://jira.devtools.intel.com/browse/OAM-79162
Signed-off-by: Chen Yu Y <yu.y.chen@intel.com>
Signed-off-by: Jenny Cao <jenny.q.cao@intel.com>
5 years agoAdd nullpoint checking for GetBuffer invoking.
Shaofeng Tang [Tue, 26 Mar 2019 03:13:18 +0000 (11:13 +0800)]
Add nullpoint checking for GetBuffer invoking.

Checking if the buffer pointer is null before using it.

Change-Id: If2631bb5c28efc0f3e5951104a150c1464008277
Test: Compile sucessful for Android.
Tracked-On:https://jira.devtools.intel.com/browse/OAM-78892
Signed-off-by: Shaofeng Tang <shaofeng.tang@intel.com>
5 years agoFix create/destroy VDS issue
xue.yifei [Thu, 21 Mar 2019 06:35:28 +0000 (14:35 +0800)]
Fix create/destroy VDS issue

Using std::Map to manage the VDS create/destroy.

Change-Id: Ic6656ac0b78df4eb2aa433104eaad3e8dc3a0ac8
Tracked-On: None
Tests: Android UI normal
Signed-off-by: xue.yifei <yifei.xue@intel.com>
5 years agoFix the ACRN build error
HeYue [Tue, 12 Mar 2019 01:48:09 +0000 (09:48 +0800)]
Fix the ACRN build error

Fix ACRN build error caused by 37f472c449f900145bbc920ee842edc1a1b3023e

Change-Id: I224b4e475ff8a19e3ef989f3080c1b67dbfd433e
Tracked-On: https://jira.devtools.intel.com/browse/OAM-76800
Tests: Compile sucessful for ACRN and baremetal, all display mode works well.
Signed-off-by: HeYue <yue.he@intel.com>
5 years agoShorten the HandleHWCSettings function
HeYue [Tue, 5 Mar 2019 03:09:34 +0000 (11:09 +0800)]
Shorten the HandleHWCSettings function

Split the function to sub-function.

Change-Id: I1d32836636124dd45c31a0bdd17413ee39448a31
Tracked-On: https://jira.devtools.intel.com/browse/OAM-76800
Tests: Compile sucessful for Android, all display mode works well.
Signed-off-by: HeYue <yue.he@intel.com>
5 years agoRemove handle_ remove virtual display
Lin Johnson [Wed, 27 Feb 2019 06:52:16 +0000 (14:52 +0800)]
Remove handle_ remove virtual display
It is never used and shoud be removed

Change-Id: I4e558a565ea275f381377c9feea2d4e557b3fc8f
Tracked-On: None
Tests: Android UI normal
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
5 years agoFix another memory leak
Lin Johnson [Thu, 21 Feb 2019 07:13:39 +0000 (15:13 +0800)]
Fix another memory leak

ctm_offset shoudl be freed

Change-Id: I98290e132818cccf0f3e09f4ac0f9eecef7dee01
Tracked-On: None
Test: Android UI normal
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
5 years agoFollow klocwork coding guide for null checking. (#552)
Shaofeng Tang [Mon, 4 Mar 2019 01:19:55 +0000 (09:19 +0800)]
Follow klocwork coding guide for null checking. (#552)

Secure coding guidelines (and the reason Klocwork flagged this) state
that you should never assume multiple calls to a function will return
the same result, even if it is highly unlikely to change.

Change-Id: I710d34eeb767dcf5f83ba91bf637d1cf367f3baf
Tracked-On: https://jira.devtools.intel.com/browse/OAM-76669
Tests: Compile sucessful for Android.
Signed-off-by: Shaofeng Tang <shaofeng.tang@intel.com>
5 years agoChecking the clone-mode config for out of array
Shaofeng Tang [Tue, 26 Feb 2019 11:30:22 +0000 (19:30 +0800)]
Checking the clone-mode config for out of array

On ACRN, the display size is 2. By default, the clone-mode config is "1+2"
for clone the second display to the third. On Acrn, no third display is
available. it will cause out of array error.

Tracked-On: https://jira.devtools.intel.com/browse/OAM-76564
Tests: Compile sucessful for Android. No crash for clone mode on ACRN.
Signed-off-by: Shaofeng Tang <shaofeng.tang@intel.com>
Change-Id: Ieccf0481fae0983a8ba01b73bcdbbc0125c61e6a

5 years agoLast_plane should not be handled as cursor plane when cursor_plane is not available
Shaofeng Tang [Fri, 22 Feb 2019 14:25:12 +0000 (22:25 +0800)]
Last_plane should not be handled as cursor plane when cursor_plane is not available

On ACRN, cursor plane is not available. if the last plane still be handled as
cursor plane. funtion 'FallbacktoGPU' will return false. and the cursor layer will
not be added.

Change-Id: I5f97fb5edf66c3423d8d54c5dd26eb8bcf9b3f91
Tracked-On: None
Tests: Compile sucessful for Android.
Signed-off-by: Shaofeng Tang <shaofeng.tang@intel.com>
5 years agoDelete the output buffer when it is same as output_handle_
HeYue [Fri, 22 Feb 2019 03:45:32 +0000 (11:45 +0800)]
Delete the output buffer when it is same as output_handle_

In ACRN virtualdisplay setoutput buffer, if the buffer is same as output_handle_
and output_handle_ is not null, delete the buffer to prevent memory leak.

Change-Id: I558f31aea3315481f3a00c1fef1202bb7eb124f1
Tracked-On: None
Tests: Compile sucess for ACRN and baremetal. System without issue.
Signed-off-by: HeYue <yue.he@intel.com>
5 years agoFix potential FD leak
Bao,Jiulong [Fri, 22 Feb 2019 04:38:34 +0000 (12:38 +0800)]
Fix potential FD leak

There is FD leak issue in custome platform, his patch is to fix the issue.
Couldn't reproduce FD leak so far, after value and validate this patch,
submit it to github.

Change-Id: If50634e7fb2d05e1324d454d7ab57d996568a90e
Tracked-On: https://jira.devtools.intel.com/browse/OAM-76458
Tests: Compile sucess for ACRN and baremetal. System without issue.
Signed-off-by: HeYue <yue.he@intel.com>
5 years agoRemove the macro DISABLE_CURSOR_PLANE
Shaofeng Tang [Wed, 20 Feb 2019 07:01:21 +0000 (15:01 +0800)]
Remove the macro DISABLE_CURSOR_PLANE

Cursor plane already work on Android for all current platform. In current
implementation, the code in this micro are related with the workaround for
'enable_last_plane_', and deleting the cursor plane from overlay plane list.
'enable_last_plane_' has been removed. and the cursor plane still need to
be removed from overlay plane list.

Change-Id: I3b6970ad3ee471b218cd9560c28ac2fc19c1e709
Tracked-On: None
Tests: Compile sucessful for Android.
Signed-off-by: Shaofeng Tang <shaofeng.tang@intel.com>
5 years agoReuse last overlay plane on ACRN when multi monitors connected
renchenglei [Mon, 18 Feb 2019 10:15:13 +0000 (18:15 +0800)]
Reuse last overlay plane on ACRN when multi monitors connected

This revert commit 206eb50e8fe7ed8d657f4a991b599a575912316c
Revert "Add support to dynamically disable last overlay usage."
The last overlay plane is disabled in past due to APL not
reboot when multi monitors are connected. Now this issue
is not reproduced any more. We add the last overlay plane
back, which could help improve browser kinetic panning frame
rate with 2 displays.

Change-Id: I6a27202d822dc80433f4b5d20048472cf37f4ed8
Tracked-On: https://jira.devtools.intel.com/browse/OAM-76190
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
Signed-off-by: Chenglei Ren <chenglei.ren@intel.com>
Signed-off-by: HeYue <yue.he@intel.com>
5 years agoFix the ACRN build error
HeYue [Tue, 19 Feb 2019 04:02:01 +0000 (12:02 +0800)]
Fix the ACRN build error

Correct the acrn build error caused by my commit CommitID:
b12564d7c9c1aaa451cdd4b55f757e23ca0dea85.
And delete unused ETRACE log.

Change-Id: I662454235aa2617f93b5439d9d410215f500120e
Tracked-On: None
Tests: Compile sucess for ACRN and baremetal. System without issue.
Signed-off-by: HeYue <yue.he@intel.com>
5 years agoShould not squash planes when forceseparateplane is true
Lin Johnson [Fri, 15 Feb 2019 08:19:39 +0000 (16:19 +0800)]
Should not squash planes when forceseparateplane is true
This fix a typo error

Change-Id: I045d34685a8aeb0968896a4bc69c7ed19debae42
Tracked-On: https://jira.devtools.intel.com/browse/OAM-76112
Tests: Android UI Normal
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
5 years agoFix the null pointer and out-of array issues found by kclocwork (#542)
Shaofeng Tang [Tue, 19 Feb 2019 01:34:23 +0000 (09:34 +0800)]
Fix the null pointer and out-of array issues found by kclocwork (#542)

Add null pointer checking and correct the array format for fixing
the issues found by kclocwork on https://kw-jenkins.ostc.intel.com/
job/AndroidKW181_pmr0_bxtp_ivi_acrn_stable_gordon_peak/8/artifact/
BuildData/HTML/kw_issues_GFXOpenSourceDisplay.html

Change-Id: Ie7b51975cd0c20062b5da089da3ce275b772c11b
Tracked-On: https://jira.devtools.intel.com/browse/OAM-76317
Tests: Compile sucessful for Android. Pass dev testing.
Signed-off-by: Shaofeng Tang <shaofeng.tang@intel.com>
5 years agoDisable PlaneScale for video plane
Shaofeng Tang [Fri, 15 Feb 2019 06:29:19 +0000 (14:29 +0800)]
Disable PlaneScale for video plane

Video plane can be scaled by VAAPI. set false in UsePlaneScale.

Change-Id: I305ac6c419c8bcd7c86a3eafe60481cdc15baf01
Tests: Play video correct with/without overlay plane
Tracked-On: None
Signed-off-by: Shaofeng Tang <shaofeng.tang@intel.com>
5 years agoOnly invoke VPP when video layer exist
Shaofeng Tang [Thu, 31 Jan 2019 10:12:13 +0000 (18:12 +0800)]
Only invoke VPP when video layer exist

When validating layer for cursor. Both size of video layer and overlay plane
are 0. and meet 0 >= 0 error to invoke VPP

Change-Id: I5224b85dd90ff3f4ef3d679a6a19e51f33754145
Test: Cursor layer show correct in video playing
Tracked-On: None
Signed-off-by: Shaofeng Tang <shaofeng.tang@intel.com>
5 years agoClean the log micro
Shaofeng Tang [Thu, 31 Jan 2019 02:47:50 +0000 (10:47 +0800)]
Clean the log micro

Keep the log micro in same format with other sub-function

Change-Id: I8ccdf070cd4a07bfb11f9a100a0692320742e3b3
Tests: Compile sucessful for Android.
Tracked-On: None
Signed-off-by: Shaofeng Tang <shaofeng.tang@intel.com>
5 years agoActiveConfig should not be reset in ConnectDisplay for fake config
Shaofeng Tang [Tue, 29 Jan 2019 04:39:04 +0000 (12:39 +0800)]
ActiveConfig should not be reset in ConnectDisplay for fake config

ActiveConfig is sent from SF. For fake config(headless) case, it
should not be reset in Connectdisplay with prefer_config id. The
default config will be used as Fake config ID too

Known issue: SF expects primary display to be always connected.
Once the primary display is set with fake(1080p). it can not be
updated with disconnect-connect hotplug event again. otherwise, SF
will crash with "null point" when invoking the erased display.
no way to re-fresh the pri-display config except reboot.

Change-Id: I0a4a183b112218119c114608d89b66d991d7d31f
Tests: Compile sucessful for Android. No crash in headless and hotplug
Tracked-On: https://jira.devtools.intel.com/browse/OAM-73760
Signed-off-by: Shaofeng Tang <shaofeng.tang@intel.com>
5 years agoAdd GetFrameBufferManager function in GpuDevice
HeYue [Mon, 28 Jan 2019 07:50:15 +0000 (15:50 +0800)]
Add GetFrameBufferManager function in GpuDevice

Reduce pass FrameBufferManager as parameter, use this
function to get FrameBufferManager.

Change-Id: I0c6d8b085332e1c01162e98d1744cfcf5f359644
Tracked-On: None
Tests: Compile success and system without any issue.
Signed-off-by: HeYue <yue.he@intel.com>
5 years agoWA for VPP linux compiling error
Shaofeng Tang [Fri, 25 Jan 2019 05:32:46 +0000 (13:32 +0800)]
WA for VPP linux compiling error

WA for VPP linux compiling error

Change-Id: Ibf5363ac15abdbdf2705363ea7d7913ab26d231a
Tracked-On: None
Signed-off-by: Shaofeng Tang <shaofeng.tang@intel.com>
5 years agoFix bug for VPP compositon
Lin Johnson [Fri, 25 Jan 2019 05:28:16 +0000 (13:28 +0800)]
Fix bug for VPP compositon
1) overlay plane not universal can't be count as avail planes for video
2) VPP can't deal with solid color(no input buffer), drop solid color layer
   for temp solution
3) Video Planes don't have to only contain 1 layer(ResetLayers)

Change-Id: Ie2b285598ea77bd1038b1dfe5d630cf7bf1aa816
Tracked-On: None
Tests: Android video playback with UI composited by VPP path
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
5 years agoUse video formats for VPP composion only for 1 layer case
Lin Johnson [Wed, 23 Jan 2019 06:33:08 +0000 (14:33 +0800)]
Use video formats for VPP composion only for 1 layer case

For the multiple layer case, we need to use UI formats
to prevent any artifacts

Change-Id: I9d5d1f87b9d432f6a1a80d3eac05a6e3e580f5dd
Tracked-On: None
Tests: Android UI be compositioned well
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
5 years agoForce Vpp composition when video count more than plane count
Lin Johnson [Fri, 18 Jan 2019 08:04:49 +0000 (16:04 +0800)]
Force Vpp composition when video count more than plane count

This scenario is true when ACRN only assign 1 plane to Andriod
Then VPP should be used for composition due to 2 reasons
1: If video is protected, 3D patch can't not deal with it
2: Some video effect still wanted on the video layer

Change-Id: I892fef1f13cd4e2b7665b2d5edb7c0203faf118a
Tracked-On: None
Tests: Android UI normal
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
5 years agoVarenderer: Add support for blending multiple layers.
Harish Krupo [Sat, 11 Aug 2018 18:11:11 +0000 (23:41 +0530)]
Varenderer: Add support for blending multiple layers.

In cases where we fail to dedicate a separate plane for protected
content, say we have only one HW plane, the layers must be
composed using VAAPI as Mesa doesn't support composition of protected
content.

Jira: None
Test: When we have only one plane for display, all the contents are properly
      rendered.

Change-Id: I56da9b478a614d4f8c6746d8995ae7f3146b26ac
Signed-off-by: Harish Krupo <harish.krupo.kps@intel.com>
Signed-off-by: Johnson Lin <johnson.lin@intel.com>
Conflicts:
common/compositor/va/varenderer.cpp

5 years agoGPU device use singleton
HeYue [Fri, 18 Jan 2019 07:42:48 +0000 (15:42 +0800)]
GPU device use singleton

Change the GpuDevice class as singleton mode.
Do not need pass the GpuDevice instance as parameter to everywhere.
Just use the static function getInstance to get the unique GpuDevice pointer.

Change-Id: I389dea4f7a1770019fb87bd317e57ee4de249024
Tracked-On: https://jira.devtools.intel.com/browse/OAM-72553
Tests: Compile success, system without any issue.
Signed-off-by: HeYue <yue.he@intel.com>
5 years agoRename Create*Buffer to Create*Surface
Lin Johnson [Wed, 23 Jan 2019 07:05:40 +0000 (15:05 +0800)]
Rename Create*Buffer to Create*Surface

Previous name is misleading. The function is not creating actual buffer,
But it is creating a surface

Change-Id: I7a84c31d12c20c2c271f9081ed9f6d8a2d7de363
Tracked-On: None
Tests: Android UI normal
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
5 years agofix compile warnings
Lin Johnson [Wed, 23 Jan 2019 06:59:30 +0000 (14:59 +0800)]
fix compile warnings

Fix compile warnings due to const lost

Change-Id: I44aa086e1351415fe8ddc2856fa2c02cd9bf6abb
Tracked-On: None
Tests: Android UI normal
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
5 years agoCalculate damage rect for secondary display
Shaofeng Tang [Mon, 21 Jan 2019 14:35:36 +0000 (22:35 +0800)]
Calculate damage rect for secondary display

The coordinate of damage rect should be calculated according to the
display order in overlaylayer.

Change-Id: I5f7a9a6cf471ee081d86877b6bff830b896662e8
Tests: Compile sucessful for Android.
Tracked-On: https://jira.devtools.intel.com/browse/OAM-74960
Signed-off-by: Shaofeng Tang <shaofeng.tang@intel.com>
5 years agoPAVP: tear down discard layer before import buffers
Lin Johnson [Mon, 21 Jan 2019 03:25:32 +0000 (11:25 +0800)]
PAVP: tear down discard layer before import buffers

So the meta flags after import is not set yet, it
should not be used to judge the original buffer is
protected or not. Instead, use IsBufferProtected to
judge the original buffer is protected or not

Change-Id: Ibe38def41c9bfb56a02cac398132776e8cfe988e
Tracked-On: None
Tests: Android UI normal
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
5 years agoTrying to avoid unecessary composition on 2 planes
Lin Johnson [Thu, 17 Jan 2019 07:31:40 +0000 (15:31 +0800)]
Trying to avoid unecessary composition on 2 planes
We observed this situation in ACRN
When the displayframe of 2 planes overlaps
composition on separate plane is not necessary

Change-Id: Iefa948785191ecd6516a7503cd449f4d2e26696d
Tracked-On: None
Tests: Android UI normal
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
5 years agoAdded the support of panorama view mode in AaaG HWC.
Wan Shuang [Mon, 21 Jan 2019 11:52:55 +0000 (19:52 +0800)]
Added the support of panorama view mode in AaaG HWC.

This feature support combining 1 physical display and 1 SOS display
like one wide resolution display to AOSP framework. HWC be responsible
to feed the part of screen into physical display and SOS accordingly.

Change-Id: I25bd1b6cf78d8d6b8e6f6c4e73454640e758a3cb
Tracked-On: https://jira.devtools.intel.com/browse/OAM-70254
Tests: AaaG be able to split screen and sharing part of it with SOS.
Signed-off-by: Wan Shuang <shuang.wan@intel.com>
5 years agodelete the unused gralloc_handle while sharing dmabuf,
xue.yifei [Mon, 21 Jan 2019 02:54:59 +0000 (10:54 +0800)]
delete the unused gralloc_handle while sharing dmabuf,
otherwise it will cause memory leak

Change-Id: Ibf35fdd14b74d8261feea4d08d1a89fa4b7378ee
Tracked-On: None
Tests: function test on android
Signed-off-by: xue.yifei <yifei.xue@intel.com>
5 years agoNew API for syncing hwc drm-commit.
Shaofeng Tang [Wed, 16 Jan 2019 12:47:08 +0000 (20:47 +0800)]
New API for syncing hwc drm-commit.

A new API "EnableDRMCommit" is added for enabling/disabling drm commits
in HWC. And hwcserviceapi are updated for supporting the invocation
from C.

Change-Id: Id880956934c1743d7327c977867f25046a63c320
Tracked-On:https://jira.devtools.intel.com/browse/OAM-71647
Tests: Compile sucessful for Android, feature validation.
Signed-off-by: Shaofeng Tang <shaofeng.tang@intel.com>
5 years agoSupporting Planes Reservation
Shaofeng Tang [Tue, 18 Dec 2018 01:46:21 +0000 (09:46 +0800)]
Supporting Planes Reservation

The plane of each display used by HWC can be reserved in configuration.
Only the plane assigned in configuration will be used for HWC.

Remaining issue: once the primary plane is not reserved, drmModeAtomicReqPtr
will be NULL from drm.

Change-Id: Ie9a4aa09907cda1920b4735d58c9d9f6d623346a
Tracked-On:https://jira.devtools.intel.com/browse/OAM-71647
Tests: Compile sucessful for Android, feature validation.
Signed-off-by: Shaofeng Tang <shaofeng.tang@intel.com>
5 years agoNull check for DRM buffer before invoking.
Shaofeng Tang [Tue, 15 Jan 2019 13:17:19 +0000 (21:17 +0800)]
Null check for DRM buffer before invoking.

Checking if DRM buffer pointor is null or not before invoking it.
In order to avoid hwc crash once DRM fail to malloc buffer

Change-Id: I1599d2d70516859256bf4b1d1b59e390d95d1649
Tests: Compile sucessful for Android.
Tracked-On: https://jira.devtools.intel.com/browse/OAM-75080
Signed-off-by: Shaofeng Tang <shaofeng.tang@intel.com>
5 years agoReplace SetExplicitSyncSupport with SetDisableExplicitSync
Lin Johnson [Thu, 10 Jan 2019 02:55:31 +0000 (10:55 +0800)]
Replace SetExplicitSyncSupport with SetDisableExplicitSync
SetExplicitSyncSupport is misleading. The actually meaning is to disable ExplicitSync

Change-Id: Ic6d12cdc52c1ee6355382a03dea58560fdd1e281
Tracked-On: None
Tests: Android UI normal
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
5 years agoRevert "Return false for none of DrmModeMode"
Shaofeng Tang [Wed, 9 Jan 2019 07:10:01 +0000 (15:10 +0800)]
Revert "Return false for none of DrmModeMode"

This patch could cause a boot issue. revert it for time being
This reverts commit a1a54397597cf078a649724f85f6414aabaee198.

Change-Id: I8030db728056341c638340725ce661791e7bf99f
Tracked-On:https://jira.devtools.intel.com/browse/OAM-73760
Tests: Compile sucessful for Android.
Signed-off-by: Shaofeng Tang <shaofeng.tang@intel.com>
5 years agodrmBuffer: wrap CreateFrameBuffer in GetFb
Lin Johnson [Thu, 27 Dec 2018 03:19:02 +0000 (11:19 +0800)]
drmBuffer: wrap CreateFrameBuffer in GetFb
Since GetFb and CreateFramebuffer are always coupled
This make callers only need to call GetFb

Change-Id: Ifdee963065e92a984205f851db2b2e2c27ae9a4e
Tracked-On: None
Tests: Andriod UI normal
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
5 years agoRemove choose_drm_modifier
Lin Johnson [Sat, 29 Dec 2018 03:09:13 +0000 (11:09 +0800)]
Remove choose_drm_modifier

We should not relay on a simple util functions to choose CCS
modificators. That could be risky if one drm plane does not support
CCS modificator. We should let drmplane tell us which kind of modifier
the plane preferred

Change-Id: Ia9b3c9d0a7a1f05694635e12aaa97a70b880cb9b
Tracked-On: None
Tests: Android UI normal and RBC working
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
5 years agoZoom in or out the rendering damage for different display
Shaofeng Tang [Thu, 3 Jan 2019 02:03:04 +0000 (10:03 +0800)]
Zoom in or out the rendering damage for different display

Add the "zoom in and out" code back for connecting 2 display with different
resolution. In the bug case, 2K and 1080P display are connected. the Rect
should be enlarged for 2K when the rect is calculated with 1080p source
coordinates. and only when the damage region is set by SF, the damage will
be zoomed in/out.

Change-Id: I60cdd681895e8fa4907a89c2450c6da410ba208b
Tests: Verified on Celadon with 2 displays and mosaic on GP
Tracked-On: https://jira.devtools.intel.com/browse/OAM-73581
Signed-off-by: Shaofeng Tang <shaofeng.tang@intel.com>
5 years agoModify the connected display calculate logic
Yang, Dong [Fri, 21 Dec 2018 01:38:00 +0000 (09:38 +0800)]
Modify the connected display calculate logic

The conneted display count should be calculated before the
drmdisplaymanager try to connect the physical display,
the original method will count a logical connected display,
only already conneted by drmdisplaymanager will be counted,
but since the number will be used during the diaplay
connection, so it will get the wrong display number.

Change-Id: I9f0a96bd34b7c3ef4ea040c798cebfa0f332796a
Tracked-On: https://jira.devtools.intel.com/browse/OAM-73655
Tests: the overlay disappear issue gone, and display works fine
Signed-off-by: Yang, Dong <dong.yang@intel.com>
5 years agoCorrect overlay alpha blending value setting
Yuanjun Huang [Wed, 26 Dec 2018 05:47:38 +0000 (13:47 +0800)]
Correct overlay alpha blending value setting

Correct Alpha value setting to align with i915 kernel driver
in which overlay Alpha blending is first time being enabled
from kernel 4.20.

In driver it takes high 8bit of 16bit value.

Tracked-On: None
Test: boot to Android UI with kernel 4.20
Signed-off-by: Yuanjun Huang <yuanjun.huang@intel.com>
5 years agoReturn false for none of DrmModeMode
Shaofeng Tang [Thu, 27 Dec 2018 07:19:44 +0000 (15:19 +0800)]
Return false for none of DrmModeMode

Return false for none of DrmModeModeInfo, rather than invoking physical
display to get the config.

Change-Id: Ib171c387ab3c9c0963277fc0a1de053632c6d2a0
Tracked-On:https://jira.devtools.intel.com/browse/OAM-73760
Tests: Compile sucessful for Android, 3000 round reboot testing.
Signed-off-by: Shaofeng Tang <shaofeng.tang@intel.com>
5 years agoHWC: optimize the 1st display frame commit
Yang, Dong [Wed, 12 Dec 2018 07:29:44 +0000 (15:29 +0800)]
HWC: optimize the 1st display frame commit

After the earlyEvs exit, the HWC will get the hwc.lock
and begin rendering, but the initialize for the
1st frame will take ~150ms, this patch will let
the initialize done before taken hwc.lock.

Change-Id: I78c636a70b37cfbd69c2d8991eefd4a1ba46659f
Tracked-On: None
Tests: Test transition from earlyEvs to HWC, the time reduced from 400ms to 50ms
Signed-off-by: Yang, Dong <dong.yang@intel.com>
5 years agoFixed the HWC crash caused by map iterator erase.
Wan Shuang [Mon, 10 Dec 2018 10:28:37 +0000 (18:28 +0800)]
Fixed the HWC crash caused by map iterator erase.

Erase map iterator during iterating a map caused the crash.
The fix is to avoid erase itator in the interating loop and clear
the iterator after the loop end.

Change-Id: I409a6293ad290b7aaae8f2f4ea6e971cc29cf34a
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-71721
Tests: Trigger VirtualDisplay destructor condition and no HWC crash.
Signed-off-by: Wan Shuang <shuang.wan@intel.com>
5 years agoAndroid: disable use modificators in some situation
Lin Johnson [Thu, 6 Dec 2018 06:56:58 +0000 (14:56 +0800)]
Android: disable use modificators in some situation

In Android we meet scrambe screen and system hung issues
when modificators are used
this WA is to disalbe modificators in those situations
the real fix is to be come yet

Change-Id: Ie77503f8f427d2d92761f6407e3a684f062d3e3a
Tracked-On: None
Tests: no scrambled UI and no system hang
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
5 years agoCheck null pointer before using layer buffer.
Shaofeng Tang [Tue, 4 Dec 2018 06:47:02 +0000 (14:47 +0800)]
Check null pointer before using layer buffer.

Add a checking for the pointer of layer buffer to avoid Null pointer dereference.

Change-Id: Id0ba3b3a814132fe9344afa7f7c8fe7c4d16cbec
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-72208
Tests: Compile sucessful for Android
Signed-off-by: Shaofeng Tang <shaofeng.tang@intel.com>
5 years agoDo not need translate when source crop is not (0, 0)
HeYue [Mon, 3 Dec 2018 02:34:22 +0000 (10:34 +0800)]
Do not need translate when source crop is not (0, 0)

In Android, when the source crop is not (0, 0), the surface damage
is already translated to global display coordinate, no translation
is needed.
When the source crop is (0, 0), no scaling is needed, just transofrm
the coordiate according to the rotation scenario.

Change-Id: Ib4cd394290458a189c92fa668190107bb92dc49e
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-72393
Tests: The HVAC, independent rotation and Mosaic mode work well
Signed-off-by: HeYue <yue.he@intel.com>
5 years agoPAVP: when set display plane, the plane should in use true
Lin Johnson [Wed, 28 Nov 2018 14:36:55 +0000 (22:36 +0800)]
PAVP: when set display plane, the plane should in use true

This resolve the blank plane problem after squash
non-video plane

Tracked-On: https://jira01.devtools.intel.com/browse/OAM-72377
Change-Id: I2bd73dbb68f9e986bcd857a04c739e03f7504694
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
5 years agoFix two marjor issues blocking PAVP playback in HWC
Lin Johnson [Mon, 26 Nov 2018 07:14:13 +0000 (15:14 +0800)]
Fix two marjor issues blocking PAVP playback in HWC

1) When video is on top layers, there is no ganrantee that video get a separate plane.
Video can be assign to be composited. Add logic to squash non-video planes to make video
to get a seperate plane
2) When layers are scanout, or be processed as video plane, there is no necessary to
getGPUResources from them. It is a reductant operation and may result in error then video is
protected

Change-Id: I379ce5ecf3944230580734ac8317e6c6e3f7f8e1
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-71887
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
5 years agoFix Alpha calculation error
Shaofeng Tang [Fri, 30 Nov 2018 07:22:23 +0000 (15:22 +0800)]
Fix Alpha calculation error

The Alpha of layer should be calculated with texture Alpha alone.
Instead of plus with RGB.

Change-Id: I848e0f1060a87e1a2b54f07a4f353cf0b4e453b4
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-72398
Tests: Compile sucessful for Android. Check the issue is fixed
Signed-off-by: Shaofeng Tang <shaofeng.tang@intel.com>
5 years agoUpdate README.md to point to project wiki pages
Kelly Ledford [Mon, 26 Nov 2018 22:16:05 +0000 (14:16 -0800)]
Update README.md to point to project wiki pages

Remove documentation information as it is duplicated in the wiki

Change-Id:
Tracked-On: None
Test: None
Signed-off-by: Kelly Ledford <kelly.ledford@intel.com>
5 years agoDo not need change surface damage rect
HeYue [Wed, 28 Nov 2018 03:21:18 +0000 (11:21 +0800)]
Do not need change surface damage rect

In Android, the surface damage rect is already translated
coordinate in framework. No translation is needed.

Change-Id: I9ae023731226bec8d5e62ac021685aa581977280
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-71886
Tests: The HVAC, independent rotation and Simple Podcatcher work well
Signed-off-by: HeYue <yue.he@intel.com>
5 years agoAdd full color range support
HeYue [Tue, 27 Nov 2018 06:39:50 +0000 (14:39 +0800)]
Add full color range support

By default the HWC only support reduced color range.

Change-Id: Icf3ed7ab7c8a4a619da6e47341e5832a8577caf7
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-71652
Tests: Support full color video.
Signed-off-by: HeYue <yue.he@intel.com>
5 years agoFix the error in non-black SolidColor patch
Shaofeng Tang [Tue, 27 Nov 2018 14:13:31 +0000 (22:13 +0800)]
Fix the error in non-black SolidColor patch

The android type 'hwc_color_t' should not be used outside of
'os/android/'

Change-Id: I87dc20d1d2e7e9566b0ea74f9e1316378242fb55
Tracked-On: None
Tests: Compile sucessful for Android.
Signed-off-by: Shaofeng Tang <shaofeng.tang@intel.com>
5 years agoAdd support for Non-black SolidColor type
Shaofeng Tang [Mon, 26 Nov 2018 05:01:56 +0000 (13:01 +0800)]
Add support for Non-black SolidColor type

The layer without buffer handler will be filled by HWC
with the color assigned from iahwc2/SetLayerColor.

Change-Id: I10d9d322deec49d0dff660883decd377be2891ab
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-71643
Tests: Compile sucessful for Android, Pass feature validating.
Signed-off-by: Shaofeng Tang <shaofeng.tang@intel.com>
5 years agoAndroid: Fix the compile warning
HeYue [Fri, 16 Nov 2018 07:58:42 +0000 (15:58 +0800)]
Android: Fix the compile warning

Reduce the Wsign-compare and Wcast-qual warning.

Change-Id: If1dfcfa0357c17a84b2227fc23c737c36c6d3530
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-71835
Tests: Compile sucessful for Android.
Signed-off-by: HeYue <yue.he@intel.com>
5 years agoSetProtected: fix logic error
Lin Johnson [Wed, 14 Nov 2018 08:29:46 +0000 (16:29 +0800)]
SetProtected: fix logic error

Should only allow video and protected layer switch

Change-Id: I4633725277e0cee125c24b33a42fcd481f9f5990
Tracked-On: None
Tests: Video playback on Android
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
5 years agoRename HwcBuffer to HwcMeta
Lin Johnson [Sun, 11 Nov 2018 03:31:48 +0000 (11:31 +0800)]
Rename HwcBuffer to HwcMeta

HwcBuffer name is misleading,
actually it is just some meta info

Change-Id: I418fe1f56cd331e6b029e73884770a8ce15e004f
Tracked-On: None
Tests: compliation pass on Android
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
5 years agoDo not need change size from source crop to display rect
HeYue [Wed, 14 Nov 2018 06:19:08 +0000 (14:19 +0800)]
Do not need change size from source crop to display rect

When source crop begin from (0, 0), the source crop size
change will cause translated damage region doesn't correct.

Change-Id: Iae3143ac9be38b35c1e6649e7721469e6f39a790
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-71102
Tests: AutoBots test don't have flick/half screen, the HAVC working ok.
Signed-off-by: HeYue <yue.he@intel.com>
5 years agoAdd support for the Color Depth control
Kishore Kadiyala [Wed, 10 Oct 2018 19:48:18 +0000 (01:18 +0530)]
Add support for the Color Depth control

By default the Kernel sets the bpc for a Pipe based on EDID
while considering the range of bpc supported by the pipe .
In this patch, Userspace requests the kernel for a specific bpc
based on a particular resolution.

Change-Id: None
Tracked-On: None
Tests: Android UI starts normally and bpc request to kernel goes fine
       leaving the kernel to decide for the pipe.
Signed-off-by: Kishore Kadiyala <kishore.kadiyala@intel.com>
5 years agoFix Critical KW issue:Buffer Overflow
Jenny Cao [Thu, 15 Nov 2018 01:53:19 +0000 (09:53 +0800)]
Fix Critical KW issue:Buffer Overflow

Klockwork has issue for buffer overflow in use sprintf.
Change the sprintf to snprintf.

Change-Id: I1a1454c6dc7d0bc64d2203e33c09a49b553e6b9a
Tracked-on: https://jira01.devtools.intel.com/browse/OAM-71738
Tests: Compliation on Android pass
Signed-off-by: Jenny Cao <jenny.q.cao@intel.com>
5 years agoClean error log in HWC
Shaofeng Tang [Wed, 14 Nov 2018 01:37:11 +0000 (09:37 +0800)]
Clean error log in HWC

ETRACE should be only used for a real error happens. Abused ETRACE
is relaced by ITRACE.

Change-Id: I920da4a68d9fdc9395bcf70dac2c865e040d7b25
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-71548
Tests: Compile sucessful for Android.
Signed-off-by: Tang, Shaofeng <shaofeng.tang@intel.com>
5 years agoSeparate disable_overlay and disable_explictsync
Lin Johnson [Mon, 12 Nov 2018 02:44:20 +0000 (10:44 +0800)]
Separate disable_overlay and disable_explictsync

disable_overlay means do not use HW overly.
It is beneficial for overlay debug.
disable_explictsync is Android framework feature about fence synchronization

Chaned-Id: None
Tracked-On: None
Tests: Compliation on Android pass
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
5 years agoFix critical KW issue
Jenny Cao [Tue, 6 Nov 2018 05:24:01 +0000 (13:24 +0800)]
Fix critical KW issue

1): Do null check for pointer 'edid' before dereferenced.
2): Do null check for pointer 'buffer' before dereferenced.

Tracked-On: https://jira01.devtools.intel.com/browse/OAM-70809
Tested-by: build test and kw scan check
Signed-off-by: Jenny Cao <jenny.q.cao@intel.com>
5 years agocheck_patch.py: Update link address
Kelly Ledford [Thu, 25 Oct 2018 17:58:01 +0000 (10:58 -0700)]
check_patch.py: Update link address

Wiki reference link was out of date due to wiki update.

Change-Id: None
Tracked-On: None
Tests: None -- comment change
Signed-off-by: Kelly Ledford <kelly.ledford@intel.com>
5 years agoPAVP: set vpp parameters if layer is protected
Lin Johnson [Sun, 28 Oct 2018 03:58:25 +0000 (11:58 +0800)]
PAVP: set vpp parameters if layer is protected

Also fix logic error related with SetProtected

Jira: None
Test: Android UI normal
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
5 years agoAndroid: Fix unused parameters complie warnings in Makefile
HeYue [Mon, 29 Oct 2018 01:00:50 +0000 (09:00 +0800)]
Android: Fix unused parameters complie warnings in Makefile

Reduce about 140 -Wunused-parameter warnings while compile Android.

Jira: https://jira01.devtools.intel.com/browse/OAM-70251
Tests: Compile sucessful for Android.
Signed-off-by: HeYue <yue.he@intel.com>
5 years agoSolidColor type: release fence fix
Lin Johnson [Thu, 25 Oct 2018 10:28:00 +0000 (18:28 +0800)]
SolidColor type: release fence fix

As the layer is a render target of GPU, we should still
set the release fence of it. SurfaceFlinger need the fence to sync.
The acquire fence is not necessary since the layer has no buffer at all

Jira: https://jira01.devtools.intel.com/browse/OAM-70347
Test: Android UI normal and no fd leak
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
5 years agoFixed the crash due to layer->GetNativeHandle returns a null pointer.
Wan Shuang [Tue, 23 Oct 2018 07:30:16 +0000 (15:30 +0800)]
Fixed the crash due to layer->GetNativeHandle returns a null pointer.

The fix is to skip the layer handling if the layer buffer is NULL.

Jira: OAM-70263
Tests: HWC doesn't crash if handling layer with no buffer attached.
Signed-off-by: Wan Shuang <shuang.wan@intel.com>
5 years agoDeinterlace: change the default settings to auto
Lin Johnson [Thu, 18 Oct 2018 08:11:57 +0000 (16:11 +0800)]
Deinterlace: change the default settings to auto
interlace infomation should be according to GRALLOC_USAGE_PRIVATE_0
frame by frame tracking is not necessary

Jira: None
Tests: Android UI starts normally
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
5 years agoHDCP: Should use connector_id (port_id) as the index for HDCP operations
Lin Johnson [Thu, 18 Oct 2018 06:41:42 +0000 (14:41 +0800)]
HDCP: Should use connector_id (port_id) as the index for HDCP operations
HDCP operation should be only valid for physical connection
This is to support selective HDCP enabling

Jira: None
Tests: Android UI works well
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
5 years agoHDCP: Add GetDisplayIDFromConnectorID
Lin Johnson [Wed, 17 Oct 2018 14:55:28 +0000 (22:55 +0800)]
HDCP: Add GetDisplayIDFromConnectorID
This API should be used for selective HDCP port enabling
From HDCP Daemon

Jira: https://jira01.devtools.intel.com/browse/OAM-69940
Tests: None
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
5 years agoCorret the condition check which will casue DestroyVirtualDisplay failure
xue.yifei [Sat, 29 Sep 2018 07:25:38 +0000 (15:25 +0800)]
Corret the condition check which will casue DestroyVirtualDisplay failure

Jira: https://jira01.devtools.intel.com/browse/OAM-68393
Tests: function test on android
Signed-off-by: xue.yifei <yifei.xue@intel.com>
5 years agoSet HWC as DRM master when got exclusive lock of /vendor/hwc.lock.
Wan Shuang [Mon, 15 Oct 2018 02:40:49 +0000 (10:40 +0800)]
Set HWC as DRM master when got exclusive lock of /vendor/hwc.lock.

This is to ensure HWC could take over the DRM master role when earlyEvs
exits and make the Android UI rendering correctly as expected.

Jira: OAM-70073
Tests: Boot into Android home screen
Signed-off-by: Wan Shuang <shuang.wan@intel.com>
5 years agoAdd function to transfrom source damage to rendering damage
Lin Johnson [Tue, 16 Oct 2018 03:28:29 +0000 (11:28 +0800)]
Add function to transfrom source damage to rendering damage
this paritial incorparate 145bf9c5853cb5b0de0136a076d1a8b9b0b1c8dc
aftering reverting it.
Also consider the situation source corp is not the same size with
display_rect. That means we also have to scale the output rendering
damage rect

Jira: None
Tests: On Android, HVAC should behave normally
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
5 years agofix compliation error caused by rebase 05cda00f4c6322c1af75d0d28bf8b1789f050940
Lin Johnson [Mon, 15 Oct 2018 03:45:24 +0000 (11:45 +0800)]
fix compliation error caused by rebase 05cda00f4c6322c1af75d0d28bf8b1789f050940

Jira: None
Tests: Should not be only compilation error

5 years agoChange decryption prop name
Lin Johnson [Thu, 19 Jul 2018 01:42:52 +0000 (09:42 +0800)]
Change decryption prop name
GPU compositor should set target protected to false

Jira: None
Tests:None
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
5 years agoHWC to support protected buffer display
Lin Johnson [Thu, 12 Jul 2018 08:16:42 +0000 (16:16 +0800)]
HWC to support protected buffer display
It should be trough RRB2 propery accroding
the design

Jira: OAM-65937
Tests: None
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
Conflicts:
common/core/overlaylayer.h

5 years agoProtected layer should always choose video path
Lin Johnson [Wed, 27 Jun 2018 07:33:02 +0000 (15:33 +0800)]
Protected layer should always choose video path

For CSC and composition. Mesa will not support
Encrypted surface yet

Jira: None
Tests:None
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
5 years agoDrmDisplay: check if sink supports DCI-P3.
Harish Krupo [Sun, 16 Sep 2018 04:30:47 +0000 (10:00 +0530)]
DrmDisplay: check if sink supports DCI-P3.

The sink exposes whether it supports the DCI-P3 color space in the
colorimetry block present in the EDID. This patch implemnets an EDID
parser to get DCI-P3 support from the sink.

Jira: None
Test: When a DCI-P3 capable display is connected, "DCI-P3 support available"
      log will be present in the logcat.

Signed-off-by: Harish Krupo <harish.krupo.kps@intel.com>
Conflicts:
public/nativedisplay.h
wsi/drm/drmdisplay.h

5 years agoHDCP: Add Set SRM support
Lin Johnson [Tue, 9 Oct 2018 01:29:33 +0000 (09:29 +0800)]
HDCP: Add Set SRM support

Jira: None
Tests: Android UI workes nomrally
Signed-off-by: Lin Johnson <johnson.lin@intel.com>