diff options
Diffstat (limited to 'glamor/glamor.c')
-rw-r--r-- | glamor/glamor.c | 19 |
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); |