Skip to content

Commit 0f83527

Browse files
zdobersekaperezdc
authored andcommitted
renderer-backend-egl: support explicit deinitialization
Add the wpe_renderer_backend_egl_target_deinitialize() entrypoint, along with the corresponding wpe_renderer_backend_egl_target_interface member. This allows for users to explicitly indicate that the target should be deinitialized before it is destroyed, and for the interface implementors to properly differentiate between the two events. (cherry picked from commit de1e0e8)
1 parent 2ef2e63 commit 0f83527

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

include/wpe/renderer-backend-egl.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,9 @@ struct wpe_renderer_backend_egl_target_interface {
8181
void (*resize)(void*, uint32_t, uint32_t);
8282
void (*frame_will_render)(void*);
8383
void (*frame_rendered)(void*);
84+
void (*deinitialize)(void*);
8485

8586
/*< private >*/
86-
void (*_wpe_reserved0)(void);
8787
void (*_wpe_reserved1)(void);
8888
void (*_wpe_reserved2)(void);
8989
void (*_wpe_reserved3)(void);
@@ -162,6 +162,10 @@ WPE_EXPORT
162162
void
163163
wpe_renderer_backend_egl_target_frame_rendered(struct wpe_renderer_backend_egl_target*);
164164

165+
WPE_EXPORT
166+
void
167+
wpe_renderer_backend_egl_target_deinitialize(struct wpe_renderer_backend_egl_target*);
168+
165169
WPE_EXPORT
166170
struct wpe_renderer_backend_egl_offscreen_target*
167171
wpe_renderer_backend_egl_offscreen_target_create();

src/renderer-backend-egl.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,12 @@ wpe_renderer_backend_egl_target_frame_rendered(struct wpe_renderer_backend_egl_t
138138
target->base.interface->frame_rendered(target->base.interface_data);
139139
}
140140

141+
void
142+
wpe_renderer_backend_egl_target_deinitialize(struct wpe_renderer_backend_egl_target* target)
143+
{
144+
target->base.interface->deinitialize(target->base.interface_data);
145+
}
146+
141147
struct wpe_renderer_backend_egl_offscreen_target*
142148
wpe_renderer_backend_egl_offscreen_target_create()
143149
{

0 commit comments

Comments
 (0)