int
tdm_module_check_abi(tdm_private_module *private_module, int abimaj, int abimin);
+tdm_error
+tdm_display_call_thread_cb_output_create(tdm_private_display *private_display, tdm_output *output);
+void
+tdm_display_thread_cb_output_create(tdm_private_display *private_display, void *object, tdm_thread_cb_base *cb_base, void *user_data);
void *
tdm_display_find_output_stamp(tdm_private_display *private_display, double stamp);
tdm_private_output *
tdm_display_find_private_output(tdm_private_display *private_display, tdm_output *output_backend);
+unsigned int
+tdm_display_find_empty_output_pipe(tdm_private_display *private_display);
+
+
+void *
+tdm_display_find_hwc_stamp(tdm_private_display *private_display, double stamp);
+tdm_private_hwc *
+tdm_display_find_private_hwc(tdm_private_display *private_display, tdm_hwc *hwc_backend);
tdm_error
tdm_output_init(tdm_private_display *private_display);
+tdm_error
+tdm_output_call_thread_cb_destroy(tdm_private_output *private_output);
+void
+tdm_output_thread_cb_destroy(tdm_private_display *private_display, void *object, tdm_thread_cb_base *cb_base, void *user_data);
void
tdm_output_thread_cb_change(tdm_private_display *private_display, void *object, tdm_thread_cb_base *cb_base, void *user_data);
void
void
tdm_output_cb_dpms(tdm_output *output_backend, tdm_output_dpms dpms,
void *user_data);
-tdm_error
-tdm_output_cb_need_validate(tdm_private_output *private_output);
void
tdm_output_vblank_print_wait_information(tdm_private_output *private_output, void *user_data);
tdm_output_commit_internal(tdm_output *output, int sync, tdm_output_commit_handler func, void *user_data);
tdm_error
tdm_output_get_dpms_internal(tdm_output *output, tdm_output_dpms *dpms_value);
-
tdm_error
-tdm_output_need_validate_event_init(tdm_output *output);
-void
-tdm_output_need_validate_handler_thread(tdm_private_display *private_display, void *object, tdm_thread_cb_base *cb_base, void *user_data);
+tdm_output_get_dpms_changing(tdm_output *output, int *changing);
+
tdm_error
tdm_output_choose_commit_per_vblank_mode(tdm_private_output *private_output, int mode);
tdm_output_remove_vblank_handler_internal(tdm_output *output, tdm_output_vblank_handler func, void *user_data);
void
tdm_output_remove_commit_handler_internal(tdm_output *output, tdm_output_commit_handler func, void *user_data);
+
+void
+tdm_output_request_mode_set(tdm_output *output, unsigned int index);
+
void
tdm_layer_remove_commit_handler_internal(tdm_layer *layer, tdm_layer_commit_handler func, void *user_data);
void
tdm_pp_destroy_internal(tdm_private_pp *private_pp);
-tdm_hwc_window *
-tdm_hwc_window_create_internal(tdm_private_output *private_output, int is_video, tdm_error *error);
tdm_error
+tdm_hwc_init(tdm_private_display *private_display);
+void
+tdm_hwc_set_vblank(unsigned int fps);
+void
+tdm_hwc_unset_vblank(void);
+tdm_hwc_window *
+tdm_hwc_window_create_internal(tdm_private_hwc *private_hwc, tdm_error *error);
+void
tdm_hwc_window_destroy_internal(tdm_private_hwc_window * private_hwc_window);
tdm_error
/* utility buffer functions for private */
tdm_buffer_info*
tdm_buffer_get_info(tbm_surface_h buffer);
-void
-tdm_buffer_remove_release_handler_internal(tbm_surface_h buffer);
/* event functions for private */
tdm_error
extern char *tdm_debug_dump_dir;
tdm_error
-tdm_display_update_output(tdm_private_module *private_module,
- tdm_output *output_backend, int pipe, unsigned int need_new_caps);
+tdm_display_update_output(tdm_private_module *private_module, tdm_output *output_backend);
+void
+tdm_display_destroy_private_output(tdm_private_output *private_output);
+
tdm_error
tdm_display_enable_debug_module(const char*modules);
tdm_error
void
tdm_monitor_server_command(tdm_display *dpy, const char *options, char *reply, int *len);
+/* virtual */
+tdm_voutput *
+tdm_display_voutput_create(tdm_display *dpy, const char *name, tdm_error *error);
+tdm_error
+tdm_voutput_destroy(tdm_voutput *voutput);
+tdm_error
+tdm_voutput_set_available_mode(tdm_voutput *voutput, const tdm_output_mode *modes, int count);
+tdm_error
+tdm_voutput_set_physical_size(tdm_voutput *voutput, unsigned int mmwidth, unsigned int mmheight);
+tdm_error
+tdm_voutput_connect(tdm_voutput *voutput);
+tdm_error
+tdm_voutput_disconnect(tdm_voutput *voutput);
+tdm_error
+tdm_voutput_set_commit_func(tdm_voutput *voutput, tdm_voutput_commit_handler func);
+tdm_error
+tdm_voutput_attach_buffer(tdm_voutput *voutput, tbm_surface_h buffer);
+tdm_error
+tdm_voutput_commit_buffer(tdm_voutput *voutput);
+tdm_error
+tdm_output_set_voutput_commit(tdm_voutput *voutput);
+tdm_error
+tdm_output_unset_voutput_commit(tdm_voutput *voutput);
+tdm_error
+tdm_voutput_commit_done(tdm_voutput *voutput);
+void *
+tdm_display_find_private_voutput(tdm_private_display *private_display, double stamp);
#ifdef __cplusplus
}
#endif