Commit Graph

31505 Commits

Author SHA1 Message Date
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
Daniel Kolesa ec48df78c3 eolian/generator: actually overrun-safe buffer fill 2015-07-30 13:59:16 +01:00
Daniel Kolesa 1c5bd5e502 eolian/generator: no point in creating tmp_env, it's not used 2015-07-30 13:50:46 +01:00
Daniel Kolesa c1faf56818 licenses: fix and generalize copyright information 2015-07-30 13:38:41 +01:00
Stefan Schmidt a76ca97388 eolian/common_funcs: Play safe and use strncpy
Not very likely but better play safe and make sure we don not overrun
our destination buffer here.

CID: 1311352
2015-07-30 14:28:09 +02:00
Daniel Kolesa 465bffcf7d evas textblock: convert docs 2015-07-30 13:16:05 +01:00
Daniel Kolesa 8a58bc9188 evas_common_interface: remove bad doc comment 2015-07-30 13:01:29 +01:00
Daniel Kolesa e607cb6f6f evas canvas3d: doc conversion of mesh 2015-07-30 13:00:25 +01:00
Daniel Kolesa 70a8304495 evas canvas3d: doc conversion of scene 2015-07-30 12:38:51 +01:00
Daniel Kolesa 1e620e8f80 evas canvas3d: doc conversion of texture 2015-07-30 12:30:40 +01: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
Daniel Kolesa 92b7d1fffa copying: add license information 2015-07-30 10:55:29 +01: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
Dongyeon Kim dc1476ee09 ecore_evas_x: make gl_sync_draw_done an explicit signed char type
Summary:
char type is interpreted as unsigned char in some implementations,
so setting -1 will be read as 255.
So we should explicitly make this a signed char type.
@fix

Test Plan: Local tests

Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: wonsik, cedric

Differential Revision: https://phab.enlightenment.org/D2895
2015-07-30 10:14:15 +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
Stefan Schmidt ffa63c0741 NEWS: Small manual tweaks
Most notably removed a merge commit and a commit stating to take EO out of
beta which is not happening for 1.15.
2015-07-29 17:02:18 +02:00
Ji-Youn Park be2a4342b4 ecore_evas_input: add value to enable mouse button cancel feature
mike reported this feature break the behavior in E19, but I have trouble to reproduce it.
so I first add value to enable this feature and after that,
2015-07-29 21:56:15 +09:00
Daniel Kolesa 56a5ef9d86 eina str: remove useless and wrong ifdef for FreeBSD 2015-07-29 12:35:33 +01:00
Jean-Philippe Andre b8a2a9b3c0 Evas filters: Fix make doc, check when EFL is not installed
Thanks @aerodynamik for even giving the proper environment
variable to set :)

Fixes T2614
2015-07-29 20:22:35 +09: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 ac9b5a0afc efl: Bump required wayland library versions
Summary: As a lot of functionality has changed in the relevant efl/e
wayland codebase, we should bump the required wayland library versions
as we are now dependant on updated wayland libraries.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-07-28 12:53:20 -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
Jean-Philippe Andre a1a1a93175 Ecore: Fix invalid lock count if DEBUG is enabled
With -DDEBUG, we can see an error message, like:
ERR: You are calling _ecore_lock() from outside of the main loop
     threads in lib/ecore/ecore_private at line 306

Looking at the code shows that ecore_lock fails immediately if
thread debugging is enabled, but ecore_unlock does not, so the
value _ecore_main_lock_count could go below 0.

This is not very important as the value is never used.
2015-07-28 17:13:52 +09:00
Jean-Philippe Andre fbd0a51607 Evas filters: Fix order of header file includes
This fixes filters on Ubuntu 32 bits.

This was one hell of a weird bug to track down. Everything worked
like a charm on my 64 bit machines, but filters would simply fail
for no good reason: a safety check sees a NULL pointer when clearly
it was properly allocated.

Just after entering a function, the content of an RGBA_Image would
change, even though there was no memory write there. This made the
image data pointer NULL, and filters would fail miserably.

So I printed out the contents of the RGBA_Image, they changed. But
the memory itself had not changed. The size of the struct itself
had changed when jumping from one file to another! But its definition
had not! Non-sense!

Unless of course a system header file was included before config.h
and ino_t or off_t would switch between 32 and 64 bits...

@fix
2015-07-28 17:13:52 +09:00
Jean-Philippe Andre 0058cd08f4 Evas filters: Fix COW usage in filter mixin 2015-07-28 17:13:52 +09:00
Jean-Philippe Andre f9c7d25b08 Evas filters: Disable debug code path 2015-07-28 17:13:52 +09:00
Jean-Philippe Andre 284cd2a530 Evas filters: Fix invalid rendering in case of async render
This simplifies the code and fixes async buffer management.

@fix
2015-07-28 17:13:52 +09:00
Stefan Schmidt 20045ec0e1 examples: Update .gitignore for binaries 2015-07-28 08:32:47 +02:00
Cedric BAIL 94d9981d8c ecore_con_eet: fix dereferencing of object during callback that crashed some tests case. 2015-07-28 03:05:37 +02:00
Cedric BAIL 1d27699bc6 ecore_con: fix test to actually send a NULL terminated string. 2015-07-28 03:05:37 +02:00
Ivan Furs 004f2b49a9 evas canvas3d: bounding box does not change the position according object
Summary:
This fix need for synchronous rotation mesh and aabb of  "sonic" in example "evas-3d-aabb.c".
@fix

Reviewers: Hermet, cedric

Reviewed By: cedric

Subscribers: sri.hebbar, cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-07-28 03:05:37 +02:00