if (vp->buffer.transform != state->buffer_viewport.buffer.transform)
{
+ E_Output *eout;
int transform_change = (4 + state->buffer_viewport.buffer.transform - vp->buffer.transform) & 0x3;
/* when buffer is transformed, we have to apply the new evas-map */
if (transform_change == vp->wait_for_transform_change)
vp->wait_for_transform_change = 0;
- if (e_comp_is_on_overlay(ec)) e_comp_hwc_client_end(ec, __FUNCTION__);
+ if (ec->zone)
+ {
+ eout = e_output_find(ec->zone->output_id);
+ if (eout && eout->hwc)
+ {
+ if (e_hwc_policy_get(eout->hwc) == E_HWC_POLICY_PLANES)
+ {
+ if (e_comp_is_on_overlay(ec))
+ e_comp_hwc_client_end(ec, __FUNCTION__);
+ }
+ }
+ }
}
ec->comp_data->scaler.buffer_viewport = state->buffer_viewport;