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
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
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
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
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>
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)
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
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>
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
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>
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
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
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>
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
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
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
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>
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>
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>
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.
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>
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>
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
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>
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>
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>
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>