ecore_wl2: Disable horizontal resize optimization

We had a "clever" optimization that would keep a buffer on resize
if it was resizing up horizontal and fit within the previously
allocated stride.

Unfortunately, there still needs to be a buffer reconfigure between
client and compositor that wasn't taking place.  Remove this for now.
This commit is contained in:
Derek Foreman 2018-02-27 16:24:25 -06:00
parent cb431b2b0e
commit ec3784774d
2 changed files with 15 additions and 1 deletions

View File

@ -729,6 +729,17 @@ ecore_wl2_buffer_age_inc(Ecore_Wl2_Buffer *buffer)
buffer->age++;
}
/* The only user of this function has been removed, but it
* will likely come back later. The problem is that
* a dmabuf buffer needs to be resized on the compositor
* even if the allocation still fits. Doing the resize
* properly isn't something that will be fixed in the 1.21
* timeframe, so the optimization has been (temporarily)
* removed.
*
* This is currently beta api - don't move it out of beta
* with no users...
*/
EAPI Eina_Bool
ecore_wl2_buffer_fit(Ecore_Wl2_Buffer *b, int w, int h)
{

View File

@ -58,9 +58,12 @@ _evas_dmabuf_surface_reconfigure(Ecore_Wl2_Surface *s EINA_UNUSED, void *priv_da
if ((!w) || (!h)) return;
EINA_LIST_FOREACH_SAFE(p->buffers, l, tmp, b)
{
/* This would be nice, but requires a partial create to follow,
and that partial create is buffer type specific.
if (ecore_wl2_buffer_fit(b, w, h))
continue;
*/
ecore_wl2_buffer_destroy(b);
p->buffers = eina_list_remove_list(p->buffers, l);
}