Commit Graph

1924 Commits

Author SHA1 Message Date
mythri.venugopal d9ee48b013 evas gl: add support for new partial update extension.
Summary:
If EGL_KHR_partial_update extension is implemented by the driver,
set the damage region. This is done before the draw calls.

@feature

Reviewers: wonsik, spacegrapher, jpeg

Reviewed By: spacegrapher

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-08-04 17:34:30 +02:00
Oleksandr Shcherbina 60b16be772 Evas canvas3d: Move evas 3d types to evas_types.eot
Summary:
Move evas_canvas3d types from Evas_Eo.h to evas_types.eot
Change enum constatnt for vertex_arrtib, material_attrib, blend_func
Correct namespace for Evas.Real type

Reviewers: cedric, tasn

Reviewed By: tasn

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2734
2015-08-04 10:57:14 +01:00
jiin.moon 94abb3a422 ecore_evas: Fix crash in async render
Summary:
The root cause of the crash is freed memory.
The evas_object_image_data_set api called with extn buffer in _ipc_server_data.
But there is no inform to render when free this buffer.
@fix

Reviewers: Hermet, jpeg, jypark

Subscribers: stefan_schmidt, cedric

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

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
2015-08-04 11:59:24 +09:00
Nicolas Aguirre d54ef1d593 Revert "[HACK] ecore_evas_fb: Comments ecore_fb_ts calls that aren't resolved at runtime"
This reverts commit ff5f8a0412.
2015-08-03 14:34:59 +02:00
Nicolas Aguirre b79ab57226 Revert "Include <Eet.h> where needed. cf:"
This reverts commit 877338659b.
2015-08-03 14:34:57 +02:00
Nicolas Aguirre c1a483f2af Revert "evas: Adds an eglfs module"
This reverts commit 270215889d.
2015-08-03 14:34:56 +02:00
Nicolas Aguirre 3594b230af Revert "ecore_evas: Adds an eglfs module"
This reverts commit a254725d6d.
2015-08-03 14:34:54 +02:00
Florent Revest ff5f8a0412 [HACK] ecore_evas_fb: Comments ecore_fb_ts calls that aren't resolved at runtime 2015-08-03 14:16:35 +02:00
Florent Revest 877338659b Include <Eet.h> where needed. cf:
https://github.com/openembedded/meta-oe/blob/master/meta-efl/recipes-efl/efl/efl/0002-evas_3d-Add-Eet.h-includes.patch
2015-08-03 14:16:35 +02:00
Florent Revest 270215889d evas: Adds an eglfs module 2015-08-03 14:16:35 +02:00
Florent Revest a254725d6d ecore_evas: Adds an eglfs module 2015-08-03 14:16:35 +02:00
Chris Michael a4ab05aadd evas-wayland-shm: Use wl_display_dispatch_pending to wait for buffers
Summary: This fixes T2625 where launching filemanager would cause a
deadlock. The issue here is that wl_display_dispatch actually uses
poll() which will block and wait, while using
wl_display_dispatch_pending does not case any blocking.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-07-31 09:58:08 -04:00
Derek Foreman 99af748e4b wayland-shm: When we run out of shm buffers kick the server to get some back
Summary:
This fixes a rendering issue with wayland apps. We consume all buffers then
drop any attempted renders that take place while we have no buffers.
This fix now waits for the server to give us some buffers back.
This is the cause of T2612

@fix

 #Kansas

Reviewers: zmike, devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2897
2015-07-30 15:37:21 -04:00
Chris Michael 9c432ca590 ecore-evas-wayland: Remove unused variable
Summary: As we no longer need the wdata here (see previous commit), we
can remove the usage of this variable

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-07-30 15:30:36 -04:00
Chris Michael 82de5a66d7 ecore-evas-wayland: Remove call to ecore_wl_window_update_location
Summary: This function should really not be called here as it triggers
an xdg_surface_set_window_geometry call which (in turn) should only be
getting called when the window geometry (meaning visible region)
itself has changed.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-07-30 15:17:57 -04:00
Chris Michael d68644c920 evas-wayland-shm: Set wl_display field inside the Shm_Surface structure
Summary: As we need access to the wl_display in order to dispatch
events on the queue while we wait for free buffers, pass it in to the
surface creation function and set it in the Shm_Surface structure

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-07-30 15:11:09 -04:00
Chris Michael fae40e995b evas-wayland-shm: Pass along the wl_display parameter to the surface creation function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-07-30 15:10:49 -04:00
Chris Michael b1bb88b8f2 evas-wayland-shm: Modify existing engine functions to take a wl_display parameter
Summary: These functions need to have an additional wl_display
parameter so that we can set the field inside the Surface structure

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-07-30 15:09:55 -04:00
Chris Michael a48c54cddd evas-wayland-shm: Provide wl_display to the surface structure
Summary: In order to fix an existing rendering issue, we need access
to the wl_display so that we can dispatch events on the que while we
wait for a free buffer

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-07-30 15:09:02 -04:00
Chris Michael 5f8f87df3d ecore-evas-wayland: Set wl_display in the evas engine structure
Summary: This sets the wl_display field of the Evas engine info
structure so that the wl_display can later be used for dispatching
queue while we await a free buffer

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-07-30 14:42:14 -04:00
Chris Michael a1c203967e evas-wayland-shm: Provide wl_display field in engine info structure
Summary: This just adds a field so we have some place to store the
wl_display for use in the evas wayland engine

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-07-30 14:42:09 -04:00
Chris Michael 37b767994e evas-wayland-shm: If no depth is specified during reconfigure, use existing depth
Summary: This fixes a crash which Could occur if no outbuf depth was
given during a call to reconfigure.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-07-30 13:53:10 -04:00
Derek Foreman f86e04b14f wayland-shm: Introduce buffer ages
Summary:
We now track each shm buffer's time since last draw so evas can tell
what it needs to re-render.

Reviewers: zmike, devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2893
2015-07-30 11:45:38 -04:00
Derek Foreman 997e84f14e wayland-shm: Assign buffers in the swap_mode callback
Summary:
This is when we're about to start a new render, so it's the best
time to set up the next buffer to draw to.

Reviewers: zmike, devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2892
2015-07-30 11:45:32 -04:00
Derek Foreman ebea504cbc wayland-shm: rename _evas_outbuf_swapmode_get() to _evas_outbuf_swap_mode_get()
Summary: Everyone else calls it swap_mode, let's be trendy.

Reviewers: zmike, devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2891
2015-07-30 11:45:26 -04:00
Derek Foreman cf3434a927 wayland-shm: Remove curr_buff from Shm_Surface
Summary:
We already have *current, but we're not using it properly.  Let's throw
out curr_buff and just use *current.

This temporarily makes swapmode_get do full renders, this will be
fixed in a future commit that adds proper buffer ages.

Reviewers: zmike, devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2890
2015-07-30 11:45:17 -04:00
Derek Foreman 157ad667b4 wayland-shm: refactor _evas_shm_surface_data_get()
Summary:
Split out the buffer picking stuff because we're going to want to call
it from somewhere else.

Reviewers: zmike, devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2889
2015-07-30 11:45:05 -04:00
Derek Foreman 525269dc98 wayland-shm: Use MAX_BUFFERS macro instead of magic 4
Reviewers: zmike, devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2888
2015-07-30 11:44:57 -04:00
Derek Foreman d2f5d240a4 wayland-shm: rename _evas_shm_surface_redraw() to _evas_shm_surface_post()
Summary:
It doesn't redraw anything, it posts a buffer full of data to the
compositor.

Reviewers: zmike, devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2887
2015-07-30 11:44:49 -04:00
Derek Foreman f59f83810c wayland-shm: remove _evas_shm_surface_swap()
Summary: It no longer does anything useful

Reviewers: zmike, devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2886
2015-07-30 11:44:39 -04:00
Stefan Schmidt 423b97e572 gl_common/evas_gl_3d: Assign attenuation values correctly.
This really looks like a copy and paste error to me. The assigned const and
linear value would always be overridden by quad.

CID: 1267462, 1267460
2015-07-30 13:06:25 +02:00
Jean-Philippe Andre 8310b0dec7 evas/gl_drm: Fix compilation with mesa 10.6.3 on Debian
Thanks @aerodynamik for the report.

Fixes T2616
2015-07-30 14:59:22 +09:00
Jaehwan Kim 8f9eb82991 evas engine: add null point exception.
Sometimes the data parameter can be null.
It makes a segment fault.
test: evas_new > add method_output as buffer > evas_free

@fix
2015-07-30 11:08:42 +09:00
Seunghun Lee b38b349262 ecore-evas-x: resize window when it is rotated by window manager.
Summary:
window manager can send arguments and its meaning as follows.

1) resize:0
it means client window doesn't need to resize its window by rotation.
this case is a ELM_WIN_BASIC window in mobile profile.

2) resize:1, ee->w != w, ee->h != h (deprecated)
it means client window should be resized by rotation, and wm already resize its window.
so, client don't need to resize its window.
it's just for backward compatibility.

3) resize:1, ee->w == w, ee->h == h (addition)
it means client window should be resized by rotation, and wm don't resize it.
so, client should resize its window.

Test Plan: N/A

Reviewers: gwanglim, raster, jypark, devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2831
2015-07-29 11:14:11 -04:00
Oleksandr Shcherbina 1f758ad96d evas: fix size of borders in case need generate texture without atlases
Summary:
Set size of texture unit without 2 pixels for borders in case use it without
atlses. Just one case if texture for 3D use repeat mode and non-normalized
tuxture coordinates

Reviewers: Hermet, cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-07-28 22:33:52 +02:00
Chris Michael 7745189b0a ecore-evas-wayland-shm: Remove duplicated code on configure event
Summary: As we end up calling ecore_evas_wl_common_resize anyway,
there is no need for all these size calculations in the configure
callback. The resize function will deal with this anyway.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-07-28 15:28:17 -04:00
Chris Michael 1c19649acd evas-wayland-shm: Fix issue of surface_swap spamming invalid warning
Summary: Since the surface_swap functionality is changed now, we no
longer need to bother checking if the leaf is busy as we don't use the
leaf itself inside this function anymore.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-07-28 09:43:16 -04:00
Derek Foreman d68c382105 wayland-shm: Remove "mapped"
Summary:
Looks like the recent changes to swap/redraw have fixed a problem with
damage tracking and we no longer need this.

Damage history seems ok without it now.

@fix

Reviewers: zmike, devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2876
2015-07-28 09:19:12 -04:00
Derek Foreman 0b284d0914 wayland-shm: re-organize some of the swap/redraw logic
Summary:
The way things were, we'd be committing a buffer we hadn't rendered to
yet.

Now redraw() contains all the attach/damage/commit logic, and swap() is
called afterwards to set up a new target buffer for the next render.

@fix

Reviewers: zmike, devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2875
2015-07-28 09:19:07 -04:00
Derek Foreman f2caeff9c2 wayland_shm: Don't store frame_cb
Summary:
We don't need to - all the frame callback does for us is ensure a queue
push.

We should destroy any callback we receive when we receive it.

@fix

Reviewers: zmike, devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2874
2015-07-28 09:18:59 -04:00
Seunghun Lee 3adb6127ff ecore-evas-x: fix typo
Test Plan: N/A

Reviewers: gwanglim, raster, jypark, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-07-28 03:05:37 +02:00
Chris Michael 43ddf5b69d evas-wayland-shm: Don't call surface commit until we've setup the frame listener
Summary: This fixes an issue where we may been missing a frame
callback due to the wl_surface_commit being called before the frame
callback listener was setup. Now we will setup the frame callback
listener before doing any wl_surface_commit so that we don't miss
frames.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-07-27 15:53:02 -04:00
Jean-Philippe Andre c45ae022c8 Evas masking: Fix crash in async rendering
There was a FIXME comment... >_<

Improper management of image resources in async render led to
a rare crash. This should fix that.

@fix
2015-07-27 14:15:09 +09:00
Vincent Torri 0ccd43615f Ecore_Evas GDI engine: free module data 2015-07-23 14:05:33 +01:00
Vincent Torri 07af170bd8 Evas GDI engine: save the original bitmap into the memory DC
This allows the memory DC to be killed and fix a memory leak

@fix
2015-07-23 14:05:33 +01:00
Daniel Kolesa 6d9fd9b47e eina, ecore_imf: fix uninitialized field warnings 2015-07-23 10:02:25 +01:00
Jean-Philippe Andre f8dda3350c Evas: Fix wayland-only compilation without Xlib headers
If the Xlib headers are not installed, a special macro must
be defined before including EGL headers.
2015-07-23 16:24:29 +09:00
Jean-Philippe Andre a8b4607968 Evas/psd: Remove commented-out debug code
Removing because it matches a grep of <<<< used for merge conflicts :)
2015-07-23 10:34:15 +09:00
Jean-Philippe Andre dc3e41c3de Evas GL: Deprecate API evasglCreateImage
Despite its ugly name, evasglCreateImageForContext should be used
instead, as it's a proper API with evasgl and ctx passed in as
arguments.
2015-07-17 14:47:53 +09:00
Jean-Philippe Andre 8942c0c29b Evas GL: Fix sync, wlbuffer and image egl ext functions
Before this patch, those EGL/EvasGL functions can not work
without a current context. But EGL does not require any
current context for those to work, or at least, this should
be left to the driver to decide.

Evas GL was only able to get a pointer to the display
if a context was current.

The display pointer should be infered from Evas_GL unless
we can find a current display. EGL does not require a
context to be current in most of these function calls.

This should bring evasgl a little bit closer to EGL in terms
of behaviour (those are EGL-only extensions, btw).

Thanks @spacegrapher for the quick review

@fix
2015-07-17 14:47:42 +09:00