diff options
author | Derek Foreman <derekf@osg.samsung.com> | 2018-06-15 13:18:30 -0500 |
---|---|---|
committer | Derek Foreman <derekf@osg.samsung.com> | 2018-06-15 13:18:30 -0500 |
commit | a310667bec105f71ba221fc7f5a36d1f095a4203 (patch) | |
tree | f1a6f2494ee7ed530a88a26a63e5294a79c8f437 /src/lib/ecore_wl2/ecore_wl2_surface.c | |
parent | 551101b4cd74debcaa906fb73f7c60b7a26b550d (diff) |
ecore_wl2: Add a purge option to surface flush
Summary:
We need to be able to forcibly destroy all surface buffers to make
session recovery work safely for software rendering.
@betabreak
Depends on D6278
Reviewers: devilhorns, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6279
Diffstat (limited to 'src/lib/ecore_wl2/ecore_wl2_surface.c')
-rw-r--r-- | src/lib/ecore_wl2/ecore_wl2_surface.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/lib/ecore_wl2/ecore_wl2_surface.c b/src/lib/ecore_wl2/ecore_wl2_surface.c index 78cbc5943f..0f769b486b 100644 --- a/src/lib/ecore_wl2/ecore_wl2_surface.c +++ b/src/lib/ecore_wl2/ecore_wl2_surface.c | |||
@@ -63,11 +63,11 @@ ecore_wl2_surface_post(Ecore_Wl2_Surface *surface, Eina_Rectangle *rects, unsign | |||
63 | } | 63 | } |
64 | 64 | ||
65 | EAPI void | 65 | EAPI void |
66 | ecore_wl2_surface_flush(Ecore_Wl2_Surface *surface) | 66 | ecore_wl2_surface_flush(Ecore_Wl2_Surface *surface, Eina_Bool purge) |
67 | { | 67 | { |
68 | EINA_SAFETY_ON_NULL_RETURN(surface); | 68 | EINA_SAFETY_ON_NULL_RETURN(surface); |
69 | 69 | ||
70 | surface->funcs->flush(surface, surface->private_data); | 70 | surface->funcs->flush(surface, surface->private_data, purge); |
71 | } | 71 | } |
72 | 72 | ||
73 | static Eina_Bool | 73 | static Eina_Bool |
@@ -77,7 +77,7 @@ _ecore_wl2_surface_cb_offscreen(void *data, int type EINA_UNUSED, void *event) | |||
77 | Ecore_Wl2_Surface *surf = data; | 77 | Ecore_Wl2_Surface *surf = data; |
78 | 78 | ||
79 | if (surf->wl2_win->id == (int)ev->win) | 79 | if (surf->wl2_win->id == (int)ev->win) |
80 | ecore_wl2_surface_flush(surf); | 80 | ecore_wl2_surface_flush(surf, EINA_FALSE); |
81 | 81 | ||
82 | return ECORE_CALLBACK_RENEW; | 82 | return ECORE_CALLBACK_RENEW; |
83 | } | 83 | } |