E_Client *ec;
E_Comp_Wl_Tizen_Hwc *tizen_hwc;
E_Comp_Wl_Tizen_Hwc_Commit_Feedback* hwc_commit_feedback;
+ E_Hwc_Window_State accepted_state;
tizen_hwc = wl_resource_get_user_data(tizen_hwc_resource);
EINA_SAFETY_ON_NULL_RETURN(tizen_hwc);
tizen_hwc->hwc_commit_feeback_list = eina_list_append(tizen_hwc->hwc_commit_feeback_list, hwc_commit_feedback);
ELOGF("TIZEN-HWC", "Request Tizen HWC Commit Feedback by Client.(%p, %p)", hwc_commit_feedback->ec, hwc_commit_feedback, hwc_commit_feedback->resource);
+
+ if (ec->hwc_window)
+ {
+ accepted_state = e_hwc_window_accepted_state_get(ec->hwc_window);
+ if ((!ec->comp_data->buffer_ref.buffer) &&
+ ((accepted_state == E_HWC_WINDOW_STATE_NONE) ||
+ (accepted_state == E_HWC_WINDOW_STATE_CLIENT)))
+ {
+ ELOGF("TIZEN-HWC", "[Send] Commit FeedBack Discarded.(%p, %p)", hwc_commit_feedback->ec, hwc_commit_feedback, hwc_commit_feedback->resource);
+ tizen_hwc_commit_feedback_send_discarded(hwc_commit_feedback->resource,
+ hwc_commit_feedback->serial);
+ wl_resource_destroy(hwc_commit_feedback->resource);
+ }
+ }
}
static const struct tizen_hwc_interface _e_comp_wl_tizen_hwc_implementation = {