forked from enlightenment/efl
fix up apparent problem with egl context and sizing/rotation... need
to test more though. SVN revision: 83878
This commit is contained in:
parent
0bdfe655a0
commit
4452fad7a3
|
@ -248,6 +248,11 @@ struct _Evas_GL_Shared
|
|||
Eina_Hash *native_pm_hash;
|
||||
Eina_Hash *native_tex_hash;
|
||||
|
||||
#ifdef GL_GLES
|
||||
// FIXME: hack.
|
||||
void *eglctxt;
|
||||
#endif
|
||||
|
||||
Evas_GL_Program shader[SHADER_LAST];
|
||||
|
||||
int references;
|
||||
|
@ -350,8 +355,11 @@ struct _Evas_Engine_GL_Context
|
|||
/* If this is set: Force drawing with a particular filter */
|
||||
GLuint filter_prog;
|
||||
|
||||
#ifdef GL_GLES
|
||||
// FIXME: hack. expose egl display to gl core for egl image sec extn.
|
||||
void *egldisp;
|
||||
void *eglctxt;
|
||||
#endif
|
||||
};
|
||||
|
||||
struct _Evas_GL_Texture_Pool
|
||||
|
|
|
@ -376,11 +376,22 @@ _evas_gl_common_viewport_set(Evas_Engine_GL_Context *gc)
|
|||
m = -1;
|
||||
}
|
||||
|
||||
if ((!gc->change.size) ||
|
||||
((gc->shared->w == w) && (gc->shared->h == h) &&
|
||||
(gc->shared->rot == rot) && (gc->shared->foc == gc->foc) &&
|
||||
(gc->shared->mflip == m)))
|
||||
return;
|
||||
#ifdef GL_GLES
|
||||
if (gc->shared->eglctxt == gc->eglctxt)
|
||||
#endif
|
||||
{
|
||||
if ((!gc->change.size) ||
|
||||
(
|
||||
(gc->shared->w == w) && (gc->shared->h == h) &&
|
||||
(gc->shared->rot == rot) && (gc->shared->foc == gc->foc) &&
|
||||
(gc->shared->mflip == m)
|
||||
)
|
||||
)
|
||||
return;
|
||||
}
|
||||
#ifdef GL_GLES
|
||||
gc->shared->eglctxt = gc->eglctxt;
|
||||
#endif
|
||||
|
||||
gc->shared->w = w;
|
||||
gc->shared->h = h;
|
||||
|
|
|
@ -406,6 +406,7 @@ eng_window_new(Display *disp,
|
|||
}
|
||||
#ifdef GL_GLES
|
||||
gw->gl_context->egldisp = gw->egl_disp;
|
||||
gw->gl_context->eglctxt = gw->egl_context[0];
|
||||
#endif
|
||||
eng_window_use(gw);
|
||||
evas_gl_common_context_resize(gw->gl_context, w, h, rot);
|
||||
|
|
Loading…
Reference in New Issue