42
45
static const char* component();
44
DisplayReport(const std::shared_ptr<mir::logging::Logger>& logger);
48
std::shared_ptr<mir::logging::Logger> const& logger,
49
std::shared_ptr<time::Clock> const& clock);
45
51
virtual ~DisplayReport();
47
virtual void report_successful_setup_of_native_resources();
48
virtual void report_successful_egl_make_current_on_construction();
49
virtual void report_successful_egl_buffer_swap_on_construction();
50
virtual void report_successful_drm_mode_set_crtc_on_construction();
51
virtual void report_successful_display_construction();
52
virtual void report_drm_master_failure(int error);
53
virtual void report_vt_switch_away_failure();
54
virtual void report_vt_switch_back_failure();
55
virtual void report_egl_configuration(EGLDisplay disp, EGLConfig cfg);
53
virtual void report_successful_setup_of_native_resources() override;
54
virtual void report_successful_egl_make_current_on_construction() override;
55
virtual void report_successful_egl_buffer_swap_on_construction() override;
56
virtual void report_successful_drm_mode_set_crtc_on_construction() override;
57
virtual void report_successful_display_construction() override;
58
virtual void report_vsync(unsigned int display_id) override;
59
virtual void report_drm_master_failure(int error) override;
60
virtual void report_vt_switch_away_failure() override;
61
virtual void report_vt_switch_back_failure() override;
62
virtual void report_egl_configuration(EGLDisplay disp, EGLConfig cfg) override;
58
DisplayReport(const DisplayReport&) = delete;
59
DisplayReport& operator=(const DisplayReport&) = delete;
65
DisplayReport(DisplayReport const&) = delete;
66
DisplayReport& operator=(DisplayReport const&) = delete;
62
std::shared_ptr<mir::logging::Logger> logger;
69
std::shared_ptr<mir::logging::Logger> const logger;
70
std::shared_ptr<time::Clock> const clock;
71
std::mutex vsync_event_mutex;
72
mir::time::Timestamp last_report;
73
std::unordered_map<unsigned int, unsigned int> event_map;