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.
Use the Khronos version from extension EGL_NV_coverage_sample.
In the extension multisample_coverage version 4 (since 3/7/2013),
there is an explicite note about the name conflict.
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>
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).
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.
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>
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>
Summary:
Using can result in motion being completely discarded. Since we
only need integer data, we also only actually forward on an event
when the mouse moves more than a full unit.
Reviewers: zmike, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2062
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>
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>
This was the only user of xcb-xprint and we already have a fallback in place for
it. I talked to Chris about it and he was fine with it before his morning coffee.
More serious this should be ok and we can get rid of this part which starts to
make trouble in distros by now. E.g. gentoo is disabling it completely and many
others just ship upstream which means no pc file. Arch seems to patch it in but
we are on the safe side with just using the fallback.
xcb no longer ships the xcp-print.pc file and thus pkg-config is not able to
detect it. Some distros might patch over it as the source files seem still to
be shipped but we cannot rely on this.
http://lists.freedesktop.org/archives/xcb/2013-November/008907.html
As the above commit mentions the xprint support was actually removed from the
Xorg server in 2008 (1.11 release) which means none of our code actually has
any server side it can talk to for some years now. :) Our xcb-xprint code is
actually ifdef'ed already so we might want to remove it alltogether.
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.
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.
If the image is not "filled", then we can't assume its image
source geometry is the same as its texture geometry.
Note: Implementing a fast path for non-filled images would
require a hell of a lot more work (need to cut the render
into a lot more triangles) for little real-life use.
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.
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...)
when dealing with non-kbd devices, the seat can be iterated to locate a keyboard
this may or may not accurately set depressed, latched, locked, group values
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>
With this commit I'm finally able to use -j10 for make install on my machine.
During install libtool does some relinking which can result in to broken linking
if the dependencies are not handled correctly. Sadly automake has a problem with
the automatic dependency handling during install with LTLIBRARIES which we use
for all our modules. For the details please see this 4.5 years old bug report:
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7328
We are now setting the dependency manually to force automake to the right decision
during install relinking.
Speed improvement itself is not that high (make -j 1 compared to -j10):
real 0m21.410s vs. real 0m17.066s
The bigger benefit is the unified use of MAKEOPTS or normal -j X in all our
build targets. I have seen quite some bug reports where -j was used for install
target when it was used in the build target. Last but not least it helps me to
unify some parts of the jenkins jobs and finally allows me to run distcheck
with -j Which uses install internally and failed before. Which goes down from
real 12m50.349s to real 5m52.120s.
if you fork and even if you do ecore_fork_reset() a thread calling
ecore_main_loop_thread_safe_call_async(0 for example eill end up
resetting the mainloop thread id to itself (a non mainlopo thread) via
calling eina_main_loop_is() since pid changed. there is little point
in doing this so remove the pid tracking from eina and ensure mainloop
thread id is updated in ecore's fork reset.
@fix
Summary:
Added test case for eina_memdup function in eina_str test module
Signed-off-by: vivek <vivek.ellur@samsung.com>
Reviewers: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2026
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
While install-exec-hook gets normally executed after install and
thus we would have this we need to ensure it here when we want to
be safe regarding parallel install.
While we used different variation of mkdir -p all over we also had spots
where we did not use the option. This is one step in trying to make our
build system ready for parallel install. Using something like -j 10 even
for the install should help to speed up our jenkins jobs as well as distcheck.
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
Most of the time the style string will come from the eet file directly, so
thanks to the dictionnary build in they should be pointing to the same string.
We still need to keep strcmp case for Edje_Edit case, but that shouldn't be
a real issue as the worst case is when it match. When it doesn't match strcmp
should return quite fast on average.
Summary:
When textblock styles have text_classes, all edjes in the files were added
to text_class_member_hash even if the edjes didn't use the textblock styles. It
makes time long to update text_class.
This will add the edje using the textblock style which has a text_class to
text_class_member_hash.
Reviewers: cedric, raster
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2035