Home | History | Annotate | Download | only in hwc

Lines Matching refs:layer

256         hwc_layer_1_t *layer = &list->hwLayers[i];
257 IMG_native_handle_t *handle = (IMG_native_handle_t *)layer->handle;
258 dump_printf(&log, "%p:%s,", handle, layer->compositionType == HWC_OVERLAY ? "DSS" : "SGX");
259 if ((layer->flags & HWC_SKIP_LAYER) || !handle) {
263 if (layer->flags & HWC_HINT_CLEAR_FB)
266 if (layer->transform)
267 dump_printf(&log, "~%d", layer->transform);
313 static int scaled(hwc_layer_1_t *layer)
315 int w = WIDTH(layer->sourceCrop);
316 int h = HEIGHT(layer->sourceCrop);
318 if (layer->transform & HWC_TRANSFORM_ROT_90)
321 return WIDTH(layer->displayFrame) != w || HEIGHT(layer->displayFrame) != h;
324 static int is_protected(hwc_layer_1_t *layer)
326 IMG_native_handle_t *handle = (IMG_native_handle_t *)layer->handle;
331 #define is_BLENDED(layer) ((layer)->blending != HWC_BLENDING_NONE)
374 static int dockable(hwc_layer_1_t *layer)
376 IMG_native_handle_t *handle = (IMG_native_handle_t *)layer->handle;
454 hwc_layer_1_t *layer, int index,
459 //dump_layer(layer);
461 omap4_hwc_setup_layer_base(oc, index, format, is_BLENDED(layer), width, height);
464 if (layer->transform & HWC_TRANSFORM_FLIP_H)
466 if (layer->transform & HWC_TRANSFORM_FLIP_V) {
470 if (layer->transform & HWC_TRANSFORM_ROT_90) {
475 oc->pre_mult_alpha = layer->blending == HWC_BLENDING_PREMULT;
478 oc->win.x = layer->displayFrame.left;
479 oc->win.y = layer->displayFrame.top;
480 oc->win.w = WIDTH(layer->displayFrame);
481 oc->win.h = HEIGHT(layer->displayFrame);
484 oc->crop.x = layer->sourceCrop.left;
485 oc->crop.y = layer->sourceCrop.top;
486 oc->crop.w = WIDTH(layer->sourceCrop);
487 oc->crop.h = HEIGHT(layer->sourceCrop);
760 static int omap4_hwc_can_scale_layer(omap4_hwc_device_t *hwc_dev, hwc_layer_1_t *layer, IMG_native_handle_t *handle)
762 int src_w = WIDTH(layer->sourceCrop);
763 int src_h = HEIGHT(layer->sourceCrop);
764 int dst_w = WIDTH(layer->displayFrame);
765 int dst_h = HEIGHT(layer->displayFrame);
768 if (layer->transform & HWC_TRANSFORM_ROT_90)
778 hwc_layer_1_t *layer,
782 if ((layer->flags & HWC_SKIP_LAYER) || !handle)
790 if (layer->transform)
796 return omap4_hwc_can_scale_layer(hwc_dev, layer, handle);
972 hwc_layer_1_t *layer = &list->hwLayers[i];
973 IMG_native_handle_t *handle = (IMG_native_handle_t *)layer->handle;
975 layer->compositionType = HWC_FRAMEBUFFER;
977 if (omap4_hwc_is_valid_layer(hwc_dev, layer, handle)) {
981 if (scaled(layer) || is_NV12(handle))
991 if (dockable(layer))
994 if (is_protected(layer))
1065 /* must have at least one layer if using composition bypass to get sync object */
1080 hwc_layer_1_t *layer)
1082 IMG_native_handle_t *handle = (IMG_native_handle_t *)layer->handle;
1088 return omap4_hwc_is_valid_layer(hwc_dev, layer, handle) &&
1112 ALOGE("**** cannot clone layer #%d. using all %d overlays.", ix, dsscomp->num_ovls);
1136 /* mirror only 1 external layer */
1203 hwc_layer_1_t* layer = &list->hwLayers[j];
1204 if (layer->acquireFenceFd >= 0) {
1205 ALOGW("acquireFenceFd[%u][%u] was %d, closing", i, j, layer->acquireFenceFd);
1206 close(layer->acquireFenceFd);
1207 layer->acquireFenceFd = -1;
1209 if (layer->releaseFenceFd >= 0) {
1210 ALOGW("releaseFenceFd[%u][%u] was %d", i, j, layer->releaseFenceFd);
1211 layer->releaseFenceFd = -1;
1238 /* Disable the forced SGX rendering if there is only one layer */
1264 hwc_layer_1_t *layer = &list->hwLayers[i];
1265 IMG_native_handle_t *handle = (IMG_native_handle_t *)layer->handle;
1268 can_dss_render_layer(hwc_dev, layer) &&
1271 is_protected(layer) ||
1272 (hwc_dev->ext.current.docking && hwc_dev->ext.current.enabled && dockable(layer))) &&
1275 !(is_BLENDED(layer) && fb_z >= 0)) {
1279 layer->compositionType = HWC_OVERLAY;
1282 if (hwc_dev->use_sgx && !is_BLENDED(layer))
1283 layer->hints |= HWC_HINT_CLEAR_FB;
1285 else if (is_BLENDED(layer) && i > 0)
1288 hwc_dev->buffers[dsscomp->num_ovls] = layer->handle;
1292 layer,
1302 /* ensure GFX layer is never scaled */
1304 scaled_gfx = scaled(layer) || is_NV12(handle);
1305 } else if (scaled_gfx && !scaled(layer) && !is_NV12(handle)) {
1306 /* swap GFX layer with this one */
1312 /* remember largest dockable layer */
1313 if (dockable(layer) &&
1338 /* assign a z-layer for fb */
1341 ALOGE("**** should have assigned z-layer for fb");
1550 dump_printf(&log, " layer %d:\n", i);
1923 // we don't support the background layer yet