Lines Matching defs:layer

1103     // rebuild the visible layer list per screen
1123 const sp<Layer>& layer(layers[i]);
1124 const Layer::State& s(layer->getDrawingState());
1127 layer->visibleNonTransparentRegion));
1130 layersSortedByZ.add(layer);
1155 // - When a display is created with a private layer stack, we won't
1156 // emit any black frames until a layer is added to the layer stack.
1189 const sp<Layer>& layer(currentLayers[i]);
1190 layer->setGeometry(hw, *cur);
1212 * update the per-frame h/w composer data for each layer
1215 const sp<Layer>& layer(currentLayers[i]);
1216 layer->setPerFrameData(hw, *cur);
1232 const sp<Layer>& layer(currentLayers[i]);
1233 if (layer->isPotentialCursor()) {
1371 const sp<Layer>& layer(currentLayers[i]);
1372 uint32_t trFlags = layer->getTransactionFlags(eTransactionNeeded);
1375 const uint32_t flags = layer->doTransaction(0);
1475 // they have external state (layer stack, projection,
1544 // (either because a display has changed, or because a layer
1550 // If a layer is visible only on a single display, then that
1557 // NOTE: layer transactions have taken place already, so we use their
1559 // happened yet, so we must use the current state layer list
1567 // of displays for every layer).
1568 const sp<Layer>& layer(currentLayers[i]);
1569 uint32_t layerStack = layer->getDrawingState().layerStack;
1592 // could be null when this layer is using a layerStack
1597 layer->updateTransformHint(disp);
1619 const sp<Layer>& layer(layers[i]);
1620 if (currentLayers.indexOf(layer) < 0) {
1621 // this layer is not visible anymore
1625 const Layer::State& s(layer->getDrawingState());
1656 const sp<Layer>& layer(currentLayers[i]);
1657 Rect cursorPos = layer->getPosition(hw);
1698 const sp<Layer>& layer = currentLayers[i];
1701 const Layer::State& s(layer->getDrawingState());
1703 // only consider the layers on the given layer stack
1714 * and not fully transparent. This is essentially the layer's
1728 * transparent. This is only used to tell when the layer has no visible
1729 * non-transparent regions and can be removed from the layer list. It
1730 * does not affect the visibleRegion of this layer or any layers
1738 if (CC_LIKELY(layer->isVisible())) {
1739 const bool translucent = !layer->isOpaque(s);
1740 Rect bounds(s.active.transform.transform(layer->computeBounds()));
1760 // the opaque region is the layer's footprint
1769 // Update aboveCoveredLayers for next (lower) layer
1775 // compute this layer's dirty region
1776 if (layer->contentDirty) {
1780 dirty.orSelf(layer->visibleRegion);
1781 layer->contentDirty = false;
1796 const Region oldVisibleRegion = layer->visibleRegion;
1797 const Region oldCoveredRegion = layer->coveredRegion;
1806 // Update aboveOpaqueLayers for next (lower) layer
1810 layer->setVisibleRegion(visibleRegion);
1811 layer->setCoveredRegion(coveredRegion);
1812 layer->setVisibleNonTransparentRegion(
1844 // Display is now waiting on Layer 1's frame, which is behind layer 0's
1845 // second frame. But layer 0's second frame could be waiting on display.
1848 const sp<Layer>& layer(layers[i]);
1849 if (layer->hasQueuedFrame()) {
1851 if (layer->shouldPresentNow(mPrimaryDispSync)) {
1852 layersWithQueuedFrames.push_back(layer.get());
1854 layer->useEmptyDamage();
1857 layer->useEmptyDamage();
1861 Layer* layer = layersWithQueuedFrames[i];
1862 const Region dirty(layer->latchBuffer(visibleRegions));
1863 layer->useSurfaceDamage();
1864 const Layer::State& s(layer->getDrawingState());
2024 const sp<Layer>& layer(layers[i]);
2025 const Region clip(dirty.intersect(tr.transform(layer->visibleRegion)));
2030 const Layer::State& state(layer->getDrawingState());
2033 && layer->isOpaque(state) && (state.alpha == 0xFF)
2035 // never clear the very first layer since we're
2037 layer->clearWithOpenGL(hw, clip);
2042 layer->draw(hw, clip);
2053 layer->setAcquireFence(hw, *cur);
2058 const sp<Layer>& layer(layers[i]);
2060 tr.transform(layer->visibleRegion)));
2062 layer->draw(hw, clip);
2083 // add this layer to the current state list
2093 // attach this layer to the client
2099 status_t SurfaceFlinger::removeLayer(const sp<Layer>& layer) {
2101 ssize_t index = mCurrentState.layersSortedByZ.remove(layer);
2103 mLayersPendingRemoval.push(layer);
2267 sp<Layer> layer(client->getLayerUser(s.surface));
2268 if (layer != 0) {
2273 if (layer->setPosition(s.x, s.y, !positionAppliesWithResize)) {
2279 ssize_t idx = mCurrentState.layersSortedByZ.indexOf(layer);
2280 if (layer->setLayer(s.z) && idx >= 0) {
2282 mCurrentState.layersSortedByZ.add(layer);
2289 if (layer->setSize(s.w, s.h)) {
2294 if (layer->setAlpha(uint8_t(255.0f*s.alpha+0.5f)))
2298 if (layer->setMatrix(s.matrix))
2302 if (layer->setTransparentRegionHint(s.transparentRegion))
2306 if (layer->setFlags(s.flags, s.mask))
2310 if (layer->setCrop(s.crop))
2314 if (layer->setFinalCrop(s.finalCrop))
2319 ssize_t idx = mCurrentState.layersSortedByZ.indexOf(layer);
2320 if (layer->setLayerStack(s.layerStack) && idx >= 0) {
2322 mCurrentState.layersSortedByZ.add(layer);
2329 layer->deferTransactionUntil(s.handle, s.frameNumber);
2334 layer->setOverrideScalingMode(s.overrideScalingMode);
2357 sp<Layer> layer;
2363 handle, gbp, &layer);
2368 handle, gbp, &layer);
2379 result = addClientLayer(client, *handle, *gbp, layer);
2432 "error removing layer=%p (%s)", l.get(), strerror(-err));
2437 status_t SurfaceFlinger::onLayerDestroyed(const wp<Layer>& layer)
2442 sp<Layer> l(layer.promote());
2446 "error removing layer=%p (%s)", l.get(), strerror(-err));
2454 // reset screen orientation and use primary layer stack
2654 const sp<Layer>& layer(currentLayers[i]);
2655 result.appendFormat("%s\n", layer->getName().string());
2678 const sp<Layer>& layer(currentLayers[i]);
2679 if (name == layer->getName()) {
2680 layer->dumpFrameStats(result);
2698 const sp<Layer>& layer(currentLayers[i]);
2699 if (name.isEmpty() || (name == layer->getName())) {
2700 layer->clearFrameStats();
2713 const sp<Layer>& layer(drawingLayers[i]);
2714 layer->logFrameStats();
2806 * Dump the visible layer list
2814 const sp<Layer>& layer(currentLayers[i]);
2815 layer->dump(result, colorizer);
3376 const sp<Layer>& layer(layers[i]);
3377 const Layer::State& state(layer->getDrawingState());
3380 if (layer->isVisible()) {
3381 if (filtering) layer->setFiltering(true);
3382 layer->draw(hw, useIdentityTransform);
3383 if (filtering) layer->setFiltering(false);
3426 const sp<Layer>& layer(layers[i]);
3427 const Layer::State& state(layer->getDrawingState());
3429 state.z <= maxLayerZ && layer->isVisible() &&
3430 layer->isSecure()) {
3566 const sp<Layer>& layer(layers[i]);
3567 const Layer::State& state(layer->getDrawingState());
3570 && (layer->isVisible());
3573 i, layer->getName().string(), state.layerStack, state.z,
3574 layer->isVisible(), state.flags, state.alpha);
3591 // sort layers per layer-stack, then by z-order and finally by sequence