Dmabuf recovery on EGL reset
ClosedPublic

Authored by romangg on Oct 26 2019, 4:15 AM.

Details

Reviewers
zzag
Group Reviewers
KWin
Commits
R108:7459aabcac24: Dmabuf recovery on EGL reset
Summary

The EGL platform might go away at any time through reconfiguration or because
of a graphic error. KWin then resets the graphics. The dmabuf implementation
must respect that and recover from a graphics reset by recreating all EGL
images for existing buffer.

This assumes that we won't change our graphics API mid-session and that
supported plane and modifier configuration stays constant.

In practise we remember all current dmabufs in a single map and only remove
them if the client did destroy the resource.

BUG: 411980
CCBUG: 413403
FIXED-IN: 5.17.2

Test Plan

Applied screenedge configuration without crash.

Diff Detail

Repository
R108 KWin
Branch
dmabuf-reset
Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 18285
Build 18303: arc lint + arc unit
romangg created this revision.Oct 26 2019, 4:15 AM
Restricted Application added a project: KWin. · View Herald TranscriptOct 26 2019, 4:15 AM
Restricted Application added a subscriber: kwin. · View Herald Transcript
romangg requested review of this revision.Oct 26 2019, 4:15 AM
fvogt added a subscriber: fvogt.Oct 26 2019, 8:09 PM
zzag accepted this revision.Oct 28 2019, 9:46 AM
This revision is now accepted and ready to land.Oct 28 2019, 9:46 AM
romangg updated this revision to Diff 68929.Oct 28 2019, 10:28 PM

Rebase on Plasma/5.17 branch.

This revision was automatically updated to reflect the committed changes.