return hwc->norender;
}
+EINTERN void
+e_hwc_canvas_size_get(E_Hwc *hwc, int *w, int *h)
+{
+ E_Hwc_Window_Target *target_hwc_window;
+ E_Canvas *canvas;
+
+ EINA_SAFETY_ON_FALSE_RETURN(hwc);
+ EINA_SAFETY_ON_FALSE_RETURN(hwc->target_hwc_window);
+ target_hwc_window = hwc->target_hwc_window;
+ EINA_SAFETY_ON_FALSE_RETURN(target_hwc_window->canvas);
+ canvas = target_hwc_window->canvas;
+
+ e_canvas_size_get(canvas, w, h);
+}
+
static const char *
_e_hwc_prop_name_get_by_id(E_Hwc *hwc, unsigned int id)
{
E_Hwc_Mode hwc_mode;
Eina_Bool hwc_deactive : 1; // deactive hwc policy
- Ecore_Evas *ee;
- Evas *evas;
-
Eina_Bool primary_output;
/* variables for hwc_windows policy */
EINTERN void e_hwc_norender_pop(E_Hwc *hwc);
EINTERN int e_hwc_norender_get(E_Hwc *hwc);
+EINTERN void e_hwc_canvas_size_get(E_Hwc *hwc, int *w, int *h);
+
EINTERN tbm_surface_queue_h e_hwc_tbm_surface_queue_get(E_Hwc *hwc);
EINTERN void *e_hwc_gbm_surface_get(E_Hwc *hwc, int *width, int *height, int *format);
int x1, x2, y1, y2;
E_Map *map;
E_View *view;
+ E_Hwc *hwc;
EINA_SAFETY_ON_NULL_RETURN_VAL(hwc_window, EINA_FALSE);
ec = hwc_window->ec;
if (!ec) return EINA_FALSE;
- ecore_evas_geometry_get(e_comp->ee, NULL, NULL, &ee_w, &ee_h);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(hwc_window->hwc, EINA_FALSE);
+
+ hwc = hwc_window->hwc;
+
+ e_hwc_canvas_size_get(hwc, &ee_w, &ee_h);
e_client_geometry_get(ec, &x, &y, &w, &h);
view = e_view_client_view_get(e_client_view_get(ec));
Eina_Bool qps_visible;
Eina_Bool blur_visible = EINA_FALSE;
- ecore_evas_geometry_get(e_comp_ee_get(), NULL, NULL, &ee_w, &ee_h);
+ e_hwc_canvas_size_get(hwc, &ee_w, &ee_h);
qps_visible = e_qps_visible_get();
for (o = evas_object_top_get(e_comp_evas_get()); o; o = evas_object_below_get(o))
static void
_e_output_force_render_set(E_Output *output)
{
+ E_Hwc_Window_Target *target_hwc_window;
int w, h;
EINA_SAFETY_ON_NULL_RETURN(output);
+ EINA_SAFETY_ON_NULL_RETURN(output->hwc);
+ EINA_SAFETY_ON_NULL_RETURN(output->hwc->target_hwc_window);
if (output->force_render)
return;
e_output_size_get(output, &w, &h);
e_comp_override_add();
- evas_damage_rectangle_add(output->hwc->evas, 0, 0, w, h);
+
+ target_hwc_window = output->hwc->target_hwc_window;
+ e_hwc_windows_target_window_force_render(target_hwc_window);
output->force_render = EINA_TRUE;
EOINF("force render set", output);