Lines Matching full:layer
87 auto& layer = contents->hwLayers[l];
88 std::free(const_cast<hwc_rect_t*>(layer.visibleRegionScreen.rects));
287 // Layer functions
290 layerHook<decltype(&Layer::setCursorPosition),
291 &Layer::setCursorPosition, int32_t, int32_t>);
294 layerHook<decltype(&Layer::setBuffer), &Layer::setBuffer,
298 layerHook<decltype(&Layer::setSurfaceDamage),
299 &Layer::setSurfaceDamage, hwc_region_t>);
301 // Layer state functions
307 layerHook<decltype(&Layer::setColor), &Layer::setColor,
316 layerHook<decltype(&Layer::setDisplayFrame),
317 &Layer::setDisplayFrame, hwc_rect_t>);
320 layerHook<decltype(&Layer::setPlaneAlpha),
321 &Layer::setPlaneAlpha, float>);
324 layerHook<decltype(&Layer::setSidebandStream),
325 &Layer::setSidebandStream, const native_handle_t*>);
328 layerHook<decltype(&Layer::setSourceCrop),
329 &Layer::setSourceCrop, hwc_frect_t>);
334 layerHook<decltype(&Layer::setVisibleRegion),
335 &Layer::setVisibleRegion, hwc_region_t>);
588 auto layer = mDevice.mLayers[layerId];
589 layer->setCompositionType(type);
603 auto layer = *mLayers.emplace(std::make_shared<Layer>(*this));
604 mDevice.mLayers.emplace(std::make_pair(layer->getId(), layer));
605 *outLayerId = layer->getId();
606 ALOGV("[%" PRIu64 "] created layer %" PRIu64, mId, *outLayerId);
616 ALOGV("[%" PRIu64 "] destroyLayer(%" PRIu64 ") failed: no such layer",
620 const auto layer = mapLayer->second;
622 const auto zRange = mLayers.equal_range(layer);
624 if (**current == *layer) {
629 ALOGV("[%" PRIu64 "] destroyed layer %" PRIu64, mId, layerId);
776 for (const auto& layer : mLayers) {
781 auto releaseFence = layer->getReleaseFence();
784 outLayers[numWritten] = layer->getId();
1044 ALOGV("Layer %" PRIu64 " --> %s", request.first,
1058 ALOGE("[%" PRIu64 "] updateLayerZ failed to find layer", mId);
1062 const auto layer = mapLayer->second;
1063 const auto zRange = mLayers.equal_range(layer);
1066 if (**current == *layer) {
1078 ALOGE("[%" PRIu64 "] updateLayerZ failed to find layer on display",
1083 layer->setZ(z);
1084 mLayers.emplace(std::move(layer));
1289 for (auto& layer : mLayers) {
1290 auto& hwc1Layer = mHwc1RequestedContents->hwLayers[layer->getHwc1Id()];
1292 layer->applyState(hwc1Layer, applyAllState);
1321 auto& layer = contents->hwLayers[layerId];
1323 cloneHWCRegion(layer.visibleRegionScreen);
1324 cloneHWCRegion(layer.surfaceDamage);
1342 "setReceivedContents: HWC1 layer %zd doesn't have a"
1343 " matching HWC2 layer, and isn't the framebuffer target",
1348 Layer& layer = *mHwc1LayerMap[hwc1Id];
1349 updateTypeChanges(receivedLayer, layer);
1350 updateLayerRequests(receivedLayer, layer);
1375 auto& layer = hwcContents.hwLayers[l];
1376 if (layer.compositionType == HWC_FRAMEBUFFER) {
1377 ALOGV("Closing fence %d for layer %zd", layer.acquireFenceFd, l);
1378 close(layer.acquireFenceFd);
1379 layer.acquireFenceFd = -1;
1388 ALOGE("[%" PRIu64 "] set: last HWC layer wasn't FRAMEBUFFER_TARGET",
1413 ALOGE("addReleaseFences: HWC1 layer %zd doesn't have a"
1414 " matching HWC2 layer, and isn't the framebuffer"
1425 Layer& layer = *mHwc1LayerMap[hwc1Id];
1426 ALOGV("Adding release fence %d to layer %" PRIu64,
1427 receivedLayer.releaseFenceFd, layer.getId());
1428 layer.addReleaseFence(receivedLayer.releaseFenceFd);
1600 output << fill << hwcContents.numHwLayers << " Layer" <<
1602 for (size_t layer = 0; layer < hwcContents.numHwLayers; ++layer) {
1603 output << fill << " Layer " << layer;
1604 output << to_string(hwcContents.hwLayers[layer], hwc1MinorVersion);
1644 output << " " << mLayers.size() << " Layer" <<
1646 for (const auto& layer : mLayers) {
1647 output << layer->dump();
1871 // Allocate an additional layer for the framebuffer target
1875 ALOGV("[%" PRIu64 "] reallocateHwc1Contents creating %zd layer%s", mId,
1887 for (auto& layer : mLayers) {
1888 mHwc1LayerMap[nextHwc1Id] = layer;
1889 layer->setHwc1Id(nextHwc1Id++);
1894 const Layer& layer)
1896 auto layerId = layer.getId();
1899 if (layer.getCompositionType() != Composition::Client) {
1904 if (layer.getCompositionType() != Composition::Device) {
1909 ALOGE_IF(layer.getCompositionType() != Composition::SolidColor,
1917 ALOGE_IF(layer.getCompositionType() != Composition::Sideband,
1922 ALOGE_IF(layer.getCompositionType() != Composition::Cursor,
1930 const hwc_layer_1_t& hwc1Layer, const Layer& layer)
1933 mChanges->addLayerRequest(layer.getId(),
1971 // Layer functions
1973 std::atomic<hwc2_layer_t> HWC2On1Adapter::Layer::sNextId(1);
1975 HWC2On1Adapter::Layer::Layer(Display& display)
1997 const std::shared_ptr<Layer>& lhs, const std::shared_ptr<Layer>& rhs)
2002 Error HWC2On1Adapter::Layer::setBuffer(buffer_handle_t buffer,
2005 ALOGV("Setting acquireFence to %d for layer %" PRIu64, acquireFence, mId);
2011 Error HWC2On1Adapter::Layer::setCursorPosition(int32_t x, int32_t y)
2027 Error HWC2On1Adapter::Layer::setSurfaceDamage(hwc_region_t damage)
2034 // Layer state functions
2036 Error HWC2On1Adapter::Layer::setBlendMode(BlendMode mode)
2042 Error HWC2On1Adapter::Layer::setColor(hwc_color_t color)
2048 Error HWC2On1Adapter::Layer::setCompositionType(Composition type)
2054 Error HWC2On1Adapter::Layer::setDataspace(android_dataspace_t dataspace)
2060 Error HWC2On1Adapter::Layer::setDisplayFrame(hwc_rect_t frame)
2066 Error HWC2On1Adapter::Layer::setPlaneAlpha(float alpha)
2072 Error HWC2On1Adapter::Layer::setSidebandStream(const native_handle_t* stream)
2078 Error HWC2On1Adapter::Layer::setSourceCrop(hwc_frect_t crop)
2084 Error HWC2On1Adapter::Layer::setTransform(Transform transform)
2090 Error HWC2On1Adapter::Layer::setVisibleRegion(hwc_region_t rawVisible)
2098 Error HWC2On1Adapter::Layer::setZ(uint32_t z)
2104 void HWC2On1Adapter::Layer::addReleaseFence(int fenceFd)
2106 ALOGV("addReleaseFence %d to layer %" PRIu64, fenceFd, mId);
2110 const sp<Fence>& HWC2On1Adapter::Layer::getReleaseFence() const
2115 void HWC2On1Adapter::Layer::applyState(hwc_layer_1_t& hwc1Layer,
2130 // Layer dump helpers
2162 std::string HWC2On1Adapter::Layer::dump() const
2168 output << " Layer HWC2/1: " << mId << "/" << mHwc1Id << " ";
2203 void HWC2On1Adapter::Layer::applyCommonState(hwc_layer_1_t& hwc1Layer,
2261 void HWC2On1Adapter::Layer::applySolidColorState(hwc_layer_1_t& hwc1Layer,
2270 void HWC2On1Adapter::Layer::applySidebandState(hwc_layer_1_t& hwc1Layer,
2279 void HWC2On1Adapter::Layer::applyBufferState(hwc_layer_1_t& hwc1Layer)
2285 void HWC2On1Adapter::Layer::applyCompositionType(hwc_layer_1_t& hwc1Layer,
2337 ALOGV("Layer %" PRIu64 " %s set to %d", mId,
2376 std::tuple<HWC2On1Adapter::Layer*, Error> HWC2On1Adapter::getLayer(
2381 return std::make_tuple(static_cast<Layer*>(nullptr), Error::BadDisplay);
2386 return std::make_tuple(static_cast<Layer*>(nullptr), Error::BadLayer);
2389 auto layer = layerEntry->second;
2390 if (layer->getDisplay().getId() != displayId) {
2391 return std::make_tuple(static_cast<Layer*>(nullptr), Error::BadLayer);
2393 return std::make_tuple(layer.get(), Error::None);
2470 auto& layer = displayContents->hwLayers[l];
2471 ALOGV(" %zd: %d", l, layer.compositionType);