Commit Graph

621 Commits

Author SHA1 Message Date
Daniel Willmann adcde1f87e evas gl_common: Fix incorrect number of parameters in functions
_evgl_tls_resource_get() and _surface_context_list_print() don't take
parameters.

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-06-26 14:42:10 +01:00
Tom Hacohen 182dfb82d4 Evas gl: Fixed double-free when failing gl init. 2013-06-26 10:40:44 +01:00
Cedric Bail d64c808a73 evas: check wether we do have a data or not. 2013-06-26 11:49:16 +09:00
Stefan Schmidt 8deb75463b emotion: Check engine for NULL before dereferencing.
It might be that our engine list is empty and thus our engine might still
be set to NULL. Better check and return if this is the case instead of
dereferencing NULL.
2013-06-25 14:42:09 +01:00
Chris Michael abf8a3b7bf Format for EFL style
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-25 14:14:04 +01:00
Chris Michael 0615dfe4ee Add missing safety checks for valid proxy objects before trying to
call functions on the object

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-25 14:14:04 +01:00
Chris Michael aa54fcf059 Check that ecore_wl_init succeeds before trying to make calls into it.
Fix formatting.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-25 09:31:52 +01:00
Jan Arne Petersen f656aa397f ecore_imf: Add support for wayland
Add an input method module supporting the Wayland input method protocol.

In v2:
 - Missing call to ecore_wl_shutdown() in im_module_shutdown()
 - Access the already stored 'wayland globals' with ecore_wl_globals_get()
 - Fixed compilation by adding -I(top_srcdir)/src/efl to CFLAGS
 - EFL formatting fixes

Signed-off-by: Eduardo Lima (Etrunko) <eduardo.lima@intel.com>
2013-06-24 16:14:14 -03:00
Chris Michael 0ae7282869 Port cedric's async uploading GL texture commit to wayland_egl engine.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-24 10:14:21 +01:00
Chris Michael 712a528025 Make gl_x11 compile again
eglSwap|BuffersRegion was replaced with eglSwapBuffersWithDamage.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-24 09:27:14 +01:00
Cedric Bail d06a0982ef evas: add support for asynchronously uploading GL texture.
NOTE: when using Evas_Object image preload infrastructure the GL texture
upload was uploaded from the main loop during the rendering stage. This
could lead to some frame drop during fast animation due to the time needed
to upload that texture.

This patch fix this problem by uploading a small texture quickly (16x16)
and waiting for going back to the main loop to be able to use the same GL
context from another thread to do the texture upload asynchronously without
blocking the main loop.
2013-06-24 12:04:18 +09:00
Christopher 1633d7f3bb Fix compiler warning about uninitialized variables
Signed-off-by: Christopher <devilhorns@comcast.net>
2013-06-23 12:53:53 +01:00
Carsten Haitzler 7c65f576df evas: remove segv added by cedric fastpath optimization 2013-06-22 10:58:03 +09:00
Sebastian Dransfeld 336f6ec328 efl: formatting 2013-06-20 13:28:18 +02:00
Sebastian Dransfeld 068f1ddc62 efl: formatting 2013-06-20 13:08:36 +02:00
Sebastian Dransfeld 51023d2d4f evas: Keep sane name for public header
Evas_Common.h should be used for the public header, and rather rename
evas_common.h internal header to another name.

Sa:
Evas_Common_Header.h -> Evas_Common.h
evas_common.h -> evas_common_private.h

Shouldn't have both Evas_Common.h and evas_common.h because of case
insensitive filesystems.
2013-06-20 12:53:29 +02:00
Cedric Bail 6adb604dae evas: fix texture allocation bugs. 2013-06-20 17:36:24 +09:00
Cedric Bail c9c77a4004 evas: fast path for map with same color on all corner. 2013-06-20 17:35:04 +09:00
Chris Michael f6349ef9f9 Ooops, missing on "get_pixles" --> "pixels_get" conversion
Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-06-17 23:37:18 +01:00
Chris Michael 0700e9dcc0 Fix render engine function "get_pixels" to be "pixels_get" (EFL
prefers verbs to be last for function declarations).

Also, remove unnecessary if block which was checking for the
Render_Engine pixels_get function as it was previously checked for in
the 'if' above.

Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-06-17 23:33:49 +01:00
Chris Michael dba0a5ea1f Formatting fixes
Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-06-17 23:32:20 +01:00
Sung W. Park 8e6f0aa11c Evas: add partial rendering support for evasgl direct rendering
Evas_GL Direct rendering is an optimization path that renders
directly to the window if conditions are met.  Because evas gl
backend used to re-render the entire screen, evas_gl direct
rendering didin't have to concern with partial region rendering.
Now that partial rendering/swapping has been applied to evas gl-
backend, evas_gl direct rendering also had to take into account
clip regions. in order to properly apply it, some adjustments
were made to the engine functions and etc.
2013-06-17 18:32:00 +09:00
Sung W. Park 316be3e6c7 Revert "Saving evasgl direct partial rendering fix temporarily"
This reverts commit e6359132de.
2013-06-17 18:22:15 +09:00
Sung W. Park 62e146f2fc Revert "Touch for evas gl direct rendering partial rendering/swap fix."
This reverts commit 382ffbb4f5.
2013-06-17 18:22:04 +09:00
Sung W. Park d5d5a0125d Revert "Added Wayland fix for evas_gl direct fix"
This reverts commit e1c238b1be.
2013-06-17 18:21:55 +09:00
Sung W. Park e1c238b1be Added Wayland fix for evas_gl direct fix 2013-06-17 17:52:16 +09:00
Sung W. Park 382ffbb4f5 Touch for evas gl direct rendering partial rendering/swap fix. 2013-06-17 17:52:16 +09:00
Sung W. Park e6359132de Saving evasgl direct partial rendering fix temporarily 2013-06-17 17:52:16 +09:00
Chris Michael 509090bafc Port wayland_egl changes for swapbufferswithdamage to gl_x11
Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-06-14 12:30:17 +01:00
Chris Michael 0926ed612f eglSwapBuffersWithDamage actually returns an EGLBoolean (unsigned
int), so fix.

Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-06-14 12:26:11 +01:00
Chris Michael 4d86f508ae Formatting fix for 80 columns...Spankies !! ;)
Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-06-14 11:41:55 +01:00
Stefan Schmidt 64c7bd14df eina/mp/one_big: Add a comment to clarify why we do not memset the complete memory.
To avoid people getting confused over this code, like myself, add a comment
to clarify that only the elements need to be set to zero while the payload
does not matter here.
2013-06-14 09:56:55 +01:00
Jean-Philippe Andre 82584a85fb evas/cserve2: Check for errors in evas sw engine 2013-06-14 16:38:18 +09:00
Jean-Philippe Andre 6f548d59af evas/cserve2: Fix crash in expedite test 23
Test 23: load lots of scaled images and draw them
Problem: cs2 fails to load more images at some point. (root cause to be fixed!)
After that, client expects some data, but there is none, so it segfaults.
2013-06-14 16:38:18 +09:00
Cedric Bail 1403b3a9ad evas: preliminary work on texture destruction for async preload of texture. 2013-06-14 16:38:18 +09:00
Cedric Bail 1073084807 evas: change cache API to forward Eo object. 2013-06-14 16:38:18 +09:00
Cedric Bail ab9c734b7f evas: cleanup GL texture allocation with some code refactoring. 2013-06-14 16:38:18 +09:00
Carsten Haitzler 745ce709a0 evas: wayland_egl - mirror changes for qcom tile begin/end in wayland egl. 2013-06-14 15:34:51 +09:00
Carsten Haitzler 7a9f40b5ee evas: wayland egl - mirror changes to gl_x11 for swapbufferswithdamage 2013-06-14 15:32:39 +09:00
Carsten Haitzler c1190d4539 evas: gl engine: chg eglswapbuffersregion to swapbufferswithdamage extn instead. 2013-06-14 14:42:03 +09:00
Jérémy Zurcher 1d3fd66860 eina_chained_mempool: typo 2013-06-12 23:34:40 +02:00
Jérémy Zurcher efe5fbb780 eina_chained_mempool: fix ERR arg format 2013-06-12 23:34:40 +02:00
Eduardo Lima (Etrunko) d3292a7ae9 Split .gitignore into multiple files
Signed-off-by: Eduardo Lima (Etrunko) <eduardo.lima@intel.com>
2013-06-11 18:18:50 -03:00
Carsten Haitzler fdabe06989 evas - partial rendering support now for qualcomm extn too. 2013-06-11 18:12:07 +09:00
Chris Michael b9a6337b67 Egl Overhaul (ecore_evas part)
- Add code to allow Async Render with Wayland_Egl
  (NB: Currently disabled. Evas_Textgrid borks when this is enabled)
- Create ecore_wl_window first so we can get surface and pass to evas.
- During show, we no longer need to pass the surface to evas.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:53 +01:00
Chris Michael c2a2b36083 During shm engine creation, we can create the ecore_wl_window first
AND get the surface for it...so that we can pass the surface directly
to the evas engine.

NB: Works. nothing broken.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:53 +01:00
Chris Michael c4ee53a689 Egl Overhaul (ecore_evas part)
- In common_render_updates_process, calls to window_damage will
Accumulate the damage, so add a call After to push damages.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:53 +01:00
Chris Michael 6b1e8905f8 Ok ... Big Wl Egl Overhaul...(evas portion)
- Setenv for egl_platform before we init gl/egl, etc
 - Ignore check for NULL surface to indicate destroying (this is all
not need now).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:53 +01:00
Chris Michael 9276cca32f Fix move_resize to call the proper function.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:53 +01:00
Chris Michael a4dea5a0cb Bunch of minor "consistency" changes to bring egl and shm code in-sync.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:52 +01:00
Chris Michael 0dd34d31e2 Add support for move_resize.
Bunch of minor "consistency" changes to bring egl and shm code in-sync.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:52 +01:00
Chris Michael e9757ad8eb Add async render support for ecore_evas_wayland_egl
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:52 +01:00
Chris Michael 31a98ebd77 Add wl_egl_window to private structure.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:52 +01:00
Chris Michael ec86e11eee Remove dead commented code and fix up formatting.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:52 +01:00
Chris Michael 6e54a050d8 Add pre_post_swap_callback_set to Wayland Interface for Ecore_Evas.
Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-06-06 04:42:57 +01:00
Chris Michael b951b98d47 Set render_engine info to new information in eng_setup before we do
comparisons.
Add comment about NULL surface being passed in.

Fix segfault when we close windows...uartie, this one's for you ;)

Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-06-06 03:51:57 +01:00
Chris Michael 4d505eed1c When checking for engine info changes, use the New engine info passed
in to us for the checks (not the old existing engine info).

NB: Fixes T134 and T135 buggers

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-05 13:24:09 +01:00
Carsten Haitzler d32758e2de evas: mirror partial swap fix in wl egl and move to alloca for rect buf. 2013-06-05 18:11:46 +09:00
Carsten Haitzler 0b8815a7e1 evas: fix partual swap rect output list - coords wrong. 2013-06-05 18:11:46 +09:00
Jiyoun Park ebf0cd6728 Evas: fix gif cannot decode alpha value correctly. 2013-06-05 15:26:09 +09:00
Carsten Haitzler 20834f0925 match egl changes in x11 with wl. 2013-06-04 15:46:24 +09:00
Carsten Haitzler 2bfe58887d evas gl: do not assume querying extension strings are extns in glx and egl. 2013-06-04 15:35:15 +09:00
Cedric Bail 080ce9316b evas: refactorize gl texture creation code. 2013-06-04 15:04:19 +09:00
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
Ryuan Choi 32b3132c84 ecore_evas/x: Fixed that cursor object was not disappear
When moved mouse among two objects having cursor set,
EVAS_CALLBACK_MOUSE_OUT and EVAS_CALLBACK_MOUSE_IN are fired.

I observed that evas_object_del in callback of EVAS_CALLBACK_MOUSE_OUT
calls EVAS_CALLBACK_MOUSE_IN
so that newly added cursor object was detached.
2013-05-21 09:38:20 +09: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
Chris Michael a4e30e597c Add missing NULL fields.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-16 13:22:35 +01:00
Chris Michael 9325929df3 Revert "ecore evas wayland: if(()) are used for assignments, add missing NULL fields"
This reverts commit ab505d5d23.
2013-05-16 13:20:21 +01:00
Jérémy Zurcher ab505d5d23 ecore evas wayland: if(()) are used for assignments, add missing NULL fields 2013-05-16 13:17:11 +02: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 d22a4c6ef9 Ooops, this should return the allocated Ecore_Evas.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-14 11:30:37 +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
Chris Michael dd364de99d Start on basic ecore_evas_drm code.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-14 10:49:14 +01:00
Chris Michael 817284fb96 Add start of ecore_evas_drm code.
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
Cedric Bail d92783d5f7 emotion: rename Emotion_Module.h to emotion_modules.h 2013-05-10 10:48:33 +09:00
Raoul Hecky f6bd3f695f ecore_evas: backport svn r83875.
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-05-10 10:48:33 +09:00