scene/workspacescene: don't check direct scanout candidates for a pixmap
We don't need a pixmap for direct scanout, and the drm backend destroys the pixmap when direct scanout is successful... so this check created a loop of direct scanout working and not working, and worse, the client reallocating its buffers each time. BUG: 485639 BUG: 485730 BUG: 485712 CCBUG: 477016
This commit is contained in:
parent
48197a4f5b
commit
fba948b39f
1 changed files with 1 additions and 11 deletions
|
@ -164,17 +164,7 @@ static SurfaceItem *findTopMostSurface(SurfaceItem *item)
|
|||
}
|
||||
}
|
||||
}
|
||||
if (item->pixmap()) {
|
||||
return item;
|
||||
}
|
||||
for (const auto &child : children | std::views::reverse) {
|
||||
if (child->z() < 0) {
|
||||
if (auto item = findTopMostSurface(static_cast<SurfaceItem *>(child))) {
|
||||
return item;
|
||||
}
|
||||
}
|
||||
}
|
||||
return nullptr;
|
||||
return item;
|
||||
}
|
||||
|
||||
SurfaceItem *WorkspaceScene::scanoutCandidate() const
|
||||
|
|
Loading…
Reference in a new issue