Commit Graph

531 Commits

Author SHA1 Message Date
Cedric Bail ad5d75dfcd evas: add support for engine specific extention during thread task. 2013-06-04 11:20:25 +09:00
Simon 23ed5115c0 evas: Fix evas gif image loader for libgif version 5
Because arc doesn't like me much at the moment here's a simple patch to
fix the gif loader for the latest libgif version. DGifOpen now takes a
error param as its final argument, if the param is not NULL it will
return a error code if it fails. Similar to another patch i sent a few
months back. The patch has been tested on OBS for old and new versions.
2013-06-03 09:16:25 +01:00
Chris Michael b524b31256 Add new wayland_egl engine that does buffer age, double/triple
buffering, etc, and uses evas gl_common (so glview/simple tests in elm work).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-31 09:43:23 +01:00
Chris Michael 30bd7c27e0 Add evas_wl_main file.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-31 09:43:23 +01:00
Chris Michael c5355d32ee Add start of new wayland_egl engine code.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-31 09:43:23 +01:00
Chris Michael ae9246beae Add evas_engine header file
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-31 09:43:23 +01:00
Chris Michael a6dcda0adc Add new Evas_Engine_Wayland_Egl header.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-31 09:43:23 +01:00
Chris Michael a0ed1b5b5d Remove old wayland_egl engine code in prep for rewrite to use gl_common.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-31 09:43:23 +01:00
Carsten Haitzler 6a4cdea904 fix evas partial swapotkeep the full re-render in the rects if it switches to full mode. 2013-05-29 21:38:11 +09:00
Chris Michael 23fc3b3da7 Fix possible memory leak reported by klockwork.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-29 13:11:54 +01:00
Carsten Haitzler c8256f5fae fix evas gl engine partial swap to do full swap in full mode. 2013-05-29 17:30:42 +09:00
Chris Michael e232b629a7 At this stage of engine shutdown, the eina log domain has been removed
and is not valid, so don't use ERR to print a message.

Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-05-24 21:36:05 +01:00
Chris Michael 5f5ab9d9c6 minor formatting fixes.
Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-05-24 21:34:33 +01:00
Chris Michael bfc7e7cfd1 Set the surface user data to be the current buffer.
NB: This is needed because some compositors (Weston) are expecting
wl_surface_get_user_data to return a buffer.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-21 10:51:15 +01:00
Rafael Antognolli 99be49551e evas/gl: Use GL_FRAMEBUFFER_BINDING, which is available on both.
Instead of a define from GL_DRAW_FRAMEBUFFER_BINDING to the above one,
just use it directly since it's available on gles and full gl.
2013-05-20 14:21:56 -03:00
Carsten Haitzler 0532a992d9 remove about 16m mem for mesa for extra evgl context
only creating the extra evasgl context on demand when/if needed and
thus save 16m of memory allocations corresponding to the extra context
2013-05-20 18:09:50 +09:00
Chris Michael c727ab8088 Fix antognolli build break when --with-opengl=es.
Basically, EGL does not define a GL_DRAW_FRAMEBUFFER_BINDING so we
test for that and if not found then define it to be
GL_FRAMEBUFFER_BINDING

Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-05-19 07:13:03 +01:00
Chris Michael 31b1e11d8d Revert this, there is no build break apparently. Give cookie back to
antognolli

Revert "include evas_gl_common.h"

This reverts commit 81cee894e1.
2013-05-18 17:52:32 +01:00
Chris Michael 81cee894e1 include evas_gl_common.h
(Bad antognolli, No cookie !!)

NB: Fixes build break !!! If we are going to use defines from glext.h,
let's be sure to have the necessary header included Yes ?? ;)

Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-05-18 15:56:13 +01:00
Carsten Haitzler e7349e8005 disable all the waiting on gl - squeeze some more performance out of gl. 2013-05-18 10:04:37 +09:00
Rafael Antognolli 8254bbc5e3 evas/gl: Restore framebuffer after texture creation.
If we don't do this, the framebuffer object used on shader_array_flush()
will be wrong.

NOTE: shader_array_flush() should take care of setting the fbo
correctly.
2013-05-17 20:31:06 -03:00
Eduardo Lima (Etrunko) 4c3242ca62 evas/wayland-egl: Don't crash when re->win is NULL
Signed-off-by: Eduardo Lima (Etrunko) <eduardo.lima@intel.com>
2013-05-16 15:04:55 -03:00
Carsten Haitzler be59443d78 remove rect leak in swapbuf flush in dri2 software path of evas 2013-05-15 19:38:16 +09:00
Stefan Schmidt efb05eb717 evas: No need to finish a block with NULL statement. 2013-05-14 15:45:22 +01:00
Chris Michael 50f446199a Fix 'return' with no value, in function returning non-void
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-14 10:49:14 +01:00
Sung W. Park 97806103eb evas: fix evas flushing its command queue to wrong gl context in gl-backends
For native surface rendering (glX, egl) in gl-backend,  if pixel get callback
function is called for native rendering, there is a case where evas will
try to call evas_gl_common_context_flush() to flush its remaining commands
in its command queue while the context is set current to the native surface/
context that is called within the pixel get callback.  So, I've added an
engine function that forces a flush before it enters the pixel get callback
function.
2013-05-13 14:12:36 +09:00
Jiyoun Park 35b8b8fbf5 * Evas: Fix crash if app use native surface in wrong engine.
in sw engine, visual cannot be the image data.
2013-05-11 22:40:50 +09:00
Carsten Haitzler fd8cb707b9 free strings in dri/drm swapper so they don't leak. 2013-05-10 13:35:02 +09:00
ChunEon Park 59429c0e66 evas/gl - and don't try blend as possible. 2013-05-10 01:51:42 +09:00
ChunEon Park 0315565b7b evas - don't try blend on gl backened if the render option is COPY 2013-05-10 01:33:56 +09:00
Rafael Antognolli aeb3669c6f evas/wayland_egl: Implement image_mmap engine method.
It looks like several methods like this one should be moved to a common
place (gl_common, maybe).
2013-05-08 17:47:55 -03:00
Sung W. Park 289a666333 evas: Fixed evas_gl multi-window support design issue.
Evas engine is created per window but evas_gl engine was not properly
updating the engine info for new windows that are created. So, addressed
the design issue by passing engine_data to evas_gl engine apis..
2013-05-08 18:39:12 +09:00
Cedric Bail d833244100 evas: add infrastructure to open from Eina_File. 2013-05-08 18:17:00 +09:00
Cedric Bail c3f9d3b8b8 evas: Make Evas_Loader API public. 2013-05-08 18:16:59 +09:00
Jérémy Zurcher 41e59310a5 remove replace eo_data_get() call 2013-05-07 22:46:10 +02:00
Jérémy Zurcher 62cae26de0 evas: fix var used uninitialized on_error 2013-05-07 22:33:10 +02:00
Carsten Haitzler 2aec9927b3 disable glmap/unmap buffer bu default in evas gl engine
it seems glmapbuffer can be nasty overhead on some drivers, so go back
to gldrawarrays by default until such a time as we know a lot more...
i'm looking at YOU nvidia! YOU!
2013-05-07 16:20:02 +09:00
Carsten Haitzler 01d816fb96 fix swapregion rect to account for canvas rotation. 2013-05-07 10:26:43 +09:00
Rafael Antognolli 78d42bcb62 evas/wayland_shm: Don't free the swapper while still in use.
Wait until all the buffers were released before freeing it.
2013-05-06 15:03:09 -03:00
Rafael Antognolli 868206826a evas/wayland_egl: Update this engine after flags and attributes move. 2013-05-06 12:53:37 -03:00
Cedric Bail 0d2c6481b8 evas: final cleanup of the API, should be ready to make it public by now. 2013-05-06 19:02:05 +09:00
Cedric Bail 6929386895 evas: now move eina_file also out of the frame_duration API. 2013-05-06 19:02:05 +09:00
Cedric Bail 7d83e42046 evas: move evas cache API outside of the image data loader API. 2013-05-06 19:02:04 +09:00
Cedric Bail 6f802ab234 evas: start work on making the loader module a public API.
Goal is to be able to remove all internal Evas call from inside all
loader module. To do so we are going to open and hold a reference to the
file from outside of the module, read the header, create the image data,
load the data, close that reference.

Once that done, the next step is to let the file remain open as soon as
the filename/key is set and add an API to set an Eina_File directly. This
way edje can maintain the same file open as it use for an edje object,
keeping things in sync and avoid rendering glitch during update.
2013-05-06 19:02:04 +09:00
Cedric Bail c5b0d28d73 evas: move flags and attribute around. 2013-05-06 19:02:04 +09:00
Cedric Bail 2b61da5a5a evas: remove svg loader from inside the merged tree. 2013-05-06 19:02:04 +09:00
Jiyoun Park e7990ed693 * Evas: Fix gif loader can't load image which has normal frames and
error frames
2013-05-05 00:01:57 +09:00
Carsten Haitzler d47a81ce17 last scissor always scissor stuff broke map. fix it to work again
accounting for fbo's and master clip.
2013-05-04 11:43:02 +09:00
Carsten Haitzler 73a088141e oops merge me 2013-05-03 23:28:30 +09:00
Carsten Haitzler e0a78afef0 oh copying way too much data into vbo's... we copied alloc size not
num size.. and alloc size is much bigger as it makes room for 1024
quads per alloc increase (6*1024 vertexes etc.). literally this drops
e17's cpu usage while compositing stuff by 40%...at least in my test
case.
2013-05-03 23:25:15 +09:00
Carsten Haitzler 1a81f0a8c2 force scissor to always be on indicating partial gl update region so
gpu can.. do more sensible things.
2013-05-03 19:31:28 +09:00
Carsten Haitzler e8228afff6 dont get swapmode (and thus map buffer) unless we have at least SOME
update rects for this frame.
2013-05-02 19:31:47 +09:00
Carsten Haitzler f8c9a8d167 revert the revert... damn you git!
Revert "Revert "Efl: replace eo_data_get for objects data referencing.""

This reverts commit b64a2994b3.
2013-05-02 16:47:16 +09:00
Carsten Haitzler b64a2994b3 Revert "Efl: replace eo_data_get for objects data referencing."
This reverts commit 654a3f5f94.
2013-05-02 14:17:19 +09:00
Chris Michael 5dde3b3bfd Add 'mode' and 'lost_back' fields to render_engine.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-01 11:42:05 +01:00
Chris Michael d7ab7b5c95 Add enum for swap mode.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-01 11:42:05 +01:00
Chris Michael 1f229105f4 Fix check for Outbuf alpha.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-01 11:42:05 +01:00
Chris Michael 67c2a38144 Ensure destination_alpha is set in Outbuf when we (re)configure.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-01 11:42:05 +01:00
Chris Michael c7192a56f4 Add evas_outbuf_reconfigure function.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-01 11:42:05 +01:00
Chris Michael ac4f1191ea Change rotation to unsigned int.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-01 11:42:05 +01:00
Chris Michael 843e5df1e5 Add evas_outbuf_reconfigure function prototype
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-01 11:42:05 +01:00
Chris Michael e6d993f774 Free any rendering rectangles when we free the render_engine.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-01 11:42:05 +01:00
Daniel Zaoui 654a3f5f94 Efl: replace eo_data_get for objects data referencing. 2013-05-01 10:37:08 +03:00
Chris Michael 53f9d6ce8c Check for a valid buffer before we free it (this fixes resize issues
when async_render).

NB: If buffer is still valid, that means compositor is not finished
with it yet, so don't release it.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-30 14:55:54 +01:00
Chris Michael 036454746b Fix update_region to use bpl from the buffer
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-30 14:55:54 +01:00
Chris Michael c71edd740c Add some initial code to create the Outbuf and to free it.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-30 07:27:20 +01:00
Chris Michael 79b65ab184 Override the output_free engine function.
Add code to cleanup on engine shutdown.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-30 07:23:40 +01:00
Chris Michael 6a369b2a2a If we have an existing outbuf, then free the old one and try to create
a new one.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-30 07:20:52 +01:00
Chris Michael 021e76aa25 Try to create the Outbuf during initial engine setup.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-30 07:16:33 +01:00
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
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 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 1435a48d4d Remove blank line
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 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
Rafael Antognolli 8ef6568ea7 ecore/evas wayland_shm: Add support for window rotation. 2013-04-23 18:52:54 -03:00
Cedric Bail f2e95b094a evas: take stride into account with swapbuf. 2013-04-23 16:48:50 +09: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
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
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
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
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 f11dc2f184 evas: fix crash with Evas buffer when target colorspace has no alpha. 2013-04-03 19:18:58 +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 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
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 8b55c24fe8 cleanup some egl/glx/gl extension string matching and proc address
vetos.
2013-03-12 15:30:05 +09:00
Carsten Haitzler 200bdfd8d4 in theory suport partial swaps with SEC extensions... untested atm. 2013-03-12 08:46:25 +09:00
Cedric Bail 3fe8098e9c include some header files conditionally add specific test for fcntl 2013-03-11 10:34:47 +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
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
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
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
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 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 f541b8af90 Add edges struct to engine information.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
2013-02-19 10:18:02 -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
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
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
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
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
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
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 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 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 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
Christopher Michael ae0076c929 Create engine context if missing and return success.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83254
2013-01-24 09:17:23 +00:00
Christopher Michael a2e3bfc356 Reassign engine data output
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83253
2013-01-24 09:17:19 +00:00
Christopher Michael 8fa451f2db If we have an existing render engine already, then free the existing
output buffer, create a new one, and assign render engine functions.

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

SVN revision: 83252
2013-01-24 09:17:15 +00:00
Christopher Michael f72dfd4c31 Try to create the new Render_Engine on initial engine setup.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83251
2013-01-24 09:17:11 +00:00
Christopher Michael 034721bcd8 Add check to make sure output buffer creation worked.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83250
2013-01-24 09:17:00 +00:00
Christopher Michael 8a7ba73169 Add code to create the output buffer of the render engine and set the
render_engine functions.

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

SVN revision: 83249
2013-01-24 09:16:55 +00:00
Christopher Michael 0fdbf94c23 Add initial swapper code.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83248
2013-01-24 09:16:52 +00:00
Christopher Michael 7e13dc5459 Add initial header file for swapper.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83247
2013-01-24 09:16:49 +00:00
Christopher Michael 1d3cfce8a7 Remove include for evas_outbuf.h
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83246
2013-01-24 09:16:46 +00:00
Christopher Michael f76eb06874 Add initial swap buffer code.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83245
2013-01-24 09:16:42 +00:00
Christopher Michael 82e807115f Add initial swap buffer header file.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83244
2013-01-24 09:16:39 +00:00
Christopher Michael 9b9fdf840b Set tilebuffer tile size in engine setup.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83243
2013-01-24 09:16:36 +00:00
Christopher Michael fe75b1bf24 Try to create new tilebuffer in engine setup.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83242
2013-01-24 09:16:22 +00:00
Christopher Michael f0a6c5ca26 During engine setup, try to allocate a new Render_Engine structure.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83241
2013-01-24 09:16:19 +00:00
Christopher Michael 753aa3d487 Add base function for engine output setup.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83240
2013-01-24 09:16:15 +00:00
Christopher Michael b1cadea6c5 Add local function prototype for engine output setup.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83239
2013-01-24 09:16:12 +00:00
Christopher Michael b17b417b73 Add test for 'swapping' (ie: buffering).
NB: This env variable is going to change for the wayland engine(s).

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

SVN revision: 83238
2013-01-24 09:16:09 +00:00
Christopher Michael 5296f0c2cd Add some evas_common init functions if we have not previously
initialized this engine before.

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

SVN revision: 83237
2013-01-24 09:16:06 +00:00
Christopher Michael 7cd113ea47 Test for valid engine output to see if we need to create it.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83236
2013-01-24 09:16:03 +00:00
Christopher Michael 1e41dcd37f Try to get the Evas public data from eo.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83235
2013-01-24 09:15:59 +00:00
Christopher Michael 98e58d34a1 Try to cast the passed in info to our engine info.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83234
2013-01-24 09:15:56 +00:00
Christopher Michael 57bb76834d Try to free the allocated engine info structure.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83233
2013-01-24 09:15:53 +00:00
Christopher Michael 80f8fcfeeb Return our allocated engine info structure.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83232
2013-01-24 09:15:49 +00:00
Christopher Michael f3d29d891b Fill in some default properties for our engine info.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83231
2013-01-24 09:15:15 +00:00
Christopher Michael c13e0e7b5f Try to allocate our engine info structure.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83230
2013-01-24 09:15:12 +00:00
Christopher Michael 3cdf6d6a50 Tell the Evas_Module about our functions and return success.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83229
2013-01-24 09:15:08 +00:00
Christopher Michael 77a205eac8 Define which functions this engine will override from the
software_generic functions.

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

SVN revision: 83228
2013-01-24 09:15:05 +00:00
Christopher Michael aa1bd96e2d Copy the inherited functions into our local variable so we can
override some functions.

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

SVN revision: 83227
2013-01-24 09:15:00 +00:00
Christopher Michael 1dbfd6c541 Try to inherit functions from the software_generic engine.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83226
2013-01-24 09:14:57 +00:00
Christopher Michael 145e8f8ced On module open, create our log domain
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83225
2013-01-24 09:14:54 +00:00
Christopher Michael 6340706c3f Unregister the module log domain on shutdown of the engine.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83224
2013-01-24 09:14:50 +00:00
Christopher Michael e91f12c8e9 Add skeleton code for evas module open/close, etc.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83223
2013-01-24 09:14:46 +00:00
Christopher Michael bc8f383098 Add skeleton code for evas engine functions.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83222
2013-01-24 09:14:31 +00:00
Christopher Michael 318eb79973 Add variable(s) for engine function overrides.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83221
2013-01-24 09:14:27 +00:00
Christopher Michael 440c4b72e0 Add prototypes for evas engine functions.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83220
2013-01-24 09:14:22 +00:00
Christopher Michael 12320fcb5e Add variable for log domain.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83219
2013-01-24 09:14:19 +00:00
Christopher Michael 0579a8b82c Add Render_Engine structure.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83218
2013-01-24 09:14:16 +00:00
Christopher Michael a76b0245b9 Add initial evas_engine C file.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83217
2013-01-24 09:14:13 +00:00
Christopher Michael fd10050f53 Add intial Outbuf structure.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83216
2013-01-24 09:14:10 +00:00
Christopher Michael 158fe19edb Add enum for render mode (double, triple, etc).
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83215
2013-01-24 09:14:07 +00:00
Christopher Michael 7e85b84098 Add Outbuf Depth enum.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83214
2013-01-24 09:14:04 +00:00
Christopher Michael 9d1d8f4c63 Add initial evas_engine header file.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83213
2013-01-24 09:14:00 +00:00
Christopher Michael 1577c5913e Add initial Evas_Engine_Wayland_Shm header file and remove legacy
'dest' field from engine info structure.

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

SVN revision: 83212
2013-01-24 09:13:57 +00:00
Christopher Michael 0b5e371bc7 Remove old wayland shm engine code.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83211
2013-01-24 09:13:54 +00:00
Sung Park 0c7425a0aa Add EVAS_GL_DIRECT_MEM_OPT to enable on-demand fallback memory
allocation policy for EvasGL direct rendering.

Also made some variable name changes and some other minor fixes.



SVN revision: 83199
2013-01-24 04:51:51 +00:00
Christopher Michael 8ce1afd62f leak--
If we do not have a private palette here, we free the buffer and
return NULL, However we never free'd the xob that was allocated
previously.

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

SVN revision: 83163
2013-01-23 11:12:52 +00:00
Christopher Michael 8aead73fe5 Free the previously allocated rectangle is we do not need it.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83162
2013-01-23 11:07:59 +00:00
Christopher Michael c4b536e500 Do not allocate Outbuf_Region if we do not need it (leak--).
- If the output buffer has a 'onebuf' and we are going to return
that, then we do not need to allocate an Outbuf_Region.

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

SVN revision: 83161
2013-01-23 11:07:55 +00:00
Christopher Michael b07683009a leak--. If we are returning NULL on buffer_new, then free any allocated xob
structure.

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

SVN revision: 83158
2013-01-23 10:55:04 +00:00
Carsten Haitzler 5e8f9c0689 oops - minor "never wil happen" leak - free rect.
SVN revision: 83110
2013-01-22 23:31:43 +00:00
Daniel Willmann fecf68a886 efl: Unbreak evas gif-loader animation support
Always returning -1 for the frame duration does not have the desired
effect. Fix the logic checking whether eina_file_open has succeeded.

Animated GIFs play way too fast without this.

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>

SVN revision: 83100
2013-01-22 19:00:08 +00:00
Sung Park d606adf10d Applied on-demand memory allocation policy for Evas GL Surface
for direct rendering optimization.  For direct rendering in EvasGL,
it falls back to FBO rendering if the conditions are not met.  Before,
the fallback resources were created in the beginning but now they are
created and destroyed on need base.



SVN revision: 83057
2013-01-22 07:00:12 +00:00
Carsten Haitzler 01739d4cc1 oops - forgot to force 24bpp to 32bpp in drm swapper.
SVN revision: 83027
2013-01-21 03:37:46 +00:00
Gustavo Sverzut Barbieri df701d8ca2 some clang warning cleanups i forgot to commit
SVN revision: 83024
2013-01-21 00:22:35 +00:00
Gustavo Sverzut Barbieri 1486f40f9b fix bug spotted by clang.
SVN revision: 83015
2013-01-20 14:24:39 +00:00
Leandro Pereira 7d9edad225 evas/engines/gl_sdl: Build and warning fixes.
SVN revision: 82937
2013-01-17 14:32:05 +00:00
Ulisses Furquim 09f342fdeb evas/async_render: use image scalecache
SVN revision: 82890
2013-01-16 16:07:46 +00:00
Carsten Haitzler 73b2f09b74 fix some core swapper logic isue with rect updates... nasty nasty
nasty to catch! :(



SVN revision: 82859
2013-01-16 06:41:02 +00:00
Paulo Alcantara b557bd9e0d efl/engines: Introduce multi_font_draw() function
This new engine function will only be used in software generic for
now - since it's the only engine used with the async render.

This function has been introduced in order to avoid growing thread
command queue too much to draw a text_props at a time on render calls
from textgrid objects.

Patch by: Paulo Alcantara <pcacjr@profusion.mobi>



SVN revision: 82832
2013-01-15 17:35:11 +00:00
Ulisses Furquim 48c15aaa74 evas/async_render: only get a ref if a thread cmd was issued
This patch should make us get a reference on images, maps and glyphs
which are sent in a command to the render thread. Before we were doing
some useless ref and unref operations.



SVN revision: 82666
2013-01-11 19:57:09 +00:00