From 29c3487b6fa8ab23004470386cdb229cf68c6a2b Mon Sep 17 00:00:00 2001 From: inconn <62788103+Inconn@users.noreply.github.com> Date: Sat, 25 Mar 2023 23:09:18 -0500 Subject: [PATCH 1/3] get error log of shader if it fails to compile --- sway/desktop/fx_renderer.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sway/desktop/fx_renderer.c b/sway/desktop/fx_renderer.c index 80ede4d36..3b2aa72d6 100644 --- a/sway/desktop/fx_renderer.c +++ b/sway/desktop/fx_renderer.c @@ -107,6 +107,13 @@ static GLuint compile_shader(GLuint type, const GLchar **srcs, size_t srcs_len) glGetShaderiv(shader, GL_COMPILE_STATUS, &ok); if (ok == GL_FALSE) { sway_log(SWAY_ERROR, "Failed to compile shader"); + + char log[1024]; + GLsizei length = 0; + glGetShaderInfoLog(shader, 1024, &length, log); + log[length-1] = '\0'; + sway_log(SWAY_ERROR, "Error: %s", log); + glDeleteShader(shader); shader = 0; } From b84c0ad1814d3edb75f42695b8e8ef569687af6b Mon Sep 17 00:00:00 2001 From: inconn <62788103+Inconn@users.noreply.github.com> Date: Sun, 26 Mar 2023 17:26:14 -0500 Subject: [PATCH 2/3] neaten error message --- sway/desktop/fx_renderer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sway/desktop/fx_renderer.c b/sway/desktop/fx_renderer.c index 3b2aa72d6..ae1674387 100644 --- a/sway/desktop/fx_renderer.c +++ b/sway/desktop/fx_renderer.c @@ -112,7 +112,7 @@ static GLuint compile_shader(GLuint type, const GLchar **srcs, size_t srcs_len) GLsizei length = 0; glGetShaderInfoLog(shader, 1024, &length, log); log[length-1] = '\0'; - sway_log(SWAY_ERROR, "Error: %s", log); + sway_log(SWAY_ERROR, "Error log: \"%s\"", log); glDeleteShader(shader); shader = 0; From f7c17ad9629b6dd65a9bc27a75710875bbdc0759 Mon Sep 17 00:00:00 2001 From: inconn <62788103+Inconn@users.noreply.github.com> Date: Sun, 26 Mar 2023 17:26:47 -0500 Subject: [PATCH 3/3] also add log for when gl program fails to link --- sway/desktop/fx_renderer.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sway/desktop/fx_renderer.c b/sway/desktop/fx_renderer.c index ae1674387..4cde8c3b4 100644 --- a/sway/desktop/fx_renderer.c +++ b/sway/desktop/fx_renderer.c @@ -158,6 +158,13 @@ static GLuint link_program(const GLchar *frag_src, enum fx_gles2_shader_source s glGetProgramiv(prog, GL_LINK_STATUS, &ok); if (ok == GL_FALSE) { sway_log(SWAY_ERROR, "Failed to link shader"); + + char log[1024]; + GLsizei length = 0; + glGetProgramInfoLog(prog, 1024, &length, log); + log[length-1] = '\0'; + sway_log(SWAY_ERROR, "Error log: \"%s\"", log); + glDeleteProgram(prog); goto error; }