{
e_client_redirected_set(ep->prepare_ec, 0);
ep->ec = ep->prepare_ec;
+ e_plane_fb_set(ep, EINA_FALSE);
// FIXME: will remove out once tdm_output_commit thru e_output,e_plane
e_comp_hwc_mode_nocomp(ep->ec);
}
if (ep->ec) e_client_redirected_set(ep->ec, 1);
ep->prepare_ec = NULL;
ep->ec = NULL;
+ if(e_plane_is_primary(ep)) e_plane_fb_set(ep, EINA_TRUE);
// FIXME: will remove out once tdm_output_commit thru e_output,e_plane
e_comp_hwc_mode_nocomp(NULL);
}
return reply;
}
-static int override = 0;
static Eldbus_Message *
e_info_server_cb_hwc(const Eldbus_Service_Interface *iface EINA_UNUSED, const Eldbus_Message *msg)
{
eout->info.name = ecore_drm_output_name_get(output);
printf("E_OUTPUT: .... out %s\n", eout->info.name);
- eout->plane_count = 1; // TODO: get proper value using libtdm
+ // TODO: get proper value using libtdm
+ eout->plane_count = 1;
printf("COMP TDM: planes %i\n", eout->plane_count);
for (i = 0; i < eout->plane_count; i++)
{
printf("COMP TDM: added plane %i\n", i);
Eina_Bool pri = EINA_FALSE;
+ E_Plane *ep = NULL;
+ // TODO: primary layer condition (0 is temp condition)
if (i == 0) pri = EINA_TRUE;
- e_plane_new(eout, i, pri);
+ ep = e_plane_new(eout, i, pri);
+ // TODO: fb target condition (0 is temp condition)
+ if (i == 0) e_plane_fb_set(ep, EINA_TRUE);
}
eout->output = output;
if (h) *y = plane->geometry.h;
}
+E_API Eina_Bool
+e_plane_is_fb(E_Plane *plane)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(plane, EINA_FALSE);
+ if (plane->is_FB) return EINA_TRUE;
+ return EINA_FALSE;
+}
+
+E_API Eina_Bool
+e_plane_fb_set(E_Plane *plane,
+ Eina_Bool set)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(plane, EINA_FALSE);
+
+ plane->is_FB = set;
+ return EINA_TRUE;
+}
E_Output *eout;
Eina_Bool is_primary;
+ Eina_Bool is_FB; // fb target
};
EINTERN int e_plane_init(void);
E_API Eina_Bool e_plane_is_cursor(E_Plane *plane);
E_API E_Plane_Color e_plane_color_val_get(E_Plane *plane);
E_API void e_plane_geom_get(E_Plane *plane, int *x, int *y, int *w, int *h);
+E_API Eina_Bool e_plane_is_fb(E_Plane *plane);
+E_API Eina_Bool e_plane_fb_set(E_Plane *plane, Eina_Bool set);
#endif
#endif