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);
62 void restore_saved_crtc();
65 uint32_t
const connector_id;
66 std::shared_ptr<PageFlipper>
const page_flipper;
72 drmModeCrtc saved_crtc;
73 bool using_saved_crtc;
79 std::mutex power_mutex;
~RealKMSOutput()
Definition: real_kms_output.cpp:155
std::unique_ptr< drmModeConnector, std::function< void(drmModeConnector *)> > DRMModeConnectorUPtr
Definition: drm_mode_resources.h:37
bool schedule_page_flip(uint32_t fb_id)
Definition: real_kms_output.cpp:248
void clear_cursor()
Definition: real_kms_output.cpp:309
bool has_cursor() const
Definition: real_kms_output.cpp:318
void reset()
Definition: real_kms_output.cpp:160
Definition: kms_output.h:37
void wait_for_page_flip()
Definition: real_kms_output.cpp:261
RealKMSOutput(int drm_fd, uint32_t connector_id, std::shared_ptr< PageFlipper > const &page_flipper)
Definition: real_kms_output.cpp:135
void configure(geometry::Displacement fb_offset, size_t kms_mode_index)
Definition: real_kms_output.cpp:195
geometry::Size size() const
Definition: real_kms_output.cpp:189
void move_cursor(geometry::Point destination)
Definition: real_kms_output.cpp:294
void set_cursor(gbm_bo *buffer)
Definition: real_kms_output.cpp:274
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
void clear_crtc()
Definition: real_kms_output.cpp:222
void set_power_mode(MirPowerMode mode)
Definition: real_kms_output.cpp:380
bool set_crtc(uint32_t fb_id)
Definition: real_kms_output.cpp:201