void Layer::setPerFrameData(hwc_layer_t* hwcl) { const sp<GraphicBuffer>& buffer(mActiveBuffer); if (buffer == NULL) { // this can happen if the client never drew into this layer yet, // or if we ran out of memory. In that case, don't let // HWC handle it. hwcl->flags |= HWC_SKIP_LAYER; hwcl->handle = NULL; } else { hwcl->handle = buffer->handle; } hwcl->flags = getPerFrameFlags(hwcl->flags, mLayerQcomFlags); }
void Layer::setPerFrameData(hwc_layer_t* hwcl) { const sp<GraphicBuffer>& buffer(mActiveBuffer); if (buffer == NULL) { // this can happen if the client never drew into this layer yet, // or if we ran out of memory. In that case, don't let // HWC handle it. hwcl->flags |= HWC_SKIP_LAYER; hwcl->handle = NULL; } else { hwcl->handle = buffer->handle; } updateLayerQcomFlags(LAYER_ASYNCHRONOUS_STATUS, !mSurfaceTexture->isSynchronousMode(), mLayerQcomFlags); hwcl->flags = getPerFrameFlags(hwcl->flags, mLayerQcomFlags); }