return ret ? -1 : 0;
}
+static inline void
+rpi_buffer_egl_lock(struct weston_buffer *buffer)
+{
+#ifdef ENABLE_EGL
+ vc_dispmanx_set_wl_buffer_in_use(buffer->resource, 1);
+#endif
+}
+
+static inline void
+rpi_buffer_egl_unlock(struct weston_buffer *buffer)
+{
+#ifdef ENABLE_EGL
+ vc_dispmanx_set_wl_buffer_in_use(buffer->resource, 0);
+#endif
+}
+
static void
rpir_egl_buffer_destroy(struct rpir_egl_buffer *egl_buffer)
{
*/
vc_dispmanx_resource_delete(egl_buffer->resource_handle);
} else {
- vc_dispmanx_set_wl_buffer_in_use(buffer->resource, 0);
+ rpi_buffer_egl_unlock(buffer);
weston_buffer_reference(&egl_buffer->buffer_ref, NULL);
}
struct weston_buffer *buffer;
buffer = view->surface->egl_front->buffer_ref.buffer;
if (buffer != NULL) {
- vc_dispmanx_set_wl_buffer_in_use(buffer->resource, 1);
+ rpi_buffer_egl_lock(buffer);
} else {
weston_log("warning: client destroyed current front buffer\n");