Summary: If we call these functions with an already disabled output,
we crash. Check for an output being 'enabled' before we make these
calls.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: As the gl_drm engine code will almost always pass NULL
rectangles, remove the EINA_SAFETY checks so that logs don't fill with
meaningles error messages.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: Previous Ecore_Evas drm code would create the gbm device and
surface inside the gl_drm function. As these are now handled inside
the evas-gl-drm engine itself, this code is not needed here.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: Previous gl_drm evas engine code did not work properly (or at
all really). This reworks/refactors the gl_drm engine code to work
again with the changes made to ecore_drm.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
This commit adds the necessary generator logic to emit doc
comments from the new doc syntax. Old doc comments are kept
in for the time being as they're used within the EFL but they
will be removed eventually. This new generator focuses all the
important code in one place, making usage easy.
@feature
Summary:
EFL currently supports pointer grabbing. This patch introduces new API
allowing to grab all slave touch devices registered in X server
Grabbing is performed by XIGrabDevice function from XInput 2.0.
By default ecore_x_input_touch_devices_grab grabs all XISlavePointer devices,
having XITouchInfoClass. Function returns EINA_TRUE if at least one touch device
was successfully grabbed. ecore_x_input_touch_devices_ungrab ungrabs all
previously grabbed devices.
To process events correctly change has been done in x_input_handler to emulate
mouse pointer events. If XITouchEmulatingPointer flag is set on touch events and
device is grabbed framework will generate mouse events. This is required
due to X Server design in which mouse events are no longer send to client when device is
detached (grabbed) from virtual core pointer.
@feature
Reviewers: cedric, raster, devilhorns
Subscribers: seoz, cedric
Differential Revision: https://phab.enlightenment.org/D2568
So I don't like this data being void and stride being in bytes, but changing it
for silencing a warning will be a massive change. I will put that on the major
cleanup that Evas_3D need to receive.
This adds new APIs that deal with the new documentation syntax
provided by Eolian. The old doc comment APIs are considered
deprecated from now on and will be removed.
@feature
Summary:
Check for have_selection flag when left/arrow keys are pressed to jump
across the selected text, to avoid unnecessary function calls of
comparision, copy of sel_start and sel_end pointers.
Test Plan: Press left and right arrow keys on selected and normal text.
Reviewers: herdsman, tasn
Subscribers: SubodhKumar, navnbeet, cedric
Differential Revision: https://phab.enlightenment.org/D2621
Summary:
Old algorithm searched specified frame of the base frame and when it could not find the specified frame it ignored. So the bounding box was not synchronized with the object.
New algorithm always returns specified base frame or frame interpolation between the nearest base frames. That does synchronizes mesh object and his bounding box.
Reviewers: Hermet, cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2594
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Since the move to Eo, in case of error we do not need to cleanup anything when
finalize finish. The kill function was arranged to do so, but it was still emiting
an event exposing the invalid Eo object. Looking closely at the code, that should
have not happened, as there was no symetrical ADD event and the function would do
nothing else. So removing it. This prevent any potential SEGV from a function that
would catch the DEL event.
@fix
Summary:
If you try to load the jpeg image with an orientation mode defined
using elm_photocam, you can see the broken image(in canse of 90 degree)
or even segmentation fault can happen (in case of 180,270 degree)
@fix
Test Plan: photocam menu on elementary_test
Reviewers: Hermet, cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2593
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Evas has quite a number of shaders, and resetting the projection matrix
for all shaders takes some time, which is an overhead when target surface
is continuously being changed (ie. when using proxy).
So here we reset the projection matrix for shaders that are actually used.
Summary:
Evas GL now supports surfaceless make current, where
evas_gl_make_current can be called with sfc parameter NULL.
This closely resembles EGL_KHR_surfaceless_context extension,
where applications that only want to render to client API targets
can make current to NULL surface instead of creating a dummy egl surface.
@feature
Summary:
When direct rendering is enabled, FBO configuration should match
window surface configuration as FBO will be used in fallback cases.
So create FBO with configuration from window surface.
@fix
Summary:
When default framebuffer(0) is bound, attachment should contain
COLOR, DEPTH or STENCIL for glDiscardFramebufferEXT.
When a framebuffer object is bound, attachment should contain
COLOR_ATTACHMENT0, DEPTH_ATTACHMENT or STENCIL_ATTACHMENT.
This should be correctly taken into account for indirect rendering,
where internal FBO is used.
@fix
Summary:
Separate EGL extensions from GL/GLES extension list, since
we have extension list for each GL version, and we do not want to
check EGL extensions differently when different GL versions are used.
This also simplifies extension string get function as we just need to
concatenate EGL and GL extensions rathan than keeping track of
GL extensions only.
Summary:
We should make current to an Evas GL context before calling _surface_buffers_destroy,
otherwise resources from GL backend will be removed.
@fix
Summary:
When either FBO or EGL image from texture extension is not supported,
we can use pixmap surface as indirect surface fallback.
Since native pixmaps have (0,0) in the upper left while
FBOs have (0,0) in the lower left, we should invert the y coordinates
when native pixmaps are used as the render target.
To accomodate run-time y-invert check we add a new callback for
EVAS_NATIVE_SURFACE_EVASGL type.
Reviewers: cedric, jpeg
Subscribers: wonsik, mer.kim, cedric
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>
Summary: The engine for OpenGL with drm is actually called "gl_drm".
There was an issue where the engine_get function would return false
because the #ifdef was testing the wrong thing.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
Add a new property to edje_object.eo for setting the language on one Edje_Object.
Test Plan:
Test Code to test this implementation is done as part of efl/src/examples/edje/edje-text.c and efl/src/examples/edje/text.edc
edje_cc -md <dir path>/efl/src/examples/edje/ text.edc && gcc -o edje-text edje-text.c `pkg-config --libs --cflags ecore-evas edje evas ecore eo`
./edje-text
1) Click On the text "Click here"
The language gets changed as per the specific edje object.
2) Click on the text object at bottom. "Click here"
The system language gets changed and the below two edje objects language are changed globally.
Reviewers: cedric, shilpasingh
Subscribers: poornima.srinivasan, govi, rajeshps, cedric
Differential Revision: https://phab.enlightenment.org/D2559
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Fix parens bug.
((x + y)-z) is OK.
((x + y) - z) is NOT OK. This patch can cover this case.
@fix
Signed-off-by: Nak-Gyeong Kim <nakkyong.kim@samsung.com>
Test Plan:
Test in edc.
((x + y)-z) is OK.
((x + y) - z) is NOT OK. This patch can cover this case.
If parens are not paired, it will notify.
Reviewers: raster, Hermet, cedric
Subscribers: kimcinoo, jaehwan
Differential Revision: https://phab.enlightenment.org/D2554
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This was not really useful and against the Eolian guidelines.
While I promised I won't break things until the 27th, I was ill
(still am), so I'm giving myself a 1 day pass. :P
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:
For showing text error like spell error thick underline is used hence added the underline height support.
@feature
Test Plan: test case added in evas textblock test.
Reviewers: raster, shilpasingh, tasn
Subscribers: govi, rajeshps, cedric
Differential Revision: https://phab.enlightenment.org/D2531
TAsn comment: I wonder if the format should be renamed to
underline_relheight instead of height. If you have any thoughts, please
let me know.
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: Now mechanism of creation of primitives is similar to model loading.
Reviewers: Oleksander, Hermet, raster, cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2516
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
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>
Summary:
Modified codes according to prevent result
The im will be freed by data_image_preload_done api.
But if image load error happen, never call that api
@fix
Test Plan: prevent tool
Reviewers: Jaehyun, Hermet, cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2565
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
For calculation 'aabb' need to know how mesh was transformed.
So for primary data of mesh was calculate all transformation.
Reviewers: Hermet, cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2563
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Eo files will now fail to compile if a cycle is detected.
This required some temporary changes in existing eo files
(we had 2 cycles) for which I added a FIXME (they do not
affect C generation).
@feature
Summary: As it turns out, we don't need to make the call to set an
output mode during creation. The mode will end up getting set anyway
when we set the first buffer.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
This broke following my eo_constructor() changes. This is weird though
as:
1. Eina doesn't depend on Eo.
2. It was casting the constructor for some reasons.
Anyhow, fixed now.
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
Compilation was failing due to the changes in the Eolian library. The
generator has not been updated.
This patch fixes the compilation but not the tests that I let to my
lovely q66.
Summary: When we generate an Ecore key down/up event, we should also
be setting the keycode in the event structure
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Sometimes it is necessary to specify a different set of values for a
getter or a setter. This commit allows such specializations. This also
renders @const_get and @const_set useless (soon to be removed).
To function correctly, this required adjustment of several public APIs
as well as deprecation of eolian_function_parameter_get_by_name.
This function was not used in any generator and was pretty much
useless in the first place, so it was removed.
@fix
While unrefing twice works, it's cleaner to unref the ref we
have and delete normally. It will handle parnet detachments in
a nicer way, and is just more correct.
This is another cleanup in perparation for the Eo stable release.
This is no longer needed thanks to the proper error reporting with
eo_constructor()'s new return value.
The finalizer change cleans it up a bit so it catches more cases/issues.
This also means that the finalizer cleans up the object in all cases,
and not only some.
@feature.
Because we defer the deletion of this object until we get all the
responses from the network, we must manually free it. A better solution
would possibly be to just free the requests upon object deletion instead
of deferring the deletion.
@fix
From now on, constructors should return a value, usually the object
being worked on, or NULL (if the constructor failed). This can also
be used for implementing singletons, by just always returning the same
object from the constructor.
This is one of the final steps towards stabilizing Eo.
@feature
Summary: Changes float on uchar as we do in other place for color component
Reviewers: raster, Hermet, cedric
Reviewed By: cedric
Subscribers: cedric, artem.popov
Differential Revision: https://phab.enlightenment.org/D2528
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
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>
Summary:
When dlopen() fails, eina_module_load() print error information using dlerror().
But, it is printed with WRN. If EINA_LOG_LEVEL is lower than WRN,
application developer is hard to see which has a problem.
Reviewers: woohyun, Hermet, raster, cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2536
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
when using glx it's necessary to share a Display* object, and this object
may be created externally
no tests provided since they would not be run, would require direct linkage to xlib,
and is literally a 2 LoC change from regular ecore_x_init()
@feature
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: If an output is disconnected, then we should not be trying to
set the mode of it's CRTC as that is going to fail anyway.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This is just the beginning. I tried for one class to check.
Tell me if this is fine, I'll change in other classes also. The goal
is to simplify and make our API clearer to understand to new comers.
Reviewers: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2468
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Issue: when asin,acos,atan functions were called from edc, wrong values were returned
Solution: fixed asin,acos,atan functions in embryo script.
Test Plan: embryo script functions asin,acos,atan to be called from edc and return value to be verified.
Reviewers: Hermet, prince.dubey, shilpasingh, raster, cedric
Reviewed By: shilpasingh, cedric
Subscribers: rajeshps, govi, cedric
Differential Revision: https://phab.enlightenment.org/D2512
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Issue: Current embryo script do not provide any mechanism to set transition type in animation
Solution: A new API set_state_anim is added.
Signed-Off by: Kumar Navneet <k.navneet@samsung.com>
Signed-Off by: Shilpa Singh <shilpa.singh@samsung.com>
Test Plan: A test edc (embryo_set_state_anim.edc) is added to edje examples to test set_state_anim API.
Reviewers: shilpasingh, raster, cedric
Reviewed By: cedric
Subscribers: poornima.srinivasan, cedric
Differential Revision: https://phab.enlightenment.org/D2470
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Added test case for eina_file_copy function to check copying of two files
Signed-off-by: vivek <vivek.ellur@samsung.com>
Reviewers: cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2449
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Issue: Current embryo script do not provide any mechanism to set transition type in animation, by default supports only linear
e.g: set_tween_state API
Solution: To not break backward compatibility, a new API set_tween_state_anim is added in which we can even specify type of transition required.
Signed-Off by: Kumar Navneet <k.navneet@samsung.com>
Signed-Off by: Shilpa Singh <shilpa.singh@samsung.com>
Test Plan: A test edc (embryo_tween_anim.edc) is added to edje examples to test set_tween_state_anim API.
Reviewers: raster, cedric, shilpasingh, Hermet
Reviewed By: shilpasingh
Subscribers: poornima.srinivasan, SubodhKumar, rajeshps, cedric, govi
Differential Revision: https://phab.enlightenment.org/D2344