Commit 5228c13
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 ac28ff6 commit 5228c13
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