Commit Graph

1809 Commits

Author SHA1 Message Date
Chris Michael 745192fd19 evas-drm: Cleanup Engine Info structure
Summary: A few of these engine fields are no longer needed or were
unused in the Evas Drm engine so remove them.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-10 11:09:51 +02:00
Chris Michael f6c5550946 ecore-evas-drm: Use new Ecore_Drm functions to get properties of the output
Summary: This makes use of the newly added Ecore_Drm API functions to
get information about the output so we can setup the Evas engine
properly

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-10 11:09:51 +02:00
Chris Michael 6257127d0c ecore-evas-drm: Setup Ecore_Drm_Device for software rendering
Summary: If we are using the software version of ecore_evas_drm, then
make API call to setup the Ecore_Drm_Device for software rendering.
This creates the dumb buffers on the Ecore_Drm_Device.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-10 11:09:50 +02:00
Chris Michael e7538322e9 evas-drm: Use ecore_drm_fb_dirty function to mark framebuffer as dirty
Summary: This removes an internal evas drm engine function and instead
uses the new ecore_drm_fb_dirty function call to mark the framebuffer
as dirty

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-10 11:09:49 +02:00
Dongyeon Kim 708c537790 Evas GL: Add missing dlopen for GLX 1.x version
Summary:
For GLX backend, we should dlopen libGL.so*
@fix

Test Plan: Evas GL 1.x test cases

Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: mythri, mer.kim, wonsik, cedric

Differential Revision: https://phab.enlightenment.org/D2322
2015-04-10 16:47:12 +09:00
Dongyeon Kim 3228c376ec Evas GL: remove direct surfaces hash
Summary:
Evas GL surface buffers are allocated at make current time now
rather than surface creation time, and since we pass evas gl surface handle
to the backend, we do not need direct surfaces hash anymore.

Test Plan: elementary test and evas gl test cases

Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: cedric, mythri, mer.kim, wonsik

Differential Revision: https://phab.enlightenment.org/D2320
2015-04-10 16:47:08 +09:00
Dongyeon Kim bbc4222eaf Evas GL: reset current surface to NULL when it is destroyed
Summary:
Hopefully this will fix some of the multiple windows issues for elm glview but not all.
@fix

Test Plan: elementary glview tests

Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2317
2015-04-10 16:47:01 +09:00
Oleksandr Shcherbina 364dcab234 [evas/evas_3D] Uninitialized component of vector gl_FragColor in shadow_map shader
Summary:
@fix
During execution example evas-3d-obj, part of 3D objects showed with red ripple.
The reason is not completely initialize component vector gl_FragColor

Reviewers: cedric, Hermet

Reviewed By: Hermet

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2292
2015-04-10 14:26:55 +09:00
Chris Michael d815d9bd10 evas-drm: Use Ecore_Drm_Fb for framebuffers
Summary: This commit changes the evas drm engine to use Ecore_Drm_Fb
for framebuffers. We remove the old 'Buffer' structure from the evas
engine and replace it in Outbuf with Ecore_Drm_Fb. This also removes
unused functions from the evas_drm.c file as we can now use
ecore_drm_fb calls

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-09 17:40:53 +02:00
Chris Michael e72e1e1751 evas-drm: Remove evas_bufmgr.c from the Evas Drm engine
Summary: This file is not needed for the software drm engine. This was
added (initially) for combining the drm software & hardware engines
into one. As that is not the case, this file is unused.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-09 17:40:32 +02:00
mythri.venugopal 0580f88990 Evas GL: Add missed GLES 3.0 functions in evgl_load_gles3_api.
Reviewers: wonsik, spacegrapher, jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2300
2015-04-08 15:14:43 +09:00
Jean-Philippe Andre 5bdcea59db Evas gl_x11: Fix runtime switching of GL window configurations
Test case:
- Elementary Test
-- GLView
--- Direct rendering

Direct rendering would never happen in reality, because Evas GL
had to fallback. The reason being that DR requires the window
to have a depth buffer, but this depth buffer was no present
in the default config.

From elm, the solution is to set a special accel_preference,
for instance "gl:depth". But setting this value right before
calling elm_win_add() for the GLView test was already too late.
Indeed, evas_x would keep the default configurations and reuse
them no matter what was requested (ie. only RGB and RGBA would
work).

Solution:
Implement a slightly more complex cache based on a hash map instead
of just two static variables. Always request a new config if it's
not found in the current hash. Store that config, and reuse it for
the same config requests.

Tons of line changes because of the name changes and the whitespace
adjustments. Also some variables disappeared into the magic hash table.
2015-04-07 14:10:33 +09:00
Jean-Philippe Andre f419555cd8 Evas GL: Skip direct rendering check if the surface is indirect
Note: These checks are only for debugging.
2015-04-06 17:24:43 +09:00
Daekwang Ryu 29cb8aeb59 Evas GL: check EvasGL cache file version with micro version
Summary: check EvasGL cache file version with micro version

Reviewers: cedric, raster, jpeg, Sergeant_Whitespace

Reviewed By: Sergeant_Whitespace

Subscribers: Sergeant_Whitespace, cedric, wonsik, spacegrapher, mer.kim

Differential Revision: https://phab.enlightenment.org/D2188

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
2015-04-06 16:32:49 +09:00
Bogdan Devichev f8f118f058 evas-3d: T2226 (Evas Eet saver does out of range access) fixed.
Summary:
texcoord now is 2D vector

@fix

Reviewers: cedric, Hermet, raster

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2233
2015-04-06 14:13:30 +09:00
Oleksandr Shcherbina e2f11bf4cb Revert "Evas 3D: Fix shadow map shader"
Summary:
This reverts commit 4af7a947a6.
There is more convenient way remove noise in vector gl_Fragcolor at shadow_map
shader, because current decision lead to useless issue with shadow effect.
Need just add default initialize at the begining in shader file smth like that
gl_FragColor = vec4(1);
I suppose do that after this patch.

Reviewers: cedric, raster, Hermet

Reviewed By: Hermet

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2290
2015-04-06 10:45:42 +09:00
Cedric BAIL 39f7ce192c ector: implement surface size property. 2015-04-03 16:34:24 +02:00
Subhransu Mohanty 7d0944bda5 evas: handle mul_col for ector drawing in gl backend.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-03 16:34:21 +02:00
Subhransu Mohanty 097f46a047 evas: flush cpu pipeline before ector drawing.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-03 16:34:11 +02:00
Cedric BAIL c9aaa12c07 evas: force cpu end opt when switching to Cairo rendering. 2015-04-03 16:34:09 +02:00
Cedric BAIL de08a3bc04 ector: add reference point to define (0, 0) and don't repeat the same value everywhere. 2015-04-03 16:33:19 +02:00
Cedric BAIL 084fb9f87e evas: use the correct method to multiply color. 2015-04-03 16:33:03 +02:00
Cedric BAIL 83557d7175 evas: correctly define stride for Ector Cairo backend. 2015-04-03 16:32:59 +02:00
Cedric BAIL 1b4647bee8 evas: multiply the parent color with the object color.
It is necessary to actually propagate the Evas_Object_VG own color to all its
Evas_VG_Base object.
2015-04-03 16:31:51 +02:00
Cedric BAIL f8cd006b2f evas: and now fix Evas GL backend to display Evas_Object_VG correctly. 2015-04-03 16:31:49 +02:00
Cedric BAIL e4b5167861 evas: add support for alternate Ector rasterizer based on FreeType. 2015-04-03 16:31:48 +02:00
Cedric BAIL 7d480ac858 evas: fix missing initialisation of engine function call. 2015-04-03 16:31:41 +02:00
Cedric BAIL fbc2261048 evas: fix creation of cairo context with GL backend. 2015-04-03 16:31:12 +02:00
Cedric BAIL 61c1e7d103 evas: fix initialisation of cairo context in software backend. 2015-04-03 16:31:11 +02:00
Cedric BAIL 514406dc47 evas: fix switch from MMX to FPU. 2015-04-03 16:31:07 +02:00
Cedric BAIL 44d5a17485 evas: eina array macro don't work well on NULL array. 2015-04-03 16:30:50 +02:00
Cedric BAIL 23c34b96d3 evas: add theoric GL backend support. 2015-04-03 16:30:44 +02:00
Cedric BAIL f2380b0920 evas: introduce begin and end operation on an Ector surface.
This is necessary for GL has you want to map once and run with it, but it
will also help the software backend to not remap the surface all the time !
2015-04-03 16:30:44 +02:00
Cedric BAIL b6ffe1cc87 evas: first implementation of an ector drawer inside Evas software engine.
Note: this won't work with the OpenGL backend.
2015-04-03 16:22:18 +02:00
Cedric BAIL fcbc29f85e ector: move dependency around. Evas now depend on Ector. 2015-04-03 16:21:57 +02:00
Jean-Philippe ANDRE 2748fae3f4 Evas GL common: Fix shaders for GLX
Oops! There had to be a breakage somewhere. That's it :)
Thanks Oleksander Shcherbina for the report.

Fixes T2266.
2015-04-03 17:57:07 +09:00
Jean-Philippe Andre 676c10b153 Evas GL common: Fix GL masking with 12,21,22 sampling
This is a new feature introduced by the shaders refactoring:
even masking shaders now support smooth sampling of the masked image
using the special 12,21,22 shaders.

Also, refactor the list of texture bindings so that it's
automatically generated by the script, as opposed to being a
manual list...
2015-04-03 15:45:07 +09:00
Jean-Philippe Andre 61ab78d3f1 Evas GL common: Fix shader sampling and check nomul
Now that the shader select function checks the values of "sam"
and "nomul", we can avoid sending the color to the shader when
it's a "nomul" shader. This will most likely give a performance
boost of roughly 0.00000001%.
2015-04-03 11:26:14 +09:00
Jean-Philippe Andre f8f1a3e9ed Evas GL common: Factorize GL shader selection code
Improve the shader selection function to handle all possible
cases. Only images really need special handling as they
support so many parameters.
2015-04-03 11:26:14 +09:00
Jean-Philippe Andre a3de2ee3fd Evas GL common: Factorize shader generation code
Remove all individual shaders, factorize everything into
one vertex and one fragment shader. All previous functionality
has been kept as is[*]. Some new features have been added
(new shader types).

This is a first step in simplifying and improving the shaders system.
Next: simplify shader selection

[*] Yeah, that's quite a bold statement here. Maybe I broke everything.
2015-04-03 11:26:13 +09:00
Jean-Philippe Andre 8586b75a2a Evas masking: Remove map_mask shaders
Those are now duplicates of IMG_MASK
2015-04-03 11:26:13 +09:00
Jean-Philippe Andre 1864362aaf Evas masking: Implement polygon masking (GL) 2015-04-01 11:02:18 +09:00
Jean-Philippe Andre e38f5cafd5 Evas masking: Ensure texture is up-to-date before drawing (GL) 2015-04-01 11:02:18 +09:00
Jean-Philippe Andre 2b1e221fd9 Evas GL common: whitespace fixes 2015-04-01 10:42:42 +09:00
Jean-Philippe Andre ed157ee67b Evas masking: Implement line masking in GL
This commit also introduces a few whitespace changes...
2015-04-01 10:39:36 +09:00
Jean-Philippe Andre 740995e089 Evas GL generic: Simplify "scaled" images (used for masking)
Invert the meaning of scaled (w,h), so that im->(w,h) corresponds
to the final scaled size, and the original size is stored directly
in the texture itself.

This simplifies code a little bit.

Also, lift the limitation on the maximum texture size, as those
virtual textures are not limited by GPU texture size.
2015-04-01 09:59:49 +09:00
Jean-Philippe Andre 32009a0e8c Evas masking: Refactor GL code
Use the same method as for map masking:
- Pass absolute geometry of the mask to the push functions,
- Compute absolute position in the shader (like gl_Position)
  and apply scaling factor + offset to sample the mask.

Masking now uses a single vec4 attribute instead of hi-jacking
other vertices.

This way, all masking shaders share the same code and are way
simpler. On the other hand, the vertex shaders have a little bit
more work to do.
2015-04-01 09:53:55 +09:00
Minkyoung Kim 22fafce84d evas/software_x11: Environment can influence the flow when the value is 1 not else.
Summary: Do not try swapbuf init only if value of env 'EVAS_NO_DRI_SWAPBUF' is 1.

Reviewers: jpeg

Subscribers: spacegrapher, cedric, wonsik

Differential Revision: https://phab.enlightenment.org/D2259
2015-03-31 14:23:57 +09:00
Oleksandr Shcherbina 4af7a947a6 Evas 3D: Fix shadow map shader
Summary:
Silly mistake after this b9b5ced501 commit.
Seems uninitialized components of vector gl_FragColor

Reviewers: cedric, Hermet, jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2258
2015-03-31 08:35:51 +09:00
Nicolas Aguirre 940f2e72f9 evas: fix gl_cocoa build after recent changes in evas_common_draw_context_font_ext_set.
Now evas_common_draw_context_font_ext_set takes 3 more parameters, fix the build
by adding NULL for the function pointers. We really need to switch to gl_generic
here, it would avoid this kind of problems.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-03-27 18:29:38 +01:00
Dmytro Dadyka efecbef773 [Evas: Evas_3D] Improve shaders math
Reviewers: cedric, jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2244

On many platforms the built-in mix(x, y, a) function faster
than its equivalent x * a + y * (1 - a)
2015-03-25 16:08:32 -07:00
Jean-Philippe ANDRE 0ef41604e8 Ecore: Use calloc() to initialize Ecore_Event_Key fully
Some fields (eg. data) may not be properly initialized.
Use calloc() instead of malloc() will ensure proper initialization
even if we add more fields.

These fields (data) would even be passed down to Evas as
Evas_Event_Key_Down for instance.
2015-03-25 15:34:23 -07:00
kabeer khan 6bd9255191 evas: fix logic of 180 degree image rotation in software_generic backend.
Summary: Signed-off-by: kabeer khan <kabeer.khan@samsung.com>

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2238

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-03-25 19:40:41 +01:00
Jean-Philippe ANDRE 3e2b104cab Wayland shm: Fix shadow variable warning 2015-03-25 10:56:09 -07:00
Dmytro Dadyka ea5375f4a2 [Evas: Evas_3D] Refactor shader system: refactored shadow map shade mode.
Reviewers: cedric, jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2240
2015-03-25 10:37:17 -07:00
Dmytro Dadyka a4d1cfa609 [Evas: Evas_3D] Refactor shader system: refactored parallax shade mode.
Reviewers: cedric, jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2241
2015-03-25 10:35:43 -07:00
Cedric BAIL dd6db2b603 evas: fix use after free.
Thanks to Thanatermesis for tracking this in T2135.
2015-03-24 23:10:51 +01:00
Jean-Philippe ANDRE c4cd274ad9 Evas 3D: Add forgotten changes after generation of shaders 2015-03-24 11:45:32 -07:00
mythri.venugopal 49b95b9c6c Evas GL: Add missed GLES 3.0 functions.
Summary:
Initialise glVertexAttribDivisor & glVertexAttribIPointer
EvasGL function pointers.

Reviewers: wonsik, spacegrapher, jpeg

Reviewed By: jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2236
2015-03-24 11:25:34 -07:00
Dmytro Dadyka 06978b210b [Evas: Evas_3D] Refactor shader system: refactored normal map shade mode.
Reviewers: cedric, jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2232
2015-03-24 10:50:41 -07:00
Dmytro Dadyka 02da66541f [Evas: Evas_3D] Refactor shader system: refactored color pick shade mode.
Reviewers: cedric, jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2230
2015-03-24 10:50:36 -07:00
Dmytro Dadyka f95136f139 [Evas: Evas_3D] Refactor shader system: refactored diffuse shade mode.
Reviewers: cedric, jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2229
2015-03-24 10:50:31 -07:00
Dmytro Dadyka ffa7de039c [Evas: Evas_3D] Refactor shader system: refactored vertex color shade mode.
Reviewers: cedric, jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2228
2015-03-24 10:50:25 -07:00
Dmytro Dadyka 8110ec94f4 [Evas: Evas_3D] Refactor shader system: refactored flat shade mode.
Reviewers: cedric, jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2224
2015-03-24 10:49:25 -07:00
Dmytro Dadyka ce5a912419 [Evas: Evas_3D] Fix shader code for using with GL_ES
Summary: GL_ES variables precision added.

Reviewers: cedric, jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2234
2015-03-24 10:43:38 -07:00
Sunghyun Kim 9a767921c5 evas/gl_x11: add env variables for disable partial rendering
Summary: add 'EVAS_GL_PARTIAL_DISABLE' environment variables for disable partial rendering

Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: mer.kim, spacegrapher, cedric, wonsik

Differential Revision: https://phab.enlightenment.org/D2183

Signed-off-by: Jean-Philippe ANDRE <jpeg@videolan.org>

jpeg added atoi(s) and copied the code for gl_drm and wayland_egl.
2015-03-23 17:33:25 -07:00
Dongyeon Kim 69fa047048 evas/gl_x11: Separate gl symbols check
Summary:
There is a restriction for some gpu drivers that
eglGetProcAddress must be called after eglMakeCurrent.
So separate egl/glx extensions check from gl_symbols
to be called inside eng_window_new.

Test Plan: egl and glx backend tests

Reviewers: cedric, jpeg

Subscribers: cedric, mer.kim, wonsik

Differential Revision: https://phab.enlightenment.org/D2193
2015-03-23 17:17:37 -07:00
Dmytro Dadyka 1bf3ca03f7 [Evas: Evas_3D] Refactor shaders: used m4 for removing duplication of code.
Reviewers: Hermet, raster, cedric, jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2076
2015-03-23 14:59:19 -07:00
Jean-Philippe ANDRE 5bc4b89115 Revert "evas/gl_x11: Optimize out calls to make current"
This reverts commit 0585540bb3.

This broke Evas 3d examples. I also suspected some weird things and
wasn't 100% confident with this patch.

Closes T2215.
Thanks for the report.
2015-03-24 06:27:20 +09:00
Chris Michael fd23e4b439 evas-drm: Enable more information during flip error
Summary: This adds a bit more output during crtc flip errors so we can
debug multi-monitor setups

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-03-21 16:29:47 -04:00
Dmytro Dadyka 9e3244b222 Fix wrong drawing of shadows for some blending modes
Reviewers: cedric, Hermet

Reviewed By: Hermet

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2198
2015-03-20 14:10:00 +09:00
Chris Michael 57bdbf6793 evas-wayland-shm: Fix redrawing issues that were causing 'flashing' in latest engine code.
Summary: As reported by derek & zmike, the previous engine refactor
left some issues where the app would 'flash' during redraws due to
buffer handling. This commit fixes that issue along with flashing
during resize.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-03-19 16:17:25 -04:00
Chris Michael 2725a248c9 evas-software-generic: Allow future rendering calls if evas has to skip a frame
Summary: If we do not get a new_region_for_update from an engine, it
could mean that the engine has skipped a frame. In that case, we still
want to try and render any future frames. Before this commit, evas
would never try to re-render anything again once it hit a failed
frame. To fix this, we test for a valid returned region, and if we
don't get one, mark this frame as failed so we can try again.

NB: Thanks for the help Cedric !! :)

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-03-19 16:17:25 -04:00
Chris Michael 87263cf0bd evas-gl-common: Fix building when --with-opengl=es
Summary: If we are building for only gles 2.0, then we cannot use
glAlphaFunc else we get compile errors. This adds an #ifndef around
that block to fix building

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-03-19 09:55:52 -04:00
Youngbok Shin e197f8804f evas: Support bitmap embedded color font.
Summary:
Add the code for getting bitmap buffers from embedded color font,
And draw the bitmap buffers as images.
For drawing the bitmap buffers as images,
evas_common_draw_context_font_ext_set internal API is changed to
pass additional gl engine functions.
T2139
@feature

Test Plan:
1. Set a bitmap embedded color font to textblock.
2. Set a unicode emoticon text.
3. See the result.

Please check the sample unicode in the following link.
http://www.fileformat.info/info/unicode/char/1f3af/index.htm
http://www.fileformat.info/info/unicode/char/1f555/index.htm
http://www.fileformat.info/info/unicode/char/2600/index.htm
http://www.fileformat.info/info/unicode/char/263a/index.htm

Reviewers: tasn, woohyun, jpeg, raster

Reviewed By: raster

Subscribers: herdsman, cedric

Differential Revision: https://phab.enlightenment.org/D2084
2015-03-19 19:02:03 +09:00
MinJeong Kim c964c72366 evas/gl_x11: set EGL_PLATFORM environment variable
Summary:
Without EGL_PLATFORM environment variable, eglInitialize() can be
failed because egl tried to load DRM platform instead of X11 platform and it
tried to handle XDisplay pointer as a gbm_device pointer as well.
The failure seems to be occured especially if the egl was built
with DRM platform as native platform.

This revision can prevent the failure by indicating proper egl platform using
EGL_PLATFORM environment variable, and additionally it will unset
EGL_PLATFORM environment value when the engine free its info.

@fix

Reviewers: gwanglim, seoz, jaehwan, cedric, raster

Subscribers: raster, cedric

Differential Revision: https://phab.enlightenment.org/D1844
2015-03-19 17:52:54 +09:00
Dmytro Dadyka 31651a8842 evas: Evas_3D - add alpha testing.
Reviewers: Hermet, cedric

Reviewed By: cedric

Subscribers: Ievgen, cedric

Differential Revision: https://phab.enlightenment.org/D2046
2015-03-18 15:22:20 +01:00
Jean-Philippe Andre 4315944259 Evas: Really use GLES3 by default (fix logic)
I enabled gles3 by default in a previous commit but apparently my
logic was all wrong and it fell back to gles2.
2015-03-18 10:06:17 +09:00
Chris Michael b55a24727a ecore-evas-wayland: Remove frame callbacks from Ecore_Evas wayland
engine

Summary: Frame callbacks are now handled inside the engine itself and
are thus not needed here anymore

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-03-17 15:50:56 -04:00
Chris Michael 3ebe41af18 evas-wayland-shm: Refactor Evas Wayland Shm Engine (Fix T2201)
Summary: This patch set fixes the issue of Evas wayland shm engine
causing crashes when resizing efl apps in the E wayland compositor. It
refactors the evas engine to wait for release events on buffers, and
hooks into frame callbacks so that release events will get triggered
at the appropriate time.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-03-17 15:49:09 -04:00
Chris Michael 5c753a859b evas-wayland-shm: Remove old wayland_shm engine swapper files
Summary: Part of engine refactor to address resize issue in E wayland
compositor

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-03-17 15:32:29 -04:00
pierre lamot 59532c7d96 ecore_cocoa: add missing window state functions
implement missing window state functions:

  * raise
  * lower
  * activate
  * iconified_set
  * withdrawn_set
  * move

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-03-17 10:42:51 +01:00
pierre lamot ca3bd69485 ecore_cocoa: add functions to allow min/max window size
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-03-17 10:42:51 +01:00
pierre lamot c380812496 evas: bypass lockfocus in NSView on OSX
this patch bypass calls to (un)lockFocus, avoid segv
when closing windows

This is certainly not the cleanest way to do it but it seems
to be working correctly at the moment. this may leads to
unexepected behavior which haven't been identified now

@fix

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-03-17 10:42:51 +01:00
pierre lamot c80f527dbc ecore_evas: rewrite render loop to conform with other engines.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-03-17 10:42:51 +01:00
pierre lamot e573d65424 evas: make current context on lockFocus for gl_cocoa backend.
make current context on lockFocus as suggested by (following best practice):
https://developer.apple.com/library/mac/documentation/GraphicsImaging/Conceptual/OpenGL-MacProgGuide

@fix

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-03-17 10:42:51 +01:00
pierre lamot 6ea9b476ad ecore_cocoa: release resources on window close event
@fix this patch:

catch the window close event from cocoa and send an ecore event
this event is catched by a handler in ecore_evas wich will
call the registered fn_delete_request (from elementary for instance)

/!\ this patch is currently incomplete and leads to a segv when
closing the last window

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-03-17 10:42:51 +01:00
Jean-Philippe Andre 358bd3eb25 Evas GL: Fallback to safe GL configs with GLX as well 2015-03-17 18:42:19 +09:00
Jean-Philippe Andre 9e0095a53c Evas GL: Fallback to safe values of depth, stencil & msaa if not supported
Depth32, Stencil16 and MSAA are known to be unsupported on many platforms.
While applications should try not to request them, we can try to fallback
nicely and still render using depth24+stencil8 (which is often supported),
or reducing the number of MSAA samples (until 0 if not supported at all).
2015-03-17 18:16:40 +09:00
Cedric BAIL 1ab8cc75c4 evas: use emile to decompress JPEG files. 2015-03-17 09:58:18 +01:00
Cedric BAIL b900e1787f evas: simplify structure. 2015-03-17 09:58:18 +01:00
Cedric BAIL a865d41181 emile: remove use of custom structure and prefer Eina_Rectangle.
Get rid of warning inside of the jpeg loader that result of it. I do believe
this is not an ABI break on the loader API. If you disagree, please raise your
voice.
2015-03-17 09:58:18 +01:00
Cedric BAIL 8cac4ce5e7 evas: use Emile to decode TGV. 2015-03-17 09:58:18 +01:00
Dongyeon Kim 61758b8281 Evas GL: use texture for native surface in glx backend
Summary:
EVAS_NATIVE_SURFACE_EVASGL uses egl image, but egl image is
not supported in glx backend, so use texture instead.

Test Plan: Local tests on pc

Reviewers: jpeg

Subscribers: cedric, mer.kim, mythri, wonsik

Differential Revision: https://phab.enlightenment.org/D2174

jpeg: fixed casts
2015-03-17 11:47:50 +09:00
Minkyoung Kim 0585540bb3 evas/gl_x11: Optimize out calls to make current
Summary: Reducing the number of calling eglMakeCurrent.

Reviewers: jpeg

Subscribers: wonsik, cedric, spacegrapher

Differential Revision: https://phab.enlightenment.org/D2094
2015-03-17 11:47:35 +09:00
Jean-Philippe Andre 13c3d3d7d6 Evas GL: Fix GL_X11 engine when using GLX
eglGetProcAddress is obviously not supported in that case.
2015-03-16 17:44:20 +09:00
Jean-Philippe Andre a4b649ca8c Evas GL: Fallback to depth24, stencil8 if GL_GLES is used
If depth32 or stencil16 are requested, those are most likely to
fail with GLES. In that case, fallback automatically to 24+8.
2015-03-16 17:44:20 +09:00
Jean-Philippe Andre e271727c01 Evas GL: Add more debug logs
Print some INFormation for app developers.
2015-03-16 17:01:51 +09:00
Jean-Philippe Andre 7e92ab76b1 Fix a previous commit: remove binary files and garbage in src/
When rebasing the commits, I have been lazy and did a git add src/ that
actually added the files that were not ignored. My bad, sorry about that.
The original patch was fine.

Thanks sung.
2015-03-16 16:09:47 +09:00
Dongyeon Kim 0ff8936de8 Evas GL: Adjust function naming and remove macros
Summary:
Change function and variable names to more suitable ones.
Remove FBO_FUNC macros.
Little tidying up from previous commit.

Test Plan: Local Evas GL tests for 1.1, 2.0, and 3.0

Reviewers: jpeg

Subscribers: cedric, mer.kim, mythri, wonsik

Differential Revision: https://phab.enlightenment.org/D2126

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
2015-03-16 15:56:49 +09:00
Dongyeon Kim 1a2c6ba1e1 Evas GL: Fix build errors for glx backend
Summary:
Fix build errors for glx backend made from previous commit
Revert parameter naming

Test Plan: Local Evas GL tests for 1.1, 2.0, and 3.0

Reviewers: jpeg

Subscribers: mythri, wonsik, cedric, mer.kim

Differential Revision: https://phab.enlightenment.org/D2117
2015-03-16 15:56:49 +09:00
Dongyeon Kim d8fc60e0e6 Evas GL: Use EGL image to share between Evas GL and GL backend
Summary:
When the context version between Evas GL and GL backend differs,
we cannot share texture between them.
So, when the driver has support for KHR_gl_texture_2D_image extension,
use EGL image to share between Evas GL and GL backend

Test Plan: Local Evas GL tests for 1.1, 2.0 and 3.0

Reviewers: jpeg

Subscribers: mythri, mer.kim, wonsik, cedric

Differential Revision: https://phab.enlightenment.org/D2115
2015-03-16 15:56:49 +09:00
Dongyeon Kim eae786917c Evas GL: change function naming and small bug fixes
Summary:
Remove gles1 prefixes for functions that are also used by gles3.
Refactor evgl_make_current a little bit.
Destroy indirect context properly.
Some log message changes and typo fixes.

Test Plan: Local tests on desktop PC

Reviewers: jpeg

Subscribers: mythri, mer.kim, wonsik, cedric

Differential Revision: https://phab.enlightenment.org/D2104
2015-03-16 15:56:48 +09:00
Jean-Philippe Andre 8cf1dda9df Evas GL: Fix logic in debug check 2015-03-16 15:56:48 +09:00
Jean-Philippe Andre 8f57cbcdd6 Evas GL: Fix build errors and warnings from previous commit 2015-03-16 15:56:48 +09:00
mythri.venugopal 4d1a45627f Evas GL: Add support for Evas GL 3.0
Summary:
This should enable applications to use GLES 3.0 through evas gl.
Todo: Fix indirect rendering issue occuring because texture objects
cannot be shared between different version of GLES contexts.
Todo: extension pointers need to be updated for GLES 3.0

Reviewers: wonsik, spacegrapher, jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2017

@feature
2015-03-16 15:56:43 +09:00
Jean-Philippe Andre bb134a5cc3 Evas GL: Remove excessive debug
- Check debug flag before warning that a surface is not direct
- Remove notes about surface reconfigure, as this will not be implemented
  (see previous commit).
2015-03-16 14:55:40 +09:00
Wonsik Jung 25502e37f8 evas_gl: Add feature to set depth/stencil/msaa bit to window surface.
Summary:
When Evas GL runs with direct rendering, it can not set depth, stencil and msaa to Window surface.
This patch is possible to use "option" input paramater of ecore_evas_gl_x11_options_new.
So, new API is not needed.

The other patch is in elementary. The elementary patch will be used this patch.

Test Plan: Test elm gl veiw in elementary_test and JP's test app.

Reviewers: spacegrapher, cedric, raster, jpeg

Reviewed By: jpeg

Subscribers: cedric, mer.kim

Differential Revision: https://phab.enlightenment.org/D2144

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
Note: jpeg changed the original patch a bit (fix style and depth value)
2015-03-16 14:50:56 +09:00
kabeer khan af48f3455d evas: correcting transpose and transverse of software_generic image rotation support.
Summary:
Current definition of transpose and transverse was wrong. Corrected it by
interchanging both definitions.

Signed-off-by: kabeer khan <kabeer.khan@samsung.com>

Reviewers: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2143

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-03-13 09:33:29 +01:00
Nicolas Aguirre cf730014cf evas: symetric lock/unlock calls in gl_cocoa backend.
this code add symetric calls to lock and unlock focus view

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-03-12 07:43:59 +01:00
Nicolas Aguirre 3c14cab0c6 evas: free EvasGlView when the evas is freed in gl_cocoa backend.
EvasGLView is now correctly freed when the Evas is destroyed

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-03-12 07:43:58 +01:00
Romain Perier 6e193e2006 evas: lock and unlock focus on Cocoa view when drawing surface
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-03-12 07:43:58 +01:00
Romain Perier c80d7adbc2 evas: use a shared OpenGL context in gl_cocoa backend.
Evas GL backend uses a global OpenGL context for all windows inside
an application. Each window has its own texture to render its
content. We use a singleton NSOpenGLContext shared between all
NSOpenGLView, it solves rendering issues for multiple windows.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-03-12 07:43:58 +01:00
Romain Perier 422178b216 ecore_evas: add support for multiple windows to cocoa backend.
Each new Ecore_Evas was already stored into the evases container, however only
the first one was returned and used from events handler, which is not correct if
the application uses multiple windows. This commit adds support to handle
Ecore_Event_Cocoa_Window event type from event handlers and modify
_ecore_evas_cocoa_match() to find the right Ecore_Evas associated with the window
indentifier passed throught Ecore_Event_Cocoa_Window.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-03-12 07:43:58 +01:00
Nicolas Aguirre 1818f96004 evas: remove warnings due to unused variables from gl_cocoa backend.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-03-12 07:43:58 +01:00
Jean-Philippe Andre b7d1615be7 Evas GL texture: Fix invalid interpolation pixel
The pixel on the top-right of a texture was set using an invalid offset.
"luckily" this never crashed but probably could have with wide
single-row images.

Also, the output was not perfectly correct.
2015-03-09 20:32:01 +09:00
Subodh Kumar 554b2cd9da eina: minimize fragmentation of chainned mempool.
Summary:
Previously: Each allocation happened in the first chain after any free.
Now: All allocation will happen in one chain until all buckets are full, this can reduce
fragmentation to some extent.

Reviewers: seoz, govi, shilpasingh, raster, cedric

Reviewed By: cedric

Subscribers: cedric, rajeshps

Differential Revision: https://phab.enlightenment.org/D2071

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-03-06 20:19:20 +01:00
Jean-Philippe Andre 03ab2e27c8 Evas GL common: Create OpenGL ES 3.x contexts by default
Automatically fallback to OpenGL ES 2.0 if OpenGL ES 3 is not supported.
This is a first step in trying to support GLES 3 for Evas GL.

This commit is also a wild test to see whether using GLES 3 contexts
by default will break anything. The theory says that GLES 3 is
backwards compatible with GLESv2.

So, if anything GL breaks for you... scream loudly!
But before reporting any bugs, please set the env variable:
- export EVAS_GL_DISABLE_GLES3=1

This does not add any requirement for GLESv3 support.
2015-03-05 20:59:53 +09:00
Jean-Philippe Andre 611741e65d Evas GL: Fix list of extensions with GLESv1
EGL/EvasGL extensions are also valid with GLESv1.
This means evasglCreateImage could be used.

@fix
2015-03-05 20:59:50 +09:00
Jean-Philippe Andre fecc487b3b Evas GL: Fix CRI message on shutdown
Just a simple log domain issue (EvasGL was not initialized, so
ERR() would trigger a fatal error). EvasGL is now initialized
on demand when a new GL surface is requested.
2015-03-05 16:19:18 +09:00
Mike Blumenkrantz 07a6d138a9 ee-wl should probably clamp configure event resize to output size for fs wins
fs configures are 0x0, so reuse existing output size here to get accurate sizes
2015-03-04 16:49:19 -05:00
Chris Michael da80ee8cc2 ecore-evas-drm: Fix function call to ecore_evas_pointer_xy_get for drm
engine

Summary: This changes the ecore_evas_pointer_xy_get function call (on
drm engine) to use the new ecore_drm_device_pointer_xy_get so we can
center mouse pointer on an output at startup.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-03-04 11:49:44 -05:00
Jean-Philippe Andre f020171bf2 Evas GL common: Disable evas gl preload by default
Unfortunately, this "feature" has many problems and does not really
fix those it was supposed to address:

- Elm Photocam becomes horrible to use (the transition from
  low-res to high-res tiles triggers this miniature path).

- Evas async preload callback is called before the full image
  is ready (ie. the texture is not uploaded yet), when really
  the preload callback should be triggered only once the image
  is 100% ready. (TODO)

- Sometimes the miniature image keeps being used even though the
  main image has been uploaded (eg. with E background). Maybe the
  object image is not redrawn when it should.

- This uses a separate thread for the upload, which is both a good
  and bad idea because we need to do a make current. Also, this does
  not upload the full-res image tile by tile, but only in one pass,
  thus blocking the render loop until finished.

This patch changes the env var from "EVAS_GL_NOPRELOAD" to
"EVAS_GL_PRELOAD" (and only "1" will enable).

Sorry Cedric, we can talk later about how to improve this.
2015-03-04 17:31:31 +09:00
Jean-Philippe Andre 53d3cb4fec Evas GL common: Improve quality of miniature image
Sample in the middle of the "macro pixels" and fool around with the
borders (usually used to limit linear sampling artifacts) to improve
image quality on the edges.

Those miniatures are still 16x16 but MAAAYYYYYBE they will look a bit
less awful.

NOTE: The first row still doesn't scale properly (interpolates with
      garbage above y=0).
2015-03-04 17:31:07 +09:00
Jean-Philippe Andre b19d3599a5 Evas GL common: Force smooth scaling on miniature images
When evas GL uploads textures, it will first upload a 16x16 miniature
image, and then wait for some idle time in the main loop to upload the
high-res image.

Some images may not have smooth scaling enabled which results in the
miniature scaled with GL_NEAREST, showing big ugly squares. Let's
force smooth scaling instead, for a blur image rather than a
checkerboard.
2015-03-04 15:27:21 +09:00
Jean-Philippe Andre be3b011822 Evas GL: Fix build error on some systems w/o Wayland
Thanks Mythri for the report.
wl_display and wl_resource is declared in eglmesaext.h but older
systems may not have that.
2015-03-03 20:57:59 +09:00
Jean-Philippe Andre bea9567d0e Evas GL: Kill runtime warnings caused by auto fallback
The previous commit modifies the concept of direct rendering
vs. indirect rendering, so some runtime checks (in debug mode
only) will fail.

This commit introduces two new engine functions:
 - gl_get_pixels_pre
 - gl_get_pixels_post

The latter will be used in a later patch for optimization.
2015-03-03 20:08:16 +09:00
Jean-Philippe Andre a14492ef73 Evas GL: Automatic fallback to indirect rendering when the scene has
not changed.

Automatically fallback to indirect rendering on FBO or X11 Pixmap
if the Evas Object Image is not marked as dirty. This should
improve the performance and/or power consumption in those
rare cases where this area of the canvas needs to be redrawn
but the GL content has not changed.

@feature
2015-03-03 18:11:32 +09:00
Jean-Philippe Andre 21051d3252 Evas masking: Use mask_smooth to differentiate "shaders"
If mask_smooth changes, it should trigger a flush of
the pipeline (and call glDrawArrays).

This may or may not fix some potential bugs with masking.
2015-03-02 20:47:17 +09:00
Jean-Philippe Andre e531ab9bc0 Evas GL: Use Eina_Strbuf for the extensions list
The usage of strcat/strncat was not safe, and even Coverity reported
about it.

Fixes CID 1256197:
CID 1256197 (#1 of 2): Buffer not null terminated (BUFFER_SIZE_WARNING)
1. buffer_size_warning: Calling strncpy with a maximum size argument
of 10240 bytes on destination array _gl_ext_string of size 10240 bytes
might leave the destination string unterminated.
2015-03-02 19:51:30 +09:00
Dongyeon Kim 753b2b6e78 Evas GL: remove evgl_init in gl_get_pixels_set
Summary:
gl_get_pixels_set is called in evas_object_image_render
even when evas gl is not used.
As gl_get_pixels_set does not actually call evas gl functions,
we can safely remove evgl_init macro here.

Reviewers: raster, cedric, jpeg, Hermet

Subscribers: cedric, mer.kim, wonsik

Differential Revision: https://phab.enlightenment.org/D2063

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
2015-03-02 16:29:22 +09:00
Dongyeon Kim 80b21a7d3f evas/gl_x11: fix duplicated egl error check
Summary:
When egl window surface creation fails, eglGetError() is called twice,
thus removing error state.

Reviewers: cedric, Hermet, jpeg

Reviewed By: jpeg

Subscribers: mer.kim, wonsik, cedric

Differential Revision: https://phab.enlightenment.org/D2064

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
2015-03-02 16:22:12 +09:00
Minkyoung Kim de797bbd3b Evas GL: Fix abnormal extension name.
Summary: Fix abnormal extension name.

Test Plan: local test.

Reviewers: jpeg

Reviewed By: jpeg

Subscribers: wonsik, cedric, spacegrapher

Differential Revision: https://phab.enlightenment.org/D2056

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
2015-03-02 16:20:07 +09:00
Dongyeon Kim a32edfaf19 evas/gl: implement dynamic hint set using tbm surface
Summary:
Currently dynamic hint set is implemented using eglMapImageSEC extension,
which is no longer supported by any drivers (should be deprecated)
This patch implements dynamic hint set using Khronos extension EGL_TIZEN_image_native_surface.
Since tbm surface library is required for this, libtbm.so is queried at context new.

Test Plan: Local tests

Reviewers: raster, Hermet, cedric, jpeg

Subscribers: mer.kim, wonsik, cedric

Differential Revision: https://phab.enlightenment.org/D2027

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>

jpeg: I also fixed a few minor style issues and two warnings (bad function
names, glsym instead of secsym).
2015-03-02 15:55:47 +09:00
Jean-Philippe Andre 433d24cfa0 Evas GL common: Remove uniform-related stuff
Remove last traces of the uniforms stuff for shaders, that was
removed in the following commits: 6b48c106d3 and cfd337a758.

Don't use uniforms in the evas GL pipeline, at least not like that.
2015-03-02 11:30:34 +09:00
Chris Michael d7a8626f5b evas-gl-drm: Fix T2158: compile fails when --with-opengl=full is passed
Summary: This fixes compile for the gl_drm engine if
--with-opengl=full is passed on the cmd line. These changes are
based on the diff provided by spotrh in the above ticket.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-03-01 10:49:10 -05:00
Chris Michael f14a893ce5 evas-gl-drm: Cleanup compiler warnings for dbg/err messages
Summary: This commit compiles out the debug messages that were
generating compiler warnings during build. You can reenable these
messages if you uncomment GL_DRM_DBG in evas_engine.h

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-03-01 10:45:39 -05:00
Chris Michael 3bb11b938c evas-software-x11: Provide TBM Native Surface support for xcb engine
Summary: This adds support for native surfaces in xcb. Previously when
the TBM Native Surface support was added, it broke the xcb build.
These commits fix that issue.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-02-27 10:36:58 -05:00
Chris Michael 24c92d8caf evas-software-x11: Remove improper EINA_UNUSED for function parameter
Summary: In the _native_bind_cb function, the data parameter is
actually used inside here, so having EINA_UNUSED on the function
parameter is incorrect.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-02-27 10:29:06 -05:00
Jean-Philippe Andre 2e3ee0e658 Evas masking: Fix double free() with scaled images
The function image_scaled_update() frees() the old scaled image
passed as input if it doesn't match the old dimensions. This commit
will avoid double frees.
2015-02-27 17:56:49 +09:00
Jean-Philippe Andre ab89dc401c Evas masking: Check fill properties to consider image as filled
Edje may not set the filled flag on an image even if its fill
properties make it fill the whole object. For masking, it can
then be considered as a filled image.
2015-02-27 15:57:36 +09:00
Jean-Philippe Andre 87aed21c05 Evas masking: Remove commented-out code
I shouldn't have pushed this :)
2015-02-27 14:11:59 +09:00
Jean-Philippe Andre 0da6278af8 Evas masking: Fix masking of maps in GL
This completes the transition to auto-scaled mask images when
using the GL engine. Now the shaders do the work on-the-fly of
resizing the mask.
2015-02-27 13:06:09 +09:00
Jean-Philippe Andre fab0d7f9d3 Evas masking: Simplify previous commit
Call object's function to get the private engine_data (here, the
image object). Thanks Dongyeon for your patch which inspired me to
do that instead of forcing pre_render.
2015-02-27 13:06:09 +09:00
Jean-Philippe Andre fddaf62fcc Evas masking: Add fast path for image-only masks in GL.
This will currently optimize most of the masks when using the
GL engine[1].

This is a very special case that adds a highly optimized path
for masking in GL. It works by creating a virtual image, containing
a pointer to the original image and a new geometry[2].

Instead of creating a new FBO-based surface (image_map_surface),
we refer to the original image and adjust the mask geometry on
the fly.

KNOWN BUGS:
- masking a map with such a scaled image is now broken.

[1] Right now all masks are simple Evas Object Image, so that means
    all cases of masking, except masks of masks, or masks of maps,
    will be optimized with this new method.

[2] This virtual image mechanism is still quite hackish and may
    be improved (for memory usage, refcounting, etc...)
2015-02-27 13:06:09 +09:00
Bogdan Devichev 5eba6ae468 evas-3d: fix incorrect reading of .obj file which had an empty line before data in unix encoding.
Summary:
For example of a bug, part of .obj file:
vn 0.5536 -0.7200 -0.4185\n
vn -0.5536 -0.7200 -0.4185\n
\# 239 vertex normals\n
\n
vt 0.4998 0.2618 0.0000\n(lines like this were ignored)
vt 0.5205 0.2550 0.0000\n
vt 0.5249 0.2618 0.0000\n

@fix

Test Plan: Run colorpick example. Before and after this update. ("M15.obj" has fixed places.)

Reviewers: cedric, Hermet, raster

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2049

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-26 21:06:38 +01:00
Jean-Philippe Andre b815f57078 Evas masking: Simplify map masking shaders.
Use vertex shader for all coordinates computations.
This reduces the number of varyings used.
2015-02-26 17:49:21 +09:00
Jean-Philippe Andre 964d6e559f Evas GL: Fix leak of surfaces with GLES 1.1
When destroying a GLES 1.1 surface, it is necessary to also
destroy and remove the main surface from the list.

This issue probably never really showed up because people
don't:
- use GLES 1.1
- constantly create & destroy new Evas GL surfaces
- but mostly no one cares about 1.1 anymore :)

@fix
2015-02-25 15:01:45 +09:00
Jean-Philippe Andre 29da1113ee Evas GL: Restore viewport and scissor test for GLESv1
This is necessary when switching back to direct rendering.
But I suspect there are other corner cases that we didn't spot.
2015-02-24 22:18:53 +09:00
Jean-Philippe Andre ae2061dbe2 Evas GL: Fix support for GLES 1.1 indirect rendering
This requires a special context that matches the configuration
required for GLES 1.1. Otherwise eglMakeCurrent() would fail
miserably with EGL_BAD_MATCH in case of indirect rendering
(at least on some drivers).
2015-02-24 22:12:00 +09:00