Commit f99159f
drm: apple: reject plane commit if it will crash DCP
Owing to its origin in mobile devices and the Apple TV, DCP seems to
have been designed under the assumption that no one could possibly want
a rectangle to clip the screen. If a rectangle's bottom-right edge
clips the screen, DCP will instead try to scale the destination rectangle
to the best of its ability... until it can't anymore.
DCP is not tolerant to faults and will crash if the onscreen portion of
the framebuffer ends up smaller than 32x32, or if any dimension ends up
entirely offscreen.
Use apple_plane_atomic_check() to reject requested plane states that
could crash DCP. This is the final piece of the puzzle required to
enable preliminary support for overlay planes on Apple Silicon devices.
Signed-off-by: James Calligeros <[email protected]>1 parent 597a89b commit f99159f
1 file changed
Lines changed: 13 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
90 | 90 | | |
91 | 91 | | |
92 | 92 | | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
93 | 106 | | |
94 | 107 | | |
95 | 108 | | |
| |||
0 commit comments