sf: Fix virtual display related issues.
1. SurfaceFlinger: Fix virtual display related issues. 1) Validate
output
buffer usage bit appropriately Validate output buffer usage bit only
against GRALLOC_USAGE_HW_COMPOSER to differentiate GLES only
conposition
and HWC/MIXED composition. 2) Exclude video encoder usage for
scratch
buffer Sink and Scratch buffers in VDS are using same usage
flags. This
causes video encoder flag to be set for scratch buffers
Also. Exclude
video encoder flag from scratch buffer usage flags as
scratch buffers
are used only as write back input and not video
encoder input.
2. sf: Allow VDS to use HWC -- Preserve VDS layer
pixel format based on
GRALLOC flags. -- skip color layer for vds
3. sf: Add secure content support for VDS
4. sf: Enable GPU comp. for non-primary displays
Ensure that "Return
status" of dequeueBuffer() complies with API
requirements. Client relies
on this status to call requestBuffer()
upon reallocation.
5. sf: Enable UBWC on virtual display scratch buffer Set
GRALLOC_USAGE_HW_FB usage flag on virtual display Scratch
buffer to
enable UBWC.
Change-Id: Ia49a175372ca187a295531e18f8e84dc22a19486
CRs-Fixed: 2656027
Signed-off-by:
N0m4n904 <noah.anleitner@halogenos.org>
Showing
- services/surfaceflinger/Android.bp 1 addition, 0 deletionsservices/surfaceflinger/Android.bp
- services/surfaceflinger/DisplayHardware/VirtualDisplaySurface.cpp 41 additions, 10 deletions.../surfaceflinger/DisplayHardware/VirtualDisplaySurface.cpp
- services/surfaceflinger/DisplayHardware/VirtualDisplaySurface.h 5 additions, 1 deletion...es/surfaceflinger/DisplayHardware/VirtualDisplaySurface.h
- services/surfaceflinger/SurfaceFlinger.cpp 37 additions, 1 deletionservices/surfaceflinger/SurfaceFlinger.cpp
- services/surfaceflinger/SurfaceFlinger.h 2 additions, 0 deletionsservices/surfaceflinger/SurfaceFlinger.h
Loading
Please register or sign in to comment