plane->wait_commit = EINA_TRUE;
+ if (plane->tpp)
+ {
+ if (!plane->pp_set && !plane->pp_commit && plane->is_fb)
+ {
+ tdm_pp_destroy(plane->tpp);
+ plane->tpp = NULL;
+ }
+ }
+
return EINA_TRUE;
}
plane = data->plane;
- plane->pp_commit = EINA_FALSE;
+ plane->pp_layer_commit = EINA_FALSE;
/* if pp_set is false, do not deal with pending list */
if (!plane->pp_set)
tbm_surface_internal_ref(data->tsurface);
data->ec = NULL;
- if (plane->pp_commit)
+ if (plane->pp_layer_commit)
{
plane->pending_pp_commit_data_list = eina_list_append(plane->pending_pp_commit_data_list, data);
return EINA_TRUE;
goto fail;
}
- plane->pp_commit = EINA_TRUE;
+ plane->pp_layer_commit = EINA_TRUE;
return EINA_TRUE;
e_plane_commit_data_release(data);
plane->wait_commit = EINA_FALSE;
+ plane->pp_commit = EINA_FALSE;
if (plane_trace_debug)
ELOGF("E_PLANE", "PP Commit Handler Plane(%p)", NULL, NULL, plane);
EINA_SAFETY_ON_FALSE_GOTO(tdm_err == TDM_ERROR_NONE, commit_fail);
plane->wait_commit = EINA_TRUE;
+ plane->pp_commit = EINA_TRUE;
return EINA_TRUE;
plane->pp_tqueue = NULL;
}
- if (plane->tpp)
+ if (!plane->pp_commit)
{
- tdm_pp_destroy(plane->tpp);
- plane->tpp = NULL;
+ if (plane->tpp)
+ {
+ tdm_pp_destroy(plane->tpp);
+ plane->tpp = NULL;
+ }
}
}