e_comp_object_render_update_del(ec->frame);
if (e_object_is_del(E_OBJECT(ec))) continue;
- if (e_comp->hwc && e_comp_is_on_overlay(ec)) continue;
+ if (e_comp_is_on_overlay(ec)) continue;
/* update client */
e_pixmap_size_get(ec->pixmap, &pw, &ph);
e_comp_object_init();
e_comp_new();
- /* conf->hwc configuration has to be check before e_comp_screen_init() */
- if (conf->hwc)
- e_comp->hwc = EINA_TRUE; // activate hwc policy on the primary output
-
if (conf->avoid_afill) e_comp->avoid_afill = EINA_TRUE;
if (conf->hwc_prefer_gbm) e_comp->hwc_prefer_gbm = EINA_TRUE;
-
- if (e_comp->hwc)
- {
- if (conf->hwc_send_redraw_request) e_comp->hwc_send_redraw_request = EINA_TRUE;
- }
+ if (conf->hwc_send_redraw_request) e_comp->hwc_send_redraw_request = EINA_TRUE;
// use wl_surface instead of tbm_surface for the e_comp_wl_buffer
if (conf->use_native_type_buffer) e_comp->use_native_type_buffer = EINA_TRUE;
return EINA_TRUE;
}
-/* get the hwc is configured */
-EINTERN Eina_Bool
-e_comp_hwc_is_configured(void)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(e_comp, EINA_FALSE);
-
- return e_comp->hwc;
-}
-
/* get the hwc_send_redraw_request value */
EINTERN Eina_Bool
e_comp_hwc_send_redraw_request(void)
EINTERN Eina_Bool e_comp_socket_init(const char *name);
-EINTERN Eina_Bool e_comp_hwc_is_configured(void);
EINTERN Eina_Bool e_comp_hwc_send_redraw_request(void);
EINTERN Eina_Bool e_comp_hwc_is_prefer_gbm(void);
cw->force_visible++;
- if (e_comp_hwc_is_configured() && !e_comp_is_on_overlay(cw->ec))
+ if (!e_comp_is_on_overlay(cw->ec))
e_comp_hwc_client_end(cw->ec, __FUNCTION__);
}
if (e_object_is_del(E_OBJECT(ec))) return;
if (cw->external_content) return;
- if (!e_comp_hwc_is_configured()) return;
e_comp_client_render_list_add(cw->ec);
e_client_raise(ec);
}
- if (e_comp_hwc_is_configured())
- e_comp_client_override_add(ec);
+ e_comp_client_override_add(ec);
return 1;
}
if (ec->transformed)
_e_client_transform_move_end(ec);
- if (e_comp_hwc_is_configured())
- e_comp_client_override_del(ec);
+ e_comp_client_override_del(ec);
ecmove = NULL;
return 1;
if (ec->transformed)
_e_client_transform_resize_end(ec);
- if (e_comp_hwc_is_configured())
- e_comp_client_override_del(ec);
+ e_comp_client_override_del(ec);
ecresize = NULL;
e_client_raise(ec);
}
- if (e_comp_hwc_is_configured())
- e_comp_client_override_add(ec);
+ e_comp_client_override_add(ec);
return EINA_TRUE;
error:
E_CONFIG_VAL(D, T, nocomp_fs, UCHAR);
E_CONFIG_VAL(D, T, nocomp_use_timer, UCHAR);
E_CONFIG_VAL(D, T, nocomp_begin_timeout, DOUBLE);
- E_CONFIG_VAL(D, T, hwc, UCHAR);
E_CONFIG_VAL(D, T, hwc_deactive, UCHAR);
E_CONFIG_VAL(D, T, hwc_send_redraw_request, UCHAR);
E_CONFIG_VAL(D, T, hwc_prefer_gbm, UCHAR);
cfg->nocomp_fs = 1;
cfg->nocomp_use_timer = 0;
cfg->nocomp_begin_timeout = 2.0;
- cfg->hwc = 0;
cfg->hwc_deactive = 0;
cfg->hwc_send_redraw_request = 0;
cfg->hwc_prefer_gbm = 0;
e_comp_config_get()->nocomp_begin_timeout = nocomp_begin_timeout;
}
-E_API unsigned char
-e_comp_config_hwc_get(void)
-{
- return e_comp_config_get()->hwc;
-}
-
-E_API void
-e_comp_config_hwc_set(unsigned char hwc)
-{
- e_comp_config_get()->hwc = hwc;
-}
-
E_API unsigned char
e_comp_config_hwc_deactive_get(void)
{
Eldbus_Object *obj;
/* topvwins */
- int use_gl, use_hwc, hwc;
+ int use_gl;
int use_buffer_flush, deiconify_approve;
int config_engine;
const char *engine;
res = eldbus_message_error_get(msg, &name, &text);
EINA_SAFETY_ON_TRUE_GOTO(res, finish);
- res = eldbus_message_arguments_get(msg, "ia("VALUE_TYPE_FOR_TOPVWINS")", &e_info_client.hwc, &array);
+ res = eldbus_message_arguments_get(msg, "a("VALUE_TYPE_FOR_TOPVWINS")", &array);
EINA_SAFETY_ON_FALSE_GOTO(res, finish);
_e_win_info_make_array(array);
res = eldbus_message_error_get(msg, &name, &text);
EINA_SAFETY_ON_TRUE_GOTO(res, finish);
- res = eldbus_message_arguments_get(msg, "iiisiiia("VALUE_TYPE_FOR_TOPVWINS")",
- &e_info_client.use_gl, &e_info_client.use_hwc,
- &e_info_client.hwc,
+ res = eldbus_message_arguments_get(msg, "isiiia("VALUE_TYPE_FOR_TOPVWINS")",
+ &e_info_client.use_gl,
&engine, &e_info_client.config_engine,
&e_info_client.use_buffer_flush, &e_info_client.deiconify_approve,
&array);
res = eldbus_message_error_get(msg, &name, &text);
EINA_SAFETY_ON_TRUE_GOTO(res, finish);
- res = eldbus_message_arguments_get(msg, "ia("VALUE_TYPE_FOR_TOPVWINS")", &e_info_client.hwc, &array);
+ res = eldbus_message_arguments_get(msg, "a("VALUE_TYPE_FOR_TOPVWINS")", &array);
EINA_SAFETY_ON_FALSE_GOTO(res, finish);
_e_win_info_make_array(array);
printf("GL : %s\n", e_info_client.use_gl ? "on":"off");
printf("ENG: %s (config: %d)\n", e_info_client.engine, e_info_client.config_engine);
- if (e_info_client.use_hwc)
- {
- if (e_info_client.hwc)
- printf("HWC: hwc windows policy\n");
- else
- printf("HWC: off");
- }
- else
- printf("HWC: configuration is off");
printf("Buffer flush: %s\n", e_info_client.use_buffer_flush ? "on":"off");
if (e_info_client.use_buffer_flush)
focused, opaque, obscured, iconic, visible ? "Visible" : "Not visible",
frame_visible, redirected ? "yes" : "no", layer_name);
printf(" HWC_ST:");
- if (e_info_client.hwc)
+ switch(pl_zpos)
{
- switch(pl_zpos)
- {
- case E_HWC_WINDOW_STATE_NONE: printf(" NO "); break;
- case E_HWC_WINDOW_STATE_CLIENT: printf(" CL "); break;
- case E_HWC_WINDOW_STATE_DEVICE: printf(" DV "); break;
- case E_HWC_WINDOW_STATE_VIDEO: printf(" VD "); break;
- case E_HWC_WINDOW_STATE_CURSOR: printf(" CS "); break;
- default: printf(" - "); break;
- }
- }
- else
- {
- printf(" - \n");
+ case E_HWC_WINDOW_STATE_NONE: printf(" NO "); break;
+ case E_HWC_WINDOW_STATE_CLIENT: printf(" CL "); break;
+ case E_HWC_WINDOW_STATE_DEVICE: printf(" DV "); break;
+ case E_HWC_WINDOW_STATE_VIDEO: printf(" VD "); break;
+ case E_HWC_WINDOW_STATE_CURSOR: printf(" CS "); break;
+ default: printf(" - "); break;
}
printf (" Corners: +%d+%d -%d+%d -%d-%d +%d-%d\n",
res = eldbus_message_error_get(msg, &name, &text);
EINA_SAFETY_ON_TRUE_GOTO(res, finish);
- res = eldbus_message_arguments_get(msg, "iiisiiia("VALUE_TYPE_FOR_TOPVWINS")",
- &e_info_client.use_gl, &e_info_client.use_hwc,
- &e_info_client.hwc,
+ res = eldbus_message_arguments_get(msg, "isiiia("VALUE_TYPE_FOR_TOPVWINS")",
+ &e_info_client.use_gl,
&engine, &e_info_client.config_engine,
&e_info_client.use_buffer_flush, &e_info_client.deiconify_approve,
&array);
printf("GL : %s\n", e_info_client.use_gl ? "on":"off");
printf("ENG: %s (config: %d)\n", e_info_client.engine, e_info_client.config_engine);
- if (e_info_client.use_hwc)
- {
- if (e_info_client.hwc)
- printf("HWC: hwc windows policy\n");
- else
- printf("HWC: off");
- }
- else
- printf("HWC: configuration is off");
printf("Buffer flush: %s\n", e_info_client.use_buffer_flush ? "on":"off");
if (e_info_client.use_buffer_flush)
*hwc = -1;
*pl_zpos = -999;
- if ((!e_comp_hwc_is_configured()) || e_comp_hwc_deactive_get())
+ if (e_comp_hwc_deactive_get())
return;
*hwc = 0;
Eldbus_Message_Iter *iter = eldbus_message_iter_get(reply);
eldbus_message_iter_basic_append(iter, 'i', e_comp_gl_get());
- eldbus_message_iter_basic_append(iter, 'i', e_comp_config_get()->hwc);
- eldbus_message_iter_basic_append(iter, 'i', e_comp_hwc_is_configured());
eldbus_message_iter_basic_append(iter, 's', ecore_evas_engine_name_get(e_comp_ee_get()));
eldbus_message_iter_basic_append(iter, 'i', e_comp_config_get()->engine);
eldbus_message_iter_basic_append(iter, 'i', e_config->use_buffer_flush);
Eldbus_Message *reply = eldbus_message_method_return_new(msg);
Eldbus_Message_Iter *iter = eldbus_message_iter_get(reply);
- eldbus_message_iter_basic_append(iter, 'i', e_comp_hwc_is_configured());
-
_msg_ecs_append(iter, EINA_TRUE);
return reply;
Eldbus_Message *reply = eldbus_message_method_return_new(msg);
Eldbus_Message_Iter *iter = eldbus_message_iter_get(reply);
- eldbus_message_iter_basic_append(iter, 'i', e_comp_hwc_is_configured());
-
_msg_ecs_append(iter, EINA_FALSE);
return reply;
Eldbus_Message *reply = eldbus_message_method_return_new(msg);
Eldbus_Message_Iter *iter = eldbus_message_iter_get(reply);
- eldbus_message_iter_basic_append(iter, 'i', e_comp_hwc_is_configured());
-
_msg_clients_append(iter, EINA_FALSE);
return reply;
return reply;
}
- if (!e_comp_hwc_is_configured())
- {
- ERR("Error HWC is not initialized.");
- return reply;
- }
-
EINA_SAFETY_ON_NULL_RETURN_VAL(e_comp_get(), reply);
EINA_SAFETY_ON_NULL_RETURN_VAL(e_comp_screen_get(), reply);
Eldbus_Message_Iter *iter = eldbus_message_iter_get(reply);
eldbus_message_iter_basic_append(iter, 'i', e_comp_gl_get());
- eldbus_message_iter_basic_append(iter, 'i', e_comp_config_get()->hwc);
- eldbus_message_iter_basic_append(iter, 'i', e_comp_hwc_is_configured());
eldbus_message_iter_basic_append(iter, 's', ecore_evas_engine_name_get(e_comp_ee_get()));
eldbus_message_iter_basic_append(iter, 'i', e_comp_config_get()->engine);
eldbus_message_iter_basic_append(iter, 'i', e_config->use_buffer_flush);
//{ "method_name", arguments_from_client, return_values_to_client, _method_cb, ELDBUS_METHOD_FLAG },
static const Eldbus_Method methods[] = {
- { "get_window_info", NULL, ELDBUS_ARGS({"iiisiiia("VALUE_TYPE_FOR_TOPVWINS")", "array of ec"}), _e_info_server_cb_window_info_get, 0 },
- { "get_ec_info", NULL, ELDBUS_ARGS({"ia("VALUE_TYPE_FOR_TOPVWINS")", "array of ec"}),_e_info_server_cb_ec_info_get, 0 },
- { "get_all_ec_info", NULL, ELDBUS_ARGS({"ia("VALUE_TYPE_FOR_TOPVWINS")", "array of ec"}),_e_info_server_cb_all_ec_info_get, 0 },
- { "get_all_window_info", NULL, ELDBUS_ARGS({"ia("VALUE_TYPE_FOR_TOPVWINS")", "array of ec"}), _e_info_server_cb_all_window_info_get, 0 },
+ { "get_window_info", NULL, ELDBUS_ARGS({"isiiia("VALUE_TYPE_FOR_TOPVWINS")", "array of ec"}), _e_info_server_cb_window_info_get, 0 },
+ { "get_ec_info", NULL, ELDBUS_ARGS({"a("VALUE_TYPE_FOR_TOPVWINS")", "array of ec"}),_e_info_server_cb_ec_info_get, 0 },
+ { "get_all_ec_info", NULL, ELDBUS_ARGS({"a("VALUE_TYPE_FOR_TOPVWINS")", "array of ec"}),_e_info_server_cb_all_ec_info_get, 0 },
+ { "get_all_window_info", NULL, ELDBUS_ARGS({"a("VALUE_TYPE_FOR_TOPVWINS")", "array of ec"}), _e_info_server_cb_all_window_info_get, 0 },
{ "get_zone_info", NULL, ELDBUS_ARGS({"("VALUE_TYPE_FOR_ZONE")", "array of zone"}), _e_info_server_cb_zone_info_get, 0 },
{ "compobjs", NULL, ELDBUS_ARGS({"a("SIGNATURE_COMPOBJS_CLIENT")", "array of comp objs"}), _e_info_server_cb_compobjs, 0 },
{ "subsurface", NULL, ELDBUS_ARGS({"a("SIGNATURE_SUBSURFACE")", "array of ec"}), _e_info_server_cb_subsurface, 0 },
{ "input_region", ELDBUS_ARGS({"siiii", "options"}), ELDBUS_ARGS({"a(iiii)", "path"}), _e_info_server_cb_input_region, 0},
{ "hwc_wins", ELDBUS_ARGS({"i", "option"}), ELDBUS_ARGS({"as", "hwc wins info"}), _e_info_server_cb_hwc_wins_info_get, 0 },
{ "screen_info", ELDBUS_ARGS({"i", "option"}), ELDBUS_ARGS({"as", "screen info"}), _e_info_server_cb_screen_info_get, 0 },
- { "view_info", NULL, ELDBUS_ARGS({"iiisiiia("VALUE_TYPE_FOR_TOPVWINS")", "array of ec"}), _e_info_server_cb_view_info_get, 0 },
+ { "view_info", NULL, ELDBUS_ARGS({"isiiia("VALUE_TYPE_FOR_TOPVWINS")", "array of ec"}), _e_info_server_cb_view_info_get, 0 },
{ "focus_policy_ext_set", ELDBUS_ARGS({"i", "option"}), ELDBUS_ARGS({"bi", "isChanged and result"}), _e_info_server_cb_focus_policy_ext_set, 0 },
{ "focus_history", NULL, ELDBUS_ARGS({"a(ubbbs)", "history array"}), _e_info_server_cb_focus_history, 0 },
{ "init_device", ELDBUS_ARGS({"us", "device information"}), ELDBUS_ARGS({"s", "result message"}), _e_info_server_cb_init_device, 0},
r = eldbus_message_arguments_get(msg, "u", &on);
EINA_SAFETY_ON_FALSE_RETURN_VAL(r, reply);
- if (e_comp_hwc_is_configured())
+ switch (on)
{
- switch (on)
- {
- case 0: accept = EINA_TRUE; e_comp_hwc_deactive_set(EINA_TRUE); break;
- case 1: accept = EINA_TRUE; e_comp_hwc_deactive_set(EINA_FALSE); break;
- default: break;
- }
+ case 0: accept = EINA_TRUE; e_comp_hwc_deactive_set(EINA_TRUE); break;
+ case 1: accept = EINA_TRUE; e_comp_hwc_deactive_set(EINA_FALSE); break;
+ default: break;
}
eldbus_message_arguments_append(reply, "b", accept);
}
}
- if (e_comp_hwc_is_configured() && e_comp_conf_hwc_deactive_get())
+ if (e_comp_conf_hwc_deactive_get())
e_hwc_deactive_set(hwc, EINA_TRUE);
/* default active hwc */
Ecore_Timer *nocomp_override_timer;
int nocomp_override; //number of times hwc override has been requested
- Eina_Bool hwc : 1;
Eina_Bool hwc_send_redraw_request;
Eina_Bool hwc_prefer_gbm;
Eina_Bool use_native_type_buffer : 1; // use native buffer type
unsigned char nocomp_fs;
unsigned char nocomp_use_timer;
double nocomp_begin_timeout;
- unsigned char hwc;
unsigned char hwc_deactive; // 0: run hwc policy if capable of, 1: not to run hwc policy
unsigned char hwc_send_redraw_request; // 0: none, 1: send redraw request to client when client need to redraw for hwc
unsigned char hwc_prefer_gbm; //0: prefer creating ecore_evas with tbm, 1: prefer creating ecore_evas with gbm