OSDN Git Service

Add OverlayBufferManager.
authorKalyan Kondapally <kalyan.kondapally@intel.com>
Sun, 26 Mar 2017 04:41:15 +0000 (21:41 -0700)
committerKalyan Kondapally <kalyan.kondapally@intel.com>
Sun, 26 Mar 2017 10:53:31 +0000 (03:53 -0700)
commit0e435ebd5fe27bb283f2332d87cbd821d759f802
tree6a3029c0a3b2c8a574d3b852a0915a1b75b0ec27
parent90041ba4f55fc2629f798ce413169d06de3c781d
Add OverlayBufferManager.

We need to track life time of OverlayBuffer in various cases:
1) Ensure its available until the buffer is scanned out and
   is being displayed on screen.
2) Ensure its not destroyed if it's going to be re-used.

We dont have a central tracking place for all this which is
making it hard to ensure the buffers are alive. This patch
adds OverlayBufferManager which is responsible for creating
the buffers and deleting them when it's not in use.

Jira: IAHWC-46
Test: No visible tearing with apps on Linux.

Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
28 files changed:
Android.mk
Makefile.sources
common/compositor/compositor.cpp
common/compositor/compositor.h
common/compositor/nativesurface.cpp
common/compositor/nativesurface.h
common/compositor/vk/vksurface.h
common/core/gpudevice.cpp
common/core/nativesync.cpp
common/core/nativesync.h
common/core/overlaybuffer.h
common/core/overlaybuffermanager.cpp [new file with mode: 0644]
common/core/overlaybuffermanager.h [new file with mode: 0644]
common/core/overlaylayer.cpp
common/core/overlaylayer.h
common/display/display.cpp
common/display/display.h
common/display/displayplanemanager.cpp
common/display/displayplanemanager.h
common/display/displayqueue.cpp
common/display/displayqueue.h
common/display/headless.cpp
common/display/headless.h
common/display/kmsfencehandler.cpp
common/display/kmsfencehandler.h
common/display/virtualdisplay.cpp
common/display/virtualdisplay.h
public/nativedisplay.h