Try to query context driver about core GL context ability

This commit is contained in:
twinaphex 2016-05-05 05:52:38 +02:00
parent 9d225e388f
commit d176f2d48f
1 changed files with 16 additions and 11 deletions

View File

@ -40,22 +40,27 @@ static const shader_backend_t *video_shader_set_backend(enum rarch_shader_type t
switch (type)
{
case RARCH_SHADER_CG:
{
#ifdef HAVE_CG
if (core_context_inited)
{
RARCH_ERR("[Shader driver]: Cg cannot be used with core GL context. Trying to fall back to GLSL...\n");
gfx_ctx_flags_t flags;
gfx_ctx_ctl(GFX_CTL_GET_FLAGS, &flags);
if (flags.flags && (1UL << GFX_CTX_FLAGS_GL_CORE_CONTEXT))
{
RARCH_ERR("[Shader driver]: Cg cannot be used with core GL context. Trying to fall back to GLSL...\n");
#ifdef HAVE_GLSL
return &gl_glsl_backend;
return &gl_glsl_backend;
#endif
}
else
{
RARCH_LOG("[Shader driver]: Using Cg shader backend.\n");
return &gl_cg_backend;
}
}
else
{
RARCH_LOG("[Shader driver]: Using Cg shader backend.\n");
return &gl_cg_backend;
}
#else
break;
break;
#endif
}
case RARCH_SHADER_GLSL:
#ifdef HAVE_GLSL
RARCH_LOG("[Shader driver]: Using GLSL shader backend.\n");