X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Ftdm_private.h;h=5749782925ca20e3d5b38ee422c2395b36b19170;hb=refs%2Fheads%2Ftizen_3.0.m2;hp=44af51f26dadc502fa185acb21af83365f02ffbf;hpb=78194c62535a9485933d59c7da969ddc17a2583c;p=platform%2Fcore%2Fuifw%2Flibtdm.git diff --git a/src/tdm_private.h b/src/tdm_private.h index 44af51f..5749782 100644 --- a/src/tdm_private.h +++ b/src/tdm_private.h @@ -167,7 +167,7 @@ struct _tdm_private_output { struct list_head link; int index; - unsigned long stamp; + double stamp; tdm_private_display *private_display; @@ -222,7 +222,7 @@ struct _tdm_private_layer { struct _tdm_private_pp { struct list_head link; - unsigned long stamp; + double stamp; tdm_private_display *private_display; @@ -242,7 +242,7 @@ struct _tdm_private_capture { struct list_head link; struct list_head display_link; - unsigned long stamp; + double stamp; tdm_capture_target target; @@ -344,16 +344,21 @@ typedef struct _tdm_pp_private_buffer { struct list_head commit_link; } tdm_pp_private_buffer; +typedef struct _tdm_capture_private_buffer { + tbm_surface_h buffer; + struct list_head link; + struct list_head commit_link; +} tdm_capture_private_buffer; + int tdm_display_check_module_abi(tdm_private_display *private_display, int abimaj, int abimin); tdm_private_output * -tdm_display_find_output_stamp(tdm_private_display *private_display, - unsigned long stamp); +tdm_display_find_output_stamp(tdm_private_display *private_display, double stamp); tdm_private_pp * -tdm_pp_find_stamp(tdm_private_display *private_display, unsigned long stamp); +tdm_pp_find_stamp(tdm_private_display *private_display, double stamp); tdm_private_capture * -tdm_capture_find_stamp(tdm_private_display *private_display, unsigned long stamp); +tdm_capture_find_stamp(tdm_private_display *private_display, double stamp); void tdm_output_cb_vblank(tdm_output *output_backend, unsigned int sequence, @@ -373,6 +378,8 @@ tdm_pp_cb_done(tdm_pp *pp_backend, tbm_surface_h src, tbm_surface_h dst, void tdm_capture_cb_done(tdm_capture *capture_backend, tbm_surface_h buffer, void *user_data); +tdm_error +tdm_vblank_cb_vblank_SW(tdm_vblank *vblank, double vblank_stamp); void tdm_output_call_change_handler_internal(tdm_private_output *private_output, @@ -428,6 +435,7 @@ typedef enum { TDM_THREAD_CB_OUTPUT_DPMS, TDM_THREAD_CB_PP_DONE, TDM_THREAD_CB_CAPTURE_DONE, + TDM_THREAD_CB_VBLANK_SW, } tdm_thread_cb_type; typedef struct _tdm_thread_cb_base tdm_thread_cb_base; @@ -437,6 +445,7 @@ typedef struct _tdm_thread_cb_output_status tdm_thread_cb_output_status; typedef struct _tdm_thread_cb_output_dpms tdm_thread_cb_output_dpms; typedef struct _tdm_thread_cb_pp_done tdm_thread_cb_pp_done; typedef struct _tdm_thread_cb_capture_done tdm_thread_cb_capture_done; +typedef struct _tdm_thread_cb_vblank_sw tdm_thread_cb_vblank_sw; struct _tdm_thread_cb_base { tdm_thread_cb_type type; @@ -445,7 +454,7 @@ struct _tdm_thread_cb_base { struct _tdm_thread_cb_output_vblank { tdm_thread_cb_base base; - unsigned long output_stamp; + double output_stamp; unsigned int sequence; unsigned int tv_sec; unsigned int tv_usec; @@ -454,21 +463,21 @@ struct _tdm_thread_cb_output_vblank { struct _tdm_thread_cb_output_status { tdm_thread_cb_base base; - unsigned long output_stamp; + double output_stamp; tdm_output_conn_status status; void *user_data; }; struct _tdm_thread_cb_output_dpms { tdm_thread_cb_base base; - unsigned long output_stamp; + double output_stamp; tdm_output_dpms dpms; void *user_data; }; struct _tdm_thread_cb_pp_done { tdm_thread_cb_base base; - unsigned long pp_stamp; + double pp_stamp; tbm_surface_h src; tbm_surface_h dst; void *user_data; @@ -476,11 +485,16 @@ struct _tdm_thread_cb_pp_done { struct _tdm_thread_cb_capture_done { tdm_thread_cb_base base; - unsigned long capture_stamp; + double capture_stamp; tbm_surface_h buffer; void *user_data; }; +struct _tdm_thread_cb_vblank_sw { + tdm_thread_cb_base base; + double vblank_stamp; +}; + tdm_error tdm_thread_init(tdm_private_loop *private_loop); void @@ -505,10 +519,8 @@ char * tdm_helper_dump_make_directory(const char *path, char *reply, int *len); void tdm_helper_dump_buffer_str(tbm_surface_h buffer, char *dir, char *str); -unsigned long -tdm_helper_get_time_in_millis(void); -unsigned long -tdm_helper_get_time_in_micros(void); +double +tdm_helper_get_time(void); extern pthread_mutex_t tdm_mutex_check_lock; extern int tdm_mutex_locked; @@ -582,29 +594,6 @@ tdm_display_enable_path(const char *path); tdm_error tdm_display_enable_ttrace_vblank(tdm_display *dpy, tdm_output *output, int enable); -/** - * @brief The tdm vblank object - */ -typedef void tdm_vblank; - -typedef void (*tdm_vblank_handler)(tdm_vblank *vblank, tdm_error error, unsigned int sequence, - unsigned int tv_sec, unsigned int tv_usec, void *user_data); - -tdm_vblank* -tdm_vblank_create(tdm_display *dpy, tdm_output *output, tdm_error *error); -void -tdm_vblank_destroy(tdm_vblank *vblank); -tdm_error -tdm_vblank_set_fps(tdm_vblank *vblank, unsigned int fps); -tdm_error -tdm_vblank_set_offset(tdm_vblank *vblank, int offset); -tdm_error -tdm_vblank_set_enable_fake(tdm_vblank *vblank, unsigned int enable_fake); -unsigned int -tdm_vblank_get_enable_fake(tdm_vblank *vblank); -tdm_error -tdm_vblank_wait(tdm_vblank *vblank, unsigned int req_sec, unsigned int req_usec, unsigned int interval, tdm_vblank_handler func, void *user_data); - void tdm_monitor_server_command(tdm_display *dpy, const char *options, char *reply, int *len);