only use fancy ribbon on GLES if GL_OES_standard_derivatives extension is detected

This commit is contained in:
Brad Parker 2016-12-09 19:32:55 -05:00
parent b460fc558c
commit 1f39426195
3 changed files with 18 additions and 3 deletions

View File

@ -932,8 +932,21 @@ static void *gl_glsl_init(void *data, const char *path)
}
#ifdef HAVE_SHADERPIPELINE
shader_prog_info.vertex = glsl_core ? stock_vertex_xmb_ribbon_modern : stock_vertex_xmb_ribbon_legacy;
shader_prog_info.fragment = stock_fragment_xmb;
#ifdef HAVE_OPENGLES
if (gl_query_extension("GL_OES_standard_derivatives"))
{
shader_prog_info.vertex = glsl_core ? stock_vertex_xmb_ribbon_modern : stock_vertex_xmb_ribbon_legacy;
shader_prog_info.fragment = stock_fragment_xmb;
}
else
{
shader_prog_info.vertex = stock_vertex_xmb_ribbon_simple_legacy;
shader_prog_info.fragment = stock_fragment_xmb_ribbon_simple;
}
#else
shader_prog_info.vertex = glsl_core ? stock_vertex_xmb_ribbon_modern : stock_vertex_xmb_ribbon_legacy;
shader_prog_info.fragment = stock_fragment_xmb;
#endif
shader_prog_info.is_file = false;
gl_glsl_compile_program(

View File

@ -48,7 +48,7 @@ void gl_query_core_context_unset(void)
gl_core_context = false;
}
static bool gl_query_extension(const char *ext)
bool gl_query_extension(const char *ext)
{
bool ret = false;

View File

@ -58,4 +58,6 @@ void gl_query_core_context_unset(void);
bool gl_check_capability(enum gl_capability_enum enum_idx);
bool gl_query_extension(const char *ext);
#endif