}
EXTERN tbm_surface_queue_h
-tdm_hwc_window_get_buffer_queue(tdm_hwc_window *hwc_window, tdm_error *error)
+tdm_hwc_window_acquire_buffer_queue(tdm_hwc_window *hwc_window, tdm_error *error)
{
tdm_private_module *private_module;
tdm_func_hwc_window *func_hwc_window = NULL;
private_module = private_output->private_module;
func_hwc_window = &private_module->func_hwc_window;
- if (!func_hwc_window->hwc_window_get_buffer_queue) {
+ if (!func_hwc_window->hwc_window_acquire_buffer_queue) {
/* LCOV_EXCL_START */
_pthread_mutex_unlock(&private_display->lock);
TDM_WRN("not implemented!!");
return NULL;
}
- queue = func_hwc_window->hwc_window_get_buffer_queue(private_hwc_window->hwc_window_backend, error);
+ queue = func_hwc_window->hwc_window_acquire_buffer_queue(private_hwc_window->hwc_window_backend, error);
_pthread_mutex_unlock(&private_display->lock);
return queue;
}
+EXTERN void
+tdm_hwc_window_release_buffer_queue(tdm_hwc_window *hwc_window, tbm_surface_queue_h queue)
+{
+ tdm_private_module *private_module;
+ tdm_func_hwc_window *func_hwc_window = NULL;
+ tdm_private_display *private_display;
+ tdm_private_output *private_output;
+ tdm_private_hwc *private_hwc;
+ tdm_private_hwc_window *private_hwc_window;
+
+ if (!hwc_window)
+ return;
+
+ private_hwc_window = (tdm_private_hwc_window *)hwc_window;
+ private_hwc = private_hwc_window->private_hwc;
+ private_output = private_hwc->private_output;
+ private_display = private_output->private_display;
+
+ TDM_RETURN_IF_FAIL(queue != NULL);
+
+ _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_release_buffer_queue) {
+ _pthread_mutex_unlock(&private_display->lock);
+ TDM_WRN("not implemented!!");
+ return;
+ }
+
+ func_hwc_window->hwc_window_release_buffer_queue(private_hwc_window->hwc_window_backend, queue);
+
+ _pthread_mutex_unlock(&private_display->lock);
+
+ return;
+}
+
EXTERN tdm_error
tdm_hwc_window_set_composition_type(tdm_hwc_window *hwc_window,
tdm_hwc_window_composition composition_type)
tdm_func_hwc_window *func_hwc_window = NULL;
HWC_WINDOW_FUNC_ENTRY();
- TDM_RETURN_VAL_IF_FAIL(composition_type >= TDM_COMPOSITION_NONE, TDM_ERROR_INVALID_PARAMETER);
- TDM_RETURN_VAL_IF_FAIL(composition_type <= TDM_COMPOSITION_VIDEO, TDM_ERROR_INVALID_PARAMETER);
+ TDM_RETURN_VAL_IF_FAIL(composition_type >= TDM_HWC_WIN_COMPOSITION_NONE, TDM_ERROR_INVALID_PARAMETER);
+ TDM_RETURN_VAL_IF_FAIL(composition_type <= TDM_HWC_WIN_COMPOSITION_VIDEO, TDM_ERROR_INVALID_PARAMETER);
_pthread_mutex_lock(&private_display->lock);
}
EXTERN tdm_error
-tdm_hwc_window_get_preparation_types(tdm_hwc_window *hwc_window,
- int *preparation_types)
+tdm_hwc_window_get_constraints(tdm_hwc_window *hwc_window, int *constraints)
+{
+ tdm_private_module *private_module;
+ tdm_func_hwc_window *func_hwc_window = NULL;
+
+ 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_get_constraints) {
+ _pthread_mutex_unlock(&private_display->lock);
+ TDM_WRN("not implemented!!");
+ return TDM_ERROR_NOT_IMPLEMENTED;
+ }
+
+ ret = func_hwc_window->hwc_window_get_constraints(private_hwc_window->hwc_window_backend, constraints);
+
+ _pthread_mutex_unlock(&private_display->lock);
+
+ return ret;
+}
+
+EXTERN tdm_error
+tdm_hwc_window_set_name(tdm_hwc_window *hwc_window, const char *name)
+{
+ tdm_private_module *private_module;
+ tdm_func_hwc_window *func_hwc_window = NULL;
+
+ 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_name) {
+ _pthread_mutex_unlock(&private_display->lock);
+ TDM_WRN("not implemented!!");
+ return TDM_ERROR_NOT_IMPLEMENTED;
+ }
+
+ ret = func_hwc_window->hwc_window_set_name(private_hwc_window->hwc_window_backend, name);
+
+ _pthread_mutex_unlock(&private_display->lock);
+
+ return ret;
+}
+
+tdm_error
+tdm_hwc_window_set_cursor_image(tdm_hwc_window *hwc_window, int width, int height, int stride, void *ptr)
{
tdm_private_module *private_module;
tdm_func_hwc_window *func_hwc_window = NULL;
private_module = private_output->private_module;
func_hwc_window = &private_module->func_hwc_window;
- if (!func_hwc_window->hwc_window_get_preparation_types) {
+ if (!func_hwc_window->hwc_window_set_cursor_image) {
_pthread_mutex_unlock(&private_display->lock);
TDM_WRN("not implemented!!");
return TDM_ERROR_NOT_IMPLEMENTED;
}
- ret = func_hwc_window->hwc_window_get_preparation_types(private_hwc_window->hwc_window_backend, preparation_types);
+ ret = func_hwc_window->hwc_window_set_cursor_image(private_hwc_window->hwc_window_backend, width, height, stride, ptr);
_pthread_mutex_unlock(&private_display->lock);