19 #ifndef MIR_GRAPHICS_MESA_REAL_KMS_OUTPUT_H_ 20 #define MIR_GRAPHICS_MESA_REAL_KMS_OUTPUT_H_ 41 std::shared_ptr<PageFlipper>
const& page_flipper);
63 void restore_saved_crtc();
66 uint32_t
const connector_id;
67 std::shared_ptr<PageFlipper>
const page_flipper;
73 drmModeCrtc saved_crtc;
74 bool using_saved_crtc;
80 std::mutex power_mutex;
All things Mir.
Definition: atomic_callback.h:25
std::unique_ptr< drmModeConnector, std::function< void(drmModeConnector *)> > DRMModeConnectorUPtr
Definition: drm_mode_resources.h:37
bool schedule_page_flip(uint32_t fb_id)
Definition: kms_output.h:37
void wait_for_page_flip()
RealKMSOutput(int drm_fd, uint32_t connector_id, std::shared_ptr< PageFlipper > const &page_flipper)
int max_refresh_rate() const
Approximate maximum refresh rate of this output to within 1Hz.
void configure(geometry::Displacement fb_offset, size_t kms_mode_index)
void move_cursor(geometry::Point destination)
void set_cursor(gbm_bo *buffer)
Definition: displacement.h:32
std::unique_ptr< drmModeCrtc, std::function< void(drmModeCrtc *)> > DRMModeCrtcUPtr
Definition: drm_mode_resources.h:35
Definition: real_kms_output.h:37
geometry::Size size() const
void set_power_mode(MirPowerMode mode)
bool set_crtc(uint32_t fb_id)