X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Ftdm_hwc_window.c;h=362c798f394cb66a58936a18d68afd2aefe047e2;hb=9a64cd40fd535def8143e3a1490bf2f5e548459c;hp=08fc80cf0e42d9170229266843db2cdadf7ea82d;hpb=12851c901363be59735440f9070dcc2180b17bdd;p=platform%2Fcore%2Fuifw%2Flibtdm.git diff --git a/src/tdm_hwc_window.c b/src/tdm_hwc_window.c index 08fc80c..362c798 100644 --- a/src/tdm_hwc_window.c +++ b/src/tdm_hwc_window.c @@ -74,6 +74,7 @@ tbm_surface_queue_h tdm_hwc_window_get_tbm_buffer_queue(tdm_hwc_window *hwc_window, tdm_error *error) { + tdm_private_backend *private_backend; tdm_func_hwc_window *func_hwc_window = NULL; tbm_surface_queue_h queue = NULL; @@ -81,12 +82,13 @@ tdm_hwc_window_get_tbm_buffer_queue(tdm_hwc_window *hwc_window, tdm_error *error _pthread_mutex_lock(&private_display->lock); - func_hwc_window = &private_display->func_hwc_window; + private_backend = private_output->private_backend; + func_hwc_window = &private_backend->func_hwc_window; if (!func_hwc_window->hwc_window_get_tbm_buffer_queue) { /* LCOV_EXCL_START */ _pthread_mutex_unlock(&private_display->lock); - TDM_ERR("not implemented!!"); + TDM_WRN("not implemented!!"); if (error) *error = TDM_ERROR_NOT_IMPLEMENTED; return NULL; @@ -104,6 +106,7 @@ EXTERN tdm_error tdm_hwc_window_set_composition_type(tdm_hwc_window *hwc_window, tdm_hwc_window_composition composition_type) { + tdm_private_backend *private_backend; tdm_func_hwc_window *func_hwc_window = NULL; HWC_WINDOW_FUNC_ENTRY(); @@ -112,12 +115,13 @@ tdm_hwc_window_set_composition_type(tdm_hwc_window *hwc_window, _pthread_mutex_lock(&private_display->lock); - func_hwc_window = &private_display->func_hwc_window; + private_backend = private_output->private_backend; + func_hwc_window = &private_backend->func_hwc_window; if (!func_hwc_window->hwc_window_set_composition_type) { /* LCOV_EXCL_START */ _pthread_mutex_unlock(&private_display->lock); - TDM_ERR("not implemented!!"); + TDM_WRN("not implemented!!"); return TDM_ERROR_NOT_IMPLEMENTED; /* LCOV_EXCL_STOP */ } @@ -132,6 +136,7 @@ tdm_hwc_window_set_composition_type(tdm_hwc_window *hwc_window, EXTERN tdm_error tdm_hwc_window_set_buffer_damage(tdm_hwc_window *hwc_window, tdm_hwc_region damage) { + tdm_private_backend *private_backend; tdm_func_hwc_window *func_hwc_window = NULL; HWC_WINDOW_FUNC_ENTRY(); @@ -140,12 +145,13 @@ tdm_hwc_window_set_buffer_damage(tdm_hwc_window *hwc_window, tdm_hwc_region dama _pthread_mutex_lock(&private_display->lock); - func_hwc_window = &private_display->func_hwc_window; + private_backend = private_output->private_backend; + func_hwc_window = &private_backend->func_hwc_window; if (!func_hwc_window->hwc_window_set_buffer_damage) { /* LCOV_EXCL_START */ _pthread_mutex_unlock(&private_display->lock); - TDM_ERR("not implemented!!"); + TDM_WRN("not implemented!!"); return TDM_ERROR_NOT_IMPLEMENTED; /* LCOV_EXCL_STOP */ } @@ -161,6 +167,7 @@ tdm_hwc_window_set_buffer_damage(tdm_hwc_window *hwc_window, tdm_hwc_region dama EXTERN tdm_error tdm_hwc_window_set_info(tdm_hwc_window *hwc_window, tdm_hwc_window_info *info) { + tdm_private_backend *private_backend; tdm_func_hwc_window *func_hwc_window = NULL; char fmtstr[128]; @@ -170,12 +177,13 @@ tdm_hwc_window_set_info(tdm_hwc_window *hwc_window, tdm_hwc_window_info *info) _pthread_mutex_lock(&private_display->lock); - func_hwc_window = &private_display->func_hwc_window; + private_backend = private_output->private_backend; + func_hwc_window = &private_backend->func_hwc_window; if (!func_hwc_window->hwc_window_set_info) { /* LCOV_EXCL_START */ _pthread_mutex_unlock(&private_display->lock); - TDM_ERR("not implemented!!"); + TDM_WRN("not implemented!!"); return TDM_ERROR_NOT_IMPLEMENTED; /* LCOV_EXCL_STOP */ } @@ -204,6 +212,7 @@ tdm_hwc_window_set_info(tdm_hwc_window *hwc_window, tdm_hwc_window_info *info) EXTERN tdm_error tdm_hwc_window_set_buffer(tdm_hwc_window *hwc_window, tbm_surface_h buffer) { + tdm_private_backend *private_backend; tdm_func_hwc_window *func_hwc_window; HWC_WINDOW_FUNC_ENTRY(); @@ -219,12 +228,13 @@ tdm_hwc_window_set_buffer(tdm_hwc_window *hwc_window, tbm_surface_h buffer) /* LCOV_EXCL_STOP */ } - func_hwc_window = &private_display->func_hwc_window; + private_backend = private_output->private_backend; + func_hwc_window = &private_backend->func_hwc_window; if (!func_hwc_window->hwc_window_set_buffer) { /* LCOV_EXCL_START */ _pthread_mutex_unlock(&private_display->lock); - TDM_ERR("not implemented!!"); + TDM_WRN("not implemented!!"); return TDM_ERROR_NOT_IMPLEMENTED; /* LCOV_EXCL_STOP */ } @@ -239,13 +249,15 @@ tdm_hwc_window_set_buffer(tdm_hwc_window *hwc_window, tbm_surface_h buffer) EXTERN tdm_error tdm_hwc_window_unset_buffer(tdm_hwc_window *hwc_window) { + tdm_private_backend *private_backend; tdm_func_hwc_window *func_hwc_window; HWC_WINDOW_FUNC_ENTRY(); _pthread_mutex_lock(&private_display->lock); - func_hwc_window = &private_display->func_hwc_window; + private_backend = private_output->private_backend; + func_hwc_window = &private_backend->func_hwc_window; if (!func_hwc_window->hwc_window_unset_buffer) { /* LCOV_EXCL_START */ @@ -267,7 +279,8 @@ tdm_hwc_window_create_internal(tdm_private_output *private_output, int is_video, tdm_error *error) { tdm_private_display *private_display = private_output->private_display; - tdm_func_output *func_output = &private_display->func_output; + tdm_private_backend *private_backend = private_output->private_backend; + tdm_func_output *func_output = &private_backend->func_output; tdm_private_hwc_window *private_hwc_window = NULL; tdm_hwc_window *hwc_window_backend = NULL; tdm_error ret = TDM_ERROR_NONE; @@ -336,8 +349,8 @@ tdm_hwc_window_create_internal(tdm_private_output *private_output, int is_video, INTERN tdm_error tdm_hwc_window_destroy_internal(tdm_private_hwc_window * private_hwc_window) { - tdm_private_display *private_display; tdm_private_output *private_output; + tdm_private_backend *private_backend; tdm_func_output *func_output; TDM_RETURN_VAL_IF_FAIL(TDM_MUTEX_IS_LOCKED(), TDM_ERROR_OPERATION_FAILED); @@ -345,12 +358,12 @@ tdm_hwc_window_destroy_internal(tdm_private_hwc_window * private_hwc_window) if (!private_hwc_window) return TDM_ERROR_OPERATION_FAILED; - private_display = private_hwc_window->private_display; private_output = private_hwc_window->private_output; + private_backend = private_output->private_backend; LIST_DEL(&private_hwc_window->link); - func_output = &private_display->func_output; + func_output = &private_backend->func_output; func_output->output_hwc_destroy_window(private_output->output_backend, private_hwc_window->hwc_window_backend); free(private_hwc_window); @@ -360,18 +373,20 @@ tdm_hwc_window_destroy_internal(tdm_private_hwc_window * private_hwc_window) EXTERN tdm_error tdm_hwc_window_set_flags(tdm_hwc_window *hwc_window, tdm_hwc_window_flag flags) { + tdm_private_backend *private_backend; tdm_func_hwc_window *func_hwc_window = NULL; HWC_WINDOW_FUNC_ENTRY(); _pthread_mutex_lock(&private_display->lock); - func_hwc_window = &private_display->func_hwc_window; + private_backend = private_output->private_backend; + func_hwc_window = &private_backend->func_hwc_window; if (!func_hwc_window->hwc_window_set_flags) { /* LCOV_EXCL_START */ _pthread_mutex_unlock(&private_display->lock); - TDM_ERR("not implemented!!"); + TDM_WRN("not implemented!!"); return TDM_ERROR_NOT_IMPLEMENTED; /* LCOV_EXCL_STOP */ } @@ -386,18 +401,20 @@ tdm_hwc_window_set_flags(tdm_hwc_window *hwc_window, tdm_hwc_window_flag flags) EXTERN tdm_error tdm_hwc_window_unset_flags(tdm_hwc_window *hwc_window, tdm_hwc_window_flag flags) { + tdm_private_backend *private_backend; tdm_func_hwc_window *func_hwc_window = NULL; HWC_WINDOW_FUNC_ENTRY(); _pthread_mutex_lock(&private_display->lock); - func_hwc_window = &private_display->func_hwc_window; + private_backend = private_output->private_backend; + func_hwc_window = &private_backend->func_hwc_window; if (!func_hwc_window->hwc_window_unset_flags) { /* LCOV_EXCL_START */ _pthread_mutex_unlock(&private_display->lock); - TDM_ERR("not implemented!!"); + TDM_WRN("not implemented!!"); return TDM_ERROR_NOT_IMPLEMENTED; /* LCOV_EXCL_STOP */ } @@ -427,6 +444,7 @@ _tdm_hwc_window_layer_commit_handler(tdm_layer *layer, unsigned int sequence, tdm_error tdm_hwc_window_commit(tdm_hwc_window *hwc_window, tdm_hwc_window_commit_handler func, void *user_data) { + tdm_private_backend *private_backend; tdm_func_hwc_window *func_hwc_window = NULL; tdm_private_hwc_window_commit_handler *hwc_window_commit_handler; tdm_layer *layer = NULL; @@ -439,7 +457,8 @@ tdm_hwc_window_commit(tdm_hwc_window *hwc_window, tdm_hwc_window_commit_handler _pthread_mutex_lock(&private_display->lock); - func_hwc_window = &private_display->func_hwc_window; + private_backend = private_output->private_backend; + func_hwc_window = &private_backend->func_hwc_window; if (!func_hwc_window->hwc_window_get_layer) { /* LCOV_EXCL_START */ @@ -463,14 +482,6 @@ tdm_hwc_window_commit(tdm_hwc_window *hwc_window, tdm_hwc_window_commit_handler buffer = func_hwc_window->hwc_window_get_buffer(private_hwc_window->hwc_window_backend, &ret); - if (!buffer) { - /* LCOV_EXCL_START */ - _pthread_mutex_unlock(&private_display->lock); - TDM_ERR("no assigned buffer!!"); - return TDM_ERROR_INVALID_PARAMETER; - /* LCOV_EXCL_STOP */ - } - if (buffer) ret = tdm_layer_set_buffer_internal(private_layer, buffer); else @@ -512,7 +523,7 @@ tdm_hwc_window_commit(tdm_hwc_window *hwc_window, tdm_hwc_window_commit_handler hwc_window_commit_handler->func = func; hwc_window_commit_handler->user_data = user_data; - ret = tdm_layer_commit_internal(private_layer, _tdm_hwc_window_layer_commit_handler, user_data); + ret = tdm_layer_commit_internal(private_layer, _tdm_hwc_window_layer_commit_handler, hwc_window_commit_handler); if (ret != TDM_ERROR_NONE) { /* LCOV_EXCL_START */ TDM_ERR("failed: commit layer(window)"); @@ -530,6 +541,7 @@ EXTERN tdm_error tdm_hwc_window_video_get_capability(tdm_hwc_window *hwc_window, tdm_hwc_window_video_capability *video_capability) { + tdm_private_backend *private_backend; tdm_func_hwc_window *func_hwc_window = NULL; HWC_WINDOW_FUNC_ENTRY(); @@ -538,12 +550,13 @@ tdm_hwc_window_video_get_capability(tdm_hwc_window *hwc_window, _pthread_mutex_lock(&private_display->lock); - func_hwc_window = &private_display->func_hwc_window; + private_backend = private_output->private_backend; + func_hwc_window = &private_backend->func_hwc_window; if (!func_hwc_window->hwc_window_video_get_capability) { /* LCOV_EXCL_START */ _pthread_mutex_unlock(&private_display->lock); - TDM_ERR("not implemented!!"); + TDM_WRN("not implemented!!"); return TDM_ERROR_NOT_IMPLEMENTED; /* LCOV_EXCL_STOP */ } @@ -560,6 +573,7 @@ EXTERN tdm_error tdm_hwc_window_video_get_available_properties(tdm_hwc_window *hwc_window, const tdm_prop **props, int *count) { + tdm_private_backend *private_backend; tdm_func_hwc_window *func_hwc_window = NULL; HWC_WINDOW_FUNC_ENTRY(); @@ -569,12 +583,13 @@ tdm_hwc_window_video_get_available_properties(tdm_hwc_window *hwc_window, _pthread_mutex_lock(&private_display->lock); - func_hwc_window = &private_display->func_hwc_window; + private_backend = private_output->private_backend; + func_hwc_window = &private_backend->func_hwc_window; if (!func_hwc_window->hwc_window_video_get_available_properties) { /* LCOV_EXCL_START */ _pthread_mutex_unlock(&private_display->lock); - TDM_ERR("not implemented!!"); + TDM_WRN("not implemented!!"); return TDM_ERROR_NOT_IMPLEMENTED; /* LCOV_EXCL_STOP */ } @@ -591,6 +606,7 @@ EXTERN tdm_error tdm_hwc_window_video_get_property(tdm_hwc_window *hwc_window, unsigned int id, tdm_value *value) { + tdm_private_backend *private_backend; tdm_func_hwc_window *func_hwc_window = NULL; HWC_WINDOW_FUNC_ENTRY(); @@ -599,12 +615,13 @@ tdm_hwc_window_video_get_property(tdm_hwc_window *hwc_window, _pthread_mutex_lock(&private_display->lock); - func_hwc_window = &private_display->func_hwc_window; + private_backend = private_output->private_backend; + func_hwc_window = &private_backend->func_hwc_window; if (!func_hwc_window->hwc_window_video_get_property) { /* LCOV_EXCL_START */ _pthread_mutex_unlock(&private_display->lock); - TDM_ERR("not implemented!!"); + TDM_WRN("not implemented!!"); return TDM_ERROR_NOT_IMPLEMENTED; /* LCOV_EXCL_STOP */ } @@ -621,18 +638,20 @@ EXTERN tdm_error tdm_hwc_window_video_set_property(tdm_hwc_window *hwc_window, unsigned int id, tdm_value value) { + tdm_private_backend *private_backend; tdm_func_hwc_window *func_hwc_window = NULL; HWC_WINDOW_FUNC_ENTRY(); _pthread_mutex_lock(&private_display->lock); - func_hwc_window = &private_display->func_hwc_window; + private_backend = private_output->private_backend; + func_hwc_window = &private_backend->func_hwc_window; if (!func_hwc_window->hwc_window_video_set_property) { /* LCOV_EXCL_START */ _pthread_mutex_unlock(&private_display->lock); - TDM_ERR("not implemented!!"); + TDM_WRN("not implemented!!"); return TDM_ERROR_NOT_IMPLEMENTED; /* LCOV_EXCL_STOP */ }