Commit Graph

22 Commits

Author SHA1 Message Date
Eduardo de Barros Lima 904e2096f4 Wayland_egl: NULL checks to avoid crash with invalid re->win
SVN revision: 76135
2012-09-04 18:27:29 +00:00
Christopher Michael 871a47258d Evas (wayland_egl): Add support for Multi-Sample Anti-Aliasing and GL
Direct Images. Add support for using native image binding. Add support
for setting GL surface capabilities. Fix up some overrides to be in
the proper place (glsym vs evgl).

NB: Yes, it is a bit large of a change during freeze, but there are no
API changes here, and it is well tested. Nothing broken (beyond what
was already broken).



SVN revision: 75826
2012-08-29 12:55:51 +00:00
Sung Park d1eea33285 Fix evas_gl current_context update issue when evas_gl context is deleted.
SVN revision: 75490
2012-08-21 07:42:08 +00:00
Christopher Michael 419c817815 Evas (wayland_egl): More bug fixes & cleanups ! :)
When we create the egl window we should take rotation into
consideration, so account for that. Add an 'edges' variable to the
engine info structure. This is needed so we can implement resizing
windows from the top also. Make sure to use
wl_egl_window_get_attached_size and determine the edge we are resizing
from, so we can calculate the difference in sizes to send to
wl_egl_window_resize.

Add __UNUSED__ to function paramaters where it was missing, and fix
some compiler warnings.



SVN revision: 75215
2012-08-13 14:36:25 +00:00
Christopher Michael 2aa4cd4bd5 Evas (wayland_egl): Add traps for a NULL rendering engine.
This can happen when rapidly opening & closing windows and when
engines are swapped between shm & egl programmatically.



SVN revision: 74616
2012-07-31 06:59:35 +00:00
Christopher Michael 4b5e15a133 Evas (wayland_egl): Set resource_list to NULL after we free it. Fix
minor formatting issue.



SVN revision: 74348
2012-07-24 09:19:23 +00:00
Rob Bradford 1e42e445c5 Evas (wayland_egl): Fix a series of various segfaults with the
wayland_egl engine caused by windows being hidden:

From: Rob Bradford <rob@linux.intel.com>
Date: Fri, 13 Jul 2012 19:13:12 +0100
Subject: [PATCH] evas(wayland_egl): Resolve a series of segfaults on
clean-up

The first was that when a window was being hidden the render engine
(e->engine.data.output) was being assigned to NULL (like on an error
path). I
checked other backends and they only free and nullify this pointer on
error
paths. By doing it on a hide it was interfering with cleanup process
for the
object.

This then highlighted a second crash from the derefence of the window
to NULL
when flushing the cache. If the window was hidden this window pointer
would
be NULL.

The third it highlighted was a duplicate call into
evas_gl_common_image_free
and the freeing of the image cache twice. By the time eng_image_free
has been
called the cache has already been freed so we can remove the duplicate
free.



SVN revision: 74330
2012-07-23 14:33:31 +00:00
Alex Wu 0f50ef36b9 Evas (wayland_egl): Fix crashes when flipping window alpha state.
From: Alex Wu <zhiwen.wu@linux.intel.com>

When calling elm_win_alpha_set(), the global EGLContext object keep
unchanged, but the new EGLSurface object subjects to the new EGLConfig
with changed alpha_size. This makes eng_window_new() failed and hence
free the  Render_Engine object (e->engine.data.output) and nullize it.
Next time other objects reference the output, segfault occurs.

In this patch, I give every Evas_GL_Wl_Window object a EGLContext object
and all these EGLContext objects share the same shader program objects.

A new global EGLContext object "share_context" added, which is
responsible for keeping the shared objects alive. e.g. shader program
objects.At the first time succeeded to create a EGLContext, assign it to
the "share_context", and should not destory it in eng_window_free.

The "share_context" will be taken as the 3rd argument when calling
eglCreateContext(), and then updated to the new created EGLContext to
keep the shared gl objects available.

Thanks for devilhorns' review and suggestion.



SVN revision: 74328
2012-07-23 14:16:50 +00:00
Christopher Michael 86293f9c4f Evas (wayland_egl): Fix image_draw_map prototype & function code to
match cedric changes.



SVN revision: 73280
2012-07-04 12:36:39 +00:00
Christopher Michael 1d1df179f4 Evas (wayland_egl): Patch from Alex Wu to fix NULL comparison of
engine surface.



SVN revision: 72851
2012-06-26 07:08:09 +00:00
Cedric BAIL b0d3526d89 evas: another improvement part of the previous lock less font rendering patch.
Now evas will in all case do the layout during the prepare stage. It will do that
once and as long as the text didn't change. This does improve by a factor of at
least 2.3 in all expedite test case except the text change that only get a 30%
increase (I expect a drop in performance on non pipe rendering for text change
expedite test only, but this case is not common in real life).

This also fix the issue that show random size glyph when using pipe rendering.


SVN revision: 71220
2012-05-18 02:16:54 +00:00
Christopher Michael 5fbecabb43 Evas (wayland_egl): Fix compiler warnings. Use proper log_domain name.
Fix static build of the engine. Define the proper module name.



SVN revision: 71116
2012-05-15 13:21:01 +00:00
Cedric BAIL f046fa4c46 evas: remove unused parameter.
SVN revision: 70550
2012-04-30 09:42:42 +00:00
Christopher Michael 531668d2ca Evas (wayland_egl): Cleanup compiler warnings.
SVN revision: 69065
2012-03-08 16:55:42 +00:00
Christopher Michael 720f7996ae Evas (wayland): Comment out eglTerminate (is causing hangs when
running under the current weston compositor).



SVN revision: 68518
2012-02-28 21:57:59 +00:00
Christopher Michael 1a34b86f34 Evas (wayland_egl): Fix 'close' of windows. Basically, we will check
if the eng setup has a NULL surface, and if the RenderEngine has an
existing surface, that means we are hiding/closing the window, and
thus should free the existing RenderEngine Window.



SVN revision: 67160
2012-01-12 23:58:17 +00:00
Christopher Michael 71e63d268f Evas (wayland_egl): Remove printfs (done debugging that).
SVN revision: 67140
2012-01-12 13:10:53 +00:00
Christopher Michael c0dd6f7975 Evas (wayland_egl): Fix egl detection in check_engine. (In theory, the
old version of this w/ the 3 includes Should be working, but I've
tested it on 2 machines now, and it fails on both with those lines in
there, so I am removing them).

Make wayland_egl engine Actually work and draw stuff now (too many
code changes to list them all separately). See http://i.imgur.com/i2eBE.png.




SVN revision: 67128
2012-01-12 09:01:37 +00:00
Christopher Michael f33a71339c Evas (wayland_egl): Oops, missed one rename on the engine info
structure.



SVN revision: 67102
2012-01-11 23:32:58 +00:00
Christopher Michael 42e82f9092 Evas (wayland_egl): Update code to use more descriptive name for
engine_info_structure.



SVN revision: 67100
2012-01-11 23:28:39 +00:00
Christopher Michael ad8ca8457c Evas (wayland_egl): Redo wayland egl engine code to more closely match
gl_x11.

NB: Not fully functional yet, but does build.



SVN revision: 67073
2012-01-11 12:23:44 +00:00
Christopher Michael 26fcca18b7 Evas: Add Wayland EGL engine (still experimental).
SVN revision: 66541
2011-12-26 23:13:52 +00:00