Lines Matching full:layer
254 // Layer functions
257 layerHook<decltype(&Layer::setCursorPosition),
258 &Layer::setCursorPosition, int32_t, int32_t>);
261 layerHook<decltype(&Layer::setBuffer), &Layer::setBuffer,
265 layerHook<decltype(&Layer::setSurfaceDamage),
266 &Layer::setSurfaceDamage, hwc_region_t>);
268 // Layer state functions
274 layerHook<decltype(&Layer::setColor), &Layer::setColor,
283 layerHook<decltype(&Layer::setDisplayFrame),
284 &Layer::setDisplayFrame, hwc_rect_t>);
287 layerHook<decltype(&Layer::setPlaneAlpha),
288 &Layer::setPlaneAlpha, float>);
291 layerHook<decltype(&Layer::setSidebandStream),
292 &Layer::setSidebandStream, const native_handle_t*>);
295 layerHook<decltype(&Layer::setSourceCrop),
296 &Layer::setSourceCrop, hwc_frect_t>);
301 layerHook<decltype(&Layer::setVisibleRegion),
302 &Layer::setVisibleRegion, hwc_region_t>);
549 ALOGW("Cannot accept change for unknown layer (%" PRIu64 ")",
553 auto layer = mDevice.mLayers[layerId];
554 layer->setCompositionType(type);
565 auto layer = *mLayers.emplace(std::make_shared<Layer>(*this));
566 mDevice.mLayers.emplace(std::make_pair(layer->getId(), layer));
567 *outLayerId = layer->getId();
568 ALOGV("[%" PRIu64 "] created layer %" PRIu64, mId, *outLayerId);
578 ALOGV("[%" PRIu64 "] destroyLayer(%" PRIu64 ") failed: no such layer",
582 const auto layer = mapLayer->second;
584 const auto zRange = mLayers.equal_range(layer);
586 if (**current == *layer) {
591 ALOGV("[%" PRIu64 "] destroyed layer %" PRIu64, mId, layerId);
730 for (const auto& layer : mLayers) {
735 auto releaseFence = layer->getReleaseFence();
738 outLayers[numWritten] = layer->getId();
988 ALOGV("Layer %" PRIu64 " --> %s", request.first,
999 ALOGE("[%" PRIu64 "] updateLayerZ failed to find layer", mId);
1003 const auto layer = mapLayer->second;
1004 const auto zRange = mLayers.equal_range(layer);
1007 if (**current == *layer) {
1019 ALOGE("[%" PRIu64 "] updateLayerZ failed to find layer on display",
1024 layer->setZ(z);
1025 mLayers.emplace(std::move(layer));
1228 // +1 is for framebuffer target layer.
1230 for (auto& layer : mLayers) {
1231 auto& hwc1Layer = mHwc1RequestedContents->hwLayers[layer->getHwc1Id()];
1234 ALOGV("Applying states for layer %" PRIu64 " ", layer->getId());
1235 layer->applyState(hwc1Layer);
1255 "generateChanges: HWC1 layer %zd doesn't have a"
1256 " matching HWC2 layer, and isn't the framebuffer target",
1261 Layer& layer = *mHwc1LayerMap[hwc1Id];
1262 updateTypeChanges(receivedLayer, layer);
1263 updateLayerRequests(receivedLayer, layer);
1286 auto& layer = hwcContents.hwLayers[l];
1287 if (layer.compositionType == HWC_FRAMEBUFFER) {
1288 ALOGV("Closing fence %d for layer %zd", layer.acquireFenceFd, l);
1289 close(layer.acquireFenceFd);
1290 layer.acquireFenceFd = -1;
1299 ALOGE("[%" PRIu64 "] set: last HWC layer wasn't FRAMEBUFFER_TARGET",
1322 ALOGE("addReleaseFences: HWC1 layer %zd doesn't have a"
1323 " matching HWC2 layer, and isn't the framebuffer"
1334 Layer& layer = *mHwc1LayerMap[hwc1Id];
1335 ALOGV("Adding release fence %d to layer %" PRIu64,
1336 receivedLayer.releaseFenceFd, layer.getId());
1337 layer.addReleaseFence(receivedLayer.releaseFenceFd);
1498 output << fill << hwcContents.numHwLayers << " Layer" <<
1500 for (size_t layer = 0; layer < hwcContents.numHwLayers; ++layer) {
1501 output << fill << " Layer " << layer;
1502 output << to_string(hwcContents.hwLayers[layer], hwc1MinorVersion);
1541 output << " " << mLayers.size() << " Layer" <<
1543 for (const auto& layer : mLayers) {
1544 output << layer->dump();
1786 // 1 hwc_layer_1_t for each layer
1787 // 1 hwc_rect_t for each layer's surfaceDamage
1788 // 1 hwc_rect_t for each layer's visibleRegion
1794 for (const auto& layer : mLayers) {
1795 numSurfaceDamages += layer->getNumSurfaceDamages();
1801 for (const auto& layer : mLayers) {
1802 numVisibleRegion += layer->getNumVisibleRegions();
1819 for (auto& layer : mLayers) {
1820 mHwc1LayerMap[nextHwc1Id] = layer;
1821 layer->setHwc1Id(nextHwc1Id++);
1826 const Layer& layer) {
1827 auto layerId = layer.getId();
1830 if (layer.getCompositionType() != Composition::Client) {
1835 if (layer.getCompositionType() != Composition::Device) {
1840 ALOGE_IF(layer.getCompositionType() != Composition::SolidColor,
1848 ALOGE_IF(layer.getCompositionType() != Composition::Sideband,
1853 ALOGE_IF(layer.getCompositionType() != Composition::Cursor,
1861 const hwc_layer_1_t& hwc1Layer, const Layer& layer) {
1863 mChanges->addLayerRequest(layer.getId(),
1901 // Layer functions
1903 std::atomic<hwc2_layer_t> HWC2On1Adapter::Layer::sNextId(1);
1905 HWC2On1Adapter::Layer::Layer(Display& display)
1925 const std::shared_ptr<Layer>& lhs, const std::shared_ptr<Layer>& rhs) {
1929 Error HWC2On1Adapter::Layer::setBuffer(buffer_handle_t buffer,
1931 ALOGV("Setting acquireFence to %d for layer %" PRIu64, acquireFence, mId);
1937 Error HWC2On1Adapter::Layer::setCursorPosition(int32_t x, int32_t y) {
1952 Error HWC2On1Adapter::Layer::setSurfaceDamage(hwc_region_t damage) {
1962 // Layer state functions
1964 Error HWC2On1Adapter::Layer::setBlendMode(BlendMode mode) {
1970 Error HWC2On1Adapter::Layer::setColor(hwc_color_t color) {
1976 Error HWC2On1Adapter::Layer::setCompositionType(Composition type) {
1982 Error HWC2On1Adapter::Layer::setDataspace(android_dataspace_t) {
1986 Error HWC2On1Adapter::Layer::setDisplayFrame(hwc_rect_t frame) {
1992 Error HWC2On1Adapter::Layer::setPlaneAlpha(float alpha) {
1998 Error HWC2On1Adapter::Layer::setSidebandStream(const native_handle_t* stream) {
2004 Error HWC2On1Adapter::Layer::setSourceCrop(hwc_frect_t crop) {
2010 Error HWC2On1Adapter::Layer::setTransform(Transform transform) {
2023 Error HWC2On1Adapter::Layer::setVisibleRegion(hwc_region_t visible) {
2034 Error HWC2On1Adapter::Layer::setZ(uint32_t z) {
2039 void HWC2On1Adapter::Layer::addReleaseFence(int fenceFd) {
2040 ALOGV("addReleaseFence %d to layer %" PRIu64, fenceFd, mId);
2044 const sp<MiniFence>& HWC2On1Adapter::Layer::getReleaseFence() const {
2048 void HWC2On1Adapter::Layer::applyState(hwc_layer_1_t& hwc1Layer) {
2087 std::string HWC2On1Adapter::Layer::dump() const {
2092 output << " Layer HWC2/1: " << mId << "/" << mHwc1Id << " ";
2126 void HWC2On1Adapter::Layer::applyCommonState(hwc_layer_1_t& hwc1Layer) {
2164 void HWC2On1Adapter::Layer::applySolidColorState(hwc_layer_1_t& hwc1Layer) {
2177 void HWC2On1Adapter::Layer::applySidebandState(hwc_layer_1_t& hwc1Layer) {
2181 void HWC2On1Adapter::Layer::applyBufferState(hwc_layer_1_t& hwc1Layer) {
2186 void HWC2On1Adapter::Layer::applyCompositionType(hwc_layer_1_t& hwc1Layer) {
2235 ALOGV("Layer %" PRIu64 " %s set to %d", mId,
2257 // Check for HWC background color layer support.
2286 std::tuple<HWC2On1Adapter::Layer*, Error> HWC2On1Adapter::getLayer(
2290 return std::make_tuple(static_cast<Layer*>(nullptr), Error::BadDisplay);
2295 return std::make_tuple(static_cast<Layer*>(nullptr), Error::BadLayer);
2298 auto layer = layerEntry->second;
2299 if (layer->getDisplay().getId() != displayId) {
2300 return std::make_tuple(static_cast<Layer*>(nullptr), Error::BadLayer);
2302 return std::make_tuple(layer.get(), Error::None);
2369 auto& layer = displayContents->hwLayers[l];
2370 ALOGV(" %zd: %d", l, layer.compositionType);
2423 hwc_layer_1_t& layer = display->hwLayers[layerId];
2424 ALOGV(" Layer[%zu]:", layerId);
2425 ALOGV(" composition : 0x%08x", layer.compositionType);
2426 ALOGV(" hints : 0x%08x", layer.hints);
2427 ALOGV(" flags : 0x%08x", layer.flags);
2428 ALOGV(" handle : 0x%p", layer.handle);
2429 ALOGV(" transform : 0x%08x", layer.transform);
2430 ALOGV(" blending : 0x%08x", layer.blending);
2432 layer.sourceCropf.left,
2433 layer.sourceCropf.top,
2434 layer.sourceCropf.right,
2435 layer.sourceCropf.bottom);
2437 layer.displayFrame.left,
2438 layer.displayFrame.left,
2439 layer.displayFrame.left,
2440 layer.displayFrame.left);
2441 hwc_region_t& visReg = layer.visibleRegionScreen;
2446 if (layer.visibleRegionScreen.rects == nullptr) {
2457 ALOGV(" acquireFenceFd : 0x%08x", layer.acquireFenceFd);
2458 ALOGV(" releaseFenceFd : 0x%08x", layer.releaseFenceFd);
2459 ALOGV(" planeAlpha : 0x%08x", layer.planeAlpha);
2463 layer.surfaceDamage.numRects,
2464 layer.surfaceDamage.rects);
2465 for (size_t sdId=0; sdId < layer.surfaceDamage.numRects ; sdId++) {
2466 if (layer.surfaceDamage.rects == nullptr) {
2471 layer.surfaceDamage.rects[sdId].left,
2472 layer.surfaceDamage.rects[sdId].top,
2473 layer.surfaceDamage.rects[sdId].right,
2474 layer.surfaceDamage.rects[sdId].bottom);