Commit Graph

11390 Commits

Author SHA1 Message Date
Tom Hacohen 9d68b14313 Eo callbacks: simplify callback call code a bit.
We don't need this check because it's already checked in the match function.
2015-11-09 11:43:04 +00:00
Tom Hacohen 4bf0f6455d Eo benchmarks: Add basic callbacks benchmarks. 2015-11-09 11:43:04 +00:00
Tom Hacohen 862372ed23 Eo benchmarks: Improve benchmarks.
Add more cases, and tune the number of times we test.
2015-11-09 11:43:04 +00:00
Tom Hacohen 9f6ec045a7 Eo benchmark: Fix super benchmark. 2015-11-09 11:43:04 +00:00
Tom Hacohen 680388472e Eo: Reduce call stack memory footprint.
We don't really need the eo_id most of the time, and when we do, it's
very easy to get it. It's better if we just don't save the eo_id on the
stack, and just save if it's an object or a class instead.
2015-11-09 11:43:04 +00:00
Tom Hacohen adbc534703 Eo: Remove useless optimisation that is more harm than good.
It seems that the idea behind that optimisation, is to save object data
fetching when calling functions implemented by the object's class inside
functions implemented by the object's class. This should be rare enough
not to worth the upkeep, memory reads and memory writes, especially
since for all cases apart of mixins (for which this optimisation won't
work for anyway), the upkeep is more costly than fetching the data
again.
2015-11-09 11:43:04 +00:00
Tom Hacohen 748b90d295 Eo: use correct mask when checking if an id is a class 2015-11-09 11:43:04 +00:00
Tom Hacohen 44ca3a3669 Eo: Optimise object data fetching a bit more.
Removed safety check that is not necessary. This may seem small,
but this in addition to the previous commit, account for around
2% of CPU usage.
2015-11-09 11:43:04 +00:00
Tom Hacohen 1ed0edfb9e Eo: Optimise object data fetching (minor).
Pre-calculate object data offset for improved performance.
2015-11-09 11:43:04 +00:00
Jean-Philippe Andre 16195d3100 doc: Deprecate filter reference page and link to the wiki 2015-11-09 16:21:45 +09:00
Jean-Philippe Andre cb2530d921 doc: Fixup EDC doc for Evas 3D stuff
Use same paragraph title format
2015-11-09 16:11:35 +09:00
Jean-Philippe Andre b52e9202cc doc: Add EDC doc for desc.proxy, fix for desc.fill 2015-11-09 16:11:34 +09:00
Cedric BAIL be99d11662 ecore: remove useless printf in Win32 main loop. 2015-11-06 10:53:29 -08:00
Vincent Torri a1243410a7 eina/efreet: open file with binary file on Windows
@fix

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-11-06 10:53:29 -08:00
Chris Michael ebf6d95ed6 ecore-drm: Remove unused function
As we no longer have an fd handler to listen on the drm fd, we don't
need this function anymore

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-11-05 09:37:48 -05:00
Chris Michael ff8b141f87 ecore-drm: Fix issue of hanging in read()
Summary: As we already call drmHandleEvent when we pageflip, we don't
need to be using an fd handler to catch them. This should fix T2791

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-11-05 09:01:36 -05:00
Chris Michael ae7a243c99 ecore-drm: Fix issue of duplicate page flips
Summary: If we already have a pending pageflip scheduled for a given
framebuffer, don't reschedule another one. This also includes a minor
fix when mmap'ing the framebuffer (previously was also mapped
PROT_READ).

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-11-05 09:01:36 -05:00
Carsten Haitzler 483cec924b evas - patch in one more if check for obj layer to avoid shutdown crash
this should fix T2715
2015-11-05 09:41:35 +09:00
Mike Blumenkrantz 6b1af3c55a evas gl-x11: add missing EVAS_NATIVE_SURFACE_WL support
copy/pasted from other engines, only functional with gles+wayland,
A Thoroughly Tested Calculated Risk™

ref 1dbecbb676
2015-11-04 14:14:16 -05:00
Chris Michael f77ba645d5 ecore-drm: Check return value of drmHandleEvent and cleanup
Summary: drmHandleEvent will return 0 on success, or -1 on error. We
should trap for the error case so that we can cleanup any allocated
callback structures.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-11-04 12:44:29 -05:00
Chris Michael 962059dd0a evas-gl-drm: Implement eglSetDamageRegionKHR
Summary: In efforts to reduce tearing in the gl_drm engine, implement
support for eglSetDamageRegionKHR to mark parts of a surface as being
damaged.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-11-04 11:20:39 -05:00
Chris Michael b2785f01c5 evas-gl-drm: Find symlink for eglSetDamageRegionKHR
In efforts to reduce tearing in the gl_drm engine, find and link to
the eglSetDamageRegionKHR function so we can mark damaged regions of a
surface

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-11-04 11:18:25 -05:00
Chris Michael b8ebd5b356 ecore-evas-gl-drm: Don't create software dumb buffers when using gl
Summary: If we are rendering using gl_drm, then we don't need to be
creating extra software dumb buffers.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-11-04 09:43:35 -05:00
Chris Michael 49d9b3d303 ecore-drm: Don't always check fb size against dumb buffer
Summary: If we are running using gl_drm, then we don't need to create
software dumb buffers on the drm device. Since we may not have the
dumb buffers (only used in software rendering), then we should not
always be checking the framebuffer size against the dumb buffer size.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-11-04 09:40:54 -05:00
Chris Michael f55d0a3d07 evas-gl-drm: Set Outbuf vsync according to engine
The engine setup code already checks if we are disabling vsync
(defaults to on), so we should be setting the Outbuf vsync according
to what the engine info has

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-11-04 09:24:18 -05:00
Jean-Philippe Andre a2b64d9772 Evas: minor whitespace and debug changes 2015-11-04 15:15:05 +09:00
Vitalii Vorobiov aefcb11444 Evas Text: avoid SIGSEV while ellipsis recalculation
Summary:
Fix Segmentation Fault when TEXT part getting resized and when it has
some params (for example ellipsis).

Fix T2640
@fix

Test Plan: Refer to T2640

Reviewers: raster, Hermet, seoz, herdsman, cedric, reutskiy.v.v, NikaWhite

Subscribers: stefan_schmidt, tasn, cedric

Maniphest Tasks: T2640

Differential Revision: https://phab.enlightenment.org/D2944
2015-11-04 13:58:59 +09:00
Daniel Kolesa 4ce59a4f08 eolian: fix function parameter memory leak with value 2015-11-03 13:40:17 +00:00
Stefan Schmidt c74e03fda4 tests/ecore_con: check saved env variables before setting them again.
We see segfaults on Jenkins with these two test cases. Better check
before setting them as we had similar problems before on this setup
as XDG_RUNTIME_DIR might never be set.
2015-11-03 12:50:50 +01:00
Cedric BAIL ae5e2c8284 emile/ecore_con: drop SSLv3 support due to security issue.
SSLv3 has been compromised a year ago by what is known as POODLE
(https://en.wikipedia.org/wiki/POODLE). Every major browser have now
dropped support for SSLv3 and distribution are starting to do so also.
It is a good timing for us to do so, especially as it breaks build on
some distribution.
2015-11-02 14:22:42 -08:00
Mike Blumenkrantz 99d0f03c6f evas gl_drm: don't deref null ptr on output free 2015-11-02 16:21:56 -05:00
Chris Michael 2469106831 evas-wayland-egl: Add missing include header for gl_common
@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-11-02 16:15:21 -05:00
Chris Michael 1dbecbb676 evas-wayland-egl: Fix missing support for EVAS_NATIVE_SURFACE_WL
Summary: Support for using EVAS_NATIVE_SURFACE_WL was missing/incomplete in the
wayland_egl engine. This commit addresses that issue so that now the
wayland_egl engine can support both EVAS_NATIVE_SURFACE_OPENGL and
EVAS_NATIVE_SURFACE_WL.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-11-02 16:08:27 -05:00
pierre lamot c3f40bd0f9 ecore_cocoa: prevent mouse event loss when clicking in titlebar
fix
2015-11-02 20:15:59 +01:00
Chris Michael 0c9011d9e0 evas-gl-drm: Fix issue of gl_drm engine not working
Summary: With linux kernels >= 4.2.x, the gl_drm engine was not
functional. This is due to the egl config returning an improper config
which did not match the expected pixel format. This commit fixes that
issue and gl_drm evas engine works again. Should fix ticket T2807

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-11-02 09:30:30 -05:00
Chris Michael 444926923f ecore-evas-drm: Use GBM_FORMAT_XRGB8888 when creating new canvas
Summary: With linux kernels >= 4.2.x, we need to use
GBM_FORMAT_XRGB8888 when creating a new canvas else we end up with a
format mismatch when trying to add the framebuffer

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-11-02 09:30:19 -05:00
Jean-Philippe Andre 6e96d75c76 Evas: Remove dead code (cached surfaces)
While cached surfaces is a topic we're discussing recently,
this code is dead right now, and we will have to redesign the
buffer caching better to handle proxies, maps, smart objects, etc...
2015-11-02 16:22:19 +09:00
Jean-Philippe Andre 0a5b28eba8 tests: Fix build warning 2015-11-02 15:08:05 +09:00
Jean-Philippe Andre b4fc15311c Evas render: Fix 'no_render' when object is proxy source
When the no_render flag was set on a proxy source, the object would
not be visible, but it would also not render inside the proxy surface,
which completely beats the purpose of this flag. This patch makes
the objects render inside a proxy surface.
2015-11-02 13:40:00 +09:00
Jean-Philippe Andre 4da3e70301 ecore_evas_convert: Improve cmdline help a bit 2015-11-02 13:39:28 +09:00
Jaehyun Cho 39f154f8ca ecore_file: Fix ecore_file_file_get function on Windows.
On Windows, both backslash and slash can be used as file path
separators. Therefore, it is fixed to consider backslash as a file path
separator as well on Windows.

@fix
2015-11-02 10:32:10 +09:00
Carsten Haitzler bd7ccd45b6 efreet - fix efreetd to not exit on $home being in extra app dirs
if a client added $home in the efreet extra desktops dirs, then
efreetd would detect and nuke cache, exit, causing a restart cycle
forever. this makes efreet simply ignore the errant dir so it can keep
working.

@fix
2015-11-02 10:11:53 +09:00
Carsten Haitzler 14d5fde2d7 ecore imf - fix modules that are x11 based to only load in x11 and in wl
use env vars to determine module init for ecore-imf so you don't have
things like e locking up trying to init scim when running in wl mode.
do the same for ibus and xim modules too. do the inverse for wayland
imf module but here add also the check for ELM_DISPLAY that wasn't
there (like it is now in the other modules) so it is only initted on
wayland.

@fix
2015-10-31 11:40:05 +09:00
Vivek Ellur 081e9894d4 ecore: add test case for idler enterer function
Summary:
Added test case for ecore_idle_enterer_before_add function

Signed-off-by: Vivek Ellur <vivek.ellur@samsung.com>

Reviewers: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-31 02:37:20 +01:00
Srivardhan Hebbar 78c723b2ed evas: removing redundant if case in gl_cocoa backend.
Summary:
According to my understanding of this function, this check of im_old is
redundant, as im_old will never be NULL. For im_old to be NULL, image should be
NULL. But that is checked at line 637. im is assigned image and im is checked for NULL. At line 654 im_old is assigned image and it is not modified till line 673. So this check would always return true and enter if case and would never
enter else case. So removing the redundant code.

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

Reviewers: cedric

Reviewed By: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-31 02:36:17 +01:00
Srivardhan Hebbar 63ded24f98 evas: handling realloc failure in gl_generic.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-31 02:12:06 +01:00
Srivardhan Hebbar 5964a44826 evas: removing redundant assignment in gl_drm.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-31 02:12:06 +01:00
Srivardhan Hebbar 4c8ccc211c evas: removing redundant assigment in gl_common.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-31 02:12:06 +01:00
Srivardhan Hebbar 2a01c4517b eet: removing useless assignment variables.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-31 02:12:06 +01:00
Srivardhan Hebbar b9d8426eb7 evas: removing redundant check in gl_x11 backend.
Summary:
Checking for NULL is redundant here, because if cfgs was NULL, then at
line 760 it would fail.

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

Reviewers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-31 02:12:06 +01:00
Vivek Ellur 96f936e6d3 ector: fix null pointer dereference issue
Summary:
Fix Coverity CID1293003

Signed-off-by: Vivek Ellur <vivek.ellur@samsung.com>

Reviewers: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-31 02:12:06 +01:00
Vivek Ellur 85f8daac6d eina_hash: add test cases for eina_hash_add/del by hash functions
Summary:
Added test cases for eina_hash_add_by_hash/del_by_hash functions

Signed-off-by: Vivek Ellur <vivek.ellur@samsung.com>

Reviewers: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-31 02:12:06 +01:00
Vivek Ellur dc391da424 eina_quaternion: add test case for rotation function
Summary:
Added test case for eina_quaternion_rotate function

Signed-off-by: Vivek Ellur <vivek.ellur@samsung.com>

Reviewers: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-31 02:12:06 +01:00
Vivek Ellur 6090073dee eina_quaternion: add test cases for quaternion rotation functions
Summary:
Added test cases for eina_quaternion_f16p16_rotate and
eina_quaternion_f16p16_rotation_matrix3_get functions

Signed-off-by: Vivek Ellur <vivek.ellur@samsung.com>

Reviewers: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-31 02:12:06 +01:00
Vivek Ellur 0080ee0d60 eina_quaternion: correct the API name in header file
Summary:
This is not an ABI break as we never did provide the broken name symbol, just a typo
in the header that wasn't detected until now.

@fix

Signed-off-by: Vivek Ellur <vivek.ellur@samsung.com>

Reviewers: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-31 02:12:06 +01:00
Chris Michael 34415c05bd ecore-drm: Add some debug printing for driver details
Summary: In efforts to debug some non-working drm issues for people,
it would be helpful to know what drivers and versions they are using.
This commit just adds some debug printing for that information

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-10-30 16:00:32 -04:00
Chris Michael 60f5b43deb ecore-evas-wl: Ignore step size when maximizing
Summary; This fixes an issue where maximizing efl/elm apps in Weston
and in Enlightenment would cause extra space to be left around the
window.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-10-30 15:12:41 -04:00
Chris Michael b1bbe1f47c evas-gl-drm: Resize gbm surface when canvas size changes
Summary: When we are told to resize the canvas, we should also be
resizing the gbm_surface. This should fix the issue of wl_drm module
in E not working when the canvas gets resized (WFM now)

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-10-30 14:49:01 -04:00
Chris Michael 5746f792af evas-gl-drm: Move definition of Render_Engine out to header
@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-10-30 14:47:20 -04:00
Chris Michael 4ef8750733 ecore-drm: Don't exit tty setup if tty is already in graphics mode
Summary: If we go to setup a tty and it is already in graphics mode,
then there is no need to exit with a failed setup here. Instead, we
can actually continue to setup the tty.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-10-30 09:28:10 -04:00
Chris Michael 329832bb80 ecore-evas-wayland: Fix formatting
NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-10-30 09:28:10 -04:00
Amitesh Singh 7ff30befd1 evas box: don't allow duplicate child append
Add check for duplicate child addition and return null.
2015-10-30 13:49:03 +05:30
Jean-Philippe Andre 509ee0f275 Evas: Disable TGV save debugging and fix error log
Disable time stats & quality check
Remove an invalid error message (was logged in case of success)
2015-10-29 21:18:32 +09:00
Jean-Philippe Andre 3f264677fb Eet: Another ETC decoding fix
@fix
2015-10-29 21:06:16 +09:00
Jean-Philippe Andre cc5cccc511 Eet: fix decoding of embedded ETC images
Typos, lack of NULL check, excessive sizeof(type) not matching
the object type, no border set, etc... This all lead to a crash
and then no render (with an error message and then without...).

This also simplifies the implicit loading of ETC1 as ETC2 when
supported by the driver.

@fix
2015-10-29 17:58:34 +09:00
Jean-Philippe Andre e586b9debc Evas: Fix error message on stride_get with ETC & S3TC 2015-10-29 17:58:34 +09:00
Jean-Philippe Andre e5dbc21119 Emile: Allow load of ETC images if region = whole image
@fix
2015-10-29 17:58:34 +09:00
Shinwoo Kim e555f07235 [eldbus] assign NULL to fd_handler, after deletion.
Summary: [eldbus] assign NULL to fd_handler, after deletion.

Test Plan: N/A

Reviewers: raster, cedric

Subscribers: seoz

Differential Revision: https://phab.enlightenment.org/D3243
2015-10-29 13:45:07 +09:00
Chidambar Zinnoury a42d2fef69 ecore fb: Use a default tslib device when none is specified through the environment variable TSLIB_TSDEVICE.
It seems that tslib’s applications has been using /dev/input/event0 as default device for more than a decade. Let’s use the same one.
2015-10-28 17:17:54 +01:00
Chidambar Zinnoury 1ce89485d3 Revert “ecore fb: Change default tslib device.”
This reverts commit d1f863b272.

 My test script was wrong, thus the test for this commit being a pass while it shouldn’t.

 Moral: don’t code when you crave some sleep.
2015-10-28 17:14:59 +01:00
Carsten Haitzler 60d78b5b97 efl - make drm vsync handle broken drm irq timestamps
i found that intel drm device gives BROKEN timestamps vs system clock
- it is off by about 0.3 to 0.4ms - this means the vsync event is in
the future vs when we actually wake up and do processing - this leads
to bizare timelines and likely odd event and animation handling.

fix this by detecting it and figuring out an average delay and
offsetting events by that in future, but until then, use "now" when
the drm thread wakes up as the timestamp.

@fix
2015-10-28 20:45:07 +09:00
Cedric BAIL a089818335 eina: correctly prepare path before sanitizing it. 2015-10-28 06:45:10 +01:00
Cedric BAIL 046d806388 Revert "Eina: Fix 58b194e0ad56fe83cce3946a5deb0045ee0cbce2"
This reverts commit 22b45f220c.

eina_file_cleanup always does an eina_tmpstr_del. This is now capable of doing
double or even triple free in some case.
2015-10-28 06:38:14 +01:00
Vincent Torri 22b45f220c Eina: Fix 58b194e0ad
Fixes the windows build as it has a matching implementation for eina_file_cleanup.

Fixes T2804
2015-10-28 03:34:10 +01:00
Chidambar Zinnoury d1f863b272 ecore fb: Change default tslib device.
It seems that tslib has been using /dev/input/event0 as default device for more than a decade. Let’s align.
2015-10-27 17:02:11 +01:00
Mike Blumenkrantz 250b09abc5 evas gl: init evgl during eng_gl_get_pixels_pre()
when the first render is an image without a native surface,
evgl_init() will not be called before this point, resulting in an abort()
2015-10-26 13:52:27 -04:00
Stefan Schmidt 6fa8452d48 ecore_wayland: fix build for ivi-shell.
During a rework this bit got missed and made the build fail if ivi-shell was
enabled. Thanks a lot to aerodynamik for bringing this to our attention and
even pointed out the fix.

Fixes T2798
2015-10-26 09:04:22 +01:00
Vincent Torri d0ced20a04 ecore_audio: do not compile elua file if ecore_audio is disabled
@fix

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-26 01:11:23 +01:00
Carsten Haitzler fc3c8a3296 eo - make null object silent if eo id is off
with eo id indirection on, a nul object is silently ignored as anok
error case (like free(NULL)). but if you turne eoid off in build its
all complaints to here and the black stump. fix this by making the eo
id "off" path match eo id on by making null objects silent.

@fix
2015-10-25 11:23:04 +09:00
Carsten Haitzler c2b4137f77 eo - move cache lookup into the hot path if as it only is valid there
minor speedup ... really minor - but correct.
2015-10-24 12:23:53 +09:00
Carsten Haitzler 15caa462a9 eo header - remove 2 errant spaces to clean formatting 2015-10-24 12:23:38 +09:00
Carsten Haitzler c3a866837c evas gl - rect draws didnt obey cutout max like font and img - fix
this fixes cutout handling consistency for gl common
2015-10-24 10:31:28 +09:00
Cedric BAIL 0cd59bb199 efreet: make sure that we use the right directory and ef for the cache. 2015-10-23 12:34:53 -07:00
Cedric BAIL 58b194e0ad eina: make sure to cleanup the right string. 2015-10-23 12:32:02 -07:00
Jean-Philippe Andre 8937fd4fc9 Evas render: Fix rendering of snapshot objects
I added a quick check that the clip was not 0x0 but forgot
to check that we actually use the clip info.

Fixes T2792
2015-10-23 16:30:37 +09:00
Cedric BAIL 7f28b3c263 efl: fix path parsing to actually check the value returned by strtol.
CID1328665
2015-10-22 16:57:24 -07:00
Cedric BAIL 573438d081 emile: fix typos catched by coverity.
CID1328666
2015-10-22 16:56:39 -07:00
Shinwoo Kim 7a046b0c36 ecore: use recursive lock for _ecore_glib_select
Summary: Fix a deadlock caused by recursive call of _ecore_glib_select.

Test Plan:
Delete elm_image on the glib callback(ref: g_source_set_callback).
The _elm_image_evas_object_smart_del calls ecore_thread_wait.

Reviewers: raster, jpeg, woohyun, jaehwan, Hermet, seoz, cedric

Reviewed By: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-22 12:28:53 -07:00
Srivardhan Hebbar 71e68dcca6 eet: handling memory leak on realloc fail.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-22 12:25:39 -07:00
Vivek Ellur ccd7c2b014 eina_quaternion: add test cases for interpolation functions.
Summary:
Added test cases for quaternion_lerp, quaternion_slerp and quaternion_nlerp
functions

Signed-off-by: Vivek Ellur <vivek.ellur@samsung.com>

Reviewers: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-22 12:24:08 -07:00
Srivardhan Hebbar 444a0b11bc emile: handling memory leak on realloc.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-22 12:20:55 -07:00
Vivek Ellur ac3358b618 eina: add test cases for f16p16 quaternion interpolation functions
Summary:
Added test cases  for f16p16 lerp, slerp and nlerp functions

Signed-off-by: Vivek Ellur <vivek.ellur@samsung.com>

Reviewers: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-22 12:17:20 -07:00
Vivek Ellur 00e96a730b evil: fix memory leak issue in evil module
Summary:
@Fix

Signed-off-by: Vivek Ellur <vivek.ellur@samsung.com>

Reviewers: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-22 12:15:34 -07:00
Cedric BAIL 508143efba emile: prevent segv when rotation is asked and there is no opts provided.
Thanks Vivek for pointing the problem.

@fix
2015-10-22 11:31:06 -07:00
Carsten Haitzler b1600b2daa efl tests - ecore fb - disable as it basically is more pain than gain
this means make check is more useful to people.
2015-10-22 19:19:50 +09:00
Carsten Haitzler de33ab24c5 evas - software render async - fix async render to actually be all async
so the evas thread renderer didnt START rendering until evas FINISHEd
walking all objects generating a render queue. this means all the cpu
time spend generating commands couldn't allow a parallel thread
actually go and DO the rendering.

this flushes the render thread every render command thus waking up the
render thread to work in parallel to the mainloop generating commands.
this actually means int he traces i see the render thread finished byt
he time evas_render completes thus brinign forward the frame display
by quite a bit.

thanks to evlog for pointing this out.

@fix
2015-10-22 15:18:16 +09:00
Jihoon Kim b40f170b24 Ecore evas: Correct function name in magic failure of ecore_evas_rotation_with_resize_set () 2015-10-22 14:23:43 +09:00
Jaehwan Kim 21dc4443a5 Revert "edje: add edje signal emit about swallow, text"
This reverts commit b1fa1c5aad.
This feature will be commited to the next version.
2015-10-22 09:40:19 +09:00
Carsten Haitzler 29884844d4 efl eo - pass test suite function overrides again after adding cache
removing the klass member meant removing hooks and keeping cache small
but that meant not using it. this meand if the object is not an obj...
i removed the:

call->obj = _eo_class_id_get(call->klass);

line - seemed harmless/pointless. apparently not. so put it back but
use the klass there in local vars and not in call as it's not there
(and not needed).

fix.
2015-10-22 09:35:11 +09:00
Srivardhan Hebbar 30ad41cf99 ecore_x: remove useless assignment.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-21 14:01:41 -07:00
Srivardhan Hebbar 80ccf755a6 eet: handling memory leak on realloc fail.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-21 13:51:34 -07:00
Srivardhan Hebbar be464e5843 evas: handling memory leak on realloc failure.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-21 13:40:01 -07:00
Cedric BAIL c6c84ffa6f efl: fix copy & paste typo while parsing SVG elliptical arc command.
@fix

CID 1328426
2015-10-21 11:33:40 -07:00
Mike Blumenkrantz b6af7f9b82 ee-wayland: remove attempt to optimize canvas resizing
in the case of operations which change framespace, rejecting resizes
at this point will cause the canvas to fail at resizing and result in a
partially-rendered canvas; the real canvas geometry must be calculated by
running the entire function in order to determine whether the resize is valid

fixes toggling borderless state of windows
2015-10-21 14:11:00 -04:00
Vitor Sousa d6055e9527 eolian: Test recognition of struct types used in methods
Summary:
Add code to unit test to check if Eolian correctly recognize a struct
name as a struct type when it is used in a method.

Add new method to struct.eo to create this test.
Update struct_ref.c accordingly.

Reviewers: tasn, q66

Differential Revision: https://phab.enlightenment.org/D3213
2015-10-21 18:15:55 +01:00
Carsten Haitzler 8b48906401 eo - oops remove warning cpp i accidentally put in! 2015-10-21 22:27:06 +09:00
Carsten Haitzler 9ef9f2deb8 eo resolv cache - remove params passed to resolv func for efficiency
we pass both the callcache and the op id - both are static and filled
in at runtime, so merge them into the same struct. this should lead to
better alignment/padding with the offset array and the next slot and
op fields, probably saving about 4-8 bytes of rame per method with no
downsides. also pass in only cache ptr, not both cache ptr and opid -
less passing of stuff around and should be better.
2015-10-21 22:23:18 +09:00
Jaehwan Kim b1fa1c5aad edje: add edje signal emit about swallow, text
Add the edje signal "swallow", "unswallow", "text,set", "text,unset".
In edc file, the part name take a role of source.
If the layout should be changed when any object is swallowed or any
text is set, use this signal.

@feature
2015-10-21 21:57:04 +09:00
Stefan Schmidt ec4dbd88a6 ephysics: add missing break in switch to avoid override variable with other cases
Due to the missing break we would fall into the next case here which might lead
to variables overridden with wrong values.

CID: 1261441, 1261440, 1261438
2015-10-21 14:37:18 +02:00
Stefan Schmidt 10c8650b1e emile: remove dead code
This seems to come from some intention to fetch dh from openssl somewhow but
it was never implemented. fh always stays 0 since its init and thus we can
remove the code it guards.

CID: 1288930
2015-10-21 14:37:18 +02:00
Carsten Haitzler bfb2759891 eo - shut clang up because otherwise i have to argue with peolpe
so. clang is wrong. end of story. it complains that i should add
braces to:

static Eo_Call_Cache ___callcache = { 0 };

WRONG. that is correct c99. 100%. you can add more {}'s and init every
field separately like {{0},{0},{0}} etc. or make it 1 or any value -
it doesn't matter... clang complains. clang is wrong. plain and
simple. this warning should just never exist. it is pointless.

but... peolpe won't shut up about clang warnings until i "fool" clang
into being silent by assuming the default 0 value of static storage.

this silences clang
2015-10-21 21:01:59 +09:00
Carsten Haitzler 7cc41473a3 efl - eo - massively improve eo cal resolv and data scope get with cache
BEWARE! this breaks eo ABI. _eo_call_resolve and _eo_data_scope_get
are 2 of the biggest cpu users in eo. they easily consume like 10-15%
cpu between them on tests that drive a lot of api - like simply
scrolling a genlist around. this is a lot of overhead for efl. this
fixes that to make them far leaner. In fact this got an overall 10%
cpu usage drop and that includes all of the actual rendering, and code
work, so this would drop the eo overhead of these functions incredibly
low. using this much cpu just on doing call marshalling is a bug and
thus - this is a fix, but ... with an abi break to boot. more abi
breaks may happen before release to try and get them all in this
release so we don't have to do them again later.

note i actually tested 4, 3, 2, and 1 cache slots, and 1 was the
fastest. 2 was very close behind and then it got worse. all were
better than with no cache though.

benchmark test method:

export ELM_ENGINE=gl
export ELM_TEST_AUTOBOUNCE=1

while [ 1 ]; do sync; sync; sync; time elementary_test -to genlist;
sleep 1; done

take the 2nd to the 8th results (7 runs) and total up system and user
time. copmpare this to the same without the cache. with the cache cpu
time used is 90.3% of the cpu time used without - thus a win. at least
in my tests.

@fix
2015-10-21 20:16:06 +09:00
Carsten Haitzler b7d2f4f814 efl - edje - fix edje calc to avoid eo calls when object doesnt change
in many cases edje dumbly calls eo_do() or evas_object_xxxx on objects
to set up their porperties when the part never uses that thing at al -
eg filters. the obnject never had filters and will not have them n3ext
- why always set filter to null every time? skip when not needed for
speedups.

so this fixes over-zealous calling whihc adds overhead that is not
needed causing battery drain and cpu usage, heat creation etc. etc.

@fix
2015-10-21 20:16:06 +09:00
Subhransu Mohanty 84b6b4c040 efl/gfx: fix svg path parsing logic.
1. according to svg path specification, path string may or may not contain ',' as the separator
with current parsing logic we were expecting a ',' after each segment.
2. relative cubic bezier parsing was wrong as we were not adding the current value to all 4 points.
3. refactored the parse_pair, parse_six and parse_quad to use same helper function
path1: "M7.279,2h35.442C45.637,2,48,4.359,48,7.271v35.455C48,45.639,45.637,48,42.723,48H7.279C4.362,47.997,2,45.639,2,42.727V7.271C2,4.359,4.362,2,7.279,2z"
path2: "M-2.073-7h36.147C36.796-7,39-4.793,39-2.073v36.146C39,36.796,36.796,39,34.074,39H-2.073C-4.793,39-7,36.796-7,34.072V-2.073C-7-4.793-4.793-7-2.073-7z"

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-20 15:22:31 -07:00
Mike Blumenkrantz fe10889ec7 ecore-wayland: plug some trivial leaks 2015-10-20 17:51:44 -04:00
Srivardhan Hebbar f4bd830e22 ector: handling memory leak on error.
Summary:
Memory leak was caused by using the USE macro. So move the macro before
doing any allocation.

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

Reviewers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-20 14:01:15 -07:00
Srivardhan Hebbar a3ff6aff61 ecore_x: removing useless assignment variable.
Summary:
Assigning to NULL has no effect in the function calling this. So changed it to void.
Some compiler complain about this kind of construct. It is better to use the (void)
construct for silencing unused parameter with different kind of configure option.

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

Reviewers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-20 14:01:15 -07:00
Subodh Kumar 6bd863cf4f evas: fix memory leak.
Summary:
Fix memory leak

Delimiter string is being saved using
eina_stringshare_replace without any del or free
when object is deleted.

@fix

Test Plan: NA

Reviewers: cedric, tasn, herdsman

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-20 14:01:15 -07:00
Mike Blumenkrantz a347a47e75 ee-wayland: use frame callbacks exclusively to determine render timing
when running in a wayland compositor, the ideal mode of operation is to
only prepare/send frames when the compositor has finished with the previous
frame

to achieve this, manual rendering can be toggled upon creating and completing
a frame callback, ensuring that a canvas never has multiple pending buffers at
any given time

fix T2784
2015-10-20 16:57:05 -04:00
Chidambar Zinnoury 9d3bc82d08 ecore fb: Unbreak ecore_evas_fb.
The ecore_evas_fb module uses ecore_fb_ts_* functions which are only available to EFL internals and not for the general API.

 However, EAPI not being defined in ecore_fb_private.h made the symbols not being exported at all, which in return made execution-time linking not finding them and thus failing.
2015-10-20 18:58:18 +02:00
Chidambar Zinnoury 90aa3b13ed ecore fb: We shall look for the Ecore_Fb.h header only where needed. 2015-10-20 18:56:47 +02:00
Carsten Haitzler e5e6c6b8eb edje - fix some horrible misleading indenting in edje calc.
just whitespace fixups
2015-10-20 18:07:21 +09:00
Vincent Torri cb83f1477f efreet: use eina_file_mkstemp() for portability and fix a bug on Windows
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-19 14:48:49 -07:00
Vincent Torri 5a3fb40b4c ecore_exe: terminate threads also in destructor
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-19 14:48:49 -07:00
Mike Blumenkrantz 89245476c0 ecore-wayland: only do deferred shell surface creation when a surface exists 2015-10-19 16:20:45 -04:00
Mike Blumenkrantz 265ad8b5d0 ecore-wayland: defer shell surface creation for windows if shell is not bound
in the case where a surface is created before the compositor binds its shell(s),
a shell surface would never be created

fixes case where internal windows would not create frames in enlightenment

@fix
2015-10-19 16:15:46 -04:00
Subodh Kumar 69c2b13474 evas textblock: fix memory leak
Summary:
Fix memory leak

Delimiter string is being saved using
eina_stringshare_replace without any del or free
when object is deleted.

@fix

Test Plan: N/A

Reviewers: tasn, herdsman

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-19 11:34:41 -07:00
Srivardhan Hebbar e2167fe2a0 ecore_x: removing useless assignment.
Summary:
The assigned value has no effect outside the function. So removing it.

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

Reviewers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-19 11:24:52 -07:00
Srivardhan Hebbar c406cf79e1 ecore_x: handling realloc failure.
Summary:
If realloc fails, lst would be NULL. So handling it.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-19 11:23:33 -07:00
Srivardhan Hebbar d541d9281e ector: removing useless assignement.
Summary:
Null assignment has no effect in the caller function. So removed it.

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

Reviewers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-19 11:17:25 -07:00
Shilpa Singh 924953591d edje: comparision with non-scaled min values issue fix.
Summary:
In a different scaling environment, wrong comparison of min values causes resize issue as original size is compared instead of scaled size.

Signed-off-by: Shilpa Singh <shilpa.singh@samsung.com>
Signed-off-by: Subodh Kumar <s7158.kumar@samsung.com>

@fix

Test Plan:
Create a layout with some min size and swallow a resizable layout inside the layout.
the parent layout will not expand even when the height has crossed its min size.

Reviewers: cedric, tasn, raster

Subscribers: subodh6129

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-19 11:12:26 -07:00
Srivardhan Hebbar 0054ea9514 edje: fix memory leak on realloc.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-19 11:10:15 -07:00
Jee-Yong Um 49028c599a evas table: fix miscalcuation in cells with span and padding
Summary:
In evas table that homogeneous mode is turned off,
the size of items in cells, whose rowspan or colspan is larger than 1
and horizontal or vertical padding exists, are miscalculatd.

T2655

@fix

Test Plan: elementary_test "Table Padding"

Reviewers: Hermet, cedric

Subscribers: cedric, DaveMDS, Hermet

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-19 11:01:23 -07:00
perepelits.m 2d52eedf06 evas: fix memory leak
Summary:
Fix of memory leak in evas_3d_utils.c

@fix

Reviewers: raster, Hermet, cedric

Reviewed By: cedric

Subscribers: artem.popov

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-19 11:00:25 -07:00
Jean-Philippe Andre 4a830877f0 Evas GL shaders: Simplify a bit the shaders code
Following raster's change, the Program_Source struct is useless.
This is a big commit, again, but really all is auto-generated.
2015-10-19 20:27:22 +09:00
Daniel Kolesa a3cec656c8 elua: remove non-portable lconv fields (breaks windows) 2015-10-19 11:52:03 +01:00
Jean-Philippe Andre 83b91dfd09 Evas GL: Try to fix automated tests
I forgot the #ifdef in the shaders. This might be it. @stefan,
try again please.
2015-10-19 19:36:22 +09:00
Carsten Haitzler 2eaf33d9cf evas gl common - remove unused struct fields from shader src to save mem
we use a bit more memory than we need by having unused fields for
shaders. the old binary data ptrs and size fields we just have not
used for years now as we dont compile in shader binaries anymore as no
living drivers need this anymore. so this removes that with no actual
side-effects.
2015-10-19 17:06:06 +09:00
Carsten Haitzler 548addbb02 evas gl - fix big endian fully by adding a host of new img shaders
no shortcuts. we used the same img sharder for pixles as for native
surf. so need new shaders to do the swiszzling. add them all,
generation scripts metadata and enums etc.

@fix (along with previous 3 commits)
2015-10-18 18:45:11 +09:00
Carsten Haitzler b70f02a652 evas bigendian fix - only fix img shaders as only these src pixels 2015-10-18 15:49:23 +09:00
Carsten Haitzler 7b568a6152 evas gl fix color on bigendian with gl engine
this fixes rendering on ppc (bigendian) where we have thnigs swizzled
oddly. not bgra -> argb but rgba -> grab ...

so generate a bigendian shader file and use if on bigendian.

this should fix T2721

it fixes it in the visual screenshots i can get remotely.
2015-10-18 12:49:11 +09:00
Carsten Haitzler 94ebd96df5 eo - another 1.5 percent speedup in eo_bench eo_do by removing err handl
so we do a bit of error handling like does a stack fail to allocate,
does setting the tls var fail, have the stack frames been nulled or
not allocated, etc. - these acutally cost every call because they mean
some extra compare and branches, but ore because they cause a lot fo
extra code to be generated, thus polluting instruction cache with code
and cacheline fetches of code that we rarely take - if ever.

every if () and DBG, ERR etc. does cost something. in really hotpath
code like this, i think it's best we realize that these checks will
basically never be triggered, because if a stack fails to grow... we
likely alreayd blew our REAL stack for the C/C++ side and that can't
allocate anymore and has already just crashed (no magic message there -
just segv). so in this case i think this checking is pointless and
just costs us rather than gets us anything.
2015-10-17 11:42:46 +09:00
Carsten Haitzler 1a135fdfb1 evas - clean if check to be a single return point for clarity
if (a) return;
if (b) return;

->

if ((a) || (b)) return;
2015-10-17 11:19:06 +09:00
Mike Blumenkrantz ef89bfbbed ecore-evas-wayland: add frame callback listener during render
when a render occurs, frame callbacks must be managed in order to ensure
successful rendering for future frames. the best place to do this is in the
engine here, since this is the lowest-level place which has access to both
the wl_surface as well as the evas rendering state

ref T2784
2015-10-16 15:55:40 -04:00
Mike Blumenkrantz 5ad3c6358f Revert "ecore-wayland: Redo window animators to not use Custom source animators"
This reverts commit bd83d4c03a.

adding an animator (and then not managing its ticks) causes the animator
to fire constantly. in this case, it was causing 100% cpu usage and forcing a
compositor re-render for every frame regardless of damages
2015-10-16 15:55:40 -04:00
Tom Hacohen 07ea62419a Eo do: Reuse stack fetching across eo functions.
This causes a significant speed up (around 10% here) and is definitely
worth it. The way it's done lets the compiler cache the value across
different eo_do calls, and across the parts of eo_do. Start and end.

This breaks ABI.
2015-10-16 16:38:46 +01:00
Tom Hacohen 3ee44dcef0 Eo do: optimise getting the thread call stack for the main loop thread.
This may look like an insignificant change, but it doubles the speed of
this function, and since this function is called so often, it actually
improves my benchmarks by around 8%.
2015-10-16 16:38:44 +01:00
Tom Hacohen b61556aa87 Eo: Move mainloop checks inside Eo.
This breaks ABI in a harmless way, and it will give us the ability to
drastically improve Eo in the future without breaking ABI again, thus
allowing us to declare Eo stable for this release if we choose to.
2015-10-16 14:53:22 +01:00
Tom Hacohen 8e2e7bd61e Eo events: Add a struct member marking if it's a legacy event or not.
My previous patch to this piece of code
(37f84b7e96), caused a significant
performance regression. This is such a hot path, that even accessing the
strings when we don't have to slows things down drastically. It makes
more sense to just store it in the structure.

This commit breaks ABI (though most people probably won't even need to
recompile anything else because of the memory layout).
It was discussed on IRC and was decided this is a big enough issue to
warrant a fix during the freeze.

@fix
2015-10-16 11:55:07 +01:00
Jean-Philippe Andre 561481f6ad Evas GL: SW engine CID fixes
Following previous changes, there was unreachable code.
- CID 1327421
- CID 1327420
2015-10-16 10:49:34 +09:00