# endif
#endif
+static Evas_Engine_GL_Context *
+gl_generic_context_get(Render_Output_GL_Generic *output)
+{
+ if (!output->software.ob) return NULL;
+ output->window_use(output->software.ob);
+ return output->window_gl_context_get(output->software.ob);
+
+}
+
static int eng_gl_image_direct_get(void *data, void *image);
static int eng_gl_surface_destroy(void *data, void *surface);
static Eina_Bool eng_gl_surface_lock(void *data, void *surface);
if (rsc->id == evgl_engine->main_tid)
{
_need_context_restore = EINA_FALSE;
-
rsc->stored.data = data;
rsc->stored.surface = surface;
rsc->stored.context = context;
Evas_Engine_GL_Context *gl_context;
Render_Output_GL_Generic *re = data;
- re->window_use(re->software.ob);
- gl_context = re->window_gl_context_get(re->software.ob);
+ gl_context = gl_generic_context_get(re);
evas_gl_common_context_target_surface_set(gl_context, surface);
gl_context->dc = context;
evas_gl_common_rect_draw(gl_context, x, y, w, h);
Evas_Engine_GL_Context *gl_context;
Render_Output_GL_Generic *re = data;
- re->window_use(re->software.ob);
- gl_context = re->window_gl_context_get(re->software.ob);
+ gl_context = gl_generic_context_get(re);
evas_gl_common_context_target_surface_set(gl_context, surface);
gl_context->dc = context;
evas_gl_common_line_draw(gl_context, p1x, p1y, p2x, p2y);
Evas_Engine_GL_Context *gl_context;
Render_Output_GL_Generic *re = data;
- re->window_use(re->software.ob);
- gl_context = re->window_gl_context_get(re->software.ob);
+ gl_context = gl_generic_context_get(re);
evas_gl_common_context_target_surface_set(gl_context, surface);
gl_context->dc = context;
evas_gl_common_poly_draw(gl_context, polygon, x, y);
unsigned int tex = 0;
unsigned int fbo = 0;
- gl_context = re->window_gl_context_get(re->software.ob);
+ gl_context = gl_generic_context_get(re);
if (!im)
{
Render_Output_GL_Generic *re = engine;
*error = EVAS_LOAD_ERROR_NONE;
- re->window_use(re->software.ob);
- gl_context = re->window_gl_context_get(re->software.ob);
+ gl_context = gl_generic_context_get(re);
return evas_gl_common_image_load(gl_context, file, key, lo, error);
}
Render_Output_GL_Generic *re = engine;
*error = EVAS_LOAD_ERROR_NONE;
- re->window_use(re->software.ob);
- gl_context = re->window_gl_context_get(re->software.ob);
+ gl_context = gl_generic_context_get(re);
return evas_gl_common_image_mmap(gl_context, f, key, lo, error);
}
Evas_Engine_GL_Context *gl_context;
Render_Output_GL_Generic *re = engine;
- re->window_use(re->software.ob);
- gl_context = re->window_gl_context_get(re->software.ob);
+ gl_context = gl_generic_context_get(re);
return evas_gl_common_image_new_from_data(gl_context, w, h, image_data, alpha, cspace);
}
Evas_Engine_GL_Context *gl_context;
Render_Output_GL_Generic *re = engine;
- re->window_use(re->software.ob);
- gl_context = re->window_gl_context_get(re->software.ob);
+ gl_context = gl_generic_context_get(re);
return evas_gl_common_image_new_from_copied_data(gl_context, w, h, image_data, alpha, cspace);
}
evas_gl_common_image_native_enable(im);
return image;
}
- re->window_use(re->software.ob);
- gl_context = re->window_gl_context_get(re->software.ob);
+ gl_context = gl_generic_context_get(re);
if ((im->tex) && (im->tex->pt->dyn.img))
{
evas_gl_common_texture_free(im->tex, EINA_TRUE);
RGBA_Draw_Context *dc;
int w, h;
- re->window_use(re->software.ob);
- gl_context = re->window_gl_context_get(re->software.ob);
+ gl_context = gl_generic_context_get(re);
w = im1->w;
h = im1->h;
{
Evas_Engine_GL_Context *gl_context;
- re->window_use(re->software.ob);
- gl_context = re->window_gl_context_get(re->software.ob);
+ gl_context = gl_generic_context_get(re);
gim->tex = evas_gl_common_texture_new(gl_context, gim->im, EINA_FALSE);
EINA_SAFETY_ON_NULL_RETURN(gim->tex);
gim->tex->im = gim;
if (!im) return EINA_FALSE;
n = im->native.data;
- gl_context = re->window_gl_context_get(re->software.ob);
- re->window_use(re->software.ob);
+ gl_context = gl_generic_context_get(re);
if (eng_gl_image_direct_get(data, image))
{
Render_Output_GL_Generic *re = data;
if (!image) return EINA_FALSE;
- re->window_use(re->software.ob);
- gl_context = re->window_gl_context_get(re->software.ob);
+ gl_context = gl_generic_context_get(re);
evas_gl_common_context_target_surface_set(gl_context, surface);
gl_context->dc = context;
Render_Output_GL_Generic *re = engine;
Evas_Engine_GL_Context *gl_context;
- re->window_use(re->software.ob);
- gl_context = re->window_gl_context_get(re->software.ob);
+ gl_context = gl_generic_context_get(re);
return evas_gl_common_image_surface_new(gl_context, w, h, alpha, EINA_FALSE);
}
Render_Output_GL_Generic *re = engine;
int tmp_size;
- re->window_use(re->software.ob);
- gl_context = re->window_gl_context_get(re->software.ob);
+ gl_context = gl_generic_context_get(re);
if (!gl_context) return;
tmp_size = evas_common_image_get_cache();
Evas_Engine_GL_Context *gl_context;
Render_Output_GL_Generic *re = engine;
- re->window_use(re->software.ob);
- gl_context = re->window_gl_context_get(re->software.ob);
+ gl_context = gl_generic_context_get(re);
evas_common_image_set_cache(bytes);
evas_common_rgba_image_scalecache_size_set(bytes);
Evas_Engine_GL_Context *gl_context;
Render_Output_GL_Generic *re = data;
- re->window_use(re->software.ob);
- gl_context = re->window_gl_context_get(re->software.ob);
+ gl_context = gl_generic_context_get(re);
evas_gl_common_context_target_surface_set(gl_context, surface);
gl_context->dc = context;
{
Evas_Engine_GL_Context *gl_context;
- gl_context = re->window_gl_context_get(re->software.ob);
+ gl_context = gl_generic_context_get(re);
if ((gl_context->havestuff) ||
(gl_context->master_clip.used))
{
- re->window_use(re->software.ob);
evas_gl_common_context_flush(gl_context);
if (gl_context->master_clip.used)
evas_gl_common_context_done(gl_context);
Evas_Engine_GL_Context *gl_context;
EVGLINIT(re, NULL);
- gl_context = re->window_gl_context_get(re->software.ob);
+ gl_context = gl_generic_context_get(re);
if (!gl_context)
{
ERR("Invalid context!");
if ((re->software.outbuf_get_rot(re->software.ob) != 0) && (!client_side_rotation))
return EINA_FALSE;
- gl_context = re->window_gl_context_get(re->software.ob);
+ gl_context = gl_generic_context_get(re);
if (gl_context->def_surface != sfc)
return EINA_FALSE;
Evas_Engine_GL_Context *gl_context;
Render_Output_GL_Generic *re = engine;
- gl_context = re->window_gl_context_get(re->software.ob);
+ gl_context = gl_generic_context_get(re);
if (maxw) *maxw = gl_context->shared->info.max_texture_size;
if (maxh) *maxh = gl_context->shared->info.max_texture_size;
}
Evas_Engine_GL_Context *gl_context;
Render_Output_GL_Generic *re = engine;
- gl_context = re->window_gl_context_get(re->software.ob);
+ gl_context = gl_generic_context_get(re);
if ((gl_context->havestuff) ||
(gl_context->master_clip.used))
{
- re->window_use(re->software.ob);
evas_gl_common_context_flush(gl_context);
if (gl_context->master_clip.used)
evas_gl_common_context_done(gl_context);
Render_Output_GL_Generic *re = engine;
E3D_Renderer *renderer = NULL;
- re->window_use(re->software.ob);
- gl_context = re->window_gl_context_get(re->software.ob);
+ gl_context = gl_generic_context_get(re);
evas_gl_common_context_flush(gl_context);
eng_context_3d_use(engine);
Render_Output_GL_Generic *re = engine;
E3D_Renderer *renderer = NULL;
- re->window_use(re->software.ob);
- gl_context = re->window_gl_context_get(re->software.ob);
+ gl_context = gl_generic_context_get(re);
evas_gl_common_context_flush(gl_context);
eng_context_3d_use(engine);
Evas_Engine_GL_Context *gl_context;
Render_Output_GL_Generic *re = engine;
- re->window_use(re->software.ob);
- gl_context = re->window_gl_context_get(re->software.ob);
+ gl_context = gl_generic_context_get(re);
e3d_texture_set(gl_context, (E3D_Texture *)texture, (Evas_GL_Image *)image);
}
Evas_GL_Ector *buffer = engine_data;
int w, h;
- re->window_use(re->software.ob);
- gl_context = re->window_gl_context_get(re->software.ob);
+ gl_context = gl_generic_context_get(re);
evas_gl_common_context_target_surface_set(gl_context, surface);
gl_context->dc = context;
if (use_cairo || !use_gl)
{
- gl_context = re->window_gl_context_get(re->software.ob);
+ gl_context = gl_generic_context_get(re);
w = gl_context->w; h = gl_context->h;
mul_use = gl_context->dc->mul.use;
Evas_Engine_GL_Context *gl_context;
Render_Output_GL_Generic *re = engine;
- re->window_use(re->software.ob);
- gl_context = re->window_gl_context_get(re->software.ob);
+ gl_context = gl_generic_context_get(re);
return evas_gl_common_image_surface_noscale_new(gl_context, w, h, alpha);
}