hwc: Calculate viewframe from layers display frame information.

Calculate view frame of each display from the displayframe of all
the application layers.

Change-Id: I9ba4076b7b4419bd3559417fad28b4e1de6acff3
This commit is contained in:
Ramkumar Radhakrishnan
2013-12-04 15:15:42 -08:00
committed by Arun Kumar K.R
parent 0616b39ffe
commit dd38b8210c
2 changed files with 5 additions and 0 deletions

View File

@@ -745,6 +745,7 @@ void setListStats(hwc_context_t *ctx,
(int)ctx->dpyAttr[dpy].xres, (int)ctx->dpyAttr[dpy].yres);
ctx->listStats[dpy].secureUI = false;
ctx->listStats[dpy].yuv4k2kCount = 0;
ctx->mViewFrame[dpy] = (hwc_rect_t){0, 0, 0, 0};
trimList(ctx, list, dpy);
optimizeLayerRects(ctx, list, dpy);
@@ -753,6 +754,9 @@ void setListStats(hwc_context_t *ctx,
hwc_layer_1_t const* layer = &list->hwLayers[i];
private_handle_t *hnd = (private_handle_t *)layer->handle;
// Calculate view frame of each display from the layer displayframe
ctx->mViewFrame[dpy] = getUnion(ctx->mViewFrame[dpy],
layer->displayFrame);
#ifdef QCOM_BSP
if (layer->flags & HWC_SCREENSHOT_ANIMATOR_LAYER) {
ctx->listStats[dpy].isDisplayAnimating = true;

View File

@@ -437,6 +437,7 @@ struct hwc_context_t {
qhwc::LayerProp *layerProp[HWC_NUM_DISPLAY_TYPES];
qhwc::MDPComp *mMDPComp[HWC_NUM_DISPLAY_TYPES];
qhwc::HwcDebug *mHwcDebug[HWC_NUM_DISPLAY_TYPES];
hwc_rect_t mViewFrame[HWC_NUM_DISPLAY_TYPES];
qhwc::AssertiveDisplay *mAD;
qhwc::VPUClient *mVPUClient;