Commit Graph

424 Commits

Author SHA1 Message Date
Daniel Juyung Seo 76d8532b54 efl: Unified eina critical manro to CRI.
Being annoyed by different types of eina critical macros - CRI, CRIT,
 CRITICAL -, I concluded to unify them to one. Discussed on IRC and
 finally, CRI was chosen to meet the consistency with other macros -
 ERR, WRN, INF, DBG - in terms of the number of characters.
If there is any missing bits, please let me know.
2013-12-26 12:27:13 +09:00
Dennis Schridde ff4cbfbc25 evas: fix a segfault in _draw_thread_font_draw, caused by the missing initialisation of a struct field
CC: cedric

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

Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
2013-12-26 10:32:48 +09:00
Carsten Haitzler 5dfe3789f2 evas - fb engine - fix mem leak if ioctl fails on fb mode
this fixes CID 1137852
2013-12-15 11:25:56 +09:00
Carsten Haitzler d3caca21e5 evas - software-x11 - fill in unused struct members to avoid uninitialized
this shoudl fix CID 1039548 (missed other memmbers before) and if
valgrind ever sees this now it won't complain either.
2013-12-15 11:12:47 +09:00
Carsten Haitzler 611714649b evas - silence coverity in code
fixes CID 1039549 and CID 1039548 - though it isn't a bug, but means
it should not come back in coverity.
2013-12-13 21:26:05 +09:00
Carsten Haitzler 6a75806e54 evas - evas gl - fix realloc failure case to handle it properly
patched shader string realloc failure not handled right - could leak
patched string and p.
2013-12-11 22:44:42 +09:00
Carsten Haitzler f3d1db0fba evas - evas_gl - fix shader patch to not free static strings
parsing problem with opengl_strtok() which would free the previous
token "p", but in some cases it would be a const string. this should
fix CID 1039653
2013-12-11 22:40:15 +09:00
Carsten Haitzler 97a491dd90 evas - gl - ifdef out unused var with non-gles build 2013-12-11 18:26:45 +09:00
Carsten Haitzler 24c6424670 evas - gl - use snprintf for safety (never likely anyway, so code was fine) 2013-12-11 18:25:29 +09:00
Jean-Philippe Andre ce166ec223 Evas: Fix crash in GL engine(s) during preload cancel
In my config, running terminology with the GL engine and under
cserve2, some image could not be loaded. The tex argument
in evas_gl_preload_target_[un]register was NULL, leading to
an immediate crash.
2013-12-09 17:28:02 +09:00
Rafael Antognolli 5966a730cd evas/wayland_shm: Don't use a global var to store the sent buffer.
When an Ecore_Evas is hidden, it will destroy the buffer swapper. When
it's shown again, it will try to attach a new buffer, that can be same
buffer. If that global var is still pointing to the old buffer, it can
match to it again and avoid sending a new buffer. So, just put this sent
buffer var in the buffer swapper, and it will get set to NULL when the
swapper is destroyed and created again.

This should fix an intermitent problem of ecore_evas_show() not always
working after an ecore_evas_hide() on the wayland_shm engine.
2013-12-02 13:24:56 -02:00
Stanislav Vorobiov 9e3b778acb evas - fix gl egl textrue from pixmap support y invert query extension
Instead of hardcoding yinvert=1 we should query for
EGL_NOK_texture_from_pixmap extension and if it's present
use EGL_Y_INVERTED_NOK value
2013-11-29 19:09:17 +09:00
Cedric Bail 403098fdb2 evas: add missing define for some target. 2013-11-27 13:51:40 +09:00
Cedric Bail f45a75f925 Revert "Revert "evas: allow fuzziness on the texture format returned by GL.""
This reverts commit 87385b05c3 that is necessary for desktop target.
2013-11-27 13:51:40 +09:00
Rafael Antognolli 87385b05c3 Revert "evas: allow fuzziness on the texture format returned by GL."
This reverts commit 2b5b3438e8.

Breaks gl engines when using GLES + EGL.
2013-11-26 11:49:13 -02:00
Cedric Bail 2b5b3438e8 evas: allow fuzziness on the texture format returned by GL. 2013-11-26 17:00:24 +09:00
Carsten Haitzler e03ab668a1 evas - gl engine - async texture upload - protect null tex handle access
this stops a very blantant segv when accessing async->tex when it is
NULL on _evas_gl_preload_main_loop_wakeup().
2013-11-25 22:29:12 +09:00
Carsten Haitzler 2fa8d0cd56 evas - map fast path for rectangular objects had color mul wrong
this fixes the color multiplication logic in the fast path to be
correct.
2013-11-21 21:00:41 +09:00
Sebastian Dransfeld aed4dbea30 evas: No error if blacklisted, just warn 2013-11-21 10:51:25 +01:00
Cedric Bail de13560056 evas: those if (re) are useless indeed.
Should fix CID 1129611 and CID 1129612 from this week coverity scan.
2013-11-18 19:21:06 +09:00
Carsten Haitzler 294b05c874 oops - remove printf debug. 2013-11-17 10:24:59 +09:00
Carsten Haitzler b676a97960 evas - evasgl ... make osmesa sw render support work again 2013-11-17 10:23:25 +09:00
Carsten Haitzler 3411fccc1e evas - gl - osmesa also try older osmesa major versions 2013-11-16 18:46:36 +09:00
Cedric Bail d3022ad700 evas: fix potential similar problem as with GL X11 backend with wrong context being used.
See commit d2b647d2b3.
2013-11-15 14:08:44 +09:00
Wonsik Jung d2b647d2b3 evas: fix a missing eglMakeCurrent in image_cache_flush/image_cache_set in the GL X11 backend.
[Problem] When glTextureDelete is called in image_cache_flush(), it sometimes doesn't work.
[Cause] glTextureDelete is called with the wrong eglContext.
[Solution] Call eng_window_use() in image_cache_flush() and image_cache_set() to use the correct eglContext.

Change-Id: Id7ab1aaeb456be6dbc5f09cb2731ace5399a5dce
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-11-15 14:08:40 +09:00
Chris Michael c5a83c5b9e Remove blank line
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-14 11:26:43 +00:00
Sung W. Park 90bbc21d02 evas_gl : Fixed macro substitution bug in evas_gl
In evas_gl_api_ext_def.h there're calls such as:

    _EVASGL_EXT_DRVNAME(EGL_KHR_image_base)

    The macro is defined in evas_gl_api_ext.c as:

    (strstr(glexts, #name) != NULL || strstr(glueexts, #name) != NULL)

    if (_EVASGL_EXT_CHECK_SUPPORT(name)) *ext_support = 1;

    But EGL_KHR_image_base is itself a macro, which is defined
    in EGL/eglext.h like this:

    Thus, the _EVASGL_EXT_CHECK_SUPPORT macro will unwrap into:

    (strstr(glexts, "1") != NULL || strstr(glueexts, "1") != NULL)

    instead of intended:

    (strstr(glexts, "EGL_KHR_image_base") != NULL ||
     strstr(glueexts, "EGL_KHR_image_base") != NULL)

    This patch fixes this by applying stringification earlier in
    _EVASGL_EXT_DRVNAME

Bugfix reported by jinhyung.jo@samsung.com
2013-11-13 15:39:12 +09:00
Carsten Haitzler 92d7235e0b warning-- 2013-11-09 10:42:49 +09:00
Carsten Haitzler 2da7295af2 evas - gl engine - this fixes the breakages in new nvidia drivers
nvidia > 319 broke alpha windows. this code that was left commented
out fixes it. it didn't used to have any use.
2013-11-09 10:40:17 +09:00
Jean-Philippe Andre a3eb8d2e9d evas/x11: Fix Xlib swapper buffer size
Problem: Software engine fails to render on Tizen device.
2013-11-04 10:35:26 +09:00
Jean-Philippe Andre 82e8028b5d evas/cserve2: Fix image preload with gl-x11 engine
Cserves supports only the SW (xlib) and GL (gl-x11) engines.
Also, improve cs2 support for some lesser used functions in the
gl_x11 engine.
2013-10-30 19:48:17 +09:00
Sung W. Park 9bb4c48691 EvasGL: cleaning up unnecessary code.
Cleaning up unnecessary code.
2013-10-30 10:47:52 +09:00
Jean-Philippe Andre aa6d4a3756 evas/cserve2: Fix error path in evas_cache2_image_writable()
Return NULL and check for nullity in the only calling function.

Fixes CID 1039461 (Logically dead code)
2013-10-29 15:12:58 +09:00
Jean-Philippe Andre 3889feca24 evas/cserve2: Implement support for GL engine
Simply call the appropriate cache2 functions when possible
and check for usage of cache2 whenever an evas_cache_ function
is called.

This effectively adds cserve2 image (data) load support for the
GL engines. Fonts were already working out-of-the-box.
2013-10-28 15:47:15 +09:00
Jean-Philippe Andre 1e82480c9a evas/cserve2: Use scalecache with cserve2
Let's reuse the logic from scalecache and call cserve2
functions when the scalecache should be used.
So, now, cserve2 server will not scale any image... This is
too computationally intensive for the server's main thread.

This is not optimal but makes a hell of a lot more sense for
the moment. (since cserve2 manages the SHM segments)
2013-10-28 15:47:15 +09:00
Jean-Philippe Andre 97d9fab704 evas/cserve2: Fallback to normal cache for animated gifs
Pass around "animated" flag for images that can be animated.
Fallback to local cache if the image is animated.
Implementing support for animated images in cserve2 does
not seem to make a lot of sense considering each frame must
be requested independently in real time,... and to be honest
there doesn't seem to be any valid use case anyway :)
2013-10-28 15:47:15 +09:00
Jean-Philippe Andre d76e869a59 evas/cserve2: Fallback to normal cache for mmap
cserve2 can't handle virtual files (mmap-only), by design.
Proper support can be added later on, but for now we might want
to just fallback to the normal cache functions.

Fixes photocam test
2013-10-28 15:47:15 +09:00
Sung W. Park 7dc102c55f EvasGL: Fixed direct rendering not clipping issue
Evas GL direct rendering mode didn't properly take into account
the image object's clipping information and clip the region that
it was directly rendering to. Hence there were issues with the
direct rendering region drawing over the objects that are sitting
on top of it.

Also, cleaned up the direct rendering coordinate computation code
and a nasty dependency with image object that should have been
removed a long time ago.  Basically the evas-gl engine was directly
accessing the image object data structure for its data when it
really should have just passed along necessary information.
2013-10-24 17:42:21 +09:00
Carsten Haitzler 7d7f548afc evas - gl - dont allocate image and/or texture until needed on native unset 2013-10-16 22:56:38 +09:00
Sung W. Park 56e71e05bb Evas: EGL-GL backends. Call eglReleaseThread() upon shutdown
Call proper cleanup code upon terminating egl use.
2013-10-14 14:37:36 +09:00
Carsten Haitzler e383e3096d evas - try cleanup pipe_region_intersects again.. this time without bugs. 2013-10-01 20:57:39 +09:00
Carsten Haitzler 0732fef6ec Revert "evas gl engine - simplify and optimise pipe region intersection checks."
This reverts commit d486150412.
2013-09-27 17:57:41 +09:00
Carsten Haitzler d486150412 evas gl engine - simplify and optimise pipe region intersection checks. 2013-09-26 19:20:22 +09:00
Sung W. Park b9e3e6be57 EvasGL: Fixed a bug where the wrong data variable to buffer alloc func.
It's an optional feature so it's not automatically turned on but
would have caused a segfault somewhere.  Somehow slipped notice
but fixed now.
2013-09-17 17:24:30 +09:00
Chris Michael 6d3c50c3b6 On a swapbuf reconfigure, don't check for alpha changing state.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-10 14:37:17 +01:00
Sung W. Park 4ece1a1f9f EvasGL: Fix surface destroy mismatch bug.
For EvasGL direct rendering, EvasGL does a make_current to the
surface that evas is holding on to.  When EvasGL was shutting down
it was wrongly deleting evas' surface. This issue was temporarily
fixed by Raphael before but the proper fix was added.
2013-09-10 13:53:56 +09:00
Cedric Bail 5c82716fe8 evas: factorize some code. 2013-09-09 18:59:21 +09:00
Chris Michael 03604a15b6 Merge branch 'framespace' 2013-09-04 14:36:29 +01:00
Rafael Antognolli 2e2cac43da evas/gl: Do not reassign the surface during make current.
There was already a surface created by _evgl_tls_resource_create(). If
we assign a new one here, the wrong one will be destroyed at
_evgl_tls_resource_destroy(), and later the GL window will be destroyed
before the surface, causing invalid access errors.

This fixes https://phab.enlightenment.org/T326
2013-09-04 15:20:59 -03:00
Chris Michael f940f11a9b Fix copy/paste issue.
Use proper width & height for the new tilebuffer.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-29 09:06:53 +01:00