mirror of
https://gitlab.freedesktop.org/wayland/weston.git
synced 2026-05-05 11:08:14 +02:00
drm: Ensure we always have a fb for non-cursor planes
Now that the weird cursor code is out of the plane loop, we can simplify it a little bit by bailing sooner when we don't have an fb. The cursor code not needing an fb was the only reason we could enter the loop without one. Signed-off-by: Derek Foreman <derek.foreman@collabora.com>
This commit is contained in:
parent
6f23316ec6
commit
181a2a03d9
1 changed files with 6 additions and 5 deletions
|
|
@ -742,9 +742,12 @@ drm_output_find_plane_for_view(struct drm_output_state *state,
|
|||
fputs("\n", dbg);
|
||||
}
|
||||
pnode->try_view_on_plane_failure_reasons |= fb_failure_reasons;
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
assert(fb);
|
||||
|
||||
/* if the view covers the whole output, put it in the scanout plane,
|
||||
* not overlay */
|
||||
if (mode == DRM_OUTPUT_PROPOSE_STATE_PLANES_ONLY) {
|
||||
|
|
@ -816,11 +819,9 @@ drm_output_find_plane_for_view(struct drm_output_state *state,
|
|||
|
||||
assert(plane->type != WDRM_PLANE_TYPE_CURSOR);
|
||||
|
||||
if (fb)
|
||||
ps = drm_output_try_paint_node_on_plane(handle, state,
|
||||
pnode, mode,
|
||||
fb, zpos);
|
||||
|
||||
ps = drm_output_try_paint_node_on_plane(handle, state,
|
||||
pnode, mode,
|
||||
fb, zpos);
|
||||
if (ps) {
|
||||
/* Check if this ps is underlay plane, if so, the view
|
||||
* needs through hole on primary plane. */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue