19 #ifndef MIR_GRAPHICS_ANDROID_HWC11_DEVICE_H_
20 #define MIR_GRAPHICS_ANDROID_HWC11_DEVICE_H_
33 class HWCVsyncCoordinator;
36 class HWC11Device :
public HWCCommonDevice
39 HWC11Device(std::shared_ptr<hwc_composer_device_1>
const& hwc_device,
40 std::shared_ptr<HWCLayerList>
const& layer_list,
41 std::shared_ptr<DisplaySupportProvider>
const& fbdev,
42 std::shared_ptr<HWCVsyncCoordinator>
const& coordinator);
43 ~HWC11Device() noexcept;
45 geometry::Size display_size() const;
47 unsigned int number_of_framebuffers_available() const;
48 void set_next_frontbuffer(std::shared_ptr<graphics::Buffer> const& buffer);
49 void sync_to_display(
bool sync);
51 void commit_frame(EGLDisplay dpy, EGLSurface sur);
54 std::shared_ptr<HWCLayerList> const layer_list;
55 std::shared_ptr<DisplaySupportProvider> const fb_device;
56 std::shared_ptr<SyncFileOps> const sync_ops;
57 unsigned int primary_display_config;