diff options
Diffstat (limited to 'drm/DrmDisplayPipeline.cpp')
-rw-r--r-- | drm/DrmDisplayPipeline.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drm/DrmDisplayPipeline.cpp b/drm/DrmDisplayPipeline.cpp index f993d28..e81544d 100644 --- a/drm/DrmDisplayPipeline.cpp +++ b/drm/DrmDisplayPipeline.cpp @@ -86,15 +86,15 @@ static auto TryCreatePipeline(DrmDevice &dev, DrmConnector &connector, return {}; } - if (primary_planes.size() > 1) { - ALOGE("Found more than 1 primary plane for CRTC %d", crtc.GetId()); - return {}; + for (const auto &plane : primary_planes) { + pipe->primary_plane = plane->BindPipeline(pipe.get()); + if (pipe->primary_plane) { + break; + } } - pipe->primary_plane = primary_planes[0]->BindPipeline(pipe.get()); if (!pipe->primary_plane) { - ALOGE("Primary plane %d is already owned. Internal error.", - primary_planes[0]->GetId()); + ALOGE("Failed to bind primary plane"); return {}; } |