OSDN Git Service
Kalyan Kondapally [Sun, 8 Apr 2018 09:40:23 +0000 (02:40 -0700)]
Removed unused is_cursor_layer param in InitializeFromNativeHandle.
Jira: None.
Test: Build passes on Linux and Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Lin Johnson [Tue, 3 Apr 2018 06:43:53 +0000 (23:43 -0700)]
Avoid ref twice if fb is generated
It will cause memory leak for monitor case
As registerGemHandles will also increase the fb_ref
Jira: None
Tests: No steep memory increase with multiple monitor.
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
Kalyan Kondapally [Sun, 1 Apr 2018 12:37:44 +0000 (05:37 -0700)]
Remove unused code related to PixelBuffer.
All related handling should be moved to iahwcdisplay/layer.
Jira: None.
Test: Build passes on Android & Linux.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sun, 1 Apr 2018 16:01:20 +0000 (09:01 -0700)]
Move raw pixel data handling to IAHWCLayer.
This gives flexibility to let weston handle in case
we cannot handle these layers. Also, in coming up patches
we can easily add shaders to handle this case separately.
Lot of un-needed code is still present which will be removed
in followup patch.
Jira: None.
Test: We are able to still see Cursor rendered correctly and
use a separate plane for Cursor when using Weston Shell.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Harish Krupo [Fri, 30 Mar 2018 17:16:44 +0000 (22:46 +0530)]
Travis-ci: Fix weston build
Jira: None
Test: Travis-ci build should pass
Signed-off-by: Harish Krupo <harish.krupo.kps@intel.com>
Harish Krupo [Fri, 30 Mar 2018 16:20:05 +0000 (21:50 +0530)]
Weston: Fix compiler warnings and indentation
Jira: None
Test: Weston build passes.
Signed-off-by: Harish Krupo <harish.krupo.kps@intel.com>
Harish Krupo [Fri, 30 Mar 2018 15:15:16 +0000 (20:45 +0530)]
Weston: Fix authentication error for egl clients
When a wayland egl client initializes, it tries to authenticate
with the server. This is done using drm{Get,Auth}magic calls.
These calls would fail if weston opens card0 because IAHWC also
opens card0 and is the actual master/control client.
Mesa ignores the authentication part when opening the render node
and sends the authenticated response to the client.
Jira: None
Tests: weston-simple-egl app should run.
Signed-off-by: Harish Krupo <harishkrupo@gmail.com>
Michele Lim [Thu, 29 Mar 2018 23:52:19 +0000 (16:52 -0700)]
Clean up errors returned by HWCServiceAPI routines.
Currently HWCServiceAPIs return "-1" which is inconsistent
with predefined Android return status codes.
Jira: #268
Test: None
Signed-off-by: Michele Lim <Michele.Lim@intel.com>
Kalyan Kondapally [Fri, 30 Mar 2018 02:45:26 +0000 (19:45 -0700)]
Weston: Build clients by default.
Jira: None.
Test: Build passes and able to launch weston clients.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Gowtham Hosamane [Thu, 29 Mar 2018 04:06:10 +0000 (21:06 -0700)]
Custom position for float display
By default HWC sets the display hardware config mode as the resolution
and position it to 0,0 for top left. The additional mechanism of
setting the top left position to non-zero in case of float display enabled.
The float display resolution could be smaller than display resolution.
Jira: #302
Test: When float mode is set, config changes to set custom resolution
at custom position for the required pipe to be working as desired.
If not enabled, it should continue to work as before.
Signed-off-by: Gowtham Hosamane <gowtham.hosamane@intel.com>
Kalyan Kondapally [Fri, 30 Mar 2018 01:11:33 +0000 (18:11 -0700)]
Don't register pixel buffers.
In this case HWC will be creating the buffer and it will not
have any prime fds associated during registration time.
Jira: None.
Test: No "Error generate handle from prime fd" seen when running
Weston.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Harish Krupo [Wed, 28 Mar 2018 17:35:47 +0000 (23:05 +0530)]
Improve Weston support.
Changes in this commit:
- Add helper functions to maintain the list of created
layers in compositor-iahwc.c
- Add support for setting raw pixel data in the linux
frontend
- Add support for mmapping buffers.
- Map the raw pixel data and copy it to a gbm bo.
- README.org change to reflect the above change
- modify travis.yml to build without the build_script.sh
Jira: None.
Test: Able to run weston from VT.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Signed-off-by: Harish Krupo <harish.krupo.kps@intel.com>
Kalyan Kondapally [Thu, 29 Mar 2018 07:59:57 +0000 (00:59 -0700)]
Mark unused surfaces for deletion immediately.
We mark surfaces not onscreen for deletion in plane state
but they might not actually be deleted till the next time
any surface is released using MarkSurfacesForRecycling.
Let's now inform planemanager that we have surfaces to be
released immediately.
Jira: None.
Test: Monitoring shmem shows that memory is re-claimed with
task switcher.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Wed, 28 Mar 2018 10:00:10 +0000 (03:00 -0700)]
Use Cursorplane for Cursor.
If we have a cursor plane let's use that for cursor than
any other overlay. This should help with any rotation, blending
needs of cursor until we have full support for universal
planes.
Jira: None.
Test: Cursor plane is active when cursor is used.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Wed, 28 Mar 2018 08:39:02 +0000 (01:39 -0700)]
Dont force clear when whole buffer is damaged.
This was only meant to be used when dealing with buffers
smaller than DAMAGE_THRESHOLD.
Jira: None.
Test: No new regressions on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Fri, 30 Mar 2018 00:19:31 +0000 (17:19 -0700)]
Remove unused gpu_fd variable.
Jira: None.
Test: Build passes on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Thu, 29 Mar 2018 23:59:50 +0000 (16:59 -0700)]
Track GemHandles and FB separately.
We might be having cases where we don't end up creating
FB as fb creation failed or layers go through offscreen
composition pass. In this case we worked around it by
closing the gem handles in gralloc handler. Instead, we
now track gem handle registration and fb registration
separately in FrameBufferManager and use GemHandles as
key for both.
Jira: None.
Test: 1) Don't see rapid increase in memory usage when using
task switcher in Android IA.
2) No errors complaining about us trying to close invalid
handles in multi monitor case.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Lin Johnson [Thu, 29 Mar 2018 06:13:27 +0000 (14:13 +0800)]
Ensure we release handle even if hwc owns the buffer.
Jira: None.
Tests: App switch doesn't show exponential memory growth on AndroidIA.
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
Kalyan Kondapally [Thu, 29 Mar 2018 08:55:33 +0000 (01:55 -0700)]
Fix memory leak.
We didn't close gem handles if we didn't create the fb for
a particular drm buffer on Android. We should close this
nevertheless.
Jira: None.
Test: Memory doesnt grow exponentialy when switching apps using
launcher on Android IA.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Lin Johnson [Wed, 28 Mar 2018 03:16:59 +0000 (11:16 +0800)]
Android: use native_handle_clone to simplify code
Jira: None
Tests: Build pass on Android
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
Lin Johnson [Fri, 23 Mar 2018 03:30:26 +0000 (11:30 +0800)]
Give out error message when meet errors
It will help for debug HWC.
Aslo fix android build warning cutils/log.h is deprecated
Jira:None
Tests:Build pass on Android
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
Kalyan Kondapally [Wed, 28 Mar 2018 07:53:52 +0000 (00:53 -0700)]
Ensure we re-map layer+plane in case layers are removed.
Currently, we did this when all layers associated with a
plane where removed. Instead we now check if we have free
planes to accomadate remaining layers when a layer is
removed or added and do incremental validation of
layers and planes.
Jira: None.
Test: Layers are scanned out directly when panning home screen
after going to a idle state.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Richard Avelar [Fri, 23 Mar 2018 21:42:08 +0000 (14:42 -0700)]
Fix warnings generated in common core hwc
Adjust casting for coversion warnings and adjust ifdef gaurd which
causes a param unused warning for source_layers.
Jira: None.
Test: Build passes without warnings
Signed-off-by: Richard Avelar richard.avelar@intel.com
xue.yifei [Wed, 21 Mar 2018 08:27:01 +0000 (16:27 +0800)]
Change meta-data process to algin with SOS & fix Nestedisplay hotplug miss
Change-Id: I2a329ba493d8666214483872e820fcbb5d4248f3
Jira: None
Test: Tested on android
Signed-off-by: xue.yifei <yifei.xue@intel.com>
Wang,Fei [Tue, 27 Mar 2018 08:07:10 +0000 (16:07 +0800)]
Refine VA module.
1. Ensure HSBC/Sharp/Deinterlace/Scaling mode can be set to libva
correctly.
2. Integrate Hue/Satation/Brightness/Contrast into one filter.
3. Do memset before quary from libva.
4. Set default csc scaling mode as High Quality mode.
Jira: None.
Test: Set/Restore color works as expected.
Signed-off-by: Wang,Fei <fei.w.wang@intel.com>
Lin Johnson [Tue, 27 Mar 2018 02:35:57 +0000 (19:35 -0700)]
Use global cache for KMS resources
KMS resources include framebuffers and gem handles
should be process widely shared. Do not close gem handle
when other drmbuffer are still refernce it
Jira: None
Tests: Extend mode, video playback
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
Lin Johnson [Tue, 27 Mar 2018 02:40:16 +0000 (10:40 +0800)]
Fix Damage rect regression
The regression introduced in
fb2fdd91d3cb99adcb1737131b3f55b69a0bf6ca.
Some buttons are not getting rendered correctly.
Jira: None
Tests: Buttons correctly rendered
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
Wan Shuang [Fri, 23 Mar 2018 02:23:02 +0000 (10:23 +0800)]
Fixed one display hang when plug 3 displays in clone mode.
JIRA: #1242
Test: Boot into Android home screen.
Kalyan Kondapally [Mon, 26 Mar 2018 06:38:41 +0000 (23:38 -0700)]
Be more aggresive with plane allocation when layers are removed.
In case additional layers are removed, we still continue to use
the old plane+layer combination even if no new layers are
added. Let's check if layers can be scanned out in this case
and try to avoid offscreen composition.
Jira: None.
Test: We see overlays all layers scanned out with gfx benchmark.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sat, 24 Mar 2018 11:29:55 +0000 (04:29 -0700)]
Revert "videoeffect: Query vpp caps before use it"
H264 Benchmarks miss 60 fps.
This reverts commit
89909d407c1efd4fec07156719739e9e83f3fba4.
Kalyan Kondapally [Mon, 26 Mar 2018 04:21:19 +0000 (21:21 -0700)]
Optimize Cursor rendering using GPU.
When layers are moving, we need to clear old and new damage rect
of that layer to ensure we don't show any old content. Now, we
detect this situation in NativeSurface and take cummulative
surface damage into account.
Jira: None.
Test: No garbage rendered when CURSOR_WA is enabled, display is rotated
90 and cursor is moved around.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sun, 25 Mar 2018 06:49:21 +0000 (23:49 -0700)]
Handle Surface Damage correctly in case of Transforms.
We didn't flip the SurfaceDamage co-ordinates in this case
like RenderState does with Display Frame and Source Rects.
Let's handle 90 and 270 case for SurfaceDamage.
Jira: #278.
Test: Rendering works fine when displays are rotated 90/270.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sat, 24 Mar 2018 10:46:57 +0000 (03:46 -0700)]
Re-work Clone mode.
We reset all fences after source display is handled. When
handling Clone display we cannot rely on original layer
fences for any synchronization. Instead of using original
layers, let's use the composition results of Source display.
Jira: #295.
Test: Clone display still works without any regressions.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Fri, 23 Mar 2018 03:21:26 +0000 (20:21 -0700)]
Add Cursor plane checks.
We might be having only one plane allocated to us and this
might not be a universal plane. Ensure cursor plane is valid
before trying to use it.
Jira: None.
Test: No crash seen with single plane per pipe usage.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Richard Avelar [Wed, 21 Mar 2018 20:58:11 +0000 (13:58 -0700)]
Fix conversion warning when building hwc
Adjust casting to remove warning that occurs when building make
androidia with hwc.
Jira: None.
Test: Build passes without the warning.
Signed-off-by: Richard Avelar richard.avelar@intel.com
Gowtham Hosamane [Mon, 5 Mar 2018 03:55:03 +0000 (19:55 -0800)]
Configure custom resolution
By default HWC sets the display hardware config mode as the resolution.
The additional mechanism of setting resolution via config file.
This resolution could be smaller from display resolution.
Jira: #275
Test: When float mode is set, config changes to set custom resolution
for the required pipe to be working as desired. If not enabled, it
should continue to work as before.
Kalyan Kondapally [Wed, 21 Mar 2018 13:56:25 +0000 (06:56 -0700)]
Fix Rendering issues when playing Video with Mosaic display.
We didn't translate the surface damage to be within the bounds
of the display frame. This meant we would discard the whole
surface damage as outside display frame in certain cases ending
up not rendering the content at all.
Jira: None.
Test: Video plays fine with Mosaic support set to true.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Wed, 21 Mar 2018 11:16:21 +0000 (04:16 -0700)]
Fix Crashes when running on Virtual environments.
We might be just have a single plane or no plane
given to us in this case. Let's have appropriate checks
taking this into account and not assume to have atleast
1 plane.
Jira: None.
Test: Boots to Android Home screen.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Wed, 21 Mar 2018 03:20:00 +0000 (20:20 -0700)]
Reset Cache in case composition failed.
We are not sure about our state in this case. Let's
start over.
Jira: #286
Test: No crash happens when Media composition fails.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Wed, 21 Mar 2018 02:18:21 +0000 (19:18 -0700)]
Handle Buffer format changes in case of using Media backend.
In some cases last video frame might have xr24 format. In this
case we should choose 3D Compositor and not really the Media
backend to handle offscreen composition. Now we do these checks
and ensure we choose the right backend.
Jira: fixes #269
Test: Video playback doesn't fail when at the very end of the stream.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kevin Strasser [Tue, 20 Mar 2018 22:51:04 +0000 (15:51 -0700)]
Fix (kTransform90 | kReflectX) and (kTransform90 | kRefectY) transforms
This code has never been reachable since its introduction in the initial
code import. Break (kTransform90 | kReflectX) and (kTransform90 | kRefectY)
cases out so the switch statement works as intended.
Jira: None
Test: ./testlayers --frames 1 -j jsonconfigs/kmscube1layer_rot90.json
Cube should be rotated, with light blue/blue edge on top and black
corner to the right
Test: ./testlayers --frames 1 -j jsonconfigs/kmscube1layer_rot90flipx.json
Cube should be rotated, with yellow/red corners on top and black
corner to the right
Test: ./testlayers --frames 1 -j jsonconfigs/kmscube1layer_rot90flipy.json
Cube should be rotated, with blue/light blue edge on top and black
corner to the left
Fixes-coverity-id:
1465620
Signed-off-by: Kevin Strasser <kevin.strasser@intel.com>
Kevin Strasser [Tue, 20 Mar 2018 23:11:45 +0000 (16:11 -0700)]
Add tests to cover rotate90 and flip transforms
These test cases are designed to exercise some paths that were found to be
dead in a recent coverity pass.
Jira: None
Test: ./testlayers -j jsonconfigs/kmscube1layer_rot90.json
Test: ./testlayers -j jsonconfigs/kmscube1layer_rot90flipx.json
Test: ./testlayers -j jsonconfigs/kmscube1layer_rot90flipy.json
Signed-off-by: Kevin Strasser <kevin.strasser@intel.com>
Lin Johnson [Tue, 20 Mar 2018 03:27:11 +0000 (11:27 +0800)]
kRrefreshRate should return refresh period in nanoseconds
Jira:OAM-53716
Tests:None
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
Richard A [Mon, 19 Mar 2018 22:33:19 +0000 (15:33 -0700)]
Fix warnings when building hwc
Adjust casting and include gaurds to silence redefined and narrow conversion
warnings.
Jira: None.
Test: Build passes without warnings
Signed-off-by: Richard Avelar richard.avelar@intel.com
Richard A [Mon, 19 Mar 2018 22:16:17 +0000 (15:16 -0700)]
Remove opengl, vulkan, va use for dummy compositor
Adjust makefiles in order to build without certain functionality that
we won't need enabled in the splash screen with dummy compositor flag set.
Jira: None.
Test: Build passes when using dummy compositor flag
Signed-off-by: Richard Avelar richard.avelar@intel.com
Kalyan Kondapally [Tue, 20 Mar 2018 06:14:00 +0000 (23:14 -0700)]
Force Partial clear in case layers use blending.
In case only surface damage changes, we ended up not clearing
the buffer. This resulted in showing in previous blended contents.
We now, force partial clear for all layers ahving blending
and a valid surface damage.
Jira: #278
Test: Rotate all supported modes and see no rendering issues.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Mon, 19 Mar 2018 09:24:46 +0000 (02:24 -0700)]
Initial Coverity fixes.
Jira: None.
Test: Minimizes complaints seen with Coverity builds.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
XuGuangxin [Mon, 19 Mar 2018 09:00:43 +0000 (02:00 -0700)]
videoeffect: Query vpp caps before use it
two things fixed here:
1. We query caps on UpdateCaps, but we use the caps in SetVAProcFilterDeinterlaceMode.
But SetVAProcFilterDeinterlaceMode call before UpdateCaps, this makes
SetVAProcFilterDeinterlaceMode use a invalid value.
2. when we changed the video effect, we mmeset the param_, it will make
the param_.surface_region and param_.output_region useless
Jira: None.
Test: 1. Video playback works fine.
2. adb shell hwcservice_test -b 100, you see the video turn bright on screen
Kalyan Kondapally [Mon, 19 Mar 2018 07:20:08 +0000 (00:20 -0700)]
Ensure we swap Media surface as needed.
Jira: None.
Test: Video playback works fine.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Mon, 19 Mar 2018 03:29:39 +0000 (20:29 -0700)]
Revert "REVERTME: Disable usage of Media pipeline."
This reverts commit
95047742df2d368ae601bdff4ce9d4026d685ee4.
Kalyan Kondapally [Sun, 18 Mar 2018 07:43:48 +0000 (00:43 -0700)]
Add support for multi plane import.
In this case we might have multiple prime fds, take this into
account while importing the buffer.
Jira: None.
Test: Video plays fine on Android IA.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Lin Johnson [Sun, 18 Mar 2018 07:38:39 +0000 (00:38 -0700)]
Use buffer handle to identify buffer.
This should be unique to each buffer. Let's use this instead
of prime handle. Reenable cache again.
Jira:None
Tests: No UI flicker on OneA, and video is good
Signed-off-by: Lin Johnson <johnson.lin@intel.com>
Kalyan Kondapally [Mon, 12 Mar 2018 02:25:05 +0000 (19:25 -0700)]
Add API to enable/disable HDCP support from HWCService API.
Jira: None.
Test: We are able to toggle HDCP state via the API tested by
hwcservice_test.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Thu, 15 Mar 2018 01:59:41 +0000 (18:59 -0700)]
Ensure we release buffer only when it's not used by plane.
We need to ensure we hold on to the buffer in case it's still
being used for scanout.
Jira: fixes #266 #235.
Test: No commit failures seen during clone mode.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Tue, 13 Mar 2018 09:33:33 +0000 (02:33 -0700)]
REVERTME: Disable usage of Media pipeline.
This is causing flicker when playing Videos.
Jira: None.
Test: No flicker seen when playing Video on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Mon, 12 Mar 2018 06:40:59 +0000 (23:40 -0700)]
Revert "Use Display Frame Rect as viewport."
Sometimes status bar is not rendered.
This reverts commit
7121ef5d1b754fc712fd862872756dab100c46b3.
Kalyan Kondapally [Mon, 12 Mar 2018 04:19:58 +0000 (21:19 -0700)]
Call HandleCommitFailure everytime commit fails.
We where calling this only in case ValidateLayers was true.
Jira: None.
Test: No new regressions on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sun, 11 Mar 2018 23:34:01 +0000 (16:34 -0700)]
REVERTME: Disable buffer cache for now.
For some reason we are retrieving wrong buffers on Android.
Jira: None.
Test: Correct content is always shown when using app switcher.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sun, 11 Mar 2018 21:59:55 +0000 (14:59 -0700)]
Use Display Frame Rect as viewport.
We shouldn't be rendering anything outside this rect.
Jira: None.
Test: No new rendering issues on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sun, 11 Mar 2018 23:51:31 +0000 (16:51 -0700)]
Also check if surface is onscreen before releasing it.
Surface can have a buffer age of 0 but not in the queue to
be shown on screen. Let's check for this and release buffers
in case they are not queued to be shown on screen.
Jira: None.
Test: No new crashes seen on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Xiaosong Wei [Thu, 8 Mar 2018 08:36:17 +0000 (14:06 +0530)]
Handle layer transform in VARenderer
VA only support 90/180/270 rotation so we only handle these transforms
in VARenderer.
Jira: None.
Test: Video rotation should work
Signed-off-by: Xiaosong Wei <xiaosong.wei@intel.com>
Signed-off-by: Kishore Kadiyala <kishore.kadiyala@intel.com>
Harish Krupo [Fri, 9 Mar 2018 04:04:19 +0000 (09:34 +0530)]
travis-ci: install meson 0.43.0
Jira: None
Test: Travis ci should build successfully
Signed-off-by: Harish Krupo <harish.krupo.kps@intel.com>
Kalyan Kondapally [Fri, 9 Mar 2018 01:44:35 +0000 (17:44 -0800)]
Fix build with ENABLE_DISPLAY_DUMP.
Jira: None.
Test: Build passes with ENABLE_DISPLAY_DUMP option.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Fri, 9 Mar 2018 01:39:34 +0000 (17:39 -0800)]
Ensure we don't release inflight surfaces.
private_data_ is shared object. We where resetting surfaces
of this object in case commit failed. We shouldn't do
that, instead just mark any new offscreen surfaces to be freed.
Jira: None.
Test: Get's to home screen without any crashes.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Thu, 8 Mar 2018 10:00:08 +0000 (02:00 -0800)]
Release un-used surface for every frame.
Instead of tracking this in multiple places, use tracker.
Jira: None.
Test: No crashes while booting up to home screen.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Wed, 7 Mar 2018 08:09:53 +0000 (00:09 -0800)]
Dont add recycled surface to dedicated layers.
We ignore all dedicated layers when calculating regions to
be rendered. We shouldn't add source layers of a recycled
surface to this list.
Jira: None.
Test: No new flicker issues seen on Android with APL.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Wed, 7 Mar 2018 07:12:05 +0000 (23:12 -0800)]
Check if a layer is better off on a separate plane.
Jira: None.
Test: No new flickers seen on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Wed, 7 Mar 2018 06:46:31 +0000 (22:46 -0800)]
Ensure top plane always cover the area of it's display frame.
We made sure of this for n and n-1 plane. However, we should
check for all the previous scanout planes and make sure the
current offscreen rendered plane covers the complete region.
Else we will be rendering invalid content.
Jira: None.
Test: No flickers seen when moving between icons on home screen.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Wed, 7 Mar 2018 06:10:30 +0000 (22:10 -0800)]
Pass layer to SetBuffer in Overlay.
We query from the layer if it's type is cursor and use that
information to do some additional booking in case of
raw pixel data.
Jira: None.
Test: Cursor shows up with Weston.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sat, 3 Mar 2018 19:28:34 +0000 (11:28 -0800)]
Ignore height while checking if downscaling is needed.
Jira: None.
Test: No new regressions on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Fri, 2 Mar 2018 05:45:11 +0000 (21:45 -0800)]
Squash planes if it doesn't full cover the underlying plane.
Jira: None.
Test: Reduced flicker when navigating between views.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Harish Krupo [Thu, 1 Mar 2018 17:11:17 +0000 (09:11 -0800)]
Enable IMG Context Priority support on APL.
Jira: None.
Test: Boots up fine on Android.
Signed-off-by: Harish Krupo <harish.krupo.kps@intel.com>
pyn1 [Wed, 28 Feb 2018 09:16:40 +0000 (14:46 +0530)]
Added Support for 32bit RGBA format
One of the CTS test cases expects the support
to create Buffer of type HAL_PIXEL_FORMAT_RGBA_1010102
Jira: None
Tests: Buffer Created successfully for the intended format
CTS command: run cts -m CtsHardwareTestCases
Signed-off-by: Poornima <poornima.y.n@intel.com>
Kalyan Kondapally [Thu, 1 Mar 2018 04:10:53 +0000 (20:10 -0800)]
Squash planes as needed.
Earlier commit only checked if we need to squash planes in case
of rendering the layers if we where mapping it to overlay. However,
we can have cases where we are mapping the layers to last plane.
This patch handles that case too.
Jira: None.
Test: Flickers reduced when scrolling settings view.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Mon, 26 Feb 2018 00:37:07 +0000 (16:37 -0800)]
Reset cache in case layer z-order has changed.
Jira: None.
Test: Reduced grabage rendering when using task switcher.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
kalyan kondapally [Thu, 22 Feb 2018 10:10:22 +0000 (02:10 -0800)]
Merge pull request #248 from harishkrupo/master
Fix corrupted patch
Harish Krupo [Wed, 21 Feb 2018 04:47:04 +0000 (10:17 +0530)]
Fix corrupted patch
Jira: None
Test: Build should pass with travis-ci
Signed-off-by: Harish Krupo <harish.krupo.kps@intel.com>
biskhand [Thu, 15 Feb 2018 00:16:41 +0000 (08:16 +0800)]
Fix hwc compilation error due to libva2.0 master upgrade
Jira: None.
Test: Build passes on Android.
Signed-off-by: badiuzzaman.azzarfan.bin.iskhandar@intel.com
Harish Krupo [Tue, 20 Feb 2018 04:17:06 +0000 (09:47 +0530)]
Remove unneeded travis resources
Strip down hwc-install.tar.bz2 to include only those files
which are required.
Jira: None
Test: Should build properly in travis-ci.
Signed-off-by: Harish Krupo <harish.krupo.kps@intel.com>
Harish Krupo [Tue, 20 Feb 2018 03:49:13 +0000 (09:19 +0530)]
Fix linux build
Remove utils_android.h from nesteddisplay.cpp
Jira: None
Test: Should build properly with travis-ci
Signed-off-by: Harish Krupo <harish.krupo.kps@intel.com>
Harish Krupo [Tue, 20 Feb 2018 01:33:51 +0000 (07:03 +0530)]
Add readme for build_script
Jira: None.
Test" None.
Signed-off-by: Harish Krupo <harish.krupo.kps@intel.com>
xue.yifei [Sun, 11 Feb 2018 09:54:45 +0000 (01:54 -0800)]
Hyper dmabuf sharing
Add hyper dmabuf sharing feature in NestedDisplay.
Jira: None
Test: Tested on android
Signed-off-by: xue.yifei <yifei.xue@intel.com>
Harish Krupo [Mon, 19 Feb 2018 01:26:17 +0000 (06:56 +0530)]
travis-ci: Enable building linux frontend
Signed-off-by: Harish Krupo <harish.krupo.kps@intel.com>
Kalyan Kondapally [Mon, 19 Feb 2018 04:41:28 +0000 (20:41 -0800)]
Fix damage rects when layers are removed or added.
Jira: None.
Test: No new regressions on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Harish Krupo [Mon, 19 Feb 2018 01:26:17 +0000 (06:56 +0530)]
Fix travis builds
- Install python3-pip as pip3 is required to install meson.
- Install udev, mtdev dependency
Signed-off-by: Harish Krupo <harish.krupo.kps@intel.com>
Kalyan Kondapally [Sun, 18 Feb 2018 22:00:10 +0000 (14:00 -0800)]
Fix commit failures.
Eventhogh we where able to scanout the layer, we still
created an offscreen target for it. As Test commit used original
layer it passed but actual commit failed as it was using offscreen
surface. From Dmesg:
"[ 70.371775] [drm:drm_atomic_check_only] Invalid source coordinates 1920.000000x1080.000000+0.000000+0.000000
[ 70.371777] [drm:drm_atomic_check_only] FB: 1920+56
[ 70.371779] [drm:drm_atomic_check_only] src_w > fb_width: 0
[ 70.371781] [drm:drm_atomic_check_only] src_x > fb_width - src_w: 0
[ 70.371783] [drm:drm_atomic_check_only] src_h > fb_height: 1
[ 70.371785] [drm:drm_atomic_check_only] src_y > fb_height - src_h: 0"
This is also highlights generic problem as we always assume offscreen
surface to be same as resolution size. This limitation should be
addressed in followup patches.
Jira: None.
Test: No commit failures seen during boot up.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sun, 18 Feb 2018 19:12:49 +0000 (11:12 -0800)]
Fix travis builds.
Jira: None.
Test: Builds pass.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Harish Krupo [Sun, 18 Feb 2018 04:39:02 +0000 (10:09 +0530)]
Build linux frontend using travis-ci
Add required scripts to build linux frontend as a part of travis.
Signed-off-by: Harish Krupo <harishkrupo@gmail.com>
Harish Krupo [Tue, 13 Feb 2018 05:43:09 +0000 (11:13 +0530)]
Add iahwc backend inside Hwcomposer.
Signed-off-by: Harish Krupo <harish.krupo.kps@intel.com>
Kalyan Kondapally [Sun, 18 Feb 2018 02:09:25 +0000 (18:09 -0800)]
Ensure we mark surfaces for recycling when planes are disabled.
This can happen in case layers of a plane are removed and we
disable it in GetCachedLayers.
Jira: None.
Test: No memory increase seen as layers are removed and added.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sun, 18 Feb 2018 02:07:44 +0000 (18:07 -0800)]
Check if plane type is cursor before applying Cursor W/A.
Jira: None.
Test: Cursor plane shows up during bootup.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sat, 17 Feb 2018 23:43:19 +0000 (15:43 -0800)]
Remove redundant variables/functions in DisplayQueue.
Jira: None.
Test: Build passes on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sat, 17 Feb 2018 23:18:15 +0000 (15:18 -0800)]
Add log to trace wrongly disabled planes.
Jira: None.
Test: Build passes on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sat, 17 Feb 2018 22:02:46 +0000 (14:02 -0800)]
Fix garbage when minimizing windows.
Sometimes wrong rect was being rendered when minimizing windows.
This happened when layers where removed, which moved them from
one plane to another. Let's force reseting rect and plane validation
in this case.
Jira: None.
Test: We don't see flickers/grabage when windows are minimized.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Sat, 17 Feb 2018 11:37:45 +0000 (03:37 -0800)]
Try scanout only if you have one layer.
Jira: None.
Test: Bottom tool bad doesn't disappear when navigating between views.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Thu, 15 Feb 2018 10:41:29 +0000 (02:41 -0800)]
Fix flicker with task switcher.
In some cases we didn't refresh the surfaces correctly as we
mixed this state with validation. Let's separate them and track
them separately.
Jira: None.
Test: No flicker seen when using app switcher on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Thu, 15 Feb 2018 09:13:43 +0000 (01:13 -0800)]
Ignore planes which have layers above threshold value.
When layers are removed, we can safely ignore the planes
which have these layers.
Jira: None.
Test: Linux tests pass.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Thu, 15 Feb 2018 08:40:28 +0000 (00:40 -0800)]
Ensure we render layers when squashing planes.
Jira: None.
Test: Build passes on Linux.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Thu, 15 Feb 2018 08:30:45 +0000 (00:30 -0800)]
Release any free surfaces even if we are ignoring the commit.
We ignore commit if no content has changed. Even in this case
let's free any unused surfaces.
Jira: None.
Test: No new regressions on Android.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Kalyan Kondapally [Thu, 15 Feb 2018 07:35:17 +0000 (23:35 -0800)]
Refresh planestate tracking when layer rect has changed.
Instead of taking max of current and previous region, let's
re-calculate the whole rect again. This avoids possible cases
of newer rects being smaller than newer ones.
Jira: None.
Target. No new regressions with Linux apps.
Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>