Commit Graph

674 Commits

Author SHA1 Message Date
Sung W. Park 3074280217 Evas: adding image dump debug feature for gl_x11 backend
Added a feature to dump out a png image before calling SwapBuffers.
To turn on the feature, use the following env vars.

EVAS_GL_SWAP_BUFFER_DEBUG_DIR="dir_name" sets the name of the directory
that the files will be output to and enables the debug mode.

EVAS_GL_SWAP_BUFFER_DEBUG_ALWAYS=1 will enable the writing of the
files every frame.  This in effect turns on the swap_buffer_debug
variable, which can be set on or off in gdb for debugging.  This will
allow dumping of certain frames without having to dump out a ton of
files to track down one frame.
2013-07-23 10:27:28 +09:00
Carsten Haitzler 382f3d5d60 emotion: warnings-- for x overlay/xv. 2013-07-18 20:07:01 +09:00
Carsten Haitzler f9f0b717e6 emotion - fix shutdown to ensure all pending async calls are gone too. 2013-07-18 20:00:22 +09:00
Carsten Haitzler 2e74e41ed3 emotion gst: disable x window under/overlay suport for now. broken badly. 2013-07-17 18:37:03 +09:00
Cedric Bail 906d7adad7 evas: put the test after we had a chance to update the texture. 2013-07-15 19:12:01 +09:00
Carsten Haitzler 3c891b4058 evas gl: cover some more cannot-allocate-texture cases. 2013-07-15 10:59:29 +09:00
Chris Michael 9a4fc9ad44 Add engine interface code for:
- ecore_evas_pixmap_visual_get
- ecore_evas_pixmap_colormap_get
- ecore_evas_pixmap_depth_get
Assign interface functions for above when creating the new interface.
When creating the pixmap, store the visual and colormap for later
retrieval.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-11 10:49:25 +01:00
Chris Michael fc9ee11462 Add visual and colormap to pixmap structure
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-11 10:49:25 +01:00
Carsten Haitzler edd39272bd evas gl: if img src size == dst on draw, turn smooth off to avoid ghosting 2013-07-11 17:39:08 +09:00
Chris Michael 4a40c8298b Remove prev_front pixmap from structure
Use a local variable to hold previous front pixmap while swapping

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-11 08:56:44 +01:00
Carsten Haitzler 199fb6523e evas gl engine - paranoia: check max texture size limits on texture alloc 2013-07-11 12:39:44 +09:00
Stefan Schmidt 92de5dd3c6 evas/eet: Prevent libjpeg to redefine INT32.
The define prevents that INT32 gets redefined in libjpeg while it
already is defined for the mingw build.
2013-07-09 11:19:28 +01:00
Cedric Bail f54a09ef83 Revert "evas: use Eina_Tiler for GL backend."
This reverts commit 87b49cf103.
2013-07-09 10:42:01 +09:00
Cedric Bail 87b49cf103 evas: use Eina_Tiler for GL backend.
This is a start to leverage more on our infrastructure so that later
optimizing Eina_Tiler will be more usefull.
2013-07-09 09:48:09 +09:00
Chris Michael 6e49578cb7 Check for valid string before trying to write (potentially NULL) to
the pipe.

NB: Fixes Coverity CID1039398

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 14:38:54 +01:00
Chris Michael 1d9a19f1ee Check for valid 'send' before trying to call
emotion_gstreamer_buffer_free (which will dereference it).

NB: Fixes Coverity CID1039397

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 14:34:41 +01:00
Chris Michael c58347b0a5 Check for valid 'send' before trying to call
emotion_gstreamer_buffer_free (which will derefence it).

NB: Fixes Coverity CID1039396

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 14:33:15 +01:00
Chris Michael 6229a871de When printing this debug message, check for valid extension string get
function First.

NB: Fixes Coverity CID1039394

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 14:30:41 +01:00
Chris Michael 1140dbceeb Add missing eina_lock_release when we exit
Since we take the lock at the start of the function, we should release
the mutex lock if we are going to return.

NB: Fixes Coverity CID1039381

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 14:10:44 +01:00
Chris Michael 6198351629 Fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 14:09:50 +01:00
Chris Michael 5e94e640c6 Fix function and protoype for pointer_xy_get (missing const).
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 14:09:02 +01:00
Chris Michael a8bb3ec5ce Add common wayland function to get the pointer xy from wayland
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 11:02:58 +01:00
Chris Michael 4d2de522fa Add pointer_xy_get function to engine functions
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 11:00:28 +01:00
Chris Michael f0e47a2219 Add pointer_xy_get function to engine functions
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 10:59:20 +01:00
Chris Michael fca4267ae4 Add functions to X engine for ecore_evas_pointer_xy_get and
ecore_evas_pointer_warp

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 10:57:00 +01:00
Chris Michael 6ea61e3e56 Fix formating ... Wow, how did this get sooo screwed ? :(
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 10:16:09 +01:00
Chris Michael 9103b7e2e3 Check the return of ecore_x_init and error out if that fails.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 09:21:33 +01:00
Chris Michael 461e406b91 Fix memleak reported by Coverity.
NB: Fixes Coverity CID1039652

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 08:43:24 +01:00
Chris Michael 1ea718c283 Fix memleak reported by Coverity.
NB: Fixes Coverity CID1039654

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 08:38:54 +01:00
Chris Michael 72347e539b Fix copy/paste error in gl_common_context_push. (I beleive that texm
texture was wanted here, not tex texture).

MB: Fixes Coverity 1039670

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 08:26:08 +01:00
Chris Michael 73a68f2f0d Add code for gl_pixmap_new and pixmap_get functions
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 07:21:51 +01:00
Carsten Haitzler 28c2bd1918 evas - gif: refactor a lot of the gif animated loader code to be much cleaner. 2013-07-06 15:12:36 +09:00
Carsten Haitzler fab94cb3ea evas - fix gif animatd loader segv just inroduced. 2013-07-05 23:11:51 +09:00
Chris Michael 7431e6a02a Check for valid ee->prop.window before trying to fetch window
attributes from it.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-05 11:09:25 +01:00
Chris Michael 2c322cc7b1 Add code for ecore_evas_<engine>_pixmap_new/get functions.
- Add "pixmap" structure to engine_data.
    - Free the front and back pixmaps when the ecore_evas gets freed.
    - On resize, drop the backing pixmap if size is different.
    - Before we render, check pixmap size vs EE size and create new
backing pixmap if needed.
    - After we have rendered into the backing pixmap, flip it to the
front so that any calls to "pixmap_get" will return the proper one.
    - Add pixmap_new_internal code (the actual guts for all this)

NB: These can be used to create an internally double-buffered
ecore_evas that renders to a pixmap (not a window).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-05 10:44:18 +01:00
Cedric Bail 913d56da9e evas: make it possible to disable preload for buggy driver. 2013-07-05 15:39:44 +09:00
Cedric Bail 2efcd3bb19 evas: fix gif loader accessing uninitialized value. 2013-07-05 11:35:06 +09:00
Chris Michael 8fc3c9c8bc Revert "EFL formatting and 80 column wrap"
Revert this because I have better things to do than argue about commit
messages.

This reverts commit ee5483bee1.
2013-07-03 14:30:40 +01:00
Chris Michael ee5483bee1 EFL formatting and 80 column wrap
NB: Nothing functional (yet)

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-03 13:54:35 +01:00
Cedric Bail 0f153be0e5 evas: fix bugin Enlightenment triggering a path where data are loaded, but flags is not set.
This fix T187.
2013-07-03 12:48:38 +09:00
Carsten Haitzler 22ad827274 evas gl: fix origin of swapbufferswithdamage to be BOTTOM-LEFT based... 2013-07-03 12:11:18 +09:00
Stefan Schmidt ed08c1832c emotion: Another check for engine being NULL.
Missed this second occurance in 8deb75463b.
Now also fixed this potential null pointer dereference when the engine
list is empty.
2013-07-02 09:45:35 +01:00
Carsten Haitzler 1f2c19749f in drm_shutdown set tried to false... 2013-07-02 17:26:18 +09:00
Jean-Philippe Andre f1506d8dd2 evas/loaders: use Eina_Stringshare where needed.
Evas loaders' open() function expect the key to be a stringshare,
so declare it as such and keep using ref() without add().

Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-07-02 16:58:10 +09:00
Jean-Philippe Andre 687c4aa475 evas/cserve2: use Eina_Stringshare.
We must close the image after loading the data.
Also, Evas loaders expect stringshares.

Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-07-02 16:58:10 +09:00
Jean-Philippe Andre 65fcf390b4 evas/loaders: init/shutdown EET from loader module.
cserve2 slave requires Eet to be initialized before use :)

Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-07-02 16:58:10 +09:00
Jean-Philippe Andre a09efda8d2 evas/loaders: add log domain for ICO loader.
This is to remove the dependency of the ico loader on Evas itself.

Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-07-02 16:58:10 +09:00
Jean-Philippe Andre 90d8647c02 evas/cserve2: fix crash with YUV tests in expedite.
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-07-02 16:58:10 +09:00
Jiyoun Park 958a430f5e * Evas: Fix jpeg loader cannot deal with exif information correctly 2013-06-29 15:00:43 +09:00
Chris Michael f9348a5015 Fix klockwork possible memleak report:
If we get an error trying to "make current" an allocated surface, then
we should free that allocated surface.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-28 14:23:57 +01:00
Chris Michael d92edb51a4 Fix memleak reported by klockwork:
If a jpeg image is rotated and we have allocated space for ptr_rotate,
then we should free it Always ... Not Only if the degrees are
180...because we allocate it always

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-28 13:39:45 +01:00
Eduardo Lima (Etrunko) 2d84a8a8fb WIP
Signed-off-by: Eduardo Lima (Etrunko) <eduardo.lima@intel.com>
2013-06-26 10:58:36 -03:00
Daniel Willmann dd76f4cd05 evas gl_x11: Fix uninitialized use of re in eng_output_flush()
In case of render_mode == EVAS_RENDER_MODE_ASYNC_INIT we're jumping
directly to end which then calls
evas_gl_preload_render_unlock(eng_preload_make_current, re);

Make sure re is initialized with the render engine data so we don't
dereference junk.

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-06-26 14:42:10 +01:00
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