evas - gl-x11 engine - put in guessed blacklist of yinvert extn for intel mesa

This commit is contained in:
Carsten Haitzler 2014-01-07 13:13:01 +09:00
parent 77aa223e95
commit e9783c3caf
1 changed files with 22 additions and 3 deletions

View File

@ -72,7 +72,7 @@ static int initted = 0;
static int gl_wins = 0;
static int extn_have_buffer_age = 1;
#ifdef GL_GLES
static int extn_have_y_inverted = 0;
static int extn_have_y_inverted = 1;
#endif
typedef void (*_eng_fn) (void);
@ -717,9 +717,28 @@ gl_extn_veto(Render_Engine *re)
{
extn_have_buffer_age = 0;
}
if (strstr(str, "EGL_NOK_texture_from_pixmap"))
if (!strstr(str, "EGL_NOK_texture_from_pixmap"))
{
extn_have_y_inverted = 1;
extn_have_y_inverted = 0;
}
else
{
const GLubyte *vendor, *renderer;
vendor = glGetString(GL_VENDOR);
renderer = glGetString(GL_RENDERER);
// XXX: workaround mesa bug!
// looking for mesa and intel build which is known to
// advertise the EGL_NOK_texture_from_pixmap extension
// but not set it correctly. guessing vendor/renderer
// strings will be like the following:
// OpenGL vendor string: Intel Open Source Technology Center
// OpenGL renderer string: Mesa DRI Intel(R) Sandybridge Desktop
if (((vendor) && (strstr(vendor, "Intel"))) &&
((renderer) && (strstr(renderer, "Mesa"))) &&
((renderer) && (strstr(renderer, "Intel")))
)
extn_have_y_inverted = 0;
}
}
else