OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef UI_OZONE_PLATFORM_DRM_GPU_HARDWARE_DISPLAY_CONTROLLER_H_ | 5 #ifndef UI_OZONE_PLATFORM_DRM_GPU_HARDWARE_DISPLAY_CONTROLLER_H_ |
6 #define UI_OZONE_PLATFORM_DRM_GPU_HARDWARE_DISPLAY_CONTROLLER_H_ | 6 #define UI_OZONE_PLATFORM_DRM_GPU_HARDWARE_DISPLAY_CONTROLLER_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 #include <xf86drmMode.h> | 10 #include <xf86drmMode.h> |
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
173 ~PageFlipRequest(); | 173 ~PageFlipRequest(); |
174 | 174 |
175 OverlayPlaneList planes; | 175 OverlayPlaneList planes; |
176 bool is_sync; | 176 bool is_sync; |
177 base::Closure callback; | 177 base::Closure callback; |
178 }; | 178 }; |
179 | 179 |
180 // Buffers need to be declared first so that they are destroyed last. Needed | 180 // Buffers need to be declared first so that they are destroyed last. Needed |
181 // since the controllers may reference the buffers. | 181 // since the controllers may reference the buffers. |
182 OverlayPlaneList current_planes_; | 182 OverlayPlaneList current_planes_; |
| 183 // Planes currently being queued without having SchedulePageFlip() called. |
183 OverlayPlaneList pending_planes_; | 184 OverlayPlaneList pending_planes_; |
| 185 // Plane lists for which SchedulePageFlip() was called. They are waiting for |
| 186 // previous page flip events to be completed before they can be serviced. |
184 std::deque<PageFlipRequest> requests_; | 187 std::deque<PageFlipRequest> requests_; |
185 scoped_refptr<ScanoutBuffer> cursor_buffer_; | 188 scoped_refptr<ScanoutBuffer> cursor_buffer_; |
186 | 189 |
187 base::ScopedPtrHashMap<DrmDevice*, HardwareDisplayPlaneList> | 190 base::ScopedPtrHashMap<DrmDevice*, HardwareDisplayPlaneList> |
188 owned_hardware_planes_; | 191 owned_hardware_planes_; |
189 | 192 |
190 // Stores the CRTC configuration. This is used to identify monitors and | 193 // Stores the CRTC configuration. This is used to identify monitors and |
191 // configure them. | 194 // configure them. |
192 ScopedVector<CrtcController> crtc_controllers_; | 195 ScopedVector<CrtcController> crtc_controllers_; |
193 | 196 |
194 // Location of the controller on the screen. | 197 // Location of the controller on the screen. |
195 gfx::Point origin_; | 198 gfx::Point origin_; |
196 | 199 |
197 // The mode used by the last modesetting operation. | 200 // The mode used by the last modesetting operation. |
198 drmModeModeInfo mode_; | 201 drmModeModeInfo mode_; |
199 | 202 |
200 bool is_disabled_; | 203 bool is_disabled_; |
201 | 204 |
202 DISALLOW_COPY_AND_ASSIGN(HardwareDisplayController); | 205 DISALLOW_COPY_AND_ASSIGN(HardwareDisplayController); |
203 }; | 206 }; |
204 | 207 |
205 } // namespace ui | 208 } // namespace ui |
206 | 209 |
207 #endif // UI_OZONE_PLATFORM_DRM_GPU_HARDWARE_DISPLAY_CONTROLLER_H_ | 210 #endif // UI_OZONE_PLATFORM_DRM_GPU_HARDWARE_DISPLAY_CONTROLLER_H_ |
OLD | NEW |