diff options
author | Timm Bäder <mail@baedert.org> | 2021-01-28 12:31:18 +0100 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2021-02-07 11:37:45 -0500 |
commit | 3a9c0357d3ba974f6860cbb1809380082ebf94de (patch) | |
tree | b8d0a3c21af559e4e6da4b006c98c50bedc82d22 | |
parent | 13724b64d2750b6e657ae8c1b46f33958b3065d9 (diff) | |
download | gtk+-3a9c0357d3ba974f6860cbb1809380082ebf94de.tar.gz |
shader builder: Improve error output
-rw-r--r-- | gsk/gl/gskglshaderbuilder.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/gsk/gl/gskglshaderbuilder.c b/gsk/gl/gskglshaderbuilder.c index 6c1c271ffc..ebd3ebe37a 100644 --- a/gsk/gl/gskglshaderbuilder.c +++ b/gsk/gl/gskglshaderbuilder.c @@ -64,8 +64,10 @@ prepend_line_numbers (char *code, } static gboolean -check_shader_error (int shader_id, - GError **error) +check_shader_error (int shader_id, + int shader_type, + const char *resource_path, + GError **error) { int status; int log_len; @@ -91,7 +93,9 @@ check_shader_error (int shader_id, prepend_line_numbers (code, s); g_set_error (error, GDK_GL_ERROR, GDK_GL_ERROR_COMPILATION_FAILED, - "Compilation failure in shader.\nSource Code: %s\n\nError Message:\n%s\n\n", + "Compilation failure in %s shader %s.\nSource Code:\n%s\n\nError Message:\n%s\n\n", + (shader_type == GL_FRAGMENT_SHADER ? "fragment" : "vertex"), + resource_path, s->str, buffer); @@ -184,7 +188,7 @@ gsk_gl_shader_builder_create_program (GskGLShaderBuilder *self, }); glCompileShader (vertex_id); - if (!check_shader_error (vertex_id, error)) + if (!check_shader_error (vertex_id, GL_VERTEX_SHADER, resource_path, error)) { glDeleteShader (vertex_id); goto out; @@ -218,7 +222,7 @@ gsk_gl_shader_builder_create_program (GskGLShaderBuilder *self, }); glCompileShader (fragment_id); - if (!check_shader_error (fragment_id, error)) + if (!check_shader_error (fragment_id, GL_FRAGMENT_SHADER, resource_path, error)) { glDeleteShader (fragment_id); goto out; |