diff mbox

[1/3] gl: Fail if GL implementation doesn't support shaders

Message ID 1311602815-6314-1-git-send-email-alexandros.frantzis@linaro.org
State Accepted
Headers show

Commit Message

alexandros.frantzis@linaro.org July 25, 2011, 2:06 p.m. UTC
From: Alexandros Frantzis <alexandros.frantzis@linaro.org>

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 <eric@anholt.net>
---
 src/cairo-gl-shaders.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)
diff mbox

Patch

diff --git a/src/cairo-gl-shaders.c b/src/cairo-gl-shaders.c
index 2b31bfc..6a42fd1 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));