forked from enlightenment/efl
evas gl x11 engine - fix buffer age symbol find and use
it serems some changes broke our buffer age querying - we were using the wrong symbol... the EXT or ARGB onenot the core one which does work. use that first. then we get buffer age. @fix
This commit is contained in:
parent
fb15910640
commit
40250fda22
|
@ -98,7 +98,7 @@ int (*glsym_glXGetVideoSync) (unsigned int *a) = NULL;
|
|||
int (*glsym_glXWaitVideoSync) (int a, int b, unsigned int *c) = NULL;
|
||||
XID (*glsym_glXCreatePixmap) (Display *a, void *b, Pixmap c, const int *d) = NULL;
|
||||
void (*glsym_glXDestroyPixmap) (Display *a, XID b) = NULL;
|
||||
void (*glsym_glXQueryDrawable) (Display *a, XID b, int c, unsigned int *d) = NULL;
|
||||
int (*glsym_glXQueryDrawable) (Display *a, XID b, int c, unsigned int *d) = NULL;
|
||||
int (*glsym_glXSwapIntervalSGI) (int a) = NULL;
|
||||
void (*glsym_glXSwapIntervalEXT) (Display *s, GLXDrawable b, int c) = NULL;
|
||||
void (*glsym_glXReleaseBuffersMESA) (Display *a, XID b) = NULL;
|
||||
|
@ -1406,9 +1406,9 @@ eng_gl_symbols(Eina_Bool noext_glXCreatePixmap)
|
|||
FINDSYM(glsym_glXDestroyPixmap, "glXDestroyPixmapARB", glsym_func_void);
|
||||
FINDSYM(glsym_glXDestroyPixmap, "glXDestroyPixmap", glsym_func_void);
|
||||
|
||||
FINDSYM(glsym_glXQueryDrawable, "glXQueryDrawableEXT", glsym_func_void);
|
||||
FINDSYM(glsym_glXQueryDrawable, "glXQueryDrawableARB", glsym_func_void);
|
||||
FINDSYM(glsym_glXQueryDrawable, "glXQueryDrawable", glsym_func_void);
|
||||
FINDSYM(glsym_glXQueryDrawable, "glXQueryDrawable", glsym_func_int);
|
||||
FINDSYM(glsym_glXQueryDrawable, "glXQueryDrawableEXT", glsym_func_int);
|
||||
FINDSYM(glsym_glXQueryDrawable, "glXQueryDrawableARB", glsym_func_int);
|
||||
|
||||
FINDSYM(glsym_glXSwapIntervalSGI, "glXSwapIntervalMESA", glsym_func_int);
|
||||
FINDSYM(glsym_glXSwapIntervalSGI, "glXSwapIntervalSGI", glsym_func_int);
|
||||
|
|
|
@ -157,7 +157,7 @@ extern unsigned int (*glsym_eglSetDamageRegionKHR) (EGLDisplay a, EGLSurface
|
|||
# define GLX_BACK_BUFFER_AGE_EXT 0x20f4
|
||||
#endif
|
||||
|
||||
extern void (*glsym_glXQueryDrawable) (Display *a, XID b, int c, unsigned int *d);
|
||||
extern int (*glsym_glXQueryDrawable) (Display *a, XID b, int c, unsigned int *d);
|
||||
extern void (*glsym_glXSwapIntervalEXT) (Display *s, GLXDrawable b, int c);
|
||||
extern int (*glsym_glXSwapIntervalSGI) (int a);
|
||||
extern int (*glsym_glXGetVideoSync) (unsigned int *a);
|
||||
|
|
|
@ -1398,8 +1398,11 @@ eng_outbuf_swap_mode(Outbuf *ob)
|
|||
unsigned int age = 0;
|
||||
|
||||
if (glsym_glXQueryDrawable)
|
||||
glsym_glXQueryDrawable(ob->disp, ob->glxwin,
|
||||
GLX_BACK_BUFFER_AGE_EXT, &age);
|
||||
{
|
||||
if (glsym_glXQueryDrawable(ob->disp, ob->glxwin,
|
||||
GLX_BACK_BUFFER_AGE_EXT, &age) < 1)
|
||||
age = 0;
|
||||
}
|
||||
#endif
|
||||
if (age == 1) swap_mode = MODE_COPY;
|
||||
else if (age == 2) swap_mode = MODE_DOUBLE;
|
||||
|
|
Loading…
Reference in New Issue