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;
All things Mir.
Definition: aging_buffer.h:24
~RealKMSOutput()
Definition: real_kms_output.cpp:152
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:242
void clear_cursor()
Definition: real_kms_output.cpp:299
bool has_cursor() const
Definition: real_kms_output.cpp:308
void reset()
Definition: real_kms_output.cpp:157
Definition: kms_output.h:37
void wait_for_page_flip()
Definition: real_kms_output.cpp:255
RealKMSOutput(int drm_fd, uint32_t connector_id, std::shared_ptr< PageFlipper > const &page_flipper)
Definition: real_kms_output.cpp:132
void configure(geometry::Displacement fb_offset, size_t kms_mode_index)
Definition: real_kms_output.cpp:192
geometry::Size size() const
Definition: real_kms_output.cpp:186
void move_cursor(geometry::Point destination)
Definition: real_kms_output.cpp:286
void set_cursor(gbm_bo *buffer)
Definition: real_kms_output.cpp:268
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:220
void set_power_mode(MirPowerMode mode)
Definition: real_kms_output.cpp:370
bool set_crtc(uint32_t fb_id)
Definition: real_kms_output.cpp:198