diff options
Diffstat (limited to 'libweston/renderer-gl/gl-shaders.c')
-rw-r--r-- | libweston/renderer-gl/gl-shaders.c | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/libweston/renderer-gl/gl-shaders.c b/libweston/renderer-gl/gl-shaders.c index 079cded5..5f0c6e18 100644 --- a/libweston/renderer-gl/gl-shaders.c +++ b/libweston/renderer-gl/gl-shaders.c @@ -106,14 +106,6 @@ dump_program_with_line_numbers(int count, const char **sources) free(dumpstr); } -void -gl_shader_destroy(struct gl_shader *shader) -{ - glDeleteProgram(shader->program); - wl_list_remove(&shader->link); - free(shader); -} - static GLuint compile_shader(GLenum type, int count, const char **sources) { @@ -257,6 +249,24 @@ error_vertex: return NULL; } +void +gl_shader_destroy(struct gl_renderer *gr, struct gl_shader *shader) +{ + char *desc; + + if (weston_log_scope_is_enabled(gr->shader_scope)) { + desc = create_shader_description_string(&shader->key); + weston_log_scope_printf(gr->shader_scope, + "Deleting shader program for: %s\n", + desc); + free(desc); + } + + glDeleteProgram(shader->program); + wl_list_remove(&shader->link); + free(shader); +} + int gl_shader_requirements_cmp(const struct gl_shader_requirements *a, const struct gl_shader_requirements *b) |