Commit Graph

1809 Commits

Author SHA1 Message Date
Mun, Gwan-gyeong 648091a1ad evas-drm: Fix evas-gl_drm picking incorrect resolution/mode for outputs
Summary:
Fix evas-gl_drm picking incorrect resolution/mode for outputs
   reference,  commit: d3a207bf9a

Reviewers: zmike, cedric, raster, gwanglim, devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2447
2015-04-29 08:49:06 -04:00
Cedric BAIL a9911f5fd8 emotion: trying to fix gstreamer backend build on Windows. 2015-04-28 11:37:11 +02:00
Cedric BAIL f93cc6fe3b evas: fix issue of using two times the same image with different orient in software.
Fixing T2338
2015-04-27 19:18:04 +02:00
Cedric BAIL d22155487b evas: get rid of clobbered warning. 2015-04-25 19:59:18 +02:00
Cedric BAIL 1b91101966 evas: fix usage of the same ressource in the GL backend with orient.
When we set orient we actually need to return a new image or it will confuse
evas a lot.
2015-04-25 10:15:13 +02:00
Jean-Philippe Andre 52c7cbddf5 Evas GL common: Avoid excessive pipe flushes in image free
This should boost performance a little bit when an image is
just unref'ed but not deleted (thus doesn't need a pipe flush).
2015-04-24 11:12:30 +09:00
Jean-Philippe Andre 1ffe82fb7c Evas GL masking: Improve performance with scaled images
The GL scaled images is a fast path for masking where
the shader scales masks on the fly.
This optimization actually fixes some issues where the current
texture binding was incorrect.
2015-04-24 11:12:30 +09:00
kabeer khan ce45d443c1 evas: fix rotation and flipping of image in gl engine
Summary:
fix rotation(90, 180, 270) and flipping(vertical, horizontal, transpose,
transverse) of evas image in gl engine backend.

@fix

T2338

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

Reviewers: cedric, jpeg

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-22 15:10:19 +02:00
Tom Hacohen 5b5b7113b7 Ecore_evas wayland: remove double parenthesis around comparison.
Double praenthesis should be used around assignments, not comparisons.
Doing this correctly all aronud lets the compiler warn us about potential
mistakes.
2015-04-22 13:13:21 +01:00
Chris Michael 92fc46cc16 ecore-evas-drm: Fix issue of fullscreen surfaces not getting focus on show
Summary: This fixed T2349 where elm apps would not get initial focus
on show when running via drm. This also addresses the issue of always
sending the state_change event even when not an override.

NB: Thanks to bu5hm4n for reporting ... and even providing a potential fix ;)

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-21 13:44:36 -04:00
Marcel Hollerbach c77812d8b0 ecore_imf: init wayland before using wayland calls.
Summary:
ecore_imf: init wayland if wayland env var exists

Otherwise ecore-wl functions could return some invalid values. The env var check to avoid error messages.

@fix

Reviewers: Sergeant_Whitespace, devilhorns

Reviewed By: Sergeant_Whitespace

Subscribers: Sergeant_Whitespace, cedric

Differential Revision: https://phab.enlightenment.org/D2253
2015-04-21 10:06:39 -04:00
Jean-Philippe Andre 2e49f60f61 Evas 3d: Fix clang warning
Unused function
2015-04-21 21:08:30 +09:00
Jean-Philippe Andre 8e8444bf35 Evas GL common: Fix clang warnings
Mooooarrr!
2015-04-21 20:11:02 +09:00
Jean-Philippe Andre c98a8eb70a Evas 3d: Fix clang warnings 2015-04-21 20:11:02 +09:00
Jean-Philippe Andre 64ca10bcf6 Evas DDS: Fix clang warning
This one was almost a real catch by clang. Too bad we don't actually
support DXT3.
2015-04-21 20:11:02 +09:00
Jean-Philippe Andre 20dac6d27a Evas: Fix clang warning in generated shaders file
Use const char a[] instead of const char const a[].
2015-04-21 20:11:01 +09:00
Carsten Haitzler 39bbfc3030 ecore_evas extn module - fix coverity complaint
coverity is right. CID 1295139 fixed here. tmpstr_free on sometimes
uninitialized local var.
2015-04-21 10:19:28 +09:00
Chris Michael ea77578ad6 ecore-evas-extn: Use eina_mkstemp in place of mkstemp
Summary: This fixes Coverity CID1039610 'calling mkstemp without
securely setting umask first'. Since we have eina_mkstemp which
already handles creating temporary files in the proper directory,
let's use it.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-20 13:23:47 -04:00
Chris Michael c66275c99b ecore-evas-x: Fix issue of wrong interface function pointer being set
Summary: This fixes Coverity CID1267461 where the pointer to the
interface shape_input_reset function was being assigned multiple
times. It looks like this is just a copy/paste error.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-20 12:58:42 -04:00
Carsten Haitzler 425de99145 emotion gst1 module - remove printf
this debugging printf seems to have been left around - remove it so we
don't get unexpected noise in gst playback
2015-04-20 18:34:58 +09:00
Carsten Haitzler 6458ca32bc emotion - gst1 module - handle long standing bad map/unmap of gst buf
this fixes a pending XXX where we didnt keep the buffer mapped as long
as the evas image object pointed to the video pixel data. this fixes
this along with less over-zealous refinf to make things more obvious
(now last_buffer actualyl really matters and if it was mapped and
refed).

@fix
2015-04-20 18:34:58 +09:00
Jean-Philippe Andre 1804d460ee Evas: Fix memory leak
Fixes CID 1293000
2015-04-20 17:34:15 +09:00
Jean-Philippe Andre 6e587b5479 Evas GL_X11: Fix memory leak 2015-04-20 16:36:49 +09:00
Cedric BAIL c006f64f79 evas: more fix for include order in an attempt to fix Windows build. 2015-04-17 11:54:11 +02:00
Jaeun Choi a09fccd88b evas: restore the value of "do_region" in jpeg loader as EINA_TRUE
this was an unwanted change from 1ab8cc75c4

@fix
2015-04-17 17:09:51 +09:00
Chris Michael 46a04d8803 evas-drm: Mark the Ecore_Drm_Fb as complete when we get the page flip event.
Summary: This fixes Ticket T2289 where the mouse pointer was leaving a
trail while moving. This was caused due to not waiting for the page
flip to complete

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-16 10:25:46 -04:00
Chris Michael eff4a0abe7 evas-drm: Handle render mode for 4 buffers
Summary: If we are using 4 buffers, we should be returning
MODE_QUADRUPLE for render_mode_get function

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-16 10:25:46 -04:00
Mike Blumenkrantz 1aa26c644f evas sw: fix compile warning
modules/evas/engines/software_generic/ector_surface.c: In function '_ector_cairo_software_surface_surface_set':
modules/evas/engines/software_generic/ector_surface.c:89:4: warning: implicit declaration of function 'evas_common_cpu_end_opt' [-Wimplicit-function-declaration]
    evas_common_cpu_end_opt();
    ^
2015-04-14 21:09:27 -04:00
Cedric BAIL 74d27d6a27 evas: split ector surface from gl generic backend in an attempt to fix windows build. 2015-04-14 21:40:32 +02:00
Cedric BAIL 2260b9e328 evas: split software backend use of ector surface in an attempt to fix windows build. 2015-04-14 21:40:32 +02:00
Jean-Philippe Andre 9b6db6b3b5 Evas GL: Add some safety code
Set some pointers to NULL to avoid invalid accesses after free.
Move the similar condition for sfc after the make_current check.
2015-04-14 21:19:13 +09:00
Jean-Philippe Andre 5e832dfa76 Evas GL: Disable direct rendering if there is a map
The engine itself (gl_generic) will detect whether the target
surface (canvas where to draw the gl stuff) is the window
backbuffer or not.
2015-04-14 21:19:13 +09:00
Jean-Philippe Andre c2f5d41f39 Evas GL generic: Fix log domain
The log domain EvasGL is used by evas_gl_common and initialized
only when an Evas GL surface is created.
2015-04-14 17:29:59 +09:00
Jean-Philippe Andre 404ecdd8d7 Evas GL common: Fix RGB+A textures
Since the shaders system rewrite, RGB+A (used for ETC1+Alpha encoding)
did not work anymore.
2015-04-14 16:37:12 +09:00
Jean-Philippe Andre 99347e9178 Evas GL common: Fix texture preload with RGB+Alpha 2015-04-14 16:37:12 +09:00
Jean-Philippe Andre 78cd7336aa Evas GL masking: Skip fast path if colorspace is not supported
Masking in GL assumes only one texture to sample from. This means
RGB+Alpha and YUV types are not supported. While it would
make sense for RGB+Alpha, it doesn't make any sense for YUV (because
masks are alpha planes and YUV is opaque...)
2015-04-14 16:37:12 +09:00
Jean-Philippe Andre be40389bea Evas GL common: Fix masking of maps based on RGB+A textures
That's like a case that will never happen.
Apply a map on an image loaded from an ETC1_ALPHA image. Oh, and
also add a mask on top of that.
2015-04-14 16:37:12 +09:00
Jean-Philippe Andre c646b0ace5 Evas GL common: Properly disable texuv3 when only texuv2 is used
Yet another vertex array fix (GL crash).
2015-04-13 17:43:52 +09:00
Jean-Philippe Andre 0c7857024b Evas GL common: Enable vertex arrays only when requested
This should fix Dave's crash with the GL engine.

Indeed the pointer to the color array is passed directly
to the driver, without memcpy. Then, during glDrawArrays, the
driver will try to address it... but it could as well be NULL or
invalid. So, crashes would occur.

Also mark use_vertex as always true. We keep this field only for the
alloc() function.
2015-04-13 17:43:42 +09:00
Jean-Philippe Andre 21c91928d2 Evas GL common: Fix size of vertices data buffer
This actually has more chances of fixing Dave's GL crash.
2015-04-13 13:51:53 +09:00
Jean-Philippe Andre be45a45a26 Evas GL common: Only push color VBO for map when required
Since the new shader selection system is able to check the
value of nomul, we can avoid pushing color when they are not
required (color is opaque white).

Hopefully this will fix Dave's crash (mayyyyybe...)
2015-04-13 11:40:04 +09:00
Chris Michael 1438a980dd evas-software-x11: Fix dereference before null check(s)
Summary: This fixes Coverity CID1270028, CID1270029, CID1270030 where
variables RGBA_Image and Native where dereferencing function input
paramaters Before null checking them.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-12 21:13:18 -04:00
Chris Michael 2a7640cb4e evas-gl-x11: Fix dereference before null check
Summary: This fixes Coverity CID1293519 where einfo was being used
Before it was being null checked (which Could have caused a crash if
in fact einfo Was NULL).

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-12 21:13:18 -04:00
Chris Michael 3b4902e17e evas: Fix CID1293000 (resource leak)
Summary: This fixes a resource leak of eina_array in
eng_ector_renderer_draw which would return without freeing an
allocated array.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-12 21:13:18 -04:00
Carsten Haitzler f022c23166 evas - gl common engine - dont complain on every surace opt fetch
this causes a complint every single frame - not a good idea.
2015-04-12 11:36:28 +09:00
Chris Michael 9349c44537 evas-drm: Add back in the r, g, b masks for conversion
Summary: This is a big oopsie !! Should not have been removed during
previous commit.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-10 11:09:51 +02:00
Chris Michael e2e3e77010 evas-drm: Remove evas_drm file from build order
Summary: The Evas Drm engine makes use of Ecore_Drm functions now so
we no longer need private versions of the same code

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-10 11:09:51 +02:00
Chris Michael dd62bb1d65 evas-drm: Make evas drm engine use new ecore_drm functions
Summary: As we already have Ecore_Drm which handles all things drm
related, let's make use of it in the Evas Drm Engine. This modifies
the 'meat' of the Evas Drm engine to use Ecore_Drm functions rather
than keeping private versions of the same code.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-10 11:09:51 +02:00
Chris Michael 7e15e58e07 evas-drm: Cleanup drm engine code
Summary: With the evas drm engine refactor, some of the fields in the
Render_Engine structure are unused so remove them.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-10 11:09:51 +02:00
Chris Michael 53ecea1278 evas-drm: Cleanup evas_engine header file
Summary: With the evas drm engine refactor, a lot of these fields in
the Outbuf structure are unused so remove them. This also removes
unused private function declarations.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-10 11:09:51 +02:00
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