evas: make Evas_GL start to use engine and output separately.
authorCedric BAIL <cedric@osg.samsung.com>
Fri, 25 Aug 2017 17:51:47 +0000 (10:51 -0700)
committerCedric BAIL <cedric@osg.samsung.com>
Fri, 25 Aug 2017 17:51:47 +0000 (10:51 -0700)
src/lib/evas/canvas/evas_object_image.c
src/lib/evas/include/evas_private.h
src/modules/evas/engines/gl_generic/evas_engine.c

index 1ba3971..9db54b4 100644 (file)
@@ -1604,7 +1604,7 @@ evas_process_dirty_pixels(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj,
                        if (ENFN->gl_direct_override_get)
                          ENFN->gl_direct_override_get(engine, &direct_override, &direct_force_off);
                        if (ENFN->gl_surface_direct_renderable_get)
-                         direct_renderable = ENFN->gl_surface_direct_renderable_get(engine, ns, &direct_override, surface);
+                         direct_renderable = ENFN->gl_surface_direct_renderable_get(engine, output, ns, &direct_override, surface);
 
                        if (((direct_override) ||
                             ((direct_renderable) &&
@@ -1677,7 +1677,7 @@ evas_process_dirty_pixels(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj,
              if (ENFN->gl_direct_override_get)
                ENFN->gl_direct_override_get(engine, &direct_override, &direct_force_off);
              if (ENFN->gl_surface_direct_renderable_get)
-               ENFN->gl_surface_direct_renderable_get(engine, ns, &direct_override, surface);
+               ENFN->gl_surface_direct_renderable_get(engine, output, ns, &direct_override, surface);
 
              if (direct_override && !direct_force_off)
                {
index 74ef28d..c01eb0d 100644 (file)
@@ -1561,7 +1561,7 @@ struct _Evas_Func
    void *(*gl_current_surface_get)       (void *engine);
    int  (*gl_rotation_angle_get)         (void *engine);
    Eina_Bool (*gl_surface_query)         (void *engine, void *surface, int attr, void *value);
-   Eina_Bool (*gl_surface_direct_renderable_get) (void *engine, Evas_Native_Surface *ns, Eina_Bool *override, void *surface);
+   Eina_Bool (*gl_surface_direct_renderable_get) (void *engine, void *output, Evas_Native_Surface *ns, Eina_Bool *override, void *surface);
    void (*gl_image_direct_set)           (void *engine, void *image, Eina_Bool direct);
    int  (*gl_image_direct_get)           (void *engine, void *image);
    void (*gl_get_pixels_pre)             (void *engine);
index 93932ec..2b3f1f4 100644 (file)
@@ -1553,7 +1553,7 @@ eng_gl_make_current(void *engine, void *surface, void *context)
      {
         Evas_Engine_GL_Context *gl_context;
 
-        gl_context = gl_generic_context_get(engine);
+        gl_context = gl_generic_context_find(engine);
         if ((gl_context->havestuff) ||
             (gl_context->master_clip.used))
           {
@@ -1637,7 +1637,7 @@ eng_gl_api_get(void *engine, int version)
    Evas_Engine_GL_Context *gl_context;
    EVGLINIT(engine, NULL);
 
-   gl_context = gl_generic_context_get(engine);
+   gl_context = gl_generic_context_find(engine);
    if (!gl_context)
      {
         ERR("Invalid context!");
@@ -1666,9 +1666,9 @@ eng_gl_direct_override_get(void *engine, Eina_Bool *override, Eina_Bool *force_o
 }
 
 static Eina_Bool
-eng_gl_surface_direct_renderable_get(void *engine, Evas_Native_Surface *ns, Eina_Bool *override, void *surface)
+eng_gl_surface_direct_renderable_get(void *engine, void *output, Evas_Native_Surface *ns, Eina_Bool *override, void *surface)
 {
-   Render_Output_GL_Generic *re = engine;
+   Render_Output_GL_Generic *re = output;
    Eina_Bool direct_render, client_side_rotation;
    Evas_Engine_GL_Context *gl_context;
    Evas_GL_Image *sfc = surface;