From 037c9ba7e27bdd33a4fefa43dad68ce0d25e35ad Mon Sep 17 00:00:00 2001 From: Alexandros Frantzis Date: Fri, 28 Jan 2011 15:02:52 +0200 Subject: [PATCH] gl: Fail if GL implementation doesn't support shaders The non-shaders implementation was never tuned for fixed-function GL implementation, the maintainers are not interested in supporting it, and the hardware is rather rare at this point. This lets us focus on the implementation for modern hardware, which needs plenty of work still. Reviewed-by: Eric Anholt --- src/cairo-gl-shaders.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/cairo-gl-shaders.c b/src/cairo-gl-shaders.c index 2b31bfc75..6a42fd154 100644 --- a/src/cairo-gl-shaders.c +++ b/src/cairo-gl-shaders.c @@ -359,9 +359,15 @@ _cairo_gl_context_init_shaders (cairo_gl_context_t *ctx) (_cairo_gl_has_extension ("GL_ARB_shader_objects") && _cairo_gl_has_extension ("GL_ARB_fragment_shader") && _cairo_gl_has_extension ("GL_ARB_vertex_shader"))) + { ctx->shader_impl = &shader_impl_core_2_0; + } else + { ctx->shader_impl = NULL; + fprintf (stderr, "Error: The cairo gl backend requires shader support!\n"); + return CAIRO_STATUS_DEVICE_ERROR; + } memset (ctx->vertex_shaders, 0, sizeof (ctx->vertex_shaders));