diff options
Diffstat (limited to 'chromium/ui/ozone/platform/drm/gpu/hardware_display_plane_manager.cc')
-rw-r--r-- | chromium/ui/ozone/platform/drm/gpu/hardware_display_plane_manager.cc | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/chromium/ui/ozone/platform/drm/gpu/hardware_display_plane_manager.cc b/chromium/ui/ozone/platform/drm/gpu/hardware_display_plane_manager.cc index 634fb042481..448cfa9a14b 100644 --- a/chromium/ui/ozone/platform/drm/gpu/hardware_display_plane_manager.cc +++ b/chromium/ui/ozone/platform/drm/gpu/hardware_display_plane_manager.cc @@ -459,8 +459,10 @@ void HardwareDisplayPlaneManager::UpdateCrtcAndPlaneStatesAfterModeset( if (is_enabled) { crtc_state.mode = crtc_request.mode(); - crtc_state.modeset_framebuffer = - DrmOverlayPlane::GetPrimaryPlane(crtc_request.overlays())->buffer; + crtc_state.modeset_framebuffers.clear(); + for (const auto& overlay : crtc_request.overlays()) + crtc_state.modeset_framebuffers.push_back(overlay.buffer); + } else { if (crtc_request.plane_list()) disable_planes_lists.insert(crtc_request.plane_list()); @@ -483,9 +485,9 @@ void HardwareDisplayPlaneManager::UpdateCrtcAndPlaneStatesAfterModeset( } } -void HardwareDisplayPlaneManager::ResetModesetBufferOfCrtc(uint32_t crtc_id) { +void HardwareDisplayPlaneManager::ResetModesetStateForCrtc(uint32_t crtc_id) { CrtcState& crtc_state = CrtcStateForCrtcId(crtc_id); - crtc_state.modeset_framebuffer = nullptr; + crtc_state.modeset_framebuffers.clear(); } } // namespace ui |