OSDN Git Service
Kalyan Kondapally [Sun, 10 Dec 2017 12:02:00 +0000 (04:02 -0800)]
Allow to create FB with preferred format.
On primary plane, we sometimes fallback to use XRGB format if
ARGB is not supported. As we cache buffers now, we check if fb is
present and if so ignore the request. In this case we should
delete existing fb and create a new one.
Jira: None.
Test: All hwc-val tests pass on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sun, 10 Dec 2017 10:18:01 +0000 (02:18 -0800)]
Call ReleaseGraphicsBuffer only for imported handles.
This is the only time when we have valid GEM handles.
Jira: None.
Test: Ensure app open/close doesn't show memory leak on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sun, 10 Dec 2017 10:11:25 +0000 (02:11 -0800)]
Remove redundant code.
Jira: None.
Test: No new regressions on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sun, 10 Dec 2017 09:26:25 +0000 (01:26 -0800)]
Use Gralloc 1.0 API directly.
Instead of using GrallocMapper API, let's use Gralloc
API directly. This is needed to set modifiers in future.
Jira: None.
Test: No new regressions on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sun, 10 Dec 2017 08:08:08 +0000 (00:08 -0800)]
Use ResourceManager to release Virtual display resources.
Similar to other resources, let's use ResourceManager to
handle this.
Jira: None.
Test: Virtual Display still works on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sun, 10 Dec 2017 03:28:09 +0000 (19:28 -0800)]
Don't try to check for GPU resources if we dont have one.
We now check if we have valid GPU resources to release
before trying to delete them in CompositorThread. This avoids
the need to initialize gl context if not needed.
Jira: None.
Test: Boots to home screen on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sun, 10 Dec 2017 03:02:34 +0000 (19:02 -0800)]
Fix build when RESOURCE_CACHE_TRACING is enabled.
Jira: None.
Test: Build passes on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sun, 10 Dec 2017 02:47:50 +0000 (18:47 -0800)]
Move drmfb deletion to Compositor thread.
This is part of moving all resource de-allocation to
Compositor thread.
Jira: None.
Test: No new issues on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sun, 10 Dec 2017 01:57:48 +0000 (17:57 -0800)]
Dont mark resources owned by HWC for deletion twice.
We where doing this in GLSurface and drmbuffer.
Jira: None.
Test: Check we dont mark same texture for deletion twice.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sun, 10 Dec 2017 00:41:39 +0000 (16:41 -0800)]
Rename HwcLayerBufferManager as ResourceManager.
Jira: None.
Test: Build passes on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sun, 10 Dec 2017 03:12:07 +0000 (19:12 -0800)]
Get NativeHandler from BufferManager.
Instead of passing two to every place, lets query this from
BufferManager.
Jira: None.
Test: Build passes on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Lin Johnson [Tue, 28 Nov 2017 08:38:20 +0000 (16:38 +0800)]
Add external layer buffer cache management.
This is to avoid import and generate eglImage and
texture for every frame.
Jira: None
Tests: UI, Video, Camera work as before.
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
Mingwei Wang [Wed, 27 Sep 2017 07:15:41 +0000 (15:15 +0800)]
resolve HWC2_VSYNC_DISABLE correctly
Jira: None.
Test: adb shell stop/start no regression.
Change-Id: Ife0eae217b648d859637c38e419361df24ed8fcc
Signed-off-by: Mingwei Wang <mingwei.wang@intel.com>
Lin Johnson [Fri, 8 Dec 2017 08:36:56 +0000 (16:36 +0800)]
Fix the scissor area calculation.
We should use as small area as possible.
Jira: None
Test: No new rendering artifacts on Android.
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
Xiaosong Wei [Wed, 15 Nov 2017 08:56:08 +0000 (16:56 +0800)]
Add hooks to pass video color control to varenderer
Add hooks for passing video color control information to VARenderer.
Video effect functions will be implemented based on these hooks.
Jira: GSE-488
Test: Build passes on Android
Signed-off-by: Xiaosong Wei <xiaosong.wei@intel.com>
Xiaosong Wei [Mon, 4 Dec 2017 07:43:46 +0000 (15:43 +0800)]
Add P010 pixel format support in VARenderer
p010 pixel format support in VARenderer is needed to support
playing back 10bits video
Jira: None
Test: Build passed on both Android & Linux and works as expected
Signed-off-by: Xiaosong Wei <xiaosong.wei@intel.com>
Kevin Strasser [Thu, 30 Nov 2017 18:12:48 +0000 (10:12 -0800)]
Fix Linux build
Seeing the following linker error on Linux since commit
674b37e8e6:
../.libs/libhwcomposer.so: undefined reference to `hwcomposer::NestedDisplay::NestedDisplay()'
Just need to add the new file to the Makefile
Jira: None
Test: Build passes on Linux
Signed-off-by: Kevin Strasser <kevin.strasser@intel.com>
Randy Xu [Wed, 22 Nov 2017 05:00:34 +0000 (13:00 +0800)]
Add settings file for virtualized environment
Export default setting in virtualized environment for Android
Jira: None
Test: Boot with default settings in virtualized env
Signed-off-by: Randy Xu <randy.xu@intel.com>
Mingwei Wang [Tue, 21 Nov 2017 03:17:30 +0000 (11:17 +0800)]
Add nested display support in hwc
This display can be client to a real physical
display.
Jira: None.
Test: Build passes on Android. Tests still work as now.
Signed-off-by: Mingwei Wang <mingwei.wang@intel.com>
Yang, Dong [Wed, 22 Nov 2017 06:58:56 +0000 (14:58 +0800)]
hwc.lock moved to vendor partition
the hwc.lock moved from rootfs to vendor partition
Jira: None.
Test: Boots to homescreen on Android.
Signed-off-by: Yang, Dong <dong.yang@intel.com>
Chen Yu Y [Tue, 21 Nov 2017 08:57:39 +0000 (16:57 +0800)]
Extend the search scope of c header files
When VNDK enabled, system strict the header file search
scope, this patch extend the c includes search scope
Change-Id: I2b950484dabc5487fc5756fac599ec365263cb22
Tracked-On: https://jira01.devtools.intel.com/browse/OAM-53160
Signed-off-by: Chen Yu Y <yu.y.chen@intel.com>
Fan, Yugang [Tue, 28 Nov 2017 07:03:44 +0000 (15:03 +0800)]
Fix display frame rect and source crop issue in Mosaic Display.
Also update the frame rect and source crop besides the first
display of Mosaic mode.
Jira: None.
Test: Play video with the different resolution or run testlayers with
different source size and frame rect in mosiac mode, without reg
issues, and video show normally(parts of different screen) in
mosaic mode.
Signed-off-by: Yugang, Fan <yugang.fan@intel.com>
Kalyan Kondapally [Sun, 26 Nov 2017 06:24:21 +0000 (22:24 -0800)]
Remove UpdateDisplayFrame in NativeSurface.
Jira: None.
Test: Build passes on Linux and Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sun, 26 Nov 2017 06:16:11 +0000 (22:16 -0800)]
Move surface damage calculations to a separate function.
This way we can use common logic with Mosaic.
Jira: None.
Test: Build passes on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sat, 25 Nov 2017 11:21:42 +0000 (03:21 -0800)]
Fix display frame rect calculations for Mosaic.
We calculated right co-ordinates incorrectly. We should
be translating it w.r.t left_constraint.
Jira: None.
Test: Mosaic shows content correctly in second display.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sat, 25 Nov 2017 11:02:37 +0000 (03:02 -0800)]
Avoid invalidating cache if all attributes are same for new layer.
Currently, we invalidate all cache if a layer is re-created with
same attributes. Now, we make sure we invalidate the cache only
if attributes have really changed.
Jira: None.
Tests: All linux tests pass, hwc-val tests pass as now and no
new regressions seen on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sun, 26 Nov 2017 06:36:19 +0000 (22:36 -0800)]
Add a helper to handle cursor layer.
Jira: None.
Test: Build passes on Linux and Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sat, 25 Nov 2017 11:17:20 +0000 (03:17 -0800)]
Remove redundant checks.
Jira: None.
Test: No graphics flickers seen on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sun, 26 Nov 2017 03:34:32 +0000 (19:34 -0800)]
Add utility function to check if two rects overlap or not.
Jira: None.
Test: No new regressions on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sun, 26 Nov 2017 02:53:36 +0000 (18:53 -0800)]
Add utility function to reset rect based on Region.
This will be used in test suite in follwup patches.
Jira: None.
Test: Build passes.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sat, 25 Nov 2017 11:46:27 +0000 (03:46 -0800)]
Fix linux builds.
Jira: None.
Test: Build passes on Linux.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kishore Kadiyala [Thu, 23 Nov 2017 06:44:50 +0000 (12:14 +0530)]
Revert "Add nested display support in hwc"
This reverts commit
7642a9d3f05e92eadd5e38d46e2000e95dcc2a9d.
Jira: None
Test: Cold/Warm reboot with displays connected, no blank screen
in either of displays
Signed-off-by: Kishore Kadiyala <kishore.kadiyala@intel.com>
Kishore Kadiyala [Thu, 23 Nov 2017 06:42:56 +0000 (12:12 +0530)]
Revert "Revert "Fix Primary display order issues on Android.""
This reverts commit
061ce5476adaeff5af0e0ecc8c13a79f519a4eb8.
Jira: None
Test: Cold/Warm reboot with displays connected, no blank screen
in either of displays
Signed-off-by: Kishore Kadiyala <kishore.kadiyala@intel.com>
Xiaosong Wei [Wed, 22 Nov 2017 08:28:32 +0000 (16:28 +0800)]
Add hwcservice_test
A native test app to verify HwcService remotely.
Jira: GSE-489
Test: Build passed on Android and works as expected
Signed-off-by: Xiaosong Wei <xiaosong.wei@intel.com>
Kalyan Kondapally [Wed, 22 Nov 2017 08:44:40 +0000 (00:44 -0800)]
Revert "Ignore updates for a pipe which has no planes."
This reverts commit
eaf3836eda534021e3b4f125214a8fdc4ce97fa5.
Kishore Kadiyala [Wed, 22 Nov 2017 08:26:31 +0000 (13:56 +0530)]
Revert "Fix Primary display order issues on Android."
This reverts commit
4ff7d579227cdfa3c53bb779a03850021359d253.
This patch creates regression of making one display blank when booted
with target connected to than one display
Jira: None
Test: Cold/Warm reboot with displays connected should not result in
blank screen in any display
Signed-off-by: Kishore Kadiyala <kishore.kadiyala@intel.com>
Kalyan Kondapally [Tue, 21 Nov 2017 22:43:16 +0000 (14:43 -0800)]
Replace GRALLOC_USAGE_* flags with GRALLOC1 equivalents.
Jira: None.
Test: No new regressions on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kishore Kadiyala [Tue, 21 Nov 2017 16:02:34 +0000 (21:32 +0530)]
Enable hwcservice
Jira: None
Test: hwcmode [displayId <print/get/set <displayconfigindex>>] works.
Signed-off-by: Kishore Kadiyala <kishore.kadiyala@intel.com>
renchenglei [Tue, 21 Nov 2017 11:01:19 +0000 (19:01 +0800)]
Fix "format" compile warnings on Android
Jira: None.
Test: Build passes on Android and no warnings reported.
Kalyan Kondapally [Tue, 21 Nov 2017 08:03:26 +0000 (00:03 -0800)]
Ignore updates for a pipe which has no planes.
On some platforms we might not have any planes allocated
for us to work with. In this case ignore any updates for
this display queue.
Jira: None.
Test: We dont crash when planes are not associated for a
given pipe.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Mingwei Wang [Tue, 21 Nov 2017 03:17:30 +0000 (11:17 +0800)]
Add nested display support in hwc
This display can be client to a real physical
display.
Jira: None.
Test: Build passes on Android. Tests still work as now.
Signed-off-by: Mingwei Wang <mingwei.wang@intel.com>
Kalyan Kondapally [Mon, 20 Nov 2017 01:30:56 +0000 (17:30 -0800)]
Add Meta data field to our NativeHandle.
This can be used to query buffer specific attributies. This
helps remove OS specific calls in our test suites.
Jira: None.
Test: Build passes on Android and Linux. Tests still work as
today.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Mon, 20 Nov 2017 01:08:59 +0000 (17:08 -0800)]
Remove support for Gralloc backends older than 1.0.
As I know, no one is using older Gralloc API with our
HWC. As we change things we are not testing the older
backends. Let's bring the support back if someone
really needs this.
Jira: None.
Test: Build passes on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Mon, 20 Nov 2017 01:07:55 +0000 (17:07 -0800)]
Remove support for non Minigbm backends on Android.
We are not testing these backends and we have got to a stage
where it's getting hard to maintain both. Let's get them
back if the need arises.
Jira: None.
Test: Build passes on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sat, 18 Nov 2017 20:33:27 +0000 (12:33 -0800)]
Remove WA in DisplayQueue.
We shouldn't need this now as we ensure we clear surfaces
as needed.
Jira: None.
Test: No garbage seen when content is being moved around.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sat, 18 Nov 2017 19:59:27 +0000 (11:59 -0800)]
Ensure we clear surfaces correctly when recycling composition results.
As we cache results, let's make sure we clear them when anything
results in clearing one of the surface. This should ensure we
take into account any display region changes in all surfaces.
Jira: None.
Test: No new regressions on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Tue, 14 Nov 2017 08:08:09 +0000 (00:08 -0800)]
Remove unused format.
Jira: None.
Test: Build passes on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Fri, 17 Nov 2017 22:27:03 +0000 (14:27 -0800)]
Fix Primary display order issues on Android.
We respect the display order in hwc_display.ini, but we
might not have the display connected. In this case we
need to treat the first connected display as primary.
Jira: None.
Test: Any combination of display order, connection status
works.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Lin Johnson [Wed, 15 Nov 2017 13:30:06 +0000 (21:30 +0800)]
Fix incorrect region width/height calculation.
Jira:https://jira01.devtools.intel.com/browse/OAM-52773
Tests: Video should be in the middle even if it does not scale
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
Yang Shi [Tue, 14 Nov 2017 02:54:06 +0000 (10:54 +0800)]
fix the screencap black screen issue
When there is no display to connect device, the original HWC module
will create only 1*1 framebuffer.
So screencap will not works properly, it only can get a black screen.
This will block many test case.
In order to fix this issue, we make the default width and height to
1080p format for most HDMI device use this format.
JIRA: https://jira01.devtools.intel.com/browse/OAM-50818
TEST: screencap can works well when don't connect any display device
Signed-off-by: Yang Shi <yang.a.shi@intel.com>
Dong Yang [Mon, 13 Nov 2017 09:03:49 +0000 (01:03 -0800)]
Let's not override Ignoreupdate state in Initialzation.
DisplayQueue Initialization is called during Connect() call
and we set idle_tracker_.state_ as 0. This conflicts if
hwclock thread is still waiting for the lock to be released.
Let's make sure we respect this setting always.
Jira: None.
Test: No flicker seen during boot up on Android.
Signed-off-by: Dong Yang <dong.yang@intel.com>
Kalyan Kondapally [Sun, 12 Nov 2017 07:00:05 +0000 (23:00 -0800)]
HandleWait when lock_fd is -1.
Instead of going in a continuous loop between HandleRoutine
and Wait, let's wait using poll till someone kills hwclock
thread.
Jira: None.
Test: Dont see 100% cpu usage consumed by hwcservice on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Fri, 10 Nov 2017 12:48:35 +0000 (04:48 -0800)]
Explicitly inform queue when to ignore updates.
Jira: None.
Test: HWCLock thread is destroyed correctly on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Mon, 13 Nov 2017 00:24:02 +0000 (16:24 -0800)]
Track Source rect instead of position.
In 3D composition case, change in source rect means content
has changed and we can avoid clearing the complete surface unless
display frame has changed. Also, in plane composition case we
can avoid re-validating the cached results in case the width
and height remain same i.e. Should't impact any scaling ratio
results vs display frame.
Jira: None.
Test: No new artifacts seen on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sun, 12 Nov 2017 23:32:34 +0000 (15:32 -0800)]
Add support to rotate displays independent of each other.
This adds initial plumbing needed to apply rotations for
different physical displays independent of each other. This
is again a boot time setting in hwc_display.ini which cannot
be changed during run time.
One needs to change ROTATION to true in hwc_display.ini to test
this. Layers are not scaled correctly, still some work to be done
to take plane rotations into use and scale layers correctly when
rotation if 3D composition is needed.
Jira: None.
Test: When "ROTATION" is set to true, Physical Display 1 content
is rotated 90 and Display 0 is having a rotation of 0 on
Linux and Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sun, 12 Nov 2017 22:02:41 +0000 (14:02 -0800)]
Add PlaneTransform API.
We have use cases where the whole physical display may be
rotated and hence rotation needs to be applied on top of
any layer specific transformations. Let Overlaylayer take
this into consideration and Plane will use this when
applying rotation for a given plane. It would be ideal if
we can have a property which would take the rotation into
account after all the plane output is put together.
Jira: None.
Test: No regressions on current Android use cases.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sun, 12 Nov 2017 06:51:20 +0000 (22:51 -0800)]
Make Mosaic Display work for different heights.
We use max height of all Physical displays. If size of
physical display is smaller than the maximum height, we still
continue to use it. This is wrong and we should limit our
display frame to maximum of Display height.
Jira: None.
Test: Connect two displays of different physical heights and
enable Mosaic mode. Now, it should display content
correctly and not show any commit failures.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sun, 12 Nov 2017 06:49:13 +0000 (22:49 -0800)]
Fix build when ENABLE_DISPLAY_DUMP is 1.
Jira: None.
Test: Build passes on Android and Linux.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sun, 12 Nov 2017 06:06:27 +0000 (22:06 -0800)]
Fix MosaicDisplay when display reports a single mode.
We hardcoded the config index to 1, but now we change it
to 0 as that should also have the preffered mode for a
given display. Also added few traces which would help
debug similar issues in future.
Jira: None.
Test: Mosaic Display comes up properly when connected display
reports only single mode.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sun, 12 Nov 2017 04:21:15 +0000 (20:21 -0800)]
Reset variable outside for loop.
Jira: None.
Test: Build passes on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sun, 12 Nov 2017 01:48:29 +0000 (17:48 -0800)]
Add support for Clone mode.
This was already available but only enabled on Linux. Let's
enabled this on Android when you have 3 displays connected.
By default 2 & 3 display will be cloned.This combination
can be managed by CLONE_DISPLAY in hwc_display.ini and
can be disabled by setting CLONE=false in hwc_display.ini
Jira: None.
Test: 2 and 3 display get cloned correctly on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Fri, 10 Nov 2017 13:42:54 +0000 (05:42 -0800)]
Fix service name.
Jira: None.
Test: Build passes on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Thu, 9 Nov 2017 11:09:42 +0000 (03:09 -0800)]
Disable TTY usage on Android.
Jira: None.
Test: Able to run kmscube test application on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Thu, 9 Nov 2017 10:53:38 +0000 (02:53 -0800)]
Remove un-necessary include in Android.mk file.
Tests have a dependency on staic build of HWC. Since, no
other thing depends on the static build, this neither the
tests get built and we have to manually build them
going into tests folder.
Jira: None.
Test: We are able to build tests on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Xiaosong Wei [Thu, 9 Nov 2017 08:56:18 +0000 (16:56 +0800)]
Fix tests build for Android
Jira: None.
Test: We are able to build tests on Android.
Signed-off-by: Xiaosong Wei <xiaosong.wei@intel.com>
Kishore Kadiyala [Wed, 8 Nov 2017 13:37:44 +0000 (19:07 +0530)]
Fix compilation issue for Android IA.
Jira: None
Test: Build pass on Android IA.
Signed-off-by: Kishore Kadiyala <kishore.kadiyala@intel.com>
Kishore Kadiyala [Tue, 7 Nov 2017 13:29:47 +0000 (18:59 +0530)]
Fix build error for libva.
Jira: None.
Test: Compilation should pass on Android O.
Signed-off-by: Kishore Kadiyala <kishore.kadiyala@intel.com>
Avinash Reddy Palleti [Tue, 7 Nov 2017 02:27:04 +0000 (18:27 -0800)]
FIX to get correct Rectangle IDs for the output layers
If start of one rectangle and end of another rectangle overlap, one
case was missed earlier to update rectangle IDs in the out structure.
Jira: OAM-52047.
Test: Verified output layers by giving 8 input rectangles.
Signed-off-by: Avinash Reddy Palleti <avinash.reddy.palleti@intel.com>
Kalyan Kondapally [Mon, 6 Nov 2017 06:08:20 +0000 (22:08 -0800)]
Fix frame width and height calculations for Mosaic mode.
We need to re-calculate these taking into account the
constraints.
Jira: None.
Test: Frame buffer is split correctly across displays when
Mosaic mode is enabled.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sat, 28 Oct 2017 08:43:21 +0000 (01:43 -0700)]
Treat Cursor & Primary as another Overlay.
Jira: None.
Test: Cursor works as now on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sat, 28 Oct 2017 05:42:38 +0000 (22:42 -0700)]
Reserve memory for vector in case we know how much is needed.
Jira: None.
Test: Boots to home screen on Android IA.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sat, 28 Oct 2017 08:11:22 +0000 (01:11 -0700)]
Fix usage_ checks in drmbuffer.
Jira: None.
Test: Build passes on Linux and Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sun, 5 Nov 2017 09:30:22 +0000 (01:30 -0800)]
Add enum for rotation.
This is going to be used by test suite and for independent
display rotation in future.
Jira: None.
Test: Build passes on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sun, 5 Nov 2017 01:24:10 +0000 (18:24 -0700)]
Use drmClose to close the fd.
Jira: None.
Test: Build passes on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sat, 4 Nov 2017 20:44:03 +0000 (13:44 -0700)]
Build tests by default on Eng builds.
Jira: None.
Test: Build passes on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sat, 4 Nov 2017 20:41:57 +0000 (13:41 -0700)]
Move common includes in platformdefines.h.
Jira: None.
Test: Build passes on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Fri, 3 Nov 2017 22:11:23 +0000 (15:11 -0700)]
Fix string length.
By subtracting -1, we ended up not having the last character.
Reported and fix proposal by Michael Goffioul in IRC.
Jira: None.
Test: Build passes on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Xiaosong Wei [Fri, 3 Nov 2017 21:50:36 +0000 (14:50 -0700)]
Enable VA support by default.
We should be able to build this on our target environments now,
let's enable the support for media format conversions by default.
Jira: None.
Test: Build passes on Android and Video works as before.
Signed-off-by: Xiaosong Wei <xiaosong.wei@intel.com>
Pallavi G [Thu, 2 Nov 2017 08:29:48 +0000 (13:59 +0530)]
Fix for crash during rotation
The cursor z_order is not the highest in one of the corner case,
so we end up with segmentation fault in cursor layer getbuffer becoz the
hwc implementation is based on the assumption that the cursor is always on the top.
Jira: None
Test: Able to rotate the screen without system reboot
Signed-off-by: Pallavi G <pallavi.g@intel.com>
Kalyan Kondapally [Fri, 3 Nov 2017 00:25:34 +0000 (17:25 -0700)]
Fix display frame rect with Mosaic Display.
We should map Display Frame to display co-ordinate's, otherwise
we will end up showing wrong content.
Jira: None.
Test: Content doesn't get scaled to wrong displays when using
Mosaic mode.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Signed-off-by: Yugang, Fan <yugang.fan@intel.com>
Kalyan Kondapally [Tue, 31 Oct 2017 07:32:33 +0000 (00:32 -0700)]
Add support to handle any late initializations in Display.
This should allow us to handle things like destroying HWCLock
and any other things which need to wait till display is
up and running.
Jira: None.
Test: HWCLock thread is killed after first present call.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Signed-off-by: Kishore Kadiyala <kishore.kadiyala@intel.com>
Kalyan Kondapally [Tue, 31 Oct 2017 00:35:19 +0000 (17:35 -0700)]
Don't dup client target fd.
Instead of duping the fd, let's take ownership of it as otherwise
we seem to leak the fd.
Jira: AIA-437.
Test: Device doesn't crash running out of fd's when explicit
sync support is disabled on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Tue, 31 Oct 2017 00:48:08 +0000 (17:48 -0700)]
Ensure we clean up fences in DrawState always.
If tasks in compositor thread are cancelled, it could
potentially leak fd's as ownership is passed to the
thread. Let's add checks so that we close all fences
if DrawState is destroyed and has valid fences.
Jira: None.
Test: Build passes on Android and boots to home screen.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Tue, 31 Oct 2017 01:00:20 +0000 (18:00 -0700)]
Silence error logs when error is EAGAIN.
Jira: None
Test: Build passes on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Mon, 30 Oct 2017 09:47:32 +0000 (02:47 -0700)]
Squash Static and Android.mk to use Android.common.mk
Jira: None.
Test: Build passes on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Xiaosong Wei [Tue, 10 Oct 2017 07:28:49 +0000 (15:28 +0800)]
Enable build testlayers for Android with hwc's static lib
As Android build system doesn't recognize shared library name like
hwcomposer.xx.so, previously in order to build testlayers we have to
modify Android.mk to rename hwcomposer.xx.so to libhwcomposer.xx.so.
This patch provides an easy way to build testlayers without renaming
the library name back and forth.
Signed-off-by: Xiaosong Wei <xiaosong.wei@intel.com>
Zhongmin Wu [Mon, 30 Oct 2017 07:40:23 +0000 (15:40 +0800)]
Fix the issue that the HWCLock thread will not exit.
The displaymanager thread is blocked in "read" call,
so it will never get chance to disable HWClock.
As we already use "select" to receive the "POLL IN" event of
the fd, we had better to set the "Non Blocking" flag on.
Jira: None.
Test: HWCLock thread is closed on Android after booting to
homescreen.
Signed-off-by: Zhongmin Wu <zhongmin.wu@intel.com>
Kalyan Kondapally [Sat, 28 Oct 2017 05:18:23 +0000 (22:18 -0700)]
Ensure we handle hotplug notifications even if primary is disconnected.
We handle hotplug notifications of extended displays only in
case primary is connected. Let's ensure we handle these even
when primary is disconnected.
Jira: None.
Test: No hot plug related regressions on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Gao Chun [Thu, 26 Oct 2017 15:47:21 +0000 (23:47 +0800)]
Android: Enable color correction and inversion
Add setColorTransform to HWC2. Get 4x4 color transform matrix (CTM)
from SurfaceFlinger, and convert the matrix to 3x3 DRM CSC matrix
and DRM CSC post offset.
Jira: OAM-49721,OAM-50246
Test: Go to Settings-Accessibility-Color correction, set it to On
and choose the Correction mode; Go to Settings-Accessibility-Color
inversion, set it to On.
Signed-off-by: Gao Chun <chun.gao@intel.com>
renchenglei [Fri, 27 Oct 2017 05:29:17 +0000 (13:29 +0800)]
Suppress compile warnings on Android
Jira: None.
Test: Build passes on Android and no warnings reported.
Mingwei Shi [Mon, 23 Oct 2017 06:03:49 +0000 (14:03 +0800)]
Ensure to install everything to vendor partition
For shared library, ensure to install everything to vendor partition.
For static library, declare the module as vendor module also.
Jira: None.
Test: Build passes on Android.
Signed-off-by: Mingwei Shi <mingwei.shi@intel.com>
Harish Krupo [Sun, 22 Oct 2017 02:24:09 +0000 (07:54 +0530)]
jsonlayerstest: Restore vt on exit
Exit and restore vt on SIGINT and other signals.
Jira: None
Test: On SIGINT the app should exit properly and restore
the vt.
Signed-off-by: Harish Krupo <harish.krupo.kps@intel.com>
Fan, Yugang [Wed, 25 Oct 2017 22:40:58 +0000 (18:40 -0400)]
Fix the typo
Jira: None.
Test: Test case run normally just like before, especially for logical
and mosaic mode.
Signed-off-by: Fan, Yugang <yugang.fan@intel.com>
Kishore Kadiyala [Tue, 24 Oct 2017 18:44:01 +0000 (00:14 +0530)]
Update the HWC config path
Let's have everything under vendor/.
Jira: None.
Test: Verified Mosaic mode works for Android.
Signed-off-by: Kishore Kadiyala <kishore.kadiyala@intel.com>
Kalyan Kondapally [Tue, 24 Oct 2017 02:35:48 +0000 (19:35 -0700)]
Remove Redundant code.
Jira: None.
Test: Build passes on Linux and Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Tue, 24 Oct 2017 02:15:50 +0000 (19:15 -0700)]
Dont hardcode virtual display id.
When AOSP framework has support for two external displays, let's
ensure we can handle in in our side. We assume all physical display
id's supported by surface flinger are less than HWC_DISPLAY_VIRTUAL.
Jira: None.
Test: Dual display support is not broken and Virtual display works
as expected on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Tue, 24 Oct 2017 02:11:30 +0000 (19:11 -0700)]
Don't assume primary display if pipe_ == 0.
We support re-odering displays from settings file which may
or may not match the physical pipe order. Take this into
account when determining primary display.
Jira: None.
Test: Check external display shows Android logo first in case
PHYSICAL_DISPLAY="1:0:2" is set in hwc_display.ini.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Mon, 23 Oct 2017 03:47:11 +0000 (20:47 -0700)]
Align rotation enums with 4.14 headers.
Now, that these are merged upstream let's move to the new
defines. Also, move this to drmplane, so the core doesn't
need to know about them.
Jira: None.
Test: Build passes on Android and Linux.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Qiming Shi [Wed, 20 Sep 2017 07:13:12 +0000 (15:13 +0800)]
Fix Android Oreo build error
Jira: None.
Test: Pass build on Android Oreo
Signed-off-by: Qiming Shi <qiming.shi@intel.com>
Kalyan Kondapally [Sat, 21 Oct 2017 09:37:31 +0000 (02:37 -0700)]
Add support to re-order physical displays.
We may want to change the order of physical display, extended
display etc reported to Surface Flinger on certain platforms.
Let's add an option to our setting file to be able to do this.
This order is not expected to change dynamically after boot
up. We now add a new setting "PHYSICAL_DISPLAY" to be able
to configure this.
Jira: None.
Test: Displays are ordered in GPUDevice based on hwc_display.ini
settings.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>