Commit Graph

561 Commits

Author SHA1 Message Date
Chris Michael 248c2f8233 Add initial file for Outbuf
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-30 07:12:47 +01:00
Chris Michael a67894a5a7 Add Render_Engine structure
Start on code to setup the output buffer.
Add code to init evas_common functions
Add override for engine setup.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-30 07:10:05 +01:00
Chris Michael b607e66f68 Add Outbuf structure and some function prototypes
NB: These are not finalized yet and may change.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-30 07:10:05 +01:00
Chris Michael 8ef46df20d Add rotation, depth, alpha to the engine info structure.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-30 07:10:05 +01:00
Rafael Antognolli 59c37d1c7b evas/framespace: Add support for framespace offset rendering translation.
Instead of moving the objects by adding the framespace offset to them,
use this offset when rendering them. This way there's no change in the
object's geometry/position, it works correctly with map, and will be
automatically updated in case that the framespace values change (for
instance if one sets a window to borderless).

There are 2 main places where changes were needed:
 - output redraws, when they come from an object being changed, must be
   add the framespace offset to their damaged area;
 - checks to see if the object is inside a given rendering area, must
   also add this offset, since the object is actually being rendered on
   a different position;
2013-04-29 11:29:43 -03:00
Chris Michael 57052b92e1 Add start of drm engine
NB: Nothing to see here, just basic evas_engine setup.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-29 13:02:00 +01:00
Chris Michael 53fd97fd08 Add missing braces
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-29 12:58:02 +01:00
Chris Michael d3c79b813e Fix engine_info_get function call being in the wrong place.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-29 12:56:08 +01:00
Chris Michael 64a598d053 Add logging macros to drm engine.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-29 12:40:24 +01:00
Chris Michael e8b7fa49ca Add start of Drm Engine header.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-29 12:37:58 +01:00
Chris Michael b8c6d19748 When we free the swap buffer, do Not munmap the buffer data.
Buffer data (in this instance) is from the swapper (ie: the creation
of the swapper allocates & mmaps the data). As such, we should not
unmap it when we free buffer(s), just when we free the swapper.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-29 11:32:18 +01:00
Chris Michael 672a2e36e3 Use the width & height from the buffer (actual image size) when
calling evas cache image data.
When we push an updated region, be sure to account for the rectangle
position during the conversion function.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-29 11:32:18 +01:00
Chris Michael 66d258d17b Be sure to set the Render_Engine's info to the new engine info.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-29 11:32:18 +01:00
Chris Michael 25f1706fa8 Fix variable usage in framespace get. Thanks Seb ;)
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-26 07:41:17 +01:00
Chris Michael 1435a48d4d Remove blank line
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-26 07:14:58 +01:00
Chris Michael 8235272ec0 Reenable ability for async render of shm engine.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-26 07:14:58 +01:00
Rafael Antognolli 6890a0e452 evas/wayland_shm: Fix resize to the left or top when rotated. 2013-04-25 19:58:05 -03:00
Rafael Antognolli 1ec6dd5fbc evas/wayland_egl: Fix resize to the left or top when rotated. 2013-04-25 19:58:03 -03:00
Rafael Antognolli f18174f302 ecore_evas/wayland: Fix rotation when going back to 0 or 180 degrees. 2013-04-24 17:43:10 -03:00
Rafael Antognolli 0745e46d12 ecore_evas/wayland: Add support for rotation on wayland_egl backend.
Also move the common code for rotation_set from the shm engine to
wayland_common.
2013-04-24 15:24:37 -03:00
Stefan Schmidt 5e4d26a1aa eeze/sensor/tizen: Fix typos to let it build for tizen
Finally have a way to compile the merged efl tree against the latest tizen
things. Only three typos after all this changes it quite good imho. Zero
would have been better though. :)
2013-04-24 16:01:42 +01:00
Rafael Antognolli 8ef6568ea7 ecore/evas wayland_shm: Add support for window rotation. 2013-04-23 18:52:54 -03:00
Rafael Antognolli dba2fc5aa5 ecore_evas/wayland: Change the default frame smart object.
Add 4 rectangles to be used as border of the window, instead of a single
rectangle under the framespace. This allows to move the frame object to
the top layer, instead of staying on the lowest layer. With the frame
over the other objects, there's no need of framespace clipper object,
which causes several bugs.
2013-04-23 18:52:35 -03:00
Cedric Bail f2e95b094a evas: take stride into account with swapbuf. 2013-04-23 16:48:50 +09:00
Stefan Schmidt c2da27328b eeze/sensor: Simplify object handling in async paths.
This follows the simplified handling of sensor object we are already
doing for the sync paths. Its a bit more complicated here as we need
to pass all data through the module specific async handling. But the
result should be the same.
2013-04-22 15:58:28 +01:00
Carsten Haitzler 36b1b06a60 note in comments som get visual info from fbconfig stuff to mach
depths. doesn't help though.
2013-04-23 00:06:47 +09:00
ChunEon Park 529e1d3569 evas/evas_gl - cast arguments properly according to the spec of the gles/gl APIs. 2013-04-21 22:31:58 +09:00
Stefan Schmidt 3c167a964b eeze/sensor/tizen: Fix start and stop from sensors during init and shutdown 2013-04-19 10:00:11 +01:00
Stefan Schmidt 27a711b83c eeze/sensor: Simplify sensor object handling.
We rely on the app to provide a sensible object pointer and we now longer
need to have a copy of the object around to operate on it.

Simplifies code, maintenance and reduces mem copies. Win-Win :)
2013-04-19 09:21:12 +01:00
Rafael Antognolli 34d4352055 ecore_evas/wayland: Actually, the frame object should be on LAYER_MIN.
Also set the layer on the wayland_egl backend.
2013-04-18 19:39:46 -03:00
Rafael Antognolli 89960340d7 ecore_evas/wayland: Put the default frame object in a lower layer.
The frame should not stay in the same layer as the other objects. If the
application wants to allow it to be on top of the content, then it must
provide a custom frame object and set it to that layer.

NOTE: Should we make Elementary's be on a lower layer too?
2013-04-18 19:04:07 -03:00
Tom Hacohen 8b6c9449fb Evas engine gl_x11: Fixed signed, unsigned comparison. 2013-04-18 12:42:06 +01:00
Carsten Haitzler e5065da29c fix nvidia texture from pixmap config depth match to be looser to
avoid non-matches.
2013-04-18 20:30:39 +09:00
Carsten Haitzler 6e90a37990 comments for sungwoo when he gets back... 2013-04-18 20:30:39 +09:00
Carsten Haitzler d0f1933923 clean up glx native surface (texture from pixmap code) to be more anal
about matching depth etc.
2013-04-18 17:16:41 +09:00
Carsten Haitzler 7cae29becd fix evas gl_x11 in 16bpp (and similar depths). 2013-04-18 15:17:10 +09:00
Carsten Haitzler 6ccae99bd1 let's fix eeze sensors to not segv on shutdown.. dup registered fake
(udev registered it as fake)... and in the process i found that we
probably double free as sensor is calloced in the module and AGAIN in
eeze sensor core... oh and symbols probably might lak from modules..
so static them up yo.
2013-04-18 00:30:04 +09:00
Stefan Schmidt f58ffeb7be eeze/sensor: Add small udev module to read temperature from sysfs
This module does only provide a temperature sensor. Some pieces
borrowed from the temget code.
2013-04-17 09:09:42 +01:00
Stefan Schmidt 763bdd1618 eeze/sensor: Switch timestamp to relative values coming.
Switch from absolut microseconds since epoch to a monotonic clock with
realtive values. Switch from unsigned long long to double.

This aligns it with how we present time in efl. ecore_time_get is used
when possible. For the tizen modules we convert the the epoch timestamp
we get into a double. This is still a working monotone clock source.

As this will be released the first time with 1.8 we don't have any API
break here.
2013-04-16 13:21:28 +01:00
Igor Murzov 1373f0ba4a Fix incorrect printf format usage 2013-04-16 12:07:36 +04:00
Jiyoun Park ccea9eca41 Evas: fix gif bug related with scale down decode. 2013-04-15 13:45:18 +09:00
Jiyoun Park 8aea52b847 remove tab 2013-04-15 13:25:50 +09:00
Jiyoun Park 5ba104b46e * Evas: fix gif decoding bug related with background color. 2013-04-14 20:49:45 +09:00
Carsten Haitzler 9ec8064638 Work around new intel Mesa/xorg bug where alpha
channel in NON-ARGB windows is not filled in with 0xff
even if all the code does things right.
2013-04-14 01:14:58 +09:00
Jihoon Kim 373fb30096 ecore_imf/scim: remove unused function declaration 2013-04-13 15:25:00 +09:00
Sung W. Park 34ce73badd [Evas] Updated eglMap/UnmapImageSEC extension definition
Recently Samsung specific eglMap/UnmapImageSEC has been updated to
support new features.  The extension definition was updated in evas
accordingly.
2013-04-12 17:34:13 +09:00
Sung W. Park 00cffc0585 [Evas GL] Initialize evas gl engine after evas stuff is initialized first. 2013-04-12 17:02:43 +09:00
Carsten Haitzler 7fd0cf1731 this is not a big change - not worth changelog, but allow gl partial
updates to be rounded up to specific tile sizes (and make it 16x16 by
default).
2013-04-11 21:24:06 +09:00
Stefan Schmidt 25843ac65e eeze/sensor/tizen: Fix bug where we set the wrong sensor type to the object.
Eeze sensor and Tizen types can't be in sync as the order have been changed
several times in Tizen already. We need to keep the order stable for ABI
compliance though after 1.8.

While we did the translation in one direction we did not in the other. Fix
this bug that shows now.
2013-04-11 13:11:08 +01:00
Carsten Haitzler 9dffb4eed8 and further work on buffer age support in evas... after more testing
on nvidia...
2013-04-11 09:21:42 +09:00
Carsten Haitzler 8f73a2bd0e add environemnt vars to switch bounding box to full region list calcs
and an env var to show debug for partial updates.
2013-04-10 18:47:44 +09:00
Carsten Haitzler 9a649bc07a fix valgrind complaint in evas gl caching of surface caps... bad code
bad!
2013-04-10 18:47:44 +09:00
Carsten Haitzler 92398f4f47 add mesa buffer release support to evas gl engine. 2013-04-10 18:47:44 +09:00
Carsten Haitzler 3cdd10e070 add gl buffer age support fully now for default automatic mode: query
extensions correctly in egl and glx too. need to hunt a partial swap
for glx now...
2013-04-10 18:47:44 +09:00
Cedric Bail fa8c469453 eina: align allocated memory to 4096. 2013-04-04 23:50:14 +09:00
Stefan Schmidt 98806b17e2 eeze/sensor/tizen: Big update to support all new tizen sensor types.
This needs quite soem testing but it should copver all new sensors now.
2013-04-03 17:14:20 +01:00
Stefan Schmidt f5b322a824 eeze/sensor/tizen: USe enum sentinel to iterate over sensor types.
With the newer version we now have a sentinel that marks the last item of the enum.
2013-04-03 17:14:20 +01:00
Stefan Schmidt 9d47faa761 eeze/sensor: Add more sensor types used in Tizen.
Just setting up the sensor types in the lib and fake module.
2013-04-03 17:14:20 +01:00
Cedric BAIL f11dc2f184 evas: fix crash with Evas buffer when target colorspace has no alpha. 2013-04-03 19:18:58 +09:00
Rafael Antognolli b73786814c ecore_evas/wayland: Ecore_Evas geometry should report the client size.
The real canvas size contains enough space for rendering the frame, but
ecore_evas_geometry_get() should be consistent accross all the engines
and report only the client area.
2013-04-02 14:39:59 -03:00
Stefan Schmidt bc93fd6aa7 eeze/sensor/fake: Finally fix fake module to send out correct ecore events.
Sensor type is completely different from event type.
2013-03-28 14:38:12 +00:00
Stefan Schmidt 85d7dddbde eeze/sensor: Make sure we send out ecore events for all async reads in fake module 2013-03-27 13:23:53 +00:00
Stefan Schmidt d0483d3dde evas_extn: Tag parameter as unused.
Maybe we should switch to use -Wno-unused-parameter in our default cflags?
I mean unused parameters are really common and I do not see their harm.

Using -Wno-unused-parameter would let us remove all the cluttered EINA_UNUSED
and __UNUSED__ and also be safe when a paramter gets is use later as the
compiler could optimize it out when tagged with unused. Still we would avoid
the warnings to find the important ones.
2013-03-26 09:36:09 +00:00
Stefan Schmidt 394fa35356 eeze: Make eeze sensor log domain private and use different ones for the modules
The main eeze sensor log domain was EAPI as it was used in the modules as well.
(Gives some nice runtime error when loading the shared object). Switch to different
domains for the module and make the main domain private.

Spotted by zmike.
2013-03-26 09:33:59 +00:00
Stefan Schmidt 948d7e3743 eeze/fake/module: Correct error message and fix typo. 2013-03-26 08:36:37 +00:00
Cedric BAIL d583d08814 evas: no need for a callback per async call.
Let's not multiply our callback infrastructure without any serious need. We
already have to many of them.
2013-03-26 11:59:27 +09:00
Carsten Haitzler 5bb45cecbf imrpovement in ethumb video generation - wait a few frames so we have
something rendered at new pos... :)
2013-03-25 18:46:51 +09:00
Stefan Schmidt a9c543c73f evas_extn: Rename data variable to avoid local shadowing.
Jenkins as well as klocwork complained here as data is already used for
the parameter of the function and we shadow it here locally. Does not look
like it would really harm us here but better avoid it.
2013-03-25 09:40:36 +00:00
Carsten Haitzler 1117cb938a update po's ... :/ 2013-03-23 13:31:22 +09:00
Rafael Antognolli f9fbafae58 ecore_evas/wayland: Don't need to show and hide children of the frame.
The frame smart object inherits from clipped smart object now, so it
doesn't need to show and hide its children, as the clipper takes care of
that.
2013-03-22 15:31:21 -03:00
Daniel Willmann 0bbd944672 eeze_sensor: Don't free the object we want to return asynchronously
The event callback will take care of freeing the object.
This issue was found thanks to clangs -fsanitize=address option - coming
to a CI job near you.

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-03-22 17:50:26 +00:00
Jiyoun Park 8653a45cb1 * Ecore_x: fix alpha set function not clear sync counter 2013-03-22 18:49:46 +09:00
Carsten Haitzler fba8124fc5 in evas gl engine if age changes then be conservative and assume backbuffer was
invalidated.
2013-03-22 11:35:05 +09:00
Carsten Haitzler deabd07e4b oops - define GL_UNPACK_ROW_LENGTH not GL_UNPACK_ROW_LENGTH_EXT 2013-03-22 11:35:05 +09:00
Rafael Antognolli 048c8f0b25 ecore_evas/wayland: Use clipped smart object for window decorations.
When creating windows directly with Ecore_Evas, instead of using
Elementary, a default smart object is provided for the frame (client
side window decorations).

Now this smart object inherits from the clipped smart object, which
means that all its member objects will be clipped to its main clipper,
being skipped when the framespace clipper checks for objects without a
clipper.

Fix a ticket, which I don't remember the number because trac doesn't
work.
2013-03-21 20:45:44 -03:00
Rafael Antognolli 7a01acd60d ecore_evas/wayland_shm: Check if the Ecore_Evas is visible on render.
Without this check, the code tries to access win->surface, which will be
NULL, causing a segfault.

Fix ticket #2304.
2013-03-20 18:06:26 -03:00
Rafael Antognolli 57208fd2a3 evas/wayland_egl: Fall back to dlsym if eglGetProcAddress fails.
At least for wayland, eglGetProcAddress seems to fail to get the
eglQueryString symbol. Not sure if it's the right fix, but brings
wayland_egl back to working again.

Fixes #2301.
2013-03-20 15:16:10 -03:00
Tom Hacohen aef97ce5a5 Evas gl: Fixed warnings in the gl engine. 2013-03-20 15:18:54 +00:00
Carsten Haitzler 797c1a1283 seems tegra has gotten better so up pipe max number in gl engine. 2013-03-17 14:18:52 +09:00
Carsten Haitzler 5a8d82228f update on recent symbol finding changes in evas - use dlsym for fbo's 2013-03-17 13:55:10 +09:00
Cedric Bail ba4db2c241 ecore_evas: follow naming of other modules for Windows to. 2013-03-16 15:54:18 +09:00
Cedric Bail a4593c1cdf ecore_evas: killing Glew and Direct3d, because someone already killed Kenny. 2013-03-16 15:50:01 +09:00
Carsten Haitzler 3728c60311 Fix opengl-es 2.0 engine support to only use GL_UNPACK_ROW_LENGTH
if the correct gles extension exists.
2013-03-15 13:05:39 +09:00
Carsten Haitzler 5a00aa5b25 evas gl engine -> prefer extn symbols over non-extn symbols 2013-03-15 12:15:19 +09:00
Chris Michael cac7a4dad8 Fix for building without setting the opengl=es option.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-03-14 14:50:23 +00:00
Cedric BAIL dbd044055d evas: fix compilation issue due to change of Evas_Object structure. 2013-03-14 10:44:56 +09:00
Cedric BAIL d79a2efa39 evas: use Eina_Cow a lot more and we are closer to the memory size of 1.7. 2013-03-13 14:35:25 +09:00
Carsten Haitzler 5b201f9122 please... compile again thanks! 2013-03-12 23:17:00 +09:00
Chris Michael 873c18cc15 Force shm engine to do sync render for now.
There are stalling issues with async render that I need to look in to.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-03-12 12:52:25 +00:00
Christopher Michael 31ec0c4d7b Add Async support for Wayland Shm Engine.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
2013-03-12 12:52:25 +00:00
Christopher Michael 91a83b8cda Add Async support for wayland_shm engine.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
2013-03-12 12:52:25 +00:00
Cedric Bail 32661a5ac4 ecore_evas: re-order inclusion of header to fix compilation on Windows.
It is a very tricky things to get header order right on windows. Having that
order only in .c files simplify the work a lot. So let's try to do it with
Ecore_Evas after it rewrite and split into modules.
2013-03-12 15:58:43 +09:00
Carsten Haitzler 8b55c24fe8 cleanup some egl/glx/gl extension string matching and proc address
vetos.
2013-03-12 15:30:05 +09:00
Jiyoun Park bcfc58f460 ecore_x: fix bug not check data value when get deiconify message 2013-03-12 11:53:21 +09:00
Carsten Haitzler 200bdfd8d4 in theory suport partial swaps with SEC extensions... untested atm. 2013-03-12 08:46:25 +09:00
Carsten Haitzler ab7bd544f8 emotion - free up engine and stuff on obj del, and let smartdata hang
about for eio stuff. hrmmmmf. cedric!!! :)
2013-03-11 16:54:59 +09:00
Cedric Bail 3fe8098e9c include some header files conditionally add specific test for fcntl 2013-03-11 10:34:47 +09:00
Cedric Bail 7da76cf25a ecore_evas: remove warning. 2013-03-10 20:32:21 +09:00
Igor Murzov 7a794f8477 evas: Add WebP image saver 2013-03-09 14:11:35 +04:00
Rafael Antognolli de5b36583d evas/wayland_shm: Change the buffer sent comparison.
Using the wb->buffer pointer to compare if a buffer was already sent is
bad, since the buffer pointer can be changed in a way that that
comparison is true, even if different buffers are used.

When requesting a new buffer to the wl_shm_pool, it can return the
buffer address of a previously freed buffer. This reused buffer pointer
can be the same as the last buffer sent to the compositor, and the
comparison will be true, skipping a new wl_buffer_attach.
2013-03-08 14:54:18 -03:00
Tom Hacohen a35b034b7c Eina mempool: Fixed compilation warning. 2013-03-08 11:46:41 +00:00
Carsten Haitzler 4eed45ae88 Small adjustment to gl engines to use procaddress if found and NOT
fall back to dlsym if such a "getprocaddress" is around.
2013-03-08 19:35:36 +09:00
Jiyoun Park 9210db4dd5 Ecore_x: Add manual render code before deiconify 2013-03-07 16:33:59 +09:00
Sung W. Park 64aa5a2670 evas: evas_gl - Got rid of resource pool in favor of creation on demand.
Resource contexts/surfaces are used for creating resources within Evas_GL.
In oder to handle Evas_GL runnig from different thread than the main one,
a resource context/surface pool was used. This turned out to be unnecssary
as they are not used very frequently.  So, I got rid of the pool and
made the resources create as needed.
2013-03-04 20:23:49 +09:00
Cedric BAIL ab12337d76 eina: forgotten include that borked debug build. 2013-03-04 13:51:26 +09:00
Rafael Antognolli e92bafb141 ecore_evas/wayland: Call _ecore_evas_wayland_resize on window configure.
This will update the edges info inside the Evas_Engine_Info, and make it
correctly resize to the top/left if needed.

Also call ecore_wl_window_buffer_attach() on the egl engine, since it's
needed after the ecore_wl_window_update_size().
2013-02-28 12:48:42 -03:00
Rafael Antognolli 5e507cf3d6 ecore_evas/wayland: Update window size when receiving compositor event.
This will force the window to correctly update its size when the event
is received by the compositor, rather than just after an
ecore_evas_resize().

It fixes the window resizing of non-elementary applications, since
the elementary window already deals with such resize by calling
ecore_evas_resize.
2013-02-28 12:48:42 -03:00
Rafael Antognolli 3d0bd026ba evas/wayland_shm: Add evas_swapper_reconfigure().
This can be used to reconfigure a swapper to another size, without the
need to destroy the swapper itself.

Although the shm pool is not being reused even when reconfiguring to a
smaller size, it could easily be.

This change is done right now only to keep the dx and dy offsets of a
previously requested swapper, which were not still used.
2013-02-28 12:48:41 -03:00
Cedric BAIL 1121103ecb emotion: improve portability of Emotion Generic by using EFL more. 2013-02-27 21:10:28 +09:00
Christopher Michael ba86389448 Fix valid variable check.
When doing double/triple buffering, and we go to merge the rectangles,
if we are triple buffering then we should not use the double-buffer
rectangles as a valid check for triple-buffer rectangles.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>
2013-02-27 10:19:06 +00:00
Christopher Michael 2fb518a691 Fix incorrect variable check.
When using swapping (double/triple), and we go to merge rectangles,
then we should check for a valid triple buffer (not double) before
trying to merge the 3rd buffer rectangles.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>
2013-02-27 10:17:55 +00:00
Rafael Antognolli 792413ebb6 evas/wayland_egl: Fix build error caused by wrong assignment. 2013-02-26 11:20:04 -03:00
Henrique Dante de Almeida ca8fc827a3 efl: Fixes to support compiling with CFLAGS=-Werror
This allows compiling with gcc 4.7.2 without errors (using the
default configuration).
2013-02-26 10:55:04 -03:00
Christopher Michael cbc203e0bf Evas: Fixed wrong EINA_UNUSED usage in the gl_x11 engine. 2013-02-26 13:52:54 +00:00
Henrique Dante de Almeida 211c33ff6e evas: Deal with double glShaderSource signature
The function glShaderSource may have 2 signatures:
http://stackoverflow.com/questions/12586695/signature-difference-in-openglshadersource-between-opengl-es-2-revisions
http://www.opengl.org/sdk/docs/man/xhtml/glShaderSource.xml
http://www.khronos.org/opengles/sdk/docs/man/xhtml/glShaderSource.xml

This patch changes all internal signatures to use the most restrictive signature.
2013-02-26 10:17:28 -03:00
Henrique Dante de Almeida 2656d7097e evas: Fix PSD image loading 2013-02-26 10:17:28 -03:00
Carsten Haitzler 683e5d7d08 Fix evas GL common engine to have a shader to do oversampling on
downscaling. This makes quality much better and "at best"
equates to a 16 point sample (2x2 linear interpolation samples,
where a linear interpolation sample equates to a 2x2 sample).
This will have perfomance impact, but the quality is worth it and
makes it closer to software downscaling in quality. It supports
2x2, 2x1 and 1x2 oversampling. YUV not done, nor image mask
(font shaders not needed).
2013-02-26 22:07:30 +09:00
Christopher Michael 1b5ffada1b Evas: Fixed wrong if in the x11 engine. 2013-02-25 10:35:54 +00:00
Stefan Schmidt 5e99f9b968 Revert "Refactor evas_sw_xlib_outbuf to allocate less in case of rotations."
This reverts commit 139737247d.

THis fix was completely wrong.

Conflicts:

	ChangeLog
2013-02-20 17:21:30 +00:00
Rafael Antognolli 8be4940bb3 evas/wayland_shm: Remove x,y offsets from swapbuf related APIs.
These offsets can be calculated later during the resize operations.
2013-02-19 10:42:39 -03:00
Rafael Antognolli dc0d88df9c ecore_evas/wayland_shm: Fixed window resize.
Using the server_allocation/allocation to determine the resize offset
was not completely precise, and causing the window to not always resize
correctly.

Additionally, calling evas_engine_info_set() on every resize step caused
the window content to blink and resize very slow, because the swap
buffer, swapper, and everything were being destroyed and recreated. Now
only the swapbuf_reconfigure is being called during the resize, which is
way faster.
2013-02-19 10:18:03 -03:00
Christopher Michael cf67e69b50 Fix swapper to take resize edges into account.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
2013-02-19 10:18:03 -03:00
Christopher Michael 232ea5b875 Fix function prototypes to take resize edges into account.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
2013-02-19 10:18:03 -03:00
Christopher Michael 899e4f745c Fix swapbuf setup to take resize edges into account.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
2013-02-19 10:18:02 -03:00
Christopher Michael 5dde66b4e4 Fix function prototypes to take x & y as params. Fix functions to take x & y as params (for resize edges).
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
2013-02-19 10:18:02 -03:00
Christopher Michael b717e948af Fix new shm engine to take resize edges into account.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
2013-02-19 10:18:02 -03:00
Christopher Michael c95160baae Fix swapper_setup function prototype to take x & y as params.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
2013-02-19 10:18:02 -03:00
Christopher Michael e4aae7301f Add x & y to Output buffer.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
2013-02-19 10:18:02 -03:00
Christopher Michael ef76f3caab Remove blank line.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
2013-02-19 10:18:02 -03:00
Christopher Michael f541b8af90 Add edges struct to engine information.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
2013-02-19 10:18:02 -03:00
Christopher Michael 886768b1e1 Remove old shm information from the private data structure.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
2013-02-19 10:18:02 -03:00
Christopher Michael 9e6b41e629 Fix formatting.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
2013-02-19 10:18:02 -03:00
Christopher Michael 5526a29417 Remove extra whitespace.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
2013-02-19 10:18:01 -03:00
Daniel Willmann c0fc75b78d xpm_loader: Make tok larger so strcpy will fit
Found through klocwork. It seems there are more potential issues here.

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-02-18 12:18:33 +00:00
Ivan Briano 61b8e2aefe More removal of \r 2013-02-17 14:53:25 -03:00
Ivan Briano d0c0a21240 Remove \r from end of line.
No functional changes here.
2013-02-17 14:30:11 -03:00
Paulo C. A. Cavalcanti Jr 04e660c5c7 evas: Introduce pixel_alpha_get()
The _pixel_alpha_get() function used in evas_object_image_is_inside won't
work with engines other than software - since it relies on engine data
being *always* RGBA_Image * - which is wrong for OpenGL backend that uses
Evas_GL_Image * for "engine_data" pointer.
2013-02-16 11:14:40 +01:00
Cedric BAIL 74aa601afc evas: improve portability of bmp loader.
On system like 64bits windows it is not a guaranty that a
sizeof (long) == sizeof (void*), we are better using the right type.
This generate a warning that we could have seen with just cross compilation.
2013-02-16 10:36:41 +01:00
Jiyoun Park c5a8a6b5ff Add infrastructure to handle message between ecore and parent ecore in Ecore_Evas
I add new example related with this. (ecore_evas_extn_socket & plug example)
ecore extn use this infrasturcture, server app and client app can communicate each other
later, this can be used to contorl access message


SVN revision: 83942
2013-02-15 09:32:40 +00:00
Carsten Haitzler f4da5922d3 swapper -> use buf pitch, not swp->w * 4 ... if we have a buf and
pitch. :) (tnks wonsik!)



SVN revision: 83889
2013-02-14 10:39:59 +00:00
Carsten Haitzler 4452fad7a3 fix up apparent problem with egl context and sizing/rotation... need
to test more though.



SVN revision: 83878
2013-02-14 03:27:23 +00:00
Stefan Schmidt a9b1e78916 efl/evas: Remove stray ; from evas_gl_core.
SVN revision: 83830
2013-02-11 15:03:56 +00:00
Stefan Schmidt 62a20b6e95 efl/evas_w32/engine: Add interface name and version.
Again they are already used but nobody did bother to declare or define them.
I have choosen the name with what came into my head first and version seem
to be 1 in other engines, too. Evas engine gods please review.

SVN revision: 83826
2013-02-11 13:39:16 +00:00
Stefan Schmidt 4ae1c0d1cb efl/evas_w32/engine: Add and declare a variable.
iface is already be used in the code but not available as variable at all.

*spank, spank*

SVN revision: 83825
2013-02-11 13:27:20 +00:00
Stefan Schmidt 6ef1fc791a efl/evas_w32/engine: Fix typo to have a functional #endif
SVN revision: 83824
2013-02-11 13:18:23 +00:00
Stefan Schmidt c24aaf9bd0 efl/emotion: Fix memory leak in gstreamer_ecore_x_check().
The suported atom gets allocated in the ecore_x call but we leave
the scope here without freeing the resource again. Free it when
going out of scope.

SVN revision: 83790
2013-02-08 15:49:56 +00:00
Daniel Willmann 139737247d Refactor evas_sw_xlib_outbuf to allocate less in case of rotations.
Previously whenever evas_software_xlib_outbuf_new_region_for_update was
called for images that were rotated (!= 0) we created a new
evas_cache_image. This resulted in (quite severe) memory spikes whenever
an image was rotated.

Now we try to get the original image first and only if that fails allocate
a new one.

TDevilhorns is already working on the port to the xcb backend.

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>

SVN revision: 83789
2013-02-08 15:49:50 +00:00
Carsten Haitzler dbaf2b8fde and handle rotated swapbuf if bufsz doesnt match... PROPERLY.
SVN revision: 83781
2013-02-08 12:22:04 +00:00
Rafael Antognolli d74b652b29 evas/wayland_egl: Fix Evas pointer assignment.
Don't assign the public data to an Evas *.

SVN revision: 83778
2013-02-08 11:50:06 +00:00
Carsten Haitzler 5a80685803 swapper infra work - handle if buffer sizes dont match... :)
SVN revision: 83764
2013-02-08 07:23:31 +00:00
Rafael Antognolli 74cb944f25 ecore/wayland: Add window state changed callback to Ecore_Wl_Window.
This will allow it to report to Ecore_Evas that the window has changed
its state. Elementary uses this to update its maximized/fullscreen/other
window states internal information.

The code that uses this callback is also added to Ecore_Evas.

SVN revision: 83625
2013-02-05 12:19:40 +00:00
Rafael Antognolli cc2b953b65 ecore_evas/wayland_egl: Fix window resize when using meta+middle click.
It's needed to set the edge where the middle click is being done in
order to allow Evas know which direction the resize should take.

SVN revision: 83610
2013-02-04 18:40:14 +00:00
Christopher Michael c951fb5a2d Use palette mode none for conversion.
Comment out idle_flush (for now) as it is causing some segfaults with
elm_win_util_standard_add for some strange reason.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83436
2013-01-29 14:40:21 +00:00
Carsten Haitzler 6bf7dd8775 also check priv->o before..
SVN revision: 83428
2013-01-29 10:45:31 +00:00
Carsten Haitzler c73bf6fd00 emotion - be gooder. (use DEL callback not fREE and .. check priv->o!
SVN revision: 83427
2013-01-29 10:44:44 +00:00
Rafael Antognolli c46b096c78 ecore_evas/wayland: Merge code from egl and shm engines into common.
Since the render code on both engines is using the frame callback, let's
merge it to avoid code duplication.

SVN revision: 83390
2013-01-28 20:28:19 +00:00
Rafael Antognolli 9afa66d722 evas/wayland_egl: Add do_async flag to this engine, but don't use it.
SVN revision: 83389
2013-01-28 20:00:03 +00:00
Rafael Antognolli f75b01b545 ecore_evas/wayland: Add _ecore_evas_wl_common_render_updates back.
It shouldn't be removed, since it's still being used.

SVN revision: 83388
2013-01-28 19:45:41 +00:00
Rafael Antognolli 1210067fbe ecore_evas/wayland_egl: Only render if last frame has been presented.
This avoids blocking in eglSwapBuffers and has the side effect of
avoiding doing unnecessary work - painting where a frame won't be
presented.

We do this by using the event that the wayland compositor will send us
to tell us that the frame has been presented. Due to the fact that
evas_render_updates() could do no work and not cause a eglSwapBuffers we
must always have a frame callback listener setup.

Original patch by: Rob Bradford <rob@linux.intel.com>

(I just adjusted the patch to the single efl tree)

SVN revision: 83387
2013-01-28 19:13:46 +00:00
Daniel Willmann d2f926a449 edje-multisense: Get rid of the old files
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>

SVN revision: 83382
2013-01-28 15:15:37 +00:00
Christopher Michael 5df48569c8 Free the swapper when we remove the Outbuf.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83378
2013-01-28 08:31:22 +00:00
Carsten Haitzler a8b7d8551d oops - forgot to free swapper on swapbuf free! :)
SVN revision: 83377
2013-01-28 04:00:36 +00:00
Cedric BAIL 7636dc88c4 eina: try to fix debug build typo.
SVN revision: 83315
2013-01-25 01:20:58 +00:00
Christopher Michael def83a6eb1 Add logging function macros
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83294
2013-01-24 12:15:11 +00:00
Christopher Michael cfbdc648d1 Add logging functions
Remove dead commented out code
Do not call wl_surface_attach if the buffer is the same as the one
already attached.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83293
2013-01-24 12:15:07 +00:00
Christopher Michael b8a9d67c88 Add code to delete the shm pool when we destroy the swapper.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83291
2013-01-24 09:59:50 +00:00
Christopher Michael 76dea59613 Rewrite swapper code to use One shm pool and allocate buffers from
that pool.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83290
2013-01-24 09:21:40 +00:00
Christopher Michael e645261b95 Remove 'return' in idle_flush.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83289
2013-01-24 09:21:37 +00:00
Christopher Michael 801cfc567d Use eina_rectangle_free
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83288
2013-01-24 09:21:34 +00:00
Christopher Michael fdd0a37c61 Add onebuf field to Outbuf struct.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83287
2013-01-24 09:21:30 +00:00
Christopher Michael 0e6b2ad6f7 Reset Render_Engine onebuf if it was set previously.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83286
2013-01-24 09:21:27 +00:00
Christopher Michael e1fdc232e1 Use eina_rectangle_free to free the rect.
Be sure to increment i here.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83285
2013-01-24 09:21:24 +00:00
Christopher Michael 95d6577c2d Add function prototype for swapper_idle_flush.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83284
2013-01-24 09:21:21 +00:00
Christopher Michael fd2c68dbf2 Add a swapper_buffer_idle_flush function to loop the Wl_Buffer
structures inside the swapper and release memory of any invalid ones.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83283
2013-01-24 09:21:18 +00:00
Christopher Michael 913d0cd170 Add code to handle idle_flush which will release memory that is unused
by invalid buffers.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83282
2013-01-24 09:21:15 +00:00
Christopher Michael f785c9fc21 Support an environment variable to set the number of buffers (double
buffer by default).

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83281
2013-01-24 09:21:12 +00:00
Christopher Michael 18ba710320 Double buffer by default.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83280
2013-01-24 09:21:09 +00:00
Christopher Michael 313e82c680 Rename the env variable that we will check for buffering support.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83279
2013-01-24 09:21:06 +00:00
Christopher Michael 40dec84b3e Set the engine's wl_shm reference during creation.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83278
2013-01-24 09:21:04 +00:00
Christopher Michael 949d008b13 Check for valid wl_shm before trying to create the shm pool.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83277
2013-01-24 09:21:01 +00:00
Christopher Michael fa783d8e75 Fix typo.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83276
2013-01-24 09:20:58 +00:00
Christopher Michael b5c4759f1d Rename 'time' parameter in function prototype.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83275
2013-01-24 09:20:55 +00:00
Christopher Michael 0d8e6279c5 Rename 'time' parameter.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83274
2013-01-24 09:20:45 +00:00
Christopher Michael 4203a3afbc Remove unused variable.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83273
2013-01-24 09:20:40 +00:00
Christopher Michael aed4b4e7b6 Remove included evas_outbuf.h
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83272
2013-01-24 09:20:36 +00:00
Christopher Michael c329317711 Modify ecore_evas_wayland_shm to handle passing the wl_shm and
wl_surface to the new double-buffer engine.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83270
2013-01-24 09:20:29 +00:00
Christopher Michael 7ebc5523bb Remove old line which did a wl buffer attach.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83269
2013-01-24 09:19:51 +00:00
Christopher Michael 269ce8364f Remove all old code from ecore_evas that involved creating the wayland
buffer and shm pool.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83268
2013-01-24 09:18:34 +00:00
Christopher Michael ac1ecc770a Add engine output redraws next update get code.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83266
2013-01-24 09:18:19 +00:00
Christopher Michael 17225d31e8 Add merge rectangles code (borrowed from the x11 engine).
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83265
2013-01-24 09:18:15 +00:00
Christopher Michael 824971a110 Add local function prototype for mergine rectangles.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83264
2013-01-24 09:18:09 +00:00
Christopher Michael 082f2c8f83 Add engine idle flush code.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83263
2013-01-24 09:18:03 +00:00
Christopher Michael b5ac8fe948 Add engine output flush code.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83262
2013-01-24 09:17:56 +00:00
Christopher Michael a3559d4c88 Add code for engine redraws push.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83261
2013-01-24 09:17:51 +00:00
Christopher Michael 4c04c1bb54 Add engine output redraws clear code.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83260
2013-01-24 09:17:47 +00:00
Christopher Michael 866576b89b Add engine output redraws rectangle del code.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83259
2013-01-24 09:17:40 +00:00
Christopher Michael 7de14722fe Add engine output redraws rectangle add code.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83258
2013-01-24 09:17:37 +00:00
Christopher Michael 25e5af9ae6 Add engine tile size set function code.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83257
2013-01-24 09:17:34 +00:00
Christopher Michael 6eda15c183 Add eng_output_resize code.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83256
2013-01-24 09:17:30 +00:00
Christopher Michael 3dcaec35b5 Add code to the eng_output_free function to do any cleanup.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83255
2013-01-24 09:17:26 +00:00