tdm_hwc: add fence api and backend interface
[platform/core/uifw/libtdm.git] / src / tdm_hwc_window.c
index 8f5fcda..2e861d8 100644 (file)
@@ -387,6 +387,32 @@ tdm_hwc_window_set_buffer(tdm_hwc_window *hwc_window, tbm_surface_h buffer)
 }
 
 EXTERN tdm_error
+tdm_hwc_window_set_acquire_fence(tdm_hwc_window *hwc_window, int acquire_fence)
+{
+       tdm_private_module *private_module;
+       tdm_func_hwc_window *func_hwc_window;
+
+       HWC_WINDOW_FUNC_ENTRY();
+
+       _pthread_mutex_lock(&private_display->lock);
+
+       private_module = private_output->private_module;
+       func_hwc_window = &private_module->func_hwc_window;
+
+       if (!func_hwc_window->hwc_window_set_acquire_fence) {
+               _pthread_mutex_unlock(&private_display->lock);
+               TDM_WRN("not implemented!!");
+               return TDM_ERROR_NOT_IMPLEMENTED;
+       }
+
+       ret = func_hwc_window->hwc_window_set_acquire_fence(private_hwc_window->hwc_window_backend, acquire_fence);
+
+       _pthread_mutex_unlock(&private_display->lock);
+
+       return ret;
+}
+
+EXTERN tdm_error
 tdm_hwc_window_get_property(tdm_hwc_window *hwc_window, unsigned int id, tdm_value *value)
 {
        tdm_private_module *private_module;
@@ -481,7 +507,7 @@ tdm_hwc_window_set_name(tdm_hwc_window *hwc_window, const char *name)
        private_module = private_output->private_module;
        func_hwc_window = &private_module->func_hwc_window;
 
-       if (!func_hwc_window->hwc_window_get_constraints) {
+       if (!func_hwc_window->hwc_window_set_name) {
                _pthread_mutex_unlock(&private_display->lock);
                TDM_WRN("not implemented!!");
                return TDM_ERROR_NOT_IMPLEMENTED;