compositor: Destroy gles2 resource for weston_surface in gles2-renderer.c
This moves the last gles2 call out of compositor.c.
diff --git a/src/gles2-renderer.c b/src/gles2-renderer.c
index f1941e6..a19c8c5 100644
--- a/src/gles2-renderer.c
+++ b/src/gles2-renderer.c
@@ -821,6 +821,18 @@
}
}
+static void
+gles2_renderer_destroy_surface(struct weston_surface *surface)
+{
+ struct weston_compositor *ec = surface->compositor;
+ int i;
+
+ glDeleteTextures(surface->num_textures, surface->textures);
+
+ for (i = 0; i < surface->num_images; i++)
+ ec->destroy_image(ec->egl_display, surface->images[i]);
+}
+
static const char vertex_shader[] =
"uniform mat4 proj;\n"
"attribute vec2 position;\n"
@@ -1164,6 +1176,7 @@
renderer->base.repaint_output = gles2_renderer_repaint_output;
renderer->base.flush_damage = gles2_renderer_flush_damage;
renderer->base.attach = gles2_renderer_attach;
+ renderer->base.destroy_surface = gles2_renderer_destroy_surface;
ec->renderer = &renderer->base;
return 0;