diff options
author | Daniel Stone <daniels@collabora.com> | 2020-02-03 20:00:54 +0000 |
---|---|---|
committer | Daniel Stone <daniels@collabora.com> | 2020-02-03 20:00:54 +0000 |
commit | 6d2e73b314db7e32982f9220ce32079477990f78 (patch) | |
tree | f07b0a58619bb6ad967d92d92a79b95e6c3f21f9 /libweston/renderer-gl/gl-renderer.c | |
parent | 7b36f171d09354a2d3a48db0ae2d34d66aa4f1ae (diff) | |
download | weston-6d2e73b314db7e32982f9220ce32079477990f78.tar.gz |
gl-renderer: Fail earlier if shader compilation fails
If we can't compile our shaders, there's no point trying to link them.
Signed-off-by: Daniel Stone <daniels@collabora.com>
Diffstat (limited to 'libweston/renderer-gl/gl-renderer.c')
-rw-r--r-- | libweston/renderer-gl/gl-renderer.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libweston/renderer-gl/gl-renderer.c b/libweston/renderer-gl/gl-renderer.c index 6c435507..a40db360 100644 --- a/libweston/renderer-gl/gl-renderer.c +++ b/libweston/renderer-gl/gl-renderer.c @@ -2970,6 +2970,8 @@ shader_init(struct gl_shader *shader, struct gl_renderer *renderer, shader->vertex_shader = compile_shader(GL_VERTEX_SHADER, 1, &vertex_source); + if (shader->vertex_shader == GL_NONE) + return -1; if (renderer->fragment_shader_debug) { sources[0] = fragment_source; @@ -2984,6 +2986,8 @@ shader_init(struct gl_shader *shader, struct gl_renderer *renderer, shader->fragment_shader = compile_shader(GL_FRAGMENT_SHADER, count, sources); + if (shader->fragment_shader == GL_NONE) + return -1; shader->program = glCreateProgram(); glAttachShader(shader->program, shader->vertex_shader); |