backend-drm: Move plane-type-specific checks to switch statement
This makes it a bit more clear and easy to follow, rather than diving through if nesting. Signed-off-by: Daniel Stone <daniels@collabora.com>
This commit is contained in:
parent
0ecd6c3d33
commit
b3d7df5c3e
|
@ -682,15 +682,24 @@ drm_output_prepare_plane_view(struct drm_output_state *state,
|
|||
|
||||
possible_plane_mask &= ~(1 << plane->plane_idx);
|
||||
|
||||
if (plane->type == WDRM_PLANE_TYPE_CURSOR &&
|
||||
(plane != output->cursor_plane || !shmbuf)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (plane->type == WDRM_PLANE_TYPE_PRIMARY &&
|
||||
(plane != output->scanout_plane ||
|
||||
mode != DRM_OUTPUT_PROPOSE_STATE_PLANES_ONLY)) {
|
||||
continue;
|
||||
switch (plane->type) {
|
||||
case WDRM_PLANE_TYPE_CURSOR:
|
||||
assert(shmbuf);
|
||||
assert(plane == output->cursor_plane);
|
||||
break;
|
||||
case WDRM_PLANE_TYPE_PRIMARY:
|
||||
assert(fb);
|
||||
if (plane != output->scanout_plane)
|
||||
continue;
|
||||
if (mode != DRM_OUTPUT_PROPOSE_STATE_PLANES_ONLY)
|
||||
continue;
|
||||
break;
|
||||
case WDRM_PLANE_TYPE_OVERLAY:
|
||||
assert(fb);
|
||||
assert(mode != DRM_OUTPUT_PROPOSE_STATE_RENDERER_ONLY);
|
||||
break;
|
||||
default:
|
||||
assert(false && "unknown plane type");
|
||||
}
|
||||
|
||||
if (!drm_plane_is_available(plane, output))
|
||||
|
|
Loading…
Reference in New Issue