summaryrefslogtreecommitdiff
path: root/libweston/renderer-gl/gl-renderer.c
diff options
context:
space:
mode:
authorDaniel Stone <daniels@collabora.com>2020-02-03 20:00:54 +0000
committerDaniel Stone <daniels@collabora.com>2020-02-03 20:00:54 +0000
commit6d2e73b314db7e32982f9220ce32079477990f78 (patch)
treef07b0a58619bb6ad967d92d92a79b95e6c3f21f9 /libweston/renderer-gl/gl-renderer.c
parent7b36f171d09354a2d3a48db0ae2d34d66aa4f1ae (diff)
downloadweston-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.c4
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);