return;
}
+ if (ec->comp_data->pending.buffer_viewport.buffer.transform == transform)
+ return;
+
ec->comp_data->pending.buffer_viewport.buffer.transform = transform;
ec->comp_data->pending.buffer_viewport.changed = 1;
}
return;
}
+ if (ec->comp_data->pending.buffer_viewport.buffer.scale == scale)
+ return;
+
ec->comp_data->pending.buffer_viewport.buffer.scale = scale;
ec->comp_data->pending.buffer_viewport.changed = 1;
}
return;
}
+ if (ec->comp_data->pending.buffer_viewport.buffer.src_x == src_x &&
+ ec->comp_data->pending.buffer_viewport.buffer.src_y == src_y &&
+ ec->comp_data->pending.buffer_viewport.buffer.src_width == src_width &&
+ ec->comp_data->pending.buffer_viewport.buffer.src_height == src_height &&
+ ec->comp_data->pending.buffer_viewport.surface.width == dst_width &&
+ ec->comp_data->pending.buffer_viewport.surface.height == dst_height)
+ return;
+
ec->comp_data->pending.buffer_viewport.buffer.src_x = src_x;
ec->comp_data->pending.buffer_viewport.buffer.src_y = src_y;
ec->comp_data->pending.buffer_viewport.buffer.src_width = src_width;
if (src_width == wl_fixed_from_int(-1) && src_height == wl_fixed_from_int(-1))
{
+ if (ec->comp_data->pending.buffer_viewport.buffer.src_width == wl_fixed_from_int(-1))
+ return;
+
/* unset source size */
ec->comp_data->pending.buffer_viewport.buffer.src_width = wl_fixed_from_int(-1);
ec->comp_data->pending.buffer_viewport.changed = 1;
return;
}
+ if (ec->comp_data->pending.buffer_viewport.buffer.src_x == src_x &&
+ ec->comp_data->pending.buffer_viewport.buffer.src_y == src_y &&
+ ec->comp_data->pending.buffer_viewport.buffer.src_width == src_width &&
+ ec->comp_data->pending.buffer_viewport.buffer.src_height == src_height)
+ return;
+
ec->comp_data->pending.buffer_viewport.buffer.src_x = src_x;
ec->comp_data->pending.buffer_viewport.buffer.src_y = src_y;
ec->comp_data->pending.buffer_viewport.buffer.src_width = src_width;
if (dst_width == -1 && dst_height == -1)
{
+ if (ec->comp_data->pending.buffer_viewport.surface.width == -1)
+ return;
+
/* unset destination size */
ec->comp_data->pending.buffer_viewport.surface.width = -1;
ec->comp_data->pending.buffer_viewport.changed = 1;
return;
}
+ if (ec->comp_data->pending.buffer_viewport.surface.width == dst_width &&
+ ec->comp_data->pending.buffer_viewport.surface.height == dst_height)
+ return;
+
ec->comp_data->pending.buffer_viewport.surface.width = dst_width;
ec->comp_data->pending.buffer_viewport.surface.height = dst_height;
ec->comp_data->pending.buffer_viewport.changed = 1;