Home | History | Annotate | Download | only in libhwcomposer

Lines Matching full:layer

120     // Skipping last layer since FrameBuffer layer should not affect
148 //swap rect will kick in only for single updating layer
157 //dirty rect for same layer at least equal of number of
167 //disable swap rect for overlapping visible layer(s)
191 //1.Only single layer is updating.
194 //4.No video layer
198 //swap rect will kick in only for single updating layer
284 //GPU/CPU composition, don't change layer composition type
315 hwc_layer_1_t *layer = (hwc_layer_1_t *) &list->hwLayers[i];
316 if (layer->planeAlpha != 0xFF)
318 hwc_rect_t sourceCrop = integerizeSourceCrop(layer->sourceCropf);
320 if (layer->transform & HAL_TRANSFORM_ROT_90) {
327 dst_h = layer->displayFrame.bottom - layer->displayFrame.top;
328 dst_w = layer->displayFrame.right - layer->displayFrame.left;
361 // We cannot mix copybit layer with layers marked to be drawn on FB
369 // numAppLayers-1, as we iterate till 0th layer index
419 //bottom most layer should
452 // Pass the Acquire Fence FD to driver for base layer
467 // Get Release Fence FD of copybit for the App layer(s)
487 mFbCache.reset(); // there is no layer marked for copybit
502 ALOGE("%s: Render buffer layer handle is NULL", __FUNCTION__);
522 hwc_layer_1_t *layer = &list->hwLayers[mDirtyLayerIndex];
524 clear(renderBuffer,layer->dirtyRect);
526 clear(renderBuffer,layer->displayFrame);
534 // numAppLayers-1, as we iterate from 0th layer index with HWC_COPYBIT flag
588 ALOGE("%s: Render buffer layer handle is NULL", __FUNCTION__);
599 hwc_layer_1_t *layer = &list->hwLayers[i];
600 if(!isValidRect(getIntersection(layer->displayFrame,
614 int retVal = drawRectUsingCopybit(ctx, layer, renderBuffer, overlap,
634 int CopyBit::drawRectUsingCopybit(hwc_context_t *dev, hwc_layer_1_t *layer,
644 private_handle_t *hnd = (private_handle_t *)layer->handle;
658 src.handle = (native_handle_t *)layer->handle;
667 hwc_rect_t dispFrame = layer->displayFrame;
669 hwc_rect_t crop = integerizeSourceCrop(layer->sourceCropf);
671 layer->transform);
697 int acquireFd = layer->acquireFenceFd;
703 copybit->set_parameter(copybit, COPYBIT_TRANSFORM, layer->transform);
704 copybit->set_parameter(copybit, COPYBIT_PLANE_ALPHA, layer->planeAlpha);
705 copybit->set_parameter(copybit, COPYBIT_BLEND_MODE, layer->blending);
719 int CopyBit::drawLayerUsingCopybit(hwc_context_t *dev, hwc_layer_1_t *layer,
729 private_handle_t *hnd = (private_handle_t *)layer->handle;
731 if (layer->flags & HWC_COLOR_FILL) { // Color layer
732 return fillColorUsingCopybit(layer, renderBuffer);
751 if ((layer->flags & HWC_FORMAT_RB_SWAP)) {
760 src.handle = (native_handle_t *)layer->handle;
767 int layerTransform = layer->transform ;
774 if (((layer->transform& HAL_TRANSFORM_FLIP_H) ||
775 (layer->transform & HAL_TRANSFORM_FLIP_V)) &&
776 (layer->transform & HAL_TRANSFORM_ROT_90) &&
777 !(layer->transform == HAL_TRANSFORM_ROT_270)){
778 if(layer->transform & HAL_TRANSFORM_FLIP_H){
782 if(layer->transform & HAL_TRANSFORM_FLIP_V){
789 hwc_rect_t sourceCrop = integerizeSourceCrop(layer->sourceCropf);
795 hwc_rect_t displayFrame = layer->displayFrame;
802 srcRect.l = layer->dirtyRect.left;
803 srcRect.t = layer->dirtyRect.top;
804 srcRect.r = layer->dirtyRect.right;
805 srcRect.b = layer->dirtyRect.bottom;
830 if (layer->transform & HWC_TRANSFORM_ROT_90) {
859 acquireFd = layer->acquireFenceFd;
914 //TODO: once, we are able to read layer alpha, update this
938 hwc_region_t region = layer->visibleRegionScreen;
947 //TODO: once, we are able to read layer alpha, update this
950 layer->blending);
985 int CopyBit::fillColorUsingCopybit(hwc_layer_1_t *layer,
1002 hwc_rect_t displayFrame = layer->displayFrame;
1006 uint32_t color = layer->transform;
1016 copybit->set_parameter(copybit, COPYBIT_BLEND_MODE, layer->blending);
1017 copybit->set_parameter(copybit, COPYBIT_PLANE_ALPHA, layer->planeAlpha);
1024 void CopyBit::getLayerResolution(const hwc_layer_1_t* layer,
1027 hwc_rect_t displayFrame = layer->displayFrame;
1040 ALOGE("%s:Invalid HWC layer list", __FUNCTION__);