summaryrefslogtreecommitdiff
path: root/glamor/glamor.c
diff options
context:
space:
mode:
Diffstat (limited to 'glamor/glamor.c')
-rw-r--r--glamor/glamor.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/glamor/glamor.c b/glamor/glamor.c
index 7b3953660..b7718325d 100644
--- a/glamor/glamor.c
+++ b/glamor/glamor.c
@@ -515,6 +515,10 @@ glamor_init(ScreenPtr screen, unsigned int flags)
gl_version = epoxy_gl_version();
+ /* assume a core profile if we are GL 3.1 and don't have ARB_compatibility */
+ glamor_priv->is_core_profile =
+ gl_version >= 31 && !epoxy_has_gl_extension("GL_ARB_compatibility");
+
shading_version_string = (char *) glGetString(GL_SHADING_LANGUAGE_VERSION);
if (!shading_version_string) {
@@ -569,6 +573,12 @@ glamor_init(ScreenPtr screen, unsigned int flags)
goto fail;
}
+ if (!glamor_priv->is_core_profile &&
+ !epoxy_has_gl_extension("GL_ARB_texture_border_clamp")) {
+ ErrorF("GL_ARB_texture_border_clamp required\n");
+ goto fail;
+ }
+
if (!glamor_check_instruction_count(gl_version))
goto fail;
} else {
@@ -581,6 +591,11 @@ glamor_init(ScreenPtr screen, unsigned int flags)
ErrorF("GL_EXT_texture_format_BGRA8888 required\n");
goto fail;
}
+
+ if (!epoxy_has_gl_extension("GL_OES_texture_border_clamp")) {
+ ErrorF("GL_OES_texture_border_clamp required\n");
+ goto fail;
+ }
}
glamor_priv->has_rw_pbo = FALSE;
@@ -612,10 +627,6 @@ glamor_init(ScreenPtr screen, unsigned int flags)
glamor_priv->has_dual_blend =
epoxy_has_gl_extension("GL_ARB_blend_func_extended");
- /* assume a core profile if we are GL 3.1 and don't have ARB_compatibility */
- glamor_priv->is_core_profile =
- gl_version >= 31 && !epoxy_has_gl_extension("GL_ARB_compatibility");
-
glamor_priv->can_copyplane = (gl_version >= 30);
glamor_setup_debug_output(screen);