static Eina_Bool
_e_hwc_windows_target_buffer_fetch(E_Hwc *hwc)
{
- E_Hwc_Window_Target *target_hwc_window;
+ E_Hwc_Window_Target *target_hwc_window, *root_target_hwc_window;
E_Hwc_Window *hwc_window, *root_hwc_window;
E_Hwc_Window_Queue_Buffer *queue_buffer;
E_Output *primary_output;
if (hwc->primary_output)
{
- root_hwc_window = (E_Hwc_Window *)hwc->root_target_hwc_window;
- EINA_SAFETY_ON_NULL_RETURN_VAL(root_hwc_window, EINA_FALSE);
+ root_target_hwc_window = hwc->root_target_hwc_window;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(root_target_hwc_window, EINA_FALSE);
}
else
{
EINA_SAFETY_ON_NULL_RETURN_VAL(primary_output, EINA_FALSE);
EINA_SAFETY_ON_NULL_RETURN_VAL(primary_output->hwc, EINA_FALSE);
- root_hwc_window = (E_Hwc_Window *)primary_output->hwc->root_target_hwc_window;
- EINA_SAFETY_ON_NULL_RETURN_VAL(root_hwc_window, EINA_FALSE);
+ root_target_hwc_window = primary_output->hwc->root_target_hwc_window;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(root_target_hwc_window, EINA_FALSE);
}
+ root_hwc_window = (E_Hwc_Window *)root_target_hwc_window;
+
if (hwc_window->state == E_HWC_WINDOW_STATE_DEVICE)
{
if (target_hwc_window->pp_queue)
CLEAR(fb_damage);
tdm_hwc_set_client_target_buffer(thwc, hwc_window->current.buffer.tsurface, fb_damage);
- if ((target_hwc_window->end_render_sync) && (e_hwc_windows_fence_enabled_get(hwc)))
+ if ((root_target_hwc_window->end_render_sync) && (e_hwc_windows_fence_enabled_get(hwc)))
{
- int fence = e_egl_sync_fence_fd_dup(target_hwc_window->end_render_sync);
+ int fence = e_egl_sync_fence_fd_dup(root_target_hwc_window->end_render_sync);
if (fence >= 0)
{
tdm_hwc_set_client_target_acquire_fence(thwc, fence);