Commit Graph

513 Commits

Author SHA1 Message Date
Stanislav Vorobiov 9e3b778acb evas - fix gl egl textrue from pixmap support y invert query extension
Instead of hardcoding yinvert=1 we should query for
EGL_NOK_texture_from_pixmap extension and if it's present
use EGL_Y_INVERTED_NOK value
2013-11-29 19:09:17 +09:00
Cedric Bail 403098fdb2 evas: add missing define for some target. 2013-11-27 13:51:40 +09:00
Cedric Bail f45a75f925 Revert "Revert "evas: allow fuzziness on the texture format returned by GL.""
This reverts commit 87385b05c3 that is necessary for desktop target.
2013-11-27 13:51:40 +09:00
Rafael Antognolli 87385b05c3 Revert "evas: allow fuzziness on the texture format returned by GL."
This reverts commit 2b5b3438e8.

Breaks gl engines when using GLES + EGL.
2013-11-26 11:49:13 -02:00
Cedric Bail 2b5b3438e8 evas: allow fuzziness on the texture format returned by GL. 2013-11-26 17:00:24 +09:00
Carsten Haitzler e03ab668a1 evas - gl engine - async texture upload - protect null tex handle access
this stops a very blantant segv when accessing async->tex when it is
NULL on _evas_gl_preload_main_loop_wakeup().
2013-11-25 22:29:12 +09:00
Carsten Haitzler 2fa8d0cd56 evas - map fast path for rectangular objects had color mul wrong
this fixes the color multiplication logic in the fast path to be
correct.
2013-11-21 21:00:41 +09:00
Sebastian Dransfeld aed4dbea30 evas: No error if blacklisted, just warn 2013-11-21 10:51:25 +01:00
Cedric Bail de13560056 evas: those if (re) are useless indeed.
Should fix CID 1129611 and CID 1129612 from this week coverity scan.
2013-11-18 19:21:06 +09:00
Carsten Haitzler 294b05c874 oops - remove printf debug. 2013-11-17 10:24:59 +09:00
Carsten Haitzler b676a97960 evas - evasgl ... make osmesa sw render support work again 2013-11-17 10:23:25 +09:00
Carsten Haitzler 3411fccc1e evas - gl - osmesa also try older osmesa major versions 2013-11-16 18:46:36 +09:00
Cedric Bail d3022ad700 evas: fix potential similar problem as with GL X11 backend with wrong context being used.
See commit d2b647d2b3.
2013-11-15 14:08:44 +09:00
Wonsik Jung d2b647d2b3 evas: fix a missing eglMakeCurrent in image_cache_flush/image_cache_set in the GL X11 backend.
[Problem] When glTextureDelete is called in image_cache_flush(), it sometimes doesn't work.
[Cause] glTextureDelete is called with the wrong eglContext.
[Solution] Call eng_window_use() in image_cache_flush() and image_cache_set() to use the correct eglContext.

Change-Id: Id7ab1aaeb456be6dbc5f09cb2731ace5399a5dce
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-11-15 14:08:40 +09:00
Chris Michael c5a83c5b9e Remove blank line
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-14 11:26:43 +00:00
Sung W. Park 90bbc21d02 evas_gl : Fixed macro substitution bug in evas_gl
In evas_gl_api_ext_def.h there're calls such as:

    _EVASGL_EXT_DRVNAME(EGL_KHR_image_base)

    The macro is defined in evas_gl_api_ext.c as:

    (strstr(glexts, #name) != NULL || strstr(glueexts, #name) != NULL)

    if (_EVASGL_EXT_CHECK_SUPPORT(name)) *ext_support = 1;

    But EGL_KHR_image_base is itself a macro, which is defined
    in EGL/eglext.h like this:

    Thus, the _EVASGL_EXT_CHECK_SUPPORT macro will unwrap into:

    (strstr(glexts, "1") != NULL || strstr(glueexts, "1") != NULL)

    instead of intended:

    (strstr(glexts, "EGL_KHR_image_base") != NULL ||
     strstr(glueexts, "EGL_KHR_image_base") != NULL)

    This patch fixes this by applying stringification earlier in
    _EVASGL_EXT_DRVNAME

Bugfix reported by jinhyung.jo@samsung.com
2013-11-13 15:39:12 +09:00
Carsten Haitzler 92d7235e0b warning-- 2013-11-09 10:42:49 +09:00
Carsten Haitzler 2da7295af2 evas - gl engine - this fixes the breakages in new nvidia drivers
nvidia > 319 broke alpha windows. this code that was left commented
out fixes it. it didn't used to have any use.
2013-11-09 10:40:17 +09:00
Jean-Philippe Andre a3eb8d2e9d evas/x11: Fix Xlib swapper buffer size
Problem: Software engine fails to render on Tizen device.
2013-11-04 10:35:26 +09:00
Jean-Philippe Andre 82e8028b5d evas/cserve2: Fix image preload with gl-x11 engine
Cserves supports only the SW (xlib) and GL (gl-x11) engines.
Also, improve cs2 support for some lesser used functions in the
gl_x11 engine.
2013-10-30 19:48:17 +09:00
Sung W. Park 9bb4c48691 EvasGL: cleaning up unnecessary code.
Cleaning up unnecessary code.
2013-10-30 10:47:52 +09:00
Jean-Philippe Andre aa6d4a3756 evas/cserve2: Fix error path in evas_cache2_image_writable()
Return NULL and check for nullity in the only calling function.

Fixes CID 1039461 (Logically dead code)
2013-10-29 15:12:58 +09:00
Jean-Philippe Andre 3889feca24 evas/cserve2: Implement support for GL engine
Simply call the appropriate cache2 functions when possible
and check for usage of cache2 whenever an evas_cache_ function
is called.

This effectively adds cserve2 image (data) load support for the
GL engines. Fonts were already working out-of-the-box.
2013-10-28 15:47:15 +09:00
Jean-Philippe Andre 1e82480c9a evas/cserve2: Use scalecache with cserve2
Let's reuse the logic from scalecache and call cserve2
functions when the scalecache should be used.
So, now, cserve2 server will not scale any image... This is
too computationally intensive for the server's main thread.

This is not optimal but makes a hell of a lot more sense for
the moment. (since cserve2 manages the SHM segments)
2013-10-28 15:47:15 +09:00
Jean-Philippe Andre 97d9fab704 evas/cserve2: Fallback to normal cache for animated gifs
Pass around "animated" flag for images that can be animated.
Fallback to local cache if the image is animated.
Implementing support for animated images in cserve2 does
not seem to make a lot of sense considering each frame must
be requested independently in real time,... and to be honest
there doesn't seem to be any valid use case anyway :)
2013-10-28 15:47:15 +09:00
Jean-Philippe Andre d76e869a59 evas/cserve2: Fallback to normal cache for mmap
cserve2 can't handle virtual files (mmap-only), by design.
Proper support can be added later on, but for now we might want
to just fallback to the normal cache functions.

Fixes photocam test
2013-10-28 15:47:15 +09:00
Sung W. Park 7dc102c55f EvasGL: Fixed direct rendering not clipping issue
Evas GL direct rendering mode didn't properly take into account
the image object's clipping information and clip the region that
it was directly rendering to. Hence there were issues with the
direct rendering region drawing over the objects that are sitting
on top of it.

Also, cleaned up the direct rendering coordinate computation code
and a nasty dependency with image object that should have been
removed a long time ago.  Basically the evas-gl engine was directly
accessing the image object data structure for its data when it
really should have just passed along necessary information.
2013-10-24 17:42:21 +09:00
Carsten Haitzler 7d7f548afc evas - gl - dont allocate image and/or texture until needed on native unset 2013-10-16 22:56:38 +09:00
Sung W. Park 56e71e05bb Evas: EGL-GL backends. Call eglReleaseThread() upon shutdown
Call proper cleanup code upon terminating egl use.
2013-10-14 14:37:36 +09:00
Carsten Haitzler e383e3096d evas - try cleanup pipe_region_intersects again.. this time without bugs. 2013-10-01 20:57:39 +09:00
Carsten Haitzler 0732fef6ec Revert "evas gl engine - simplify and optimise pipe region intersection checks."
This reverts commit d486150412.
2013-09-27 17:57:41 +09:00
Carsten Haitzler d486150412 evas gl engine - simplify and optimise pipe region intersection checks. 2013-09-26 19:20:22 +09:00
Sung W. Park b9e3e6be57 EvasGL: Fixed a bug where the wrong data variable to buffer alloc func.
It's an optional feature so it's not automatically turned on but
would have caused a segfault somewhere.  Somehow slipped notice
but fixed now.
2013-09-17 17:24:30 +09:00
Chris Michael 6d3c50c3b6 On a swapbuf reconfigure, don't check for alpha changing state.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-10 14:37:17 +01:00
Sung W. Park 4ece1a1f9f EvasGL: Fix surface destroy mismatch bug.
For EvasGL direct rendering, EvasGL does a make_current to the
surface that evas is holding on to.  When EvasGL was shutting down
it was wrongly deleting evas' surface. This issue was temporarily
fixed by Raphael before but the proper fix was added.
2013-09-10 13:53:56 +09:00
Cedric Bail 5c82716fe8 evas: factorize some code. 2013-09-09 18:59:21 +09:00
Chris Michael 03604a15b6 Merge branch 'framespace' 2013-09-04 14:36:29 +01:00
Rafael Antognolli 2e2cac43da evas/gl: Do not reassign the surface during make current.
There was already a surface created by _evgl_tls_resource_create(). If
we assign a new one here, the wrong one will be destroyed at
_evgl_tls_resource_destroy(), and later the GL window will be destroyed
before the surface, causing invalid access errors.

This fixes https://phab.enlightenment.org/T326
2013-09-04 15:20:59 -03:00
Chris Michael f940f11a9b Fix copy/paste issue.
Use proper width & height for the new tilebuffer.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-29 09:06:53 +01:00
Chris Michael 76cea1712c Avoid potential memleak on rotation of tilebuf.
Port of 70f443d8a8 to wayland egl

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-29 08:24:10 +01:00
Chris Michael ce716ff052 Avoid potential memleak on rotation of tilebuf.
Port of 70f443d8a8 to wayland_shm

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-29 08:21:36 +01:00
Chris Michael a9853f96f7 Port 1f82fbe14d to wayland shm engine
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-29 08:11:16 +01:00
Chris Michael b43421ae5b Fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-29 08:05:47 +01:00
Carsten Haitzler 70f443d8a8 evas - avoid memleak on rotation of tilebuf in engine for gl and sw possibly. 2013-08-29 14:58:09 +09:00
Rafael Antognolli f69cde8107 evas/gl_x11: eng_window_use will not always force makecurrent.
If the egl_surface is different from the current one, it may be that the
it has been destroyed already. Removing the below check (and just
checking for different contexts) will avoid calling makecurrent when
destroying a window.  That was always failing anyway.

Should fix https://phab.enlightenment.org/T311 for gl_x11 too.
2013-08-29 17:25:40 -03:00
Carsten Haitzler 1f82fbe14d evas - unify partial update in sw engine swapper so it is like gl 2013-08-27 17:21:10 +09:00
Rafael Antognolli 5d053bf19b evas/wayland_egl: eng_window_use will not always force makecurrent.
If the egl_surface is different from the current one, it may be that the it has
been destroyed already. Removing the below check (and just checking for
different contexts) will avoid calling makecurrent when destroying a window.
That was always failing anyway.

Should fix https://phab.enlightenment.org/T311 for wayland_egl.
2013-08-23 16:19:42 -03:00
Rafael Antognolli 3a654f795c evas/gl: Don't look for EXT and ARB extensions when on GLES.
At least on recent mesa (since commit 9f07ca11c17), it will find the
mentioned symbols but they won't really work, leading to error messages,
and possibly some other errors. So far, I just ifdef'ed the
glGenFramebuffer and glBindFramebuffer functions, but it may require
others to be ifdef'ed too.

This is just a workaround, to fix https://phab.enlightenment.org/T246.
2013-08-21 12:39:17 -03:00
Cedric Bail 468eb14635 evas: fix comment to actually compile if you use them. 2013-08-06 15:44:43 +09:00
Sung W. Park 5ac17a52d5 Evas: Fix Evas_GL engine shutdown error.
It was trying to use access a struct for egl_disp after the struct
was freed..
2013-07-30 19:45:40 +09:00
Chris Michael 43e60f3f83 Check that we have both Rects and Count is > 0 during buffer attach.
NB: When trying to attach a buffer to a surface, there was a corner
case that could fail in that if we just had 'rects' but count was 0,
then the surface would not get damaged (essentially a call to
wl_surface_damage would get passed 0,0 as the size). This fixes that
problem in that if count is <= 0 now, then we'll damage the whole
surface.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-25 15:45:55 +01:00
Chris Michael d112487e84 When we destroy the shm_pool, reset the swapper used_size to zero.
Remove FIXME and resize the the shm_pool if it is too small for the
new buffer.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-25 09:13:08 +01:00
ChunEon Park 231d619c8c evas - found a inccorect check while reading the code. 2013-07-25 16:05:56 +09:00
ChunEon Park f4377b316c evas - skip the map rendering if all points are transparent. 2013-07-25 16:01:49 +09:00
Chris Michael 3482b91624 No longer necessary to set the surface user_data to be equal to the
buffer.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-23 07:15:20 +01:00
Sung W. Park 7aa516c01a Evas: adding image dump debug feature for wayland_egl backend
Porting commit f10c108283d9b76708418ba172b9ff0b28a09cd6 to wayland
engine.

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
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
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
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
Carsten Haitzler 199fb6523e evas gl engine - paranoia: check max texture size limits on texture alloc 2013-07-11 12:39:44 +09: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 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 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
Cedric Bail 913d56da9e evas: make it possible to disable preload for buggy driver. 2013-07-05 15:39:44 +09: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
Carsten Haitzler 1f2c19749f in drm_shutdown set tried to false... 2013-07-02 17:26:18 +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
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
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
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
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
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
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 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 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
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
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