Commit Graph

1809 Commits

Author SHA1 Message Date
Dongyeon Kim 63e057bff9 Evas GL: Fix direct_mem_opt and direct_override
Summary:
Remove surface buffer create/allocate in pbuffer_surface_create.
In evgl_make_current, we should use direct_mem_opt, direct_override values
set in EVGL_Surface struct, not the global value set by env variables.
@fix
2015-06-03 11:30:21 +09:00
Dongyeon Kim ea5788d247 Evas GL: destroy egl image when surface is destroyed
Summary:
We should destroy egl image when surface is destroyed
to avoid memory leak.
@fix

Test Plan: Evas GL test cases

Reviewers: jpeg

Subscribers: mer.kim, mythri, wonsik, cedric

Differential Revision: https://phab.enlightenment.org/D2357
2015-06-03 11:30:21 +09:00
Dongyeon Kim e789b24ff4 Evas GL: 1.x support for GLX
Summary:
Now we can support EVAS_GL_GLES_1_X version for GLX backend
with both direct and indirect rendering.
Refactored api get functions to have similar code path for each version.
@feature

Test Plan: Evas GL test case

Reviewers: cedric, jpeg

Subscribers: cedric, mer.kim, mythri, wonsik

Differential Revision: https://phab.enlightenment.org/D2342
2015-06-03 11:30:21 +09:00
Jean-Philippe Andre 777f7f2047 Evas masking: Fix rare issue of invalid rendering (GL)
Thanks Dongyeon for finding out this solution. Now that was
one nasty bug :)

Somehow the currently bound texture id would not match what
Evas expected, so Evas would not call glBindTexture when
required. As a result it was drawing black (sampling from tex 0).

@fix
2015-06-03 11:03:29 +09:00
Chris Michael 732d67c155 evas-drm: Remove useless fields from Outbuf structure
Summary: These fields are not needed in the outbuf structure as they
are never used, so just remove them.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-02 09:24:22 -04:00
Chris Michael 8e4426642d evas-drm: Minor formatting fix
NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-02 09:17:57 -04:00
Chris Michael 6929172a81 evas-gl-drm: Fix formatting
NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-01 14:06:21 -04:00
Jihoon Kim 15814ccccb ecore_imf/wayland: support input language mode in wayland text input
@feature
2015-05-28 13:13:25 +09:00
Jihoon Kim 7240a71d33 ecore_imf/wayland: support input hint in wayland text input
@feature
2015-05-28 11:35:05 +09:00
Jihoon Kim 85166a0c73 ecore_imf/wayland: support password mode in wayland text input
@feature
2015-05-28 10:05:11 +09:00
Carsten Haitzler 2b8d54c357 emotion gstreamer1 module - support 709 color matrix properly now
now that 709 colorsp[ace works in evas, use it properly in gst1 module
if possible
2015-05-27 23:34:08 +09:00
Carsten Haitzler cc49c1702b evas - fix yuv support to no longer ignore 709 colorspace params
if yuou use 709 instead of 601 yuv (ycbcr) evas will just be wrong and
use 601. this fixes that and implements 709. it also fixes a scaling
bug for yuv in the gl engine. no one noticed but me, so i won't call
this a bug fix, and it can go into the next efl release - no need to
backport unless it actually bothers peolpe (which it seemingly doesn't)
2015-05-27 20:19:46 +09:00
Jihoon Kim c5f0eea83d ecore_imf/wayland: support autocapital mode in wayland text input
@feature
2015-05-27 14:39:37 +09:00
se.osadchy 684c51360f evas: fix color pick compatibility of Evas_3D with GLES.
Summary:
Use fourth component texture. Update mechanism generation pixels, scene renderer
to texture and geting color pixels from texture. Update shader for color pick.

Reviewers: Hermet, raster, cedric

Reviewed By: cedric

Subscribers: Oleksander, cedric

Differential Revision: https://phab.enlightenment.org/D2549
2015-05-27 00:31:07 +02:00
Oleksandr Shcherbina abc1eabecb evas: fix compatibility with GLES2.0. Shadow effect
Summary:
Use RGBA texture unit for generation shadow. Use separate framebuffer and
renderbuffer for shadow map.
Refactor shadow map shader to use position of shadow and pack depth value in
RGBA texture.
Refactor shader function for generation shadow factor to unpack depth value from
RGBA shadow map.

Reviewers: cedric, Hermet

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-27 00:31:07 +02:00
Cedric BAIL f78bc0f22a evas: define EGL_OPENGL_ES3_BIT_KHR in all case for better portability. 2015-05-26 09:18:11 +02:00
Carsten Haitzler 7d1a27bae9 evas gl engine - dont complain if refs are still there in cache on trim 2015-05-22 17:12:14 +09:00
Carsten Haitzler b2c9899d8a evas shader generation - add comments to indicate to commit the files
so you know the files should change when you "make" and shf files are
updated, add notes to the .x files generated to indicate they should
be committed back to the repo so it is clear
2015-05-21 17:13:25 +09:00
Carsten Haitzler ce7a6e7106 update shaders 2015-05-21 17:03:36 +09:00
Jihoon Kim 21106fd5f0 ecore_imf/wayland: support feature to change layout of virtual keyboard 2015-05-20 18:47:58 +09:00
Oleksandr Shcherbina fb2e000028 evas: fix compatibility with GLES. Alpha test
Summary:
Add alpha test in shader code instead of function glAlphaFunc that doesn't supported
in GLES2.0
Add gag and TODO in shader function that generate shadow. Without it all scene is
shadowed, because shadow effect doesn't work yet.

Reviewers: cedric, Hermet

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-19 14:17:00 +02:00
Jihoon Kim 82bb9c9c1e ecore_imf/wayland: hide input panel explicitly in focus-out handler 2015-05-19 19:19:54 +09:00
Daniel Kolesa 058a9c9d88 eolian: new syntax for params/values/keys
Instead of "@in type name;" we now use "@in name: type;". This change
is done because of consistency with the rest of Eolian; pretty much
every other part of Eolian syntax uses the latter form.

This is a big breaking change in the .eo format, so please update your
.eo files accordingly and compile Elementary together with the EFL.

@feature
2015-05-18 16:14:31 +01:00
Shinwoo Kim f372eb4b92 [ecore_evas_extn] add function to block mouse event.
Summary: add ecore_evas_extn_socket_events_block_set/get

Test Plan: add mouse event callback, and check whether it could get event or not

Reviewers: raster, woohyun, jaehwan, Sergeant_Whitespace

Reviewed By: Sergeant_Whitespace

Subscribers: Sergeant_Whitespace, seoz, cedric

Differential Revision: https://phab.enlightenment.org/D2268
2015-05-15 16:46:22 +09:00
Chris Michael 9cc25bf3c2 evas-drm: Mark framebuffer as dirty before sending
Summary: We should be marking the framebuffer dirty regions Before we
send the pageflip to the kernel so that the kernel can properly
optimize drawing dirty regions before scheduling a pageflip.

NB: Slightly optimizes evas drm rendering a bit more. Thanks to Daniel
Stone for the help :)

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-14 11:52:13 -04:00
MinJeong Kim 2cf0ed49ce ecore_evas_wayland: prevent duplicated shutdown of ecore_wl
Summary:
When the ecore_evas of wayland_egl/shm is freed with ecore_evas_free(),
ecore_wl_shutdown() is called by _ecore_evas_wl_common_free().
so ecore_wl_shutdown() after ecore_evas_free() has to be skipped.
@fix

Reviewers: devilhorns, raster, zmike, gwanglim

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2503
2015-05-14 07:55:24 -04:00
Oleksandr Shcherbina bfe8b7c05e evas: correct normal map shader.
Summary:
Due to using Evas_GL_Image for generation texture unit for Evas_3D_Texture it is
need adjusting texture coordinates in shader
It has been missed here
https://git.enlightenment.org/core/efl.git/commit/?id=d88ccf06a5f6ebcfc68dcc21e55a241f64ff9aa9

Reviewers: Hermet, cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-13 16:20:22 +02:00
Jean-Philippe Andre 7a614c80f3 Evas filters: Fix glReadPixels usage for EGL
EGL might very well not support RGBA read mode, so we
need to check for it first.

Also remove some error logs (see previous commit), and useless
initialization of the Evas GL engine.

@fix
2015-05-13 10:45:13 +09:00
Jean-Philippe Andre 748e6ad1b9 Evas GL common: Add very basic GL calls tracing method
Rewrap the GL calls to print them out. The arguments are not
interpreted. See the GL_ERRORS #define.
2015-05-13 10:24:24 +09:00
Jean-Philippe Andre 55eb75ad86 Evas GL common: Skip shaders generation if there is no change
Based on a quick git diff we check that the glsl code has not changed.
This should fix out-of-tree builds and avoid all source modification
unless required.

When compiling from a tarball there should be no git tree (err 129),
or if there's one the files should not be checked in (ie. no diff).
If you changed the glsl files in a tarball... too bad for you.

If this is still not enough to fix the build, then go ahead and disable
the script from Makefile_Evas.am

I would like to note that the auto-generation during make is extremely
useful when working on the shaders, which is why I'd rather keep it enabled.

@fix
2015-05-12 12:31:34 +09:00
Ji-Youn Park 4a4d5f2705 evas: fix bug in evas gl texture.
Summary: bytecount always 1,2,4. so changed for simple code.
2015-05-11 20:07:12 +09:00
Ji-Youn Park 9bf8a0e56b evas: fix bug in evas gl texture.
Summary: If the pixel size of image is not 32 bit like EVAS_COLORSPACE_AGRY88,
         GL_UNPACK_ALIGNMENT have to be changed.
2015-05-11 19:08:12 +09:00
Oleksandr Shcherbina b85713a0a4 evas: pass disable atlas flag between Evas_3D_Texture and Evas_GL_Image
Summary:
Bind flag atlas_enable.
Build adjusting matrix only in case getting texture unit with atlas.

Reviewers: Hermet, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-10 22:55:59 +02:00
Subhransu Mohanty 1ce417eb8b evas/engine: Fix the ector drawing for gl backend 2015-05-09 20:00:01 +09:00
Daniel Kolesa ed0988a22d eolian: change all EFL .eo files to use new syntax for properties 2015-05-07 16:36:58 +01:00
Cedric BAIL ce5ccfb5be ecore: remove the need to order the header correctly for Windows. 2015-05-07 09:53:10 +02:00
Cedric BAIL 71b7fc982a evas: remove the need to order the header correctly for Windows. 2015-05-07 09:53:10 +02:00
Oleksandr Shcherbina d88ccf06a5 evas: use Evas_GL_image for generate texture unit for Evas_3D_Texture.
Summary:
Used engine function for load image/data and use texture unit through
Evas_GL_Image object
Used Evas_ColorSpace format instead Evas_3D_Color/Pixel format
Added transformation matrix for adjusting texture unit coordinates in shader
Added property in Evas_3D_Texture for mark possibility get texture without atlas
(see https://phab.enlightenment.org/conpherence/54/, I suppose it will done
after this patch)

Reviewers: Hermet, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-07 09:53:09 +02:00
Oleksandr Shcherbina 0f6d101ad5 evas: add to Evas_GL_Image flag disable generate atlas.
Summary:
It is need in case Evas_3D_Mesh created with not normileze texture coordinate
and flag repeat mode for Evas_3D_Texture
Additional info see here https://phab.enlightenment.org/conpherence/54/
Use Evas_GL_Image for generation texture unit for Evas_3D_Texture
see here https://phab.enlightenment.org/D2371

Reviewers: jpeg, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-07 09:53:09 +02:00
Cedric BAIL 66a2f71c1a evas: handle orientation while an object is cutout.
T2338

Thanks to DaveMDS to take the time to report accurately the issue. That helped
a lot figuring out things. And another thanks to Vincent Torri for the help on
the math side.
2015-05-05 10:17:01 +02:00
Cedric BAIL 8a7b73ccbc evas: fix reference counting of Evas_GL_Image during orient_set. 2015-05-05 10:17:00 +02:00
Cedric BAIL 28e66c23b6 evas: prevent infinite loop when there is no image we can remove. 2015-05-05 10:17:00 +02:00
Mike Blumenkrantz 35c0dfde1d evas-gl common: clarify cryptic error message 2015-05-04 17:11:43 -04:00
Chris Michael 5754e8ccc5 ecore-evas-wayland: Fix issue of setting NULL cursor object
Summary: If we are calling ecore_evas_object_cursor_set with a NULL
object, then we need to inform the ecore_wayland window that we no
longer have a cursor surface.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-04 12:38:56 -04:00
Chris Michael 4cfff13f73 evas-drm: Remove debug noise
Summary: No real function changes, just commented out some debug so we
have less noise for release.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-04 11:42:20 -04:00
MinJeong Kim f485d5ffdd ecore-evas-wayland: remove duplicated shutdown of ecore_evas_wl_common
Summary:
 After a creation for ecore_evas_wayland_shm or ecore_evas_wayland_egl is
failed, _ecore_evas_wl_common_shutdown() gets called 'twice'.

 First shutdown is from _ecore_evas_wl_common_free() which is set as fn_free()
of ecore_evas engine, and this fn_free() is called by ecore_evas_free().
 Second is from direct call inside ecore_evas_wayland_shm_new_internal()
(or ecore_evas_wayland_egl_new_internal()).
 This duplicated shutdown causes block of first next _ecore_evas_wl_common_init
because init count is not zero but -1.

 So second shutdown should be removed so that it makes enable fall back to
another wayland engine correctly when one is failed to create ecore_evas_wayland.

@fix

Reviewers: gwanglim, devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2451
2015-04-30 11:31:19 -04:00
Chris Michael faa99297e0 evas-wayland-shm: Fix T2352 (focused window borders blink)
Summary: This fixes an issue where the wrong swapmode was being
returned to the evas render function. This was causing focused windows
to blink.

NB: Big thanks to Derek for assisting !! :)

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-30 11:15:00 -04:00
Chris Michael 7c1da6cdfa evas-wayland-shm: Update software_generic render engine size on output resize
Summary: As we override the software_generic function for
eng_output_resize, so we can handle resize edges, we should also be
updating the software_generic's render engine size here because the
function for software_generic->output_resize never gets called.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-29 14:23:24 -04:00
Chris Michael c4e9d29441 evas-wayland-shm: Minimize race condition when finding free leaf
Summary: This fixes a possible race condition that could happen when
using more than 2 buffers. Instead of searching for a free buffer in
various places, find a free buffer when evas requests the buffer data
and save that free buffer as the 'current buffer'

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-29 11:49:49 -04:00
Chris Michael a3969b4d3a evas-wayland-shm: Use size of buffer when caching
Summary: evas_cache and evas_cache2 are expecting the width of the
buffer when caching so just use that directly rather than calculating
bpl.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-29 11:14:38 -04:00