Commit Graph

2437 Commits

Author SHA1 Message Date
Thiep Ha 9c204eb369 ecore_evas_cocoa: correct focus handlers
Focus handlers are set incorrectly.
It causes windows process focus when they are acttually unfocused.
This patch corrects it.

Signed-off-by: Thiep Ha <thiepha@gmail.com>
2016-03-15 08:15:05 +09:00
Mike Blumenkrantz 437ba4c46d gl_common: call evas_gl_common_texture_free() before dropping image cache
texture_free() accesses struct members which can be freed if image cache entry
reaches zero references

@fix

==30989== Invalid read of size 1
==30989==    at 0x23BA2934: evas_gl_common_texture_free (evas_gl_texture.c:1506)
==30989==    by 0x23BA9117: evas_gl_common_image_free (evas_gl_image.c:724)
==30989==    by 0x23B80DA1: eng_image_data_put (evas_engine.c:988)
==30989==    by 0x872681A: _evas_image_data_set (evas_object_image.c:1264)
==30989==    by 0x87360B5: evas_obj_image_data_set (evas_image.eo.c:236)
==30989==    by 0x8736B43: evas_object_image_data_set (evas_image.eo.c:741)
==30989==    by 0x4820A4: e_comp_object_render (e_comp_object.c:3746)
==30989==    by 0x477B92: _e_comp_object_pixels_get (e_comp_object.c:909)
==30989==    by 0x872CF52: evas_process_dirty_pixels (evas_object_image.c:3154)
==30989==    by 0x872DD16: _evas_image_render (evas_object_image.c:3389)
==30989==    by 0x872DB01: evas_object_image_render (evas_object_image.c:3351)
==30989==    by 0x879C524: evas_render_mapped (evas_render.c:1802)
==30989==    by 0x879E82A: evas_render_updates_internal_loop (evas_render.c:2380)
==30989==    by 0x87A005D: evas_render_updates_internal (evas_render.c:2770)
==30989==    by 0x87A140D: evas_render_updates_internal_wait (evas_render.c:3122)
==30989==    by 0x87A1502: _evas_canvas_render_updates (evas_render.c:3144)
==30989==    by 0x871ED0D: evas_canvas_render_updates (evas_canvas.eo.c:354)
==30989==    by 0x8720C5F: evas_render_updates (evas_canvas.eo.c:1089)
==30989==    by 0x22F65C35: _ecore_evas_drm_render (ecore_evas_drm.c:1072)
==30989==    by 0x7416F7B: _ecore_evas_idle_enter (ecore_evas.c:172)
==30989==    by 0xDDE3577: _ecore_call_task_cb (ecore_private.h:282)
==30989==    by 0xDDE3A5E: _ecore_idle_enterer_call (ecore_idle_enterer.c:174)
==30989==    by 0xDDE836B: _ecore_main_loop_iterate_internal (ecore_main.c:2261)
==30989==    by 0xDDE67B8: ecore_main_loop_begin (ecore_main.c:1284)
==30989==    by 0x4407B6: main (e_main.c:1087)
==30989==  Address 0x23a9e1d2 is 338 bytes inside a block of size 552 free'd
==30989==    at 0x4C29E00: free (vg_replace_malloc.c:530)
==30989==    by 0x882B2E2: _evas_common_rgba_image_delete (evas_image_main.c:343)
==30989==    by 0x87B1E17: _evas_cache_image_entry_delete (evas_cache_image.c:205)
==30989==    by 0x87B3C52: evas_cache_image_drop (evas_cache_image.c:950)
==30989==    by 0x23BA90F5: evas_gl_common_image_free (evas_gl_image.c:722)
==30989==    by 0x23B80DA1: eng_image_data_put (evas_engine.c:988)
==30989==    by 0x872681A: _evas_image_data_set (evas_object_image.c:1264)
==30989==    by 0x87360B5: evas_obj_image_data_set (evas_image.eo.c:236)
==30989==    by 0x8736B43: evas_object_image_data_set (evas_image.eo.c:741)
==30989==    by 0x4820A4: e_comp_object_render (e_comp_object.c:3746)
==30989==    by 0x477B92: _e_comp_object_pixels_get (e_comp_object.c:909)
==30989==    by 0x872CF52: evas_process_dirty_pixels (evas_object_image.c:3154)
==30989==    by 0x872DD16: _evas_image_render (evas_object_image.c:3389)
==30989==    by 0x872DB01: evas_object_image_render (evas_object_image.c:3351)
==30989==    by 0x879C524: evas_render_mapped (evas_render.c:1802)
==30989==    by 0x879E82A: evas_render_updates_internal_loop (evas_render.c:2380)
==30989==    by 0x87A005D: evas_render_updates_internal (evas_render.c:2770)
==30989==    by 0x87A140D: evas_render_updates_internal_wait (evas_render.c:3122)
==30989==    by 0x87A1502: _evas_canvas_render_updates (evas_render.c:3144)
==30989==    by 0x871ED0D: evas_canvas_render_updates (evas_canvas.eo.c:354)
==30989==    by 0x8720C5F: evas_render_updates (evas_canvas.eo.c:1089)
==30989==    by 0x22F65C35: _ecore_evas_drm_render (ecore_evas_drm.c:1072)
==30989==    by 0x7416F7B: _ecore_evas_idle_enter (ecore_evas.c:172)
==30989==    by 0xDDE3577: _ecore_call_task_cb (ecore_private.h:282)
==30989==    by 0xDDE3A5E: _ecore_idle_enterer_call (ecore_idle_enterer.c:174)
==30989==    by 0xDDE836B: _ecore_main_loop_iterate_internal (ecore_main.c:2261)
==30989==    by 0xDDE67B8: ecore_main_loop_begin (ecore_main.c:1284)
==30989==    by 0x4407B6: main (e_main.c:1087)
==30989==  Block was alloc'd at
==30989==    at 0x4C2AA98: calloc (vg_replace_malloc.c:711)
==30989==    by 0x882B0A0: _evas_common_rgba_image_new (evas_image_main.c:295)
==30989==    by 0x87B1F1B: _evas_cache_image_entry_new (evas_cache_image.c:253)
==30989==    by 0x87B4170: evas_cache_image_data (evas_cache_image.c:1079)
==30989==    by 0x23BA7EDE: evas_gl_common_image_new_from_data (evas_gl_image.c:333)
==30989==    by 0x23B7F972: eng_image_new_from_data (evas_engine.c:531)
==30989==    by 0x23B80D81: eng_image_data_put (evas_engine.c:984)
==30989==    by 0x872681A: _evas_image_data_set (evas_object_image.c:1264)
==30989==    by 0x87360B5: evas_obj_image_data_set (evas_image.eo.c:236)
==30989==    by 0x8736B43: evas_object_image_data_set (evas_image.eo.c:741)
==30989==    by 0x4820A4: e_comp_object_render (e_comp_object.c:3746)
==30989==    by 0x477B92: _e_comp_object_pixels_get (e_comp_object.c:909)
==30989==    by 0x872CF52: evas_process_dirty_pixels (evas_object_image.c:3154)
==30989==    by 0x872DD16: _evas_image_render (evas_object_image.c:3389)
==30989==    by 0x872DB01: evas_object_image_render (evas_object_image.c:3351)
==30989==    by 0x879C524: evas_render_mapped (evas_render.c:1802)
==30989==    by 0x879E82A: evas_render_updates_internal_loop (evas_render.c:2380)
==30989==    by 0x87A005D: evas_render_updates_internal (evas_render.c:2770)
==30989==    by 0x87A140D: evas_render_updates_internal_wait (evas_render.c:3122)
==30989==    by 0x87A1502: _evas_canvas_render_updates (evas_render.c:3144)
==30989==    by 0x871ED0D: evas_canvas_render_updates (evas_canvas.eo.c:354)
==30989==    by 0x8720C5F: evas_render_updates (evas_canvas.eo.c:1089)
==30989==    by 0x22F65C35: _ecore_evas_drm_render (ecore_evas_drm.c:1072)
==30989==    by 0x7416F7B: _ecore_evas_idle_enter (ecore_evas.c:172)
==30989==    by 0xDDE3577: _ecore_call_task_cb (ecore_private.h:282)
==30989==    by 0xDDE3A5E: _ecore_idle_enterer_call (ecore_idle_enterer.c:174)
==30989==    by 0xDDE836B: _ecore_main_loop_iterate_internal (ecore_main.c:2261)
==30989==    by 0xDDE67B8: ecore_main_loop_begin (ecore_main.c:1284)
==30989==    by 0x4407B6: main (e_main.c:1087)
==30989==
==30989== Invalid write of size 1
==30989==    at 0x23BA293E: evas_gl_common_texture_free (evas_gl_texture.c:1506)
==30989==    by 0x23BA9117: evas_gl_common_image_free (evas_gl_image.c:724)
==30989==    by 0x23B80DA1: eng_image_data_put (evas_engine.c:988)
==30989==    by 0x872681A: _evas_image_data_set (evas_object_image.c:1264)
==30989==    by 0x87360B5: evas_obj_image_data_set (evas_image.eo.c:236)
==30989==    by 0x8736B43: evas_object_image_data_set (evas_image.eo.c:741)
==30989==    by 0x4820A4: e_comp_object_render (e_comp_object.c:3746)
==30989==    by 0x477B92: _e_comp_object_pixels_get (e_comp_object.c:909)
==30989==    by 0x872CF52: evas_process_dirty_pixels (evas_object_image.c:3154)
==30989==    by 0x872DD16: _evas_image_render (evas_object_image.c:3389)
==30989==    by 0x872DB01: evas_object_image_render (evas_object_image.c:3351)
==30989==    by 0x879C524: evas_render_mapped (evas_render.c:1802)
==30989==    by 0x879E82A: evas_render_updates_internal_loop (evas_render.c:2380)
==30989==    by 0x87A005D: evas_render_updates_internal (evas_render.c:2770)
==30989==    by 0x87A140D: evas_render_updates_internal_wait (evas_render.c:3122)
==30989==    by 0x87A1502: _evas_canvas_render_updates (evas_render.c:3144)
==30989==    by 0x871ED0D: evas_canvas_render_updates (evas_canvas.eo.c:354)
==30989==    by 0x8720C5F: evas_render_updates (evas_canvas.eo.c:1089)
==30989==    by 0x22F65C35: _ecore_evas_drm_render (ecore_evas_drm.c:1072)
==30989==    by 0x7416F7B: _ecore_evas_idle_enter (ecore_evas.c:172)
==30989==    by 0xDDE3577: _ecore_call_task_cb (ecore_private.h:282)
==30989==    by 0xDDE3A5E: _ecore_idle_enterer_call (ecore_idle_enterer.c:174)
==30989==    by 0xDDE836B: _ecore_main_loop_iterate_internal (ecore_main.c:2261)
==30989==    by 0xDDE67B8: ecore_main_loop_begin (ecore_main.c:1284)
==30989==    by 0x4407B6: main (e_main.c:1087)
==30989==  Address 0x23a9e1d2 is 338 bytes inside a block of size 552 free'd
==30989==    at 0x4C29E00: free (vg_replace_malloc.c:530)
==30989==    by 0x882B2E2: _evas_common_rgba_image_delete (evas_image_main.c:343)
==30989==    by 0x87B1E17: _evas_cache_image_entry_delete (evas_cache_image.c:205)
==30989==    by 0x87B3C52: evas_cache_image_drop (evas_cache_image.c:950)
==30989==    by 0x23BA90F5: evas_gl_common_image_free (evas_gl_image.c:722)
==30989==    by 0x23B80DA1: eng_image_data_put (evas_engine.c:988)
==30989==    by 0x872681A: _evas_image_data_set (evas_object_image.c:1264)
==30989==    by 0x87360B5: evas_obj_image_data_set (evas_image.eo.c:236)
==30989==    by 0x8736B43: evas_object_image_data_set (evas_image.eo.c:741)
==30989==    by 0x4820A4: e_comp_object_render (e_comp_object.c:3746)
==30989==    by 0x477B92: _e_comp_object_pixels_get (e_comp_object.c:909)
==30989==    by 0x872CF52: evas_process_dirty_pixels (evas_object_image.c:3154)
==30989==    by 0x872DD16: _evas_image_render (evas_object_image.c:3389)
==30989==    by 0x872DB01: evas_object_image_render (evas_object_image.c:3351)
==30989==    by 0x879C524: evas_render_mapped (evas_render.c:1802)
==30989==    by 0x879E82A: evas_render_updates_internal_loop (evas_render.c:2380)
==30989==    by 0x87A005D: evas_render_updates_internal (evas_render.c:2770)
==30989==    by 0x87A140D: evas_render_updates_internal_wait (evas_render.c:3122)
==30989==    by 0x87A1502: _evas_canvas_render_updates (evas_render.c:3144)
==30989==    by 0x871ED0D: evas_canvas_render_updates (evas_canvas.eo.c:354)
==30989==    by 0x8720C5F: evas_render_updates (evas_canvas.eo.c:1089)
==30989==    by 0x22F65C35: _ecore_evas_drm_render (ecore_evas_drm.c:1072)
==30989==    by 0x7416F7B: _ecore_evas_idle_enter (ecore_evas.c:172)
==30989==    by 0xDDE3577: _ecore_call_task_cb (ecore_private.h:282)
==30989==    by 0xDDE3A5E: _ecore_idle_enterer_call (ecore_idle_enterer.c:174)
==30989==    by 0xDDE836B: _ecore_main_loop_iterate_internal (ecore_main.c:2261)
==30989==    by 0xDDE67B8: ecore_main_loop_begin (ecore_main.c:1284)
==30989==    by 0x4407B6: main (e_main.c:1087)
==30989==  Block was alloc'd at
==30989==    at 0x4C2AA98: calloc (vg_replace_malloc.c:711)
==30989==    by 0x882B0A0: _evas_common_rgba_image_new (evas_image_main.c:295)
==30989==    by 0x87B1F1B: _evas_cache_image_entry_new (evas_cache_image.c:253)
==30989==    by 0x87B4170: evas_cache_image_data (evas_cache_image.c:1079)
==30989==    by 0x23BA7EDE: evas_gl_common_image_new_from_data (evas_gl_image.c:333)
==30989==    by 0x23B7F972: eng_image_new_from_data (evas_engine.c:531)
==30989==    by 0x23B80D81: eng_image_data_put (evas_engine.c:984)
==30989==    by 0x872681A: _evas_image_data_set (evas_object_image.c:1264)
==30989==    by 0x87360B5: evas_obj_image_data_set (evas_image.eo.c:236)
==30989==    by 0x8736B43: evas_object_image_data_set (evas_image.eo.c:741)
==30989==    by 0x4820A4: e_comp_object_render (e_comp_object.c:3746)
==30989==    by 0x477B92: _e_comp_object_pixels_get (e_comp_object.c:909)
==30989==    by 0x872CF52: evas_process_dirty_pixels (evas_object_image.c:3154)
==30989==    by 0x872DD16: _evas_image_render (evas_object_image.c:3389)
==30989==    by 0x872DB01: evas_object_image_render (evas_object_image.c:3351)
==30989==    by 0x879C524: evas_render_mapped (evas_render.c:1802)
==30989==    by 0x879E82A: evas_render_updates_internal_loop (evas_render.c:2380)
==30989==    by 0x87A005D: evas_render_updates_internal (evas_render.c:2770)
==30989==    by 0x87A140D: evas_render_updates_internal_wait (evas_render.c:3122)
==30989==    by 0x87A1502: _evas_canvas_render_updates (evas_render.c:3144)
==30989==    by 0x871ED0D: evas_canvas_render_updates (evas_canvas.eo.c:354)
==30989==    by 0x8720C5F: evas_render_updates (evas_canvas.eo.c:1089)
==30989==    by 0x22F65C35: _ecore_evas_drm_render (ecore_evas_drm.c:1072)
==30989==    by 0x7416F7B: _ecore_evas_idle_enter (ecore_evas.c:172)
==30989==    by 0xDDE3577: _ecore_call_task_cb (ecore_private.h:282)
==30989==    by 0xDDE3A5E: _ecore_idle_enterer_call (ecore_idle_enterer.c:174)
==30989==    by 0xDDE836B: _ecore_main_loop_iterate_internal (ecore_main.c:2261)
==30989==    by 0xDDE67B8: ecore_main_loop_begin (ecore_main.c:1284)
==30989==    by 0x4407B6: main (e_main.c:1087)
2016-03-11 16:08:43 -05:00
Mike Blumenkrantz 1bf0bbfae9 gl_common: remove incorrect EINA_UNUSED for evas_gl_common_texture_free 2016-03-11 16:08:43 -05:00
Tom Hacohen f24210caac Revert "Automatic migration to the new eo_add syntax."
This reverts commit 4f949a2757.
2016-03-11 12:29:03 +00:00
Chris Michael bb24aab001 evas-gl: Fix dereference after null check
Coverity reports that 'ctx' may be NULL here and we should check it
before usage (as is done above).

Coverity CID1339785

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-03-10 12:20:34 -05:00
Tom Hacohen 4f949a2757 Automatic migration to the new eo_add syntax. 2016-03-09 16:09:14 +00:00
Tom Hacohen b60db90ddc Fix more wrong migration to Eo4.
The if wasn't using {} so one of the statements was out of the scope
of the condition.
There was some misindented code.
2016-03-03 12:58:26 +00:00
Tom Hacohen 23a6b12183 Fix migration script mistakes and compilation warnings.
Mostly unused vars following the removal of eo_do_ret().
However, there are some cases where the migration script got some things
wrong, and I had to manually fix them.
2016-03-03 09:58:08 +00:00
Tom Hacohen f21ade6123 Automatic migration to Eo4.
I just ran my script (email to follow) to migrate all of the EFL
automatically. This commit is *only* the automatic conversion, so it can
be easily reverted and re-run.
2016-03-03 09:58:08 +00:00
Jean Guyomarc'h deb553d55e ecore_cocoa: remove Ecore_Cocoa_Event_Window
Create specific structures for each event:
- Ecore_Cocoa_Event_Window_Focused
- Ecore_Cocoa_Event_Window_Unfocused
- Ecore_Cocoa_Event_Window_Destroy

They are currently hold the same data, but this will allow not to break
the event protocol when future extensions will be needed.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-03-02 13:56:28 -08:00
Jean Guyomarc'h 3b61c2e07c ecore_cocoa: better naming of events
Lost and got focused have been renamed FOCUSED and UNFOCUSED to mirror
the focus API in Elementary.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-03-02 13:56:20 -08:00
Jean Guyomarc'h 84bbe500c5 ecore_cocoa: replace Ecore_Cocoa_Window_Id by Ecore_Cocoa_Object
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-03-02 13:56:16 -08:00
Tom Hacohen e71e6561ee Eo callbacks: Migrate all of the EFL to the new event cb signatures. 2016-02-29 11:33:27 +00:00
Carsten Haitzler 59d32121d6 ecore evas: remove printfs
forgot i still had them (wa stestign wayland with no printfs in it)
2016-02-20 23:12:17 +09:00
Carsten Haitzler ab31424ea6 ecore evas: fix configure request queue count to only count changes
we counted more requests outstanding than actually existed for x11 as
we sometimes sized to the SAME size or position. this keeps that
number more correct only incremeting outstanding count if we change.

@fix
2016-02-20 23:09:03 +09:00
Derek Foreman d53e1d6748 ecore_evas_drm: enable pointer warping
Use ecore_drm_device_pointer_warp() to warp the pointer
2016-02-18 15:50:16 -05:00
Derek Foreman 4e953ecc4d gl-drm: Some misc clean-ups
Remove unused stuff from structs, cut out the EVAS_GL_DRM_BUFFERS env
var - it can't work anyway, gbm decides how many buffers it wants.
2016-02-18 15:50:16 -05:00
Derek Foreman 6e1c7065d7 gl-drm: revise page flip logic
We can't really drive this buffer unlocking from the page flip handler for
a lot of ugly reasons.  This will be better in the future when evas
supports multiple target buffers.  For now let's cut this down and keep
2 buffers locked at all times.

This gets drm-gl to work without massive tearing artifacts.

@fix
2016-02-18 15:50:15 -05:00
Derek Foreman f10b3f79a2 gl_drm: stop trying to figure out buffer age if gl extension isn't present
If we don't have the right extension for age we probably don't have
partial updates either.  The code to get the age calculations right is
actually much nastier than this anyway since gbm can hand back buffers
in arbitrary order, and as many as it feels like.
2016-02-18 15:50:15 -05:00
Derek Foreman 4bdc9d4d07 gl_drm: remove frame_count
It was a write only variable, kill it.
2016-02-18 15:50:15 -05:00
Derek Foreman 5d7271683b ecore_drm: Change page flipping logic so we can't tear
Summary:
Previously if we ever tried to queue up two page flips in less than a
retrace interval (which can easily happen since the evas clock isn't
based on vblank) we'd give up on ever using page flips again, and tear
on every screen update.

This fixes that by using a vblank callback for custom ticks and using
page flips whenever possible.

If a page flip fails it means a page flip raced with the vblank ticker,
so we need to queue up that frame when the current page flip completes.
This ensures that while we might drop interim frames, we will never
lose the most recent.

Now it should only be possible to tear if two ticks fire during the
wait for a page flip to complete.  This would result in rendering
taking place in the front buffer.  I don't think this can happen,
but an error is logged if it does.

Reviewers: zmike, devilhorns

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3594
2016-02-18 15:50:15 -05:00
Jihoon Kim f6e019565f evas/gl_x11: fix build warning related to the uninitialized value 2016-02-17 17:49:40 +09:00
se.osadchy 780ec5d029 evas: Update evas_3d_utils, replace Evas_Vec.
Summary: Change Evas_Vec2(3) to Eina_Vector2(3).

Reviewers: cedric, Hermet, jpeg

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D3686
2016-02-17 16:12:35 +09:00
Jihoon Kim 662389f39b ecore_imf/wayland: send cursor position before requesting to show 2016-02-12 10:18:05 +09:00
Jihoon Kim af8bf0ddbc ecore_imf/wayland: Fix not to show IME in touching entry after hiding IME 2016-02-12 09:36:41 +09:00
Florent Revest 1d99c5b907 evas: include Eet.h where it's needed.
This patch is applied by OpenEmbedded project to let evas build
correctly in crosscompilation environnement.
cf: https://github.com/openembedded/meta-oe/blob/master/meta-efl/recipes-efl/efl/efl/0002-evas_3d-Add-Eet.h-includes.patch

@fix

Signed-off-by: Nicolas Aguirre <aguirre.nicolas@gmail.com>
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-02-10 10:46:45 -08:00
Chris Michael fecdb54674 evas-wayland-shm: Fix compiler warning about incompatible pointer type
This patch fixes some compiler warnings about assignment from
incompatible pointer type when getting image data from evas_cache. The
simple fix is to cast the return value to RGBA_Image.

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-02-05 08:41:35 -05:00
Wonsik Jung 02d724e716 evas: add native surface with TBM Surface for wayland_shm engine
Summary: @feature  add evas object image's native surface with TBM surface for wayland_shm

Test Plan: Making tbm test sample and testing on Tizen Device/Emulator

Reviewers: raster, cedric, spacegrapher, jpeg

Reviewed By: spacegrapher

Subscribers: mer.kim, JoogabYun, scholb.kim, dkdk

Differential Revision: https://phab.enlightenment.org/D3618

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-02-05 07:50:25 +01:00
Youngbok Shin 33ea565347 Evas: Use proper language for harfbuzz shaping
Summary:
Evas Text, Textblock, Textgrid keeps own language information.
This language information could be vary from the result of setlocale().
Especially, Evas Textblock supports <lang> tag. The language could be
changed in the middle of text. All of these language has to be used
for harfbuzz shaping.
@fix

Test Plan: N/A

Reviewers: herdsman, raster, woohyun, tasn

Reviewed By: tasn

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3628
2016-02-04 10:07:08 +00:00
Haifeng Deng 4b777ec184 ecore_imf/wayland: Fix IME hide -> show issue in case of focus-out and then focus-in
Change-Id: I1d3d7023dbd10b78f510380ff3c46087228f9180
2016-02-04 14:28:29 +09:00
Jihoon Kim a57d301f2a ecore_imf/wayland: do not check input panel enable in show or hide
Input panel enable is already being checked in ecore_imf API.
2016-02-04 13:59:09 +09:00
Jihoon Kim 584a5a32a2 ecore_imf/wayland: support to set prediction allow mode 2016-02-04 12:00:45 +09:00
Jihoon Kim b1336a27c1 ecore_imf/wayland: notify language changed 2016-02-04 11:58:03 +09:00
Jihoon Kim 7564d49a83 ecore_imf/wayland: Add support to get input panel language locale 2016-02-04 11:56:13 +09:00
Jihoon Kim 478433f0cf ecore_imf/ibus: fix indentation 2016-02-04 08:44:49 +09:00
Jean-Philippe Andre 2405c93f2c Evas engines: Add missing initializers in Ecore_Evas_Engine_Func 2016-02-03 14:51:57 +09:00
Cedric BAIL bb1a1eef65 ecore_evas: introduce support for per window animator trigger.
This code is currently only using the older fallback code and not any
new event source, so all animator on all window are still triggered
whatever the case are.
2016-02-02 10:47:25 -08:00
Jihoon Kim 5b30f95e62 ecore_imf/scim: fix uninitiazed value issue detected by valgrind 2016-01-27 18:31:26 +09:00
Jean-Philippe Andre 4d4e6fd4b1 ecore_evas_extn: Add safety checks, fixing a crash in elm_test
See T2835 (my crash was different from the one reported).

The buffer may be initialized after the first render_pre, due to
whatever timing issue. Check in elm_test "Window Socket" and then
open several "Window Plug".

@fix
2016-01-25 16:02:49 +09:00
Davide Andreoli cca830832a Ethumb: make the emotion plugin correctly use the edje frame if requested.
The emotion plugin was lacking the ability to use the edje frame as expected,
this patch add this ability, so now video thumbnail works like the normal ones.

This commit is a bit of a new feature, but I consider this a @fix as now
the ethumb_frame_set() API works as expected, also the implementation
is so simple that I think it can go in without any problems.
2016-01-24 23:00:31 +01:00
Chris Michael 479bf37aec ecore-evas-drm: Cleanup drm outputs during shutdown
As we no longer cleanup outputs inside the ecore_drm_device_free
function (see previous commit), we should be cleaning up outputs here
as they are created during the _ecore_evas_drm_init function.

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-21 09:24:06 -05:00
Jean-Philippe Andre 9d76a44b78 Eo: Replace deprecated EO_EV_ by EO_BASE_EVENT_ 2016-01-21 13:10:05 +09:00
Jean-Philippe Andre 4caad3f4ea Evas GL: Actually save the checksum inside the file
This would be cleaner than adding it as a suffix to the filename.
Use simple write and read_direct for simplicity.

This is an improvement on 3dcd903a53 and should make sure
everyone is actually using the latest version of the shaders even
if they track master or the alpha/beta releases.
2016-01-21 11:11:24 +09:00
Jean-Philippe Andre 3dcd903a53 Evas: Avoid saving the shaders cache at every shutdown
Check the right flag.
2016-01-20 20:33:55 +09:00
Jean-Philippe Andre ebc3b88d09 Evas: Discard shaders cache when the code changed
Since we now have only two shader strings, this is trivial to do:
hash the strings and add them to the cache filename.

This will allow people using 1.17.0-alpha, etc... to discard their
old shaders cache automagically and use the latest version of the
shaders (because alpha is not in the filename).

If we end up adding more runtime generated shaders, we might need
a better strategy, but this should be good enough for now.
2016-01-20 20:24:20 +09:00
Jean-Philippe Andre bee4e5f476 Evas: Actually fix this 'afill' thing
This mostly reverts 448720fed4

After my previous patch, semi-transparent windows would render incorrectly
in E. The AFILL flag should make sure the source texture is "opaque" (ie.
if it's not marked as having an alpha channel), and masking or color
multiply should then be applied later on.

Sorry for the mess...
2016-01-20 17:37:51 +09:00
Jean-Philippe Andre 448720fed4 Evas: Fix shader flag 'afill' (forcing alpha to 255)
Apparently the shaders refactor broke the afill select logic, and it
no longer applied to objects where it should have (eg. opaque windows
in E).
2016-01-20 16:07:29 +09:00
Jean-Philippe Andre a2ef5f7cc5 Evas GL: Also fix surface cap cache
This follows the fix in eina_file_mkstemp. Not sure how it could
even work before.

@fix
2016-01-19 18:18:29 +09:00
Jean-Philippe Andre c8baf41149 Evas GL: Fix shader binaries cache
It was completetly broken due to a misuse of mkstemp.
2016-01-19 18:18:29 +09:00
Vincent Torri 3117b8ca5a win32: Fix compilation due to recent changes in Evil
Summary:
dlfcn.h is not available anymore on Windows, Evil provides all the
necessary declarations.

Reviewers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3577

@fix
2016-01-18 13:54:52 +09:00
Derek Foreman 943f2df006 ecore_drm/ecore_wl2: logging: remove errant usage of %m
Summary:
printf %m stringifies and prints errno.  I've tried to remove its use
anywhere that the immediately preceding function might not set errno
or is a complicated function for which knowing errno doesn't really
give any useful information.

I've left a few of the drmMode calls because they're just wrappers
around ioctl, which legitimately sets errno.

@fix

Reviewers: zmike, devilhorns

Reviewed By: zmike, devilhorns

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3572
2016-01-14 13:06:02 -05:00
Dongyeon Kim d7c2acfa7a Evas GL: Reset current surface for all contexts to null when surface is destroyed
When evas gl surface is destroyed, not only the current surface for the current context
should be set to NULL, but current surface for all contexts should be reset.
2016-01-13 09:05:56 +09:00
Chris Michael 99ac0763ab ecore-evas: Rename ecore_evas_wayland_window_get2 function
This renames the ecore_evas_wayland_window_get2 function to be
ecore_evas_wayland2_window_get before the 1.17 roll out.

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-07 15:02:13 -05:00
Daniel Kolesa 03bce14908 eina mp: also include malloc_np.h on FreeBSD 2016-01-07 15:43:26 +00:00
Daniel Kolesa dadc350507 eina mp: only include malloc.h on linux
Elsewhere, everything is in stdlib.h.

@fix
2016-01-07 15:31:59 +00:00
Jean Guyomarc'h b9cd3ac82d evas_gl_cocoa: update function parameters
Commit fd4e133cc1 changed the internal
API, but it was not reflected in evas_gl_cocoa.

This commit fix a compiling warning and possible undetermined behaviour.

@fix
2016-01-07 12:03:04 +01:00
Stefan Schmidt 3557b346c4 evas_xcb: fix build with xcb after TBM patches
GLX was not the only thing which did no longer compile. Same for xcb here.
Thanks Jenkins for testing this for us.
2016-01-07 08:50:47 +01:00
Chris Michael a957f5a57f evas-wayland-egl: Remove unused variables and unused function
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-06 12:11:53 -05:00
Jean-Philippe Andre 8884ce59b3 Evas: Fix compilation for GLX
Sorry, I forgot to check that :)
2016-01-05 18:46:21 +09:00
Jean-Philippe Andre a706397381 waylang-egl: Remove trailing spaces 2016-01-05 17:08:22 +09:00
Jean-Philippe Andre 3593186a60 wayland: Add support for TBM buffers
This is a follow up on the previous commits.
The original patch on Phab was split in 3 parts (factorization,
fix & this one).

Adds support to both SHM and EGL.

See D3501.
2016-01-05 17:08:22 +09:00
Jean-Philippe Andre d7903e40b3 evas tbm: Fix compilation warnings
Previous patch used a wrong type... harmless but warned.
2016-01-05 17:08:21 +09:00
Wonsik Jung 7db9613e8c Evas_Engine: add TBM surface and clean up Native Struct
Summary:
Add TBM surface in wayland and clean up Native struct on Evas Engine.
Previous TBM surface for evas_object_image's native_surface_set is only in Evas X11 backend.
This patch has the code for wayland backend.
In addition, evas_native_tbm.c is moved to software_generic. Becuase this file is common.
And, Native in Evas_Engine is clean-up.

@feature

Test Plan:
TBM surface is tested with spacegrapher's test app(tbm.c) in Tizen Device.
Pixmap surface is tested in ubuntu with same test app.
EvasGL is tested with elementary_test.

Reviewers: jpeg, spacegrapher, raster, cedric

Subscribers: dkdk, scholb.kim, JoogabYun

Differential Revision: https://phab.enlightenment.org/D3501
2016-01-05 17:01:45 +09:00
Jean-Philippe Andre c1b4728487 Evas filters: Final fix after the ector refactor
This implements a generic way of scaling buffers, using fake
RGBA_Image wrapping ector buffer maps. The underlying algo is
still the good old linear sw scaler.

Now the filters *should* be back to their previous level of
usability. Performance will probably be even worse than it was
before, for GL, as more glReadPixels may be involved. Optimization
now consists in actually implementing the filters with GL shaders.
2016-01-05 16:02:27 +09:00
Jean-Philippe Andre 13f66f8887 Evas filters: Complete basic repairs for GL engine
Now the filters should work with the GL engine, again, but with
a potentially crazy performance. Indeed, the input buffer is now
backed by an FBO, that needs to be glReadPixel'ed everytime it is
accessed by the filters (mapped).
2016-01-05 15:43:44 +09:00
Jean-Philippe Andre 0d5b42e6bb Evas filters: Move evas image creation to the engine
Evas filters is now more and more unaware of evas images (RGBA_Image)
and the engine + ector take care of everything.

Still left to do:
- map / unmap an FBO buffer into RO or RW memory
2016-01-05 15:43:44 +09:00
Jean-Philippe Andre 6696112691 Evas filters: Add GL buffer backed by RGBA_Image
Dumb implementation of a "smart" buffer capable of wrapping an
RGBA_Image but that can still be rendered on screen (ie, an
Evas_GL_Image is attached to it).
2016-01-05 15:43:44 +09:00
Jean-Philippe Andre 9e0670a705 Evas filters & Ector GL: Prepare ground work for GL buffers
This fixes crashes, adds safety, and notes a couple of things that
are not yet implemented:
- Make an Evas_GL_Image from an RGBA_Image so we can draw it on the
  canvas. This means Evas.Ector.GL.RGBA_Image.Buffer
- Readable Evas_GL_Image objects with gl_read_pixels
  --> Implement proper map() & unmap() for GL buffers
2016-01-05 15:43:44 +09:00
Jean-Philippe Andre dc4790e08b Ector GL: Add skeletton for Evas.Ector.GL.Image.Buffer
This is an ector buffer backed by an existing Evas_GL_Image
2016-01-05 15:43:44 +09:00
Jean-Philippe Andre 57902fffd3 Evas filters: Use Ector.Buffer instead of RGBA_Image
This is a major refactoring of the evas filters submodule.

Use Ector.Buffer and the map/unmap methods instead of directly
accessing image buffers with RGBA_Image. RGBA_Image is still
used under the hood, for two reasons:
 - Required for the final output (blend onto Evas itself)
 - Required for the scaling routines

FIXME:
 - Breaks proxy support (ie. all kind of texturing).
 - This breaks filters support for the GL engine.
2016-01-05 15:43:44 +09:00
Cedric BAIL c461c10ff8 evas: add a way to tests Ector_GL.
This is completely not supported/working/useful yet. Please do not
complain about it ruinning your life.
2016-01-05 15:43:44 +09:00
Cedric BAIL 116fe3c65c ector: initial implementation of our own Ector GL backend. 2016-01-05 15:43:44 +09:00
Jean-Philippe Andre 7a8879ba8b ector: add engine-specific evas image buffer wrapper
Since Evas still relies entirely on Image_Entry and Evas_GL_Image,
we will need an engine-specific wrapper object creating a Buffer
around an existing cached image.

Currently only SW support is implemented. GL will be more fun to
do (with glReadPixels and whatnot).
2016-01-05 15:43:43 +09:00
Cedric BAIL 34a892dbab evas: provide ector with a way to get GL symbol. 2016-01-05 15:43:43 +09:00
Jean-Philippe Andre e7ae084270 Evas: Replace abort() by ERR 2016-01-05 14:54:04 +09:00
Vincent Torri 47ed848a87 Evil: integrate the dlfcn code into Evil
This will remove some incompatibilities with other packages,
especially for win-builds
2015-12-29 22:13:58 +09:00
Jean-Philippe Andre 2ac9e788c6 Evas: Implement ARGY88 and GRY8 conversion to ARGB8888
This is adding support for a deprecated function, but apparently
it is used.

Also, remove crazy abort() inside the data_put function.

Fixes T2991
2015-12-29 22:05:50 +09:00
Jean-Philippe Andre 3059859e28 Ecore Eldbus: Work around circular dependencies
eldbus initializes ecore that may then init eldbus again,
since one of the systemd modules is for eldbus.
eldbus_shutdown() is then no longer functional, as there are
two refs on eldbus.

This patch solves this problem by removing the extra ref on
eldbus from the module if it was already initialized.

This patch now introduces really bad issues since there are now
EO classes that fail to work after module load-unload-reload.
2015-12-29 17:06:53 +09:00
Jean-Philippe Andre b13502f20a Evas 3d: Fix some potential crashes
Those were happening before the previous patches.
2015-12-29 16:18:36 +09:00
Jean-Philippe Andre 92f17399a7 Evas 3d: Improve error messages in model load & save
See make check's evas_suite ouput
2015-12-29 16:08:05 +09:00
Jean-Philippe Andre f64e195844 Evas: Fix potential crash with extraneous eet_shutdown
Shutdown eet only if it was actually initialized.

This fixes make check (for me) after applying the previous patch.
It seems on my machine, the gl cache files are not saved properly
from within the make check environment.
2015-12-29 14:43:48 +09:00
perepelits.m e6bba4d91c [Evas] Refactor model's savers and loaders.
Summary:
Move common part to a separated document.
Make code more readable using smaller functions. (from Task T2713)

Everything is OK with make check.

Reviewers: cedric, raster, Hermet, stefan_schmidt

Reviewed By: stefan_schmidt

Subscribers: jpeg, artem.popov

Differential Revision: https://phab.enlightenment.org/D3430
2015-12-29 13:28:56 +09:00
Derek Foreman ddae80af1d wayland: use wl_surface.damage_buffer if available
Summary:
wl_surface.damage_buffer() takes surface damage in buffer co-ordinates.

Right now since we don't use wayland's scaling, transforms, or viewports
it's exactly the same as wl_surface.damage().  In the future if we start
using those features it's much easier to do so with damage_buffer().

Reviewers: zmike, devilhorns

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3457
2015-12-28 09:09:04 -05:00
se.osadchy 861165c49d evas: Fix wrong display texture on object.
Summary:
Fix siquence in multiply of matrices. Need multiply position on scale,
otherwise we have wrong texture.

Reviewers: cedric, Hermet, raster

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D3477
2015-12-24 13:18:38 +09:00
Carsten Haitzler 9626acdb4d emotion - fix gst back-end to report title and other meta changes
gst1 back-end didnt report changes in title or other metadata to the
frontend and thusapps never knew it was changing. this fixes that.

@fix
2015-12-21 14:40:41 +09:00
Minkyoung Kim 25ebd91555 evas/gl : Do not re-preload image data if texture is successfully uploaded with image data.
Summary:
'cached' flag is not enough to check whethere data is loaded and texture is uploaded.
so check more options for prevent re-preload image data on gl-backend.

Test Plan: Local Test (elementary_test : elm images)

Reviewers: jpeg, eunue

Reviewed By: jpeg

Subscribers: cedric, jiin.moon, wonsik, spacegrapher

Differential Revision: https://phab.enlightenment.org/D3446
2015-12-18 16:49:17 +09:00
Jean-Philippe Andre 4a538ec246 Evas GL: Fix shaders for bigendian
Fixes T2918
2015-12-16 15:55:10 +09:00
Mike Blumenkrantz 54df1d9c6a ecore-evas wayland: move frame sending to pre-flush callback
it was possible to deadlock rendering if a pre-render occurred but
the resulting render had no updated regions

@fix
2015-12-15 17:24:52 -05:00
Jean-Philippe Andre 4943fe3a0d Evas GL: Fix clang warnings
Use pragma diagnostic like with GCC since we want to set the function
pointer even though we deprecate the function.
2015-12-15 14:35:38 +09:00
Chris Michael 0848792204 ecore-evas-wl: Fix copy/paste errors
This fixes fat-finger copy/paste errors when copying functions from
ecore_evas_wayland_shm to ecore_evas_wayland_egl

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-11 11:34:42 -05:00
Chris Michael 757f530af9 ecore-evas-wl: Defer creating surfaces for wayland canvas
This code adds support for deferring of surface creation and showing
inside Ecore_Evas Wayland. This is needed for Enlightenment so that it
does not try to create or show surfaces until the compositor has had a
chance to sync globals. This fixes an issue where early surface
creation would cause a crash in the compositor due to globals not
being syncd.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-11 11:26:24 -05:00
Jaehyun Cho d1c359eb27 Evas GL: Fix compile error by comment out removed function. 2015-12-11 14:29:16 +09:00
Jaehyun Cho 91d9e7f83c Revert "ecore_cocoa: add support for system cursors"
This reverts commit 4623d57762.
This commit is duplicated with 2c93c73cbd.
2015-12-11 14:28:33 +09:00
Jean-Philippe Andre ce21e513d5 Evas GL: Avoid confusing ERR message when requesting depth & stencil
An ERR message would be printed out mentionning that direct rendering
won't work on this window, even if DR was not requested.
Also, set the DR-specific flags only if DR is enabled.

See T2936.
2015-12-11 11:47:45 +09:00
Mike Blumenkrantz 3760377e15 ee-wayland: do not send configure ack if no configure serial exists
also unset serial to ensure subsequent renders don't trigger the same ack
2015-12-10 16:00:45 -05:00
Jean-Philippe Andre 4bcd2fa0f0 Revert "Evas: Refactor model's savers and loaders."
This reverts commit 01a32f64c0.

This broke make check with the following error:
evas_test_mesh.c:123:F:Meshes:evas_object_mesh_loader_saver:0: Failure 'res == 1' occurred

Reopen https://phab.enlightenment.org/D3420
2015-12-10 18:21:09 +09:00
Minkyoung Kim fa422dd3d1 evas/gl_common: Reset current texture target with proper value when creating engine gl context.
Summary:
set current target with default value of GL_TEXTURE_2D.
target should be valid value.

Reviewers: jpeg

Reviewed By: jpeg

Subscribers: wonsik, cedric, spacegrapher

Differential Revision: https://phab.enlightenment.org/D3423
2015-12-10 16:50:11 +09:00
perepelits.m 01a32f64c0 Evas: Refactor model's savers and loaders.
Summary:
Move common part to a separated document.
Make code more readable using smaller functions. (from Task T2713)

I did it again because somehow test is passing now. It seems like this test suite is unstable.
Please, let me know if there are any errors after running distcheck.

Reviewers: cedric, raster, Hermet, stefan_schmidt

Subscribers: jpeg, artem.popov

Differential Revision: https://phab.enlightenment.org/D3420
2015-12-10 16:50:06 +09:00
Pankaj Mittal 1363cd757a evas_eet: Add Type Safety check
Summary:
The Function _evas_canvas3d_eet_file_free(void) is referenced in  evas_model_load_file_eet()(file:evas_model_load_eet.c at line 122).
This call is  under condition
        if ((eet_file->mesh == NULL) || (eet_file->header == NULL)).
when  either eet_file->mesh or eet_file->header are NULL, dereference of the corresponding pointer in function "_evas_canvas3d_eet_file_free()"
will generate Segmentation Fault.

@fix

Reviewers: raster, Hermet, tasn, wonsik, spacegrapher, cedric, jpeg

Subscribers: singh.amitesh, sachin.dev, alok25, yashu21985, mvsovani, cedric

Differential Revision: https://phab.enlightenment.org/D3369
2015-12-10 16:26:56 +09:00
Minkyoung Kim d63cc52c58 evas/gl: Update texture when preload is cancelled.
Summary:
When preload is cancelled before finishing loading,
should reload the image data and update the texture during rendering object.
So, force texture to be updated on first drawing time.
(It should be guaranteed that preload image object is hidden before preload done.)

Test Plan: Local tests

Reviewers: jpeg

Reviewed By: jpeg

Subscribers: eunue, jiin.moon, wonsik, cedric, spacegrapher

Differential Revision: https://phab.enlightenment.org/D3416
2015-12-10 16:04:57 +09:00
Chris Michael b5f8966fbe ecore-evas-wayland: Fix issue of starting resizing causing size jumps
Previously, when we started to resize an efl app, the size would
"jump" due to framespace being adjusted. This patch fixes that issue
and resize now works as expected.

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2015-12-09 12:08:15 -05:00
Chris Michael abbfde9d68 ecore-evas-wayland: Move configure acknowledge to render_flush_pre
If we acknowledge a configure from xdg during post render, we end up
breaking maximize of EFL clients inside Weston (and perhaps other
compositors). In order to fix that, we will now send the configure ack
post render but pre flush.

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2015-12-09 12:08:15 -05:00
Stefan Schmidt 96a9d75e0c Revert "evas: refactor model's savers and loaders."
This reverts commit 32c33ed64d.

This refactor broke the evas test cases for the model loaders and savers. I gave
it a week to get fixed but a first try did not succeed and its blocks a lot of
other automated testing. To be honest, it should have never gone it when it
breaks existing test cases. Once fixed this refactor can happily go in.

Fixes T2905
2015-12-08 22:33:05 +01:00
Vincent Torri 67f44a3cf8 Efreet, Elua : use eina_file_mkstemp instead of mkstemp
Reviewers: jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3411
2015-12-08 14:24:59 +09:00
se.osadchy 82504d9d77 evas: recognize duplicated data structure with eina_quternion and ector.
Summary:
Move data structure and functionality to eina_quaternion from evas_vec4.

Reviewers: raster, Hermet, cedric

Subscribers: jpeg, Oleksander

Differential Revision: https://phab.enlightenment.org/D3327

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-07 16:36:16 -08:00
Chris Michael 32eb2d32c4 ecore-evas-wayland: Don't set window geometry in ecore_evas
As we do not have the proper values for window geometry to be setting
it here, remove calls to set window geometry. We can more accurately
determine the window geometry from inside Elementary as it handles the
theme for the window borders.

@fix

ref T2919

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-07 15:36:42 -05:00
Jean-Philippe ANDRE 7a0103d01f Evas GL: Fix build for bigendian
Fixes T2918
2015-12-08 01:03:53 +09:00
Seunghun Lee face34767f evas-wayland-egl: Fix the unnecessary renewal of the engine window.
Summary:
As we do not set the ob->info->info.win variable anymore inside
Ecore_Evas (old code that was removed), we can omment out the line.
This line was causing unnecessary renewal of the engine window (thus
causing flickering when rotation was applied).

@fix

Test Plan: Rotate or Resize the window on wayland-egl.

Reviewers: gwanglim, devilhorns

Reviewed By: devilhorns

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3407
2015-12-07 10:06:30 -05:00
Jean-Philippe Andre c4de3caee9 Evas GL: Detect GLES 3 support for OpenGL
As @zmike mentionned in T2396 there is an extension string
declaring full support for GLES 3 when using OpenGL.

Note: I can't really test myself since I have recent drivers.
Hopefully this is correct.

Fixes T2396
2015-12-07 19:29:11 +09:00
Vincent Torri 0497b9685c efl: add binary mode to open() calls
This allows better compatibility with Windows

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-05 21:06:04 +01:00
Vincent Torri 3b44645363 efl: add binary mode to f(re)open() calls
This allows better compatibility with Windows

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-05 21:04:36 +01:00
Chris Michael 3a8cfeb6d6 ecore-evas-wayland: Acknowledge configure event post render
This fixes a potential issue where we may have been sending the
configure acknowledgement before applying the actual new configuration
to the surface. Sending the ack_configure during post-render ensures
that we have already rendered according to the new configure
(addresses deferred rendering issue).

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2015-12-04 14:15:19 -05:00
Chris Michael 49e645d695 ecore-evas-wayland: Properly cleanup ecore_wl2 during error
If we fail to connect to an existing wayland display, then we should
properly cleanup (call ecore_wl2_shutdown) before exiting

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2015-12-04 11:40:54 -05:00
Chris Michael 04a4b599ab ecore-evas-wl: Cleanup creating a wayland canvas
Unsure where all these extra display_connect calls came from, but
remove them.

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2015-12-04 11:36:15 -05:00
Chris Michael 9f1eb3e021 ecore-evas-wayland: Use proper Ecore_Wl2 window functions
To get the proper maximized and fullscreen states, we should be using
the ecore_wl2_window functions, not the ecore_wl_window functions

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2015-12-03 14:55:42 -05:00
Mike Blumenkrantz 9c26f9311c ecore-evas wayland: enforce frame/state change triggering before move/resize
if a state change occurs on the ee, related callbacks must be run prior to
performing any resizes in order to ensure that the correct csd sizes are
calculated

@fix

ref T2841
2015-12-03 12:07:45 -05:00
Chris Michael 64a65f42a3 ecore-evas-wl: Fix issue of resize jumping
Summary: When an initial client application was shown and we tried to
resize it, the resize would jump by the amount of framespace. This was
because the xdg_surface@configure event would be sending window
geometry as the width/height params in the event. We need to account
for that in the callback of window configure and adjust size
accordingly.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:07:45 -05:00
Chris Michael caa1b4323b ecore-wl2: Port Ecore_Evas engines to use Ecore_Wl2 code
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:07:20 -05:00
Jean Guyomarc'h 4623d57762 ecore_cocoa: add support for system cursors
- Ecore_Cocoa_Cursor enum which references system cursors;
- API to show/hide cursor: ecore_cocoa_window_cursor_show();
- API to set system cursor: ecore_cocoa_window_cursor_set();
- Ecore_Evas interface to get Ecore_Cocoa_Window from Ecore_Evas.

@feature

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-03 12:07:20 -05:00
Chris Michael 116a0abf93 ecore-evas-wl: Fix issue of improper window geometry
This fixes an issue where maximizing a window would set improper xdg
surface window geometry. We receive window configure sizes based on
xdg surface window geometry, so we need to subtract framespace there
or else window size grows when maximizing/unmaximizing multiple times.
This also adjusts the call to xdg_surface_set_window_geometry to
account for framespace (Fixes T2842).

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:05:49 -05:00
Mike Blumenkrantz d4dcd026f4 ecore-evas wayland: use correct values when updating wayland window size
by using the geometry from after the request size has been updated,
scenarios such as the following can be avoided:

[4208305.332] xdg_surface@46.set_window_geometry(0, 0, 1778, 1)
[4208305.370] xdg_surface@46.set_window_geometry(0, 0, 1778, 250)

@fix
2015-12-03 12:05:49 -05:00
Chris Michael 50411563aa ecore-wl2: Fix calling wl_surface_frame with proper Ecore_Wl2 window
frame

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:05:49 -05:00
Chris Michael 5ab650bf27 ecore-evas-wl: Fix ecore-evas wl common code due to botched rebase
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:05:01 -05:00
Chris Michael 7ae6c7d11d ecore-wl2: Port Ecore_Evas engines to use Ecore_Wl2 code
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:05:01 -05:00
Mike Blumenkrantz 28a782283a ecore-evas wayland: enforce frame/state change triggering before move/resize
if a state change occurs on the ee, related callbacks must be run prior to
performing any resizes in order to ensure that the correct csd sizes are
calculated

@fix

ref T2841
2015-12-03 12:05:01 -05:00
Chris Michael 1b156a4b08 ecore-evas-wl: Fix issue of improper window geometry
This fixes an issue where maximizing a window would set improper xdg
surface window geometry. We receive window configure sizes based on
xdg surface window geometry, so we need to subtract framespace there
or else window size grows when maximizing/unmaximizing multiple times.
This also adjusts the call to xdg_surface_set_window_geometry to
account for framespace (Fixes T2842).

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:05:01 -05:00
Mike Blumenkrantz 5b755a95c5 ecore-evas wayland: use correct values when updating wayland window size
by using the geometry from after the request size has been updated,
scenarios such as the following can be avoided:

[4208305.332] xdg_surface@46.set_window_geometry(0, 0, 1778, 1)
[4208305.370] xdg_surface@46.set_window_geometry(0, 0, 1778, 250)

@fix
2015-12-03 12:05:01 -05:00
Chris Michael ebc629375d ecore-evas-wl: Fix bad merge
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:05:01 -05:00
Chris Michael 123ac16eb7 ecore-wl2: Fix calling wl_surface_frame with proper Ecore_Wl2 window frame
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:05:01 -05:00
Chris Michael adf555660c ecore-evas-wl: Fix ecore-evas wl common code due to botched rebase
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:05:01 -05:00
Chris Michael 9e83ddbc48 ecore-wl2: Port Ecore_Evas engines to use Ecore_Wl2 code
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:05:01 -05:00
Mike Blumenkrantz 787beec627 ecore-evas wayland: enforce frame/state change triggering before move/resize
if a state change occurs on the ee, related callbacks must be run prior to
performing any resizes in order to ensure that the correct csd sizes are
calculated

@fix

ref T2841
2015-12-03 12:05:01 -05:00
Mike Blumenkrantz 4aba5758f9 ecore-evas wayland: use correct values when updating wayland window size
by using the geometry from after the request size has been updated,
scenarios such as the following can be avoided:

[4208305.332] xdg_surface@46.set_window_geometry(0, 0, 1778, 1)
[4208305.370] xdg_surface@46.set_window_geometry(0, 0, 1778, 250)

@fix
2015-12-03 12:03:57 -05:00
Chris Michael 684429099e ecore-wl2: Change name of ecore_wl2_window_class_name_set function
It makes more sense to have this function be called
ecore_wl2_window_class_set.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:03:35 -05:00
Chris Michael 0dd9ae831c ecore-evas-wl: Fix issue of resize jumping
Summary: When an initial client application was shown and we tried to
resize it, the resize would jump by the amount of framespace. This was
because the xdg_surface@configure event would be sending window
geometry as the width/height params in the event. We need to account
for that in the callback of window configure and adjust size
accordingly.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:03:35 -05:00
Chris Michael ea371c88fc ecore-evas-wl: Update frame callbacks to use Ecore_Wl2
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:03:35 -05:00
Chris Michael 7f8b269c3e ecore-evas-wayland: Fix error message for connect failures
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:03:35 -05:00
Chris Michael 232dfd355d ecore-wl2: Fix calling wl_surface_frame with proper Ecore_Wl2 window
frame

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:03:35 -05:00
Chris Michael 1b12e8598a ecore-imf-wayland: Remove trailing whitespace
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael bc7a45ffe2 ecore-imf-wayland: Use ecore_wl2_display_window_find API function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael c092941be8 ecore-evas-wl: Use ecore_wl2_display_window_find function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael f444bf45f5 ecore-evas-wl: Fix ecore-evas wl common code due to botched rebase
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael da2990b414 ecore-evas-wl: Fix calls to ecore_wl2_window_resize (due to botched
rebase)

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael cc29eb432e ecore-imf-wayland: Disconnect display when we close the module
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael da260bd5a5 ecore-imf-wayland: Port ecore_imf_wayland to use Ecore_Wl2
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael def834380b ecore-evas-wayland: Comment out calls to set custom animator
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 2b19919c90 ecore-evas-wayland: Fix issue of using wrong structure for mouse
events, and bring back function to listen for window configure events

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 0a9861c6aa ecore-evas-wayland: Re-enable interface functions for window get and
type set

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael cd1d9ec196 ecore-wl2: Port Ecore_Evas engines to use Ecore_Wl2 code
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Jean-Philippe Andre c09199f0e0 Ector: use uint32_t instead of uint
This fixes the build for Windows. Thanks @vtorri for the report.

I'm not using "unsigned int" as uint was mostly used like DATA32,
ie. color data (one pixel color or a pixel buffer).
2015-12-03 20:28:27 +09:00
Jean-Philippe Andre 4bcea3eada Ector: Move cairo surface back to ector
The original plan was to have two different surfaces for GL and SW,
but this is probably not going to happen anytime soon. So, move
the implementation back to lib/ector. This avoid a file duplication.
2015-12-03 18:42:50 +09:00
Jean-Philippe Andre 52ec3d2d7e Ector: Rename C files to match their EO counterparts 2015-12-03 18:42:50 +09:00
Jean-Philippe Andre 615b2442b7 Ector: Move drawhelper to static_libs
Rename a few things:
 - draw helper -> efl_draw
 - Ector_Rop -> Efl.Gfx.Render_Op
 - ECTOR_ bla bla -> DRAW_ bla bla (base pixel ops)
 - ector_memfill -> draw_memset32 (and invert arg order to match memset)

The main rasterizer file is now draw.h in static_libs/draw
This is a non functional change, simple code refactor.
2015-12-03 18:42:50 +09:00
Jean-Philippe Andre bad7911cd0 Ector: Use Ector Buffer inside SW and Cairo renderers
Ector Surface now inherits from Ector Buffer, and the current
two renderers (SW and Cairo SW) use Ector.Software.Buffer
implementations for pixel surfaces.

Basic pixel handling is merged and will allow easy extension
(color conversion, etc...).

Buffer classes are Mixins to be fully implemented by the final
class, such as: Ector.Software.Buffer, Ector.Software.Surface
or Ector.Cairo.Surface.

This is a large ugly commit. Sorry.
The code is quite a mess right now.
2015-12-03 18:42:50 +09:00
Jaeun Choi 6768c38de4 evas: rewrite gl image transformation logic in a very simple way
all we need to do for image transformation such as rotation or flipping in gl
is to map the vertices of source image to destination in a changed order.
this commit not only enhances readability but also fixes bugs in rotation.

@fix
2015-12-03 16:28:09 +09:00
Oleksandr Shcherbina e82baf2703 evas: set visible texcolorpick texture in 3D shaders
Summary:
Add uniform varialble uColorTexture. Generate sampler count for textcolorpick
and pass to renderer for bind additional texture unit to gl.
It can be used for different 3D effects - blur, wave distortion, heat haze, etc.
T2761

Reviewers: Hermet, raster, cedric

Reviewed By: cedric

Differential Revision: https://phab.enlightenment.org/D3372

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-02 14:47:31 -08:00
jiin.moon 91ba12fed9 ecore_evas: fix disappearing socket image
Summary:
In case there is connection between a server and some client,
show/hide does not work properly.

If there are clients need to show,
this patch make it hide operation will not work even if get the hide signal

@fix

Reviewers: jypark, Hermet, cedric

Subscribers: Hermet, cedric

Differential Revision: https://phab.enlightenment.org/D2962

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-02 14:22:38 -08:00
Amitesh Singh cb227cb5fb evas_gl_shader: refractor shader/program compile check code.
Summary:
    Call respective shader/program functions on shader/program target only.

Reviewers: cedric, raster, wonsik, spacegrapher, jpeg

Reviewed By: jpeg

Subscribers: alok25, sachin.dev, cedric, seoz

Differential Revision: https://phab.enlightenment.org/D3388
2015-12-02 16:54:25 +09:00
perepelits.m 32c33ed64d evas: refactor model's savers and loaders.
Summary:
Move common part to a separated document.
Make code more readable using smaller functions. (from Task T2713)

Reviewers: cedric, raster, Hermet

Subscribers: artem.popov

Differential Revision: https://phab.enlightenment.org/D3373
2015-12-01 16:39:29 -08:00
Jean Guyomarc'h 905d3c710a evas_gl_cocoa: make sure focus is always unlocked after locking it
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-01 12:15:32 -08:00
Jean Guyomarc'h 2de19485ac ecore_evas_cocoa: factorize code
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-01 12:15:32 -08:00
Jean Guyomarc'h eba4ff041a ecore_evas_cocoa: remove dead code
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-01 12:15:32 -08:00
Jean Guyomarc'h 1ab2b14cfb ecore_cocoa: remove ECORE_COCOA_EVENT_EXPOSE
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-01 12:15:32 -08:00
Jean Guyomarc'h e8fe721cd5 ecore_evas_cocoa: focus: handle ignore_events
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-01 12:15:31 -08:00
Jean Guyomarc'h 566184078a ecore_evas_cocoa: don't reset the init count if negative
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-01 12:15:31 -08:00
Jean Guyomarc'h 09d6dc2775 ecore_evas_cocoa: use Eina macro to determine the size of a static array
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-01 12:15:31 -08:00
Jean Guyomarc'h cbc989a0cb ecore_evas_cocoa: don't shutdown ecore_event_evas() twice
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-01 12:15:31 -08:00
Jean Guyomarc'h dccec92ecb ecore_evas_cocoa: EAPI cannot be set for WIN32
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-01 12:15:31 -08:00
Jean Guyomarc'h ca171d59ec ecore_evas_cocoa: remove dead code
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-01 12:15:31 -08:00
Jean Guyomarc'h 2c93c73cbd ecore_cocoa: add support for system cursors
- Ecore_Cocoa_Cursor enum which references system cursors;
- API to show/hide cursor: ecore_cocoa_window_cursor_show();
- API to set system cursor: ecore_cocoa_window_cursor_set();
- Ecore_Evas interface to get Ecore_Cocoa_Window from Ecore_Evas.

@feature

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-01 12:15:31 -08:00
Stefan Schmidt 527ac119f1 emotion: correct argument order for calloc()
calloc() expects count first and the actual size to allocate as second
argument. Say Thank You to smatch for finding this issues for us.
2015-11-30 16:31:58 +01:00
Stefan Schmidt bc5c239d2d evas software_x11: use void to force empty function parameters
We have to use void in a function declaration if we want no function
parameters. Using just empty parenthesis means the function takes an
unspecified number of parameters.

We had it correct for most declarations and this series fixes it for
the rest.
2015-11-26 17:26:36 +01:00
Stefan Schmidt e99dbd1dbb evas gl_common: use void to force empty function parameters
We have to use void in a function declaration if we want no function
parameters. Using just empty parenthesis means the function takes an
unspecified number of parameters.

We had it correct for most declarations and this series fixes it for
the rest.
2015-11-26 17:26:07 +01:00
Cedric BAIL 49b8d0e852 evas: avoid double eet_close call while caching GL shader. 2015-11-24 14:33:20 -08:00
Deepjyoti Dutta 2a4877a597 Evas 3d: Initialized local variables
Summary:
The OpenGL functions  assigns a value to the local variable. However,
in case of error it would take the uninitialized garbage value. So, the
correct solution would be to initialize it to 0.

Signed-off-by: Deepjyoti Dutta <deepjyoti.d@samsung.com>

Reviewers: Hermet, singh.amitesh, raster, jpeg

Reviewed By: jpeg

Subscribers: yashu21985, mvsovani, alok25, sachin.dev, cedric

Differential Revision: https://phab.enlightenment.org/D3375
2015-11-24 17:05:20 +09:00
Srivardhan Hebbar ecb40c64b5 evas_fb: Handling memory leak on realloc failure.
Summary:
I thought its better to fail and return null if realloc fails than to
continue. So returning by closing all openend file.

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric, illogict

Differential Revision: https://phab.enlightenment.org/D3232
2015-11-23 20:44:28 +09:00
Jean-Philippe Andre 51a65c970f Evas 3d: Remove left over debug message from recent commit 2015-11-23 19:44:04 +09:00
perepelits.m bcf38c5817 evas: fix PLY loader and saver.
Summary:
Use less memory by indexation vertices and not keeping more than one copy of it (from task T2713).

[Fix]

Reviewers: cedric, raster, Hermet

Subscribers: artem.popov

Differential Revision: https://phab.enlightenment.org/D3355

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-11-23 08:28:27 +01:00
Cedric BAIL 412191e5f8 ector: improve uploading of GL texture for vector graphism
This rely on a faster code path to upload dynamic texture. Once we get support
for gbm, we should see significant performance improvement in speed, but this
first step is already a 5 times improvement (Ok, we get from really bad, to not
really useful...).
2015-11-19 14:52:10 +01:00
sunghyun kim c418910948 Evas GL: XFreeColormap when window free
When gl window is created, XCreateColormap is called in eng_best_visual_get
but when gl window is freed, Colormap is not freed.

See original patch: D3342.
2015-11-18 11:40:39 +09:00
Mike Blumenkrantz 3b139fe0f1 ecore-evas wayland: enforce frame/state change triggering before move/resize
if a state change occurs on the ee, related callbacks must be run prior to
performing any resizes in order to ensure that the correct csd sizes are
calculated

@fix

ref T2841
2015-11-17 18:21:11 -05:00
Chris Michael 9a542d0dcc evas-gl_drm: Remove set but unused variable
Variable 'osurface' is not actually being used inside the code here,
so remove it.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-11-17 16:07:14 -05:00
Chris Michael 85b04c188a ecore-evas-drm: Send fake mouse_move event after registering
This fixes an issue where ecore_drm was sending an initial mouse_move
event too early in the startup process. Instead, we will send the
event from Ecore_Evas after it has been registered with Ecore_Input.
This is done here to address and Fix T2854.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-11-17 15:55:41 -05:00
Chris Michael d34ad18f30 ecore-evas-wl: Fix issue of improper window geometry
This fixes an issue where maximizing a window would set improper xdg
surface window geometry. We receive window configure sizes based on
xdg surface window geometry, so we need to subtract framespace there
or else window size grows when maximizing/unmaximizing multiple times.
This also adjusts the call to xdg_surface_set_window_geometry to
account for framespace (Fixes T2842).

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-11-17 13:51:19 -05:00
Chris Michael e29da3ca69 evas-software-x11: Fix resource leak
If we end up leaving evas_xlib_image_dri_native_set due to a failure
to allocate memory, we should free the previously allocated
Evas_DRI_Image so that we don't leak

NB: Fixes Coverity CID1339782

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-11-17 10:02:03 -05:00
Chris Michael 59ffefb9c1 evas-software-x11: Fix returning NULL pointer
evas_xlib_image_dri_native_set should be returning a pointer to an
RGBA_Image on success, or NULL on failure. Returning EINA_FALSE here
leads to an expression which evaluates to zero being treated as a null
pointer constant

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-11-17 09:07:45 -05:00
Chris Michael 2f0349f697 evas-software-x11: Fix formatting
NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-11-17 09:06:51 -05:00
Chris Michael a043f8d04d evas-gl: Remove extra parentheses
clang warns of equality comparison with extraneous parentheses in
these cases. Remove the extra parens as they are not needed anyway

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-11-17 09:03:53 -05:00
Jean-Philippe Andre e11bdbafa2 Evas GL: Remove invalid call inside make current pbuffer
There was some confusion as color_buf is a texture but it was used
as an fbo. Not sure was this call was for.

@fix
2015-11-17 18:04:43 +09:00
Jean-Philippe Andre 12292183d0 Evas GL: Ignore compilation warning
Desktop OpenGL doesn't care about the version here (GLES 2 or 3)
2015-11-17 18:04:43 +09:00
Jean-Philippe Andre f7aa6b33b0 Evas GL: Fix BadMatch with pbuffer make current
This is the kind of horrible things you'll encounter when working
with GL. The surface and context need to have matching configuration
otherwise make current will fail, and the only way to get a matching
config is to reuse the config selected to create the context. Gah.

This is the same fix as for EGL. More a hack than a fix, to be honest.

@fix
2015-11-17 18:04:43 +09:00
Mike Blumenkrantz 2a7d4d62db ecore-evas drm: null global device pointer after free
ref T2844

@fix
2015-11-16 14:11:18 -05:00
Jean-Philippe Andre cc4b54ec0a Evas GL: Fix failing make check test case
The version field was not properly set for GLES 1 and 3 (but not tested),
double free() could happen on the API structs, and empty API structs
could be returned.
2015-11-16 19:44:20 +09:00
Mike Blumenkrantz 69a8de59b0 ecore-evas wayland: use correct values when updating wayland window size
by using the geometry from after the request size has been updated,
scenarios such as the following can be avoided:

[4208305.332] xdg_surface@46.set_window_geometry(0, 0, 1778, 1)
[4208305.370] xdg_surface@46.set_window_geometry(0, 0, 1778, 250)

@fix
2015-11-13 15:11:22 -05:00
Stefan Schmidt eb78bb2d24 ecore_evas x engine: use Eina_Bool for one-bit bitfield
Make sure we are using a unsigned var here. Best go with a Eina_Bool directly.
2015-11-13 13:31:34 +01:00
Stefan Schmidt 85f6b49044 evas buffer engine: use Eina_Bool for one-bit bitfield
Make sure we are using a unsigned var here. Best go with a Eina_Bool directly.
Fix the indent where needed as well.
2015-11-13 13:31:34 +01:00
Stefan Schmidt 6939963e76 gif loader: use Eina_Bool for one-bit bitfield
Make sure we are using a unsigned var here. Best go with a Eina_Bool directly.
2015-11-13 13:00:04 +01:00
Dongyeon Kim 8c2f9a2669 evas/gl_generic: Check for errors when calling tbm surface map/unmap
tbm_surface_map/unmap might fail and return error, so we need to check
the return value of these APIs.
2015-11-12 17:32:55 +09:00
Dongyeon Kim 7db0e20661 evas/gl: Bind texture with external target for tbm surface
egl images created using tbm surface for native surface set use
GL_TEXTURE_EXTERNAL_OES as texture target, so we should bind to
this target when rendering.
Dynamic hint set using tbm surface also creates egl images, but
as we only use RGB* colorspace for this we can use GL_TEXTURE_2D.
So, keep track of texture target in shader array, and bind to the
appropriate one.
This also fixes the bug that image_data_get only worked when BOTH
sec_image_map and sec_tbm_surface extensions are supported.
2015-11-12 13:56:17 +09:00
Dongyeon Kim 16eb3942bb evas/gl: Do not check for egl errors with glEGLImageTargetTexture2DOES
Summary:
glEGLImageTargetTexture2DOES is a GL extension API, so we need to use
glGetError instead of eglGetError!
2015-11-12 10:03:10 +09:00