Eina_List *l = NULL;
E_Hwc_Window_Queue_Buffer *queue_buffer = NULL;
struct wayland_tbm_client_queue *cqueue = NULL;
- E_Comp_Wl_Buffer *comp_buffer, *backup_buffer = NULL;
EINA_SAFETY_ON_NULL_RETURN_VAL(queue, EINA_FALSE);
(void *)queue);
if (hwc_window)
- {
- if ((hwc_window->buffer.tsurface) &&
- (hwc_window->buffer.queue) &&
- (hwc_window->buffer.tsurface != hwc_window->display.buffer.tsurface))
- {
- comp_buffer = _comp_wl_buffer_get(hwc_window->ec);
- if (comp_buffer->tbm_surface)
- {
- backup_buffer = _comp_wl_backup_buffer_get(comp_buffer->tbm_surface);
- e_comp_wl_surface_attach(hwc_window->ec, backup_buffer);
- e_hwc_window_buffer_fetch(hwc_window);
- }
- }
-
- cqueue = _user_cqueue_get(hwc_window->ec);
- }
+ cqueue = _user_cqueue_get(hwc_window->ec);
EINA_LIST_FOREACH(queue->buffers, l, queue_buffer)
{
return transition;
}
+static void
+_e_hwc_windows_preparation_update(E_Hwc *hwc)
+{
+ tdm_error terror;
+ E_Hwc_Window *hwc_window;
+ const Eina_List *l;
+ int preparation_types;
+
+ EINA_LIST_FOREACH(hwc->hwc_windows, l, hwc_window)
+ {
+ if (hwc_window->is_target) continue;
+ if (!hwc_window->thwc_window) continue;
+
+ terror = tdm_hwc_window_get_preparation_types(hwc_window->thwc_window,
+ &preparation_types);
+ if (terror != TDM_ERROR_NONE) continue;
+
+ e_hwc_window_preparation_set(hwc_window, preparation_types);
+ }
+
+ return;
+}
+
static void
_e_hwc_windows_render_target_update(E_Hwc *hwc)
{
e_hwc_window_state_set(hwc_window, state);
}
+ _e_hwc_windows_preparation_update(hwc);
_e_hwc_windows_render_target_update(hwc);
#if DBG_EVALUATE
e_hwc_window_accepted_state_set(target_window, state);
}
-static void
-_e_hwc_windows_preparation_update(E_Hwc *hwc)
-{
- tdm_error terror;
- E_Hwc_Window *hwc_window;
- const Eina_List *l;
- int preparation_types;
-
- EINA_LIST_FOREACH(hwc->hwc_windows, l, hwc_window)
- {
- if (hwc_window->is_target) continue;
- if (!hwc_window->thwc_window) continue;
-
- terror = tdm_hwc_window_get_preparation_types(hwc_window->thwc_window,
- &preparation_types);
- if (terror != TDM_ERROR_NONE) continue;
-
- e_hwc_window_preparation_set(hwc_window, preparation_types);
- }
-
- return;
-}
-
/* evaluate the hwc_windows */
static Eina_Bool
_e_hwc_windows_evaluate(E_Hwc *hwc)
else
EHWSTRACE(" Need the comopsition re-evaulation.", NULL);
- _e_hwc_windows_preparation_update(hwc);
-
/* decide the E_HWC_MODE */
hwc_mode = _e_hwc_windows_hwc_mode_get(hwc);
if (hwc->hwc_mode != hwc_mode)