This new engine function will only be used in software generic for
now - since it's the only engine used with the async render.
This function has been introduced in order to avoid growing thread
command queue too much to draw a text_props at a time on render calls
from textgrid objects.
Patch by: Paulo Alcantara <pcacjr@profusion.mobi>
SVN revision: 82832
Instead of -I$(top_srcdir)... -I$(top_builddir)... and then do it for
the .la, use the EFL_ macros to generate the contents to be used in
automake files.
There is a nasty bit that libtool will parse Makefile*.am and will not
get _DEPENDENCIES from _LIBADD and _LDADD if these are in
@REPLACEMENT@. To solve this we must explicitly set _DEPENDENCIES. The
contents of this is almost the same as _LIBADD or _LDADD with the
"_INTERNAL_" replacement name.
I hope the code will be result will be shorter and consistent as there
is less places to change when we add/remove dependencies.
Statistics are quite impressive (diffstat):
{{{
37 files changed, 663 insertions(+), 1599 deletions(-)
}}}
SVN revision: 82785
fixed to be byte array instead of void pointer, did this based on the
code of convert... but what I found very strange is that math is "*
32"... really? Shouldn't it be "* 4"?
SVN revision: 82733
This one was a painful bitch. The edbus2 port was quite broken, mainly
leaking eina_stringshare and also not adding the '\0' to the strings
that are represented as bytearray (paths cannot be utf8 to avoid
translations).
Emotion plugin was also quite bogus and the video thumbnail as edje
(animated) is not working yet due bug in Edje_Edit api -- someone
needs to investigate this, seems strange.
Emotion plugin also had a bug that it was deleting the object from
inside object callback.
Now it seems to work. Please report if it does not.
SVN revision: 82675
This patch should make us get a reference on images, maps and glyphs
which are sent in a command to the render thread. Before we were doing
some useless ref and unref operations.
SVN revision: 82666
This is intended to preserve old behavior now that we have
evas_common_font_draw_cb() to handle both sync and async callbacks.
However, we need to check where why we end up with no glyphs in a
text_props even after calling evas_common_font_draw_prepare().
SVN revision: 82664
buffer is lightweight and dependency for many engines, merge it back
into core.
extn is a module on its own, and it's the only one linking to
ecore_ipc, no need to add that to ecore_evas.
minor cosmetic changes to configure to make output consistent.
SVN revision: 82648
Change the module infra and allow one to register using the
description structure itself, saves some work.
Replace module_open and module_close with add() and del(), that are
more descriptive.
Move stuff to init/shutdown where it was a better fit.
Since add() now receives the first parameter being the owning
structure we can create one structure per generic player and they will
merge transparently with other modules, then we can use a simple
algorithm that considers the plugin priority. ALL DYNAMIC!
Future work could be done to load the plugin priority specified by
user from configuration file. But this is not in my plans right now.
SVN revision: 82602
no - not planning a backport of this at this stage. small thing. maybe
backport (and chlog/news) if this doesnt cause any new issues?
SVN revision: 82549
we were using "" for locale that made eina_prefix think that we did
not had a common prefix.
take the time and add a magic file "checkme" to be checked at runtime
to validate stuff.
also made the binaries be searched in MODULE_ARCH namespace.
SVN revision: 82507
this one was quite a huge work, but hopefully it's correct.
NOTES:
* removed vlc generic module, it should go into a separate package.
* gstreamer is enabled by default (see --disable-gstreamer)
* xine is disabled by default (see --enable-gstreamer)
* generic is always built statically if supported
* gstreamer and xine can't be configured as static (just lacks command line options, build system supports it)
* v4l2 is enabled by default on linux if eeze is built (see --disable-v4l2)
* emotion_test moved to src/tests/emotion and depends on EFL_ENABLE_TESTS (--with-tests), but is still installed if enabled.
TODO (need your help!):
* fix warnings with gstreamer and xine engine
* call engine shutdown functions if building as static
* remove direct usage of PACKAGE_*_DIR and use eina_prefix
* add eina_prefix checkme file as evas and others
* add support for $EFL_RUN_IN_TREE
* create separate package for emotion_generic_modules
* check docs hierarchy (doxygen is segv'in here)
SVN revision: 82501
We must check whether source image has been loaded or not before
enqueueing draw commands. Otherwise, cserve2 may not have a specific
loader and then it does not load the source image and the enqueued draw
commands dereference the NULL pointer "data" from source image.
Patch by: Paulo Alcantara <pcacjr@profusion.mobi>
SVN revision: 82483
evas_gl_shader.c file and made an internal generic caching api in
evas_gl_common.h for use in other places ie. evas_gl.
Then implemented evas_gl surface cap. caching code in gl backend to
accelerate the engine creation.
SVN revision: 82321
it is "const char * const *", not "const char **", and it was triggering a warning in our code.
it's just constness and will not trigger an error in our user's code, just an warning that he should fix.
SVN revision: 82278
evas_common_font_draw() should be called with glyphs array for now,
instead of intl_props.
This patch should fix ticket #2149.
Signed-off-by: Paulo Alcantara <pcacjr@profusion.mobi>
Patch by: Paulo Alcantara <pcacjr@profusion.mobi>
SVN revision: 82229
Since we are already inside wayland_egl code, force this env var to
avoid the EGLNativeDisplayType autodetection (done by EGL code), which
seems to be incorrect.
This commit should fix ticket #1972.
Note: revert this as soon as EGL autodetection gets fixed.
SVN revision: 82183
this is still in progress, mostly the multisense stuff is pending.
it seems that when we merge ecore_audio in edje the libremix and
similar are gone, at least from Edje, and will be in ecore_audio
itself (or pulseaudio).
Changes:
* __UNUSED__ to EINA_UNUSED
* binaries (epp, embryo_cc, edje_cc) now consider EFL_RUN_IN_TREE and
will assume the binaries are still not installed, running from
build tree location (needs more testing, maybe doesn't work with
srcdir != builddir, still doesn't solve cross compile builds)
SVN revision: 82139
Changes also in this commit:
* fix missing EAPI in symbols used by modules
* removed old libudev and libmount support as agreed by discomfitor/zmike
* replaced __UNUSED__ with EINA_UNUSED
* fixed docs hierarchy
SVN revision: 82100
- EVAS_CALLBACK_FREE and EVAS_CALLBACK_DEL were doing the same thing
at different stages, causing a segv due double free.
- extn->file.updates and its Ipc_Data_Update were leaking.
PS: I can't backport this to 1.7, but the problem is still
there. Could someone look into those?
SVN revision: 81304
This is in preparation for threaded render landing: the render thread will
hold a reference to a text object's glyphs while it hasn't been rendered
yet (and will drop that reference after drawing). This changes the internal
API a little bit (evas_common_font_rgba_draw() now takes an Evas_Glyph_Array
instead of an Evas_Text_Props).
SVN revision: 81183
line position is slightly different between gl drivers.
I have no idea why it is. So added to work differently based on the manufacturers.
This work may be based on the renderer. If you can test it with much drivers then please test and fix.
Also changed the ENV name from EVAS_GL_LINE_NO_OFFSET_HACK to EVAS_GL_LINE_OFFSET_HACK_DISABLE.
SVN revision: 81016
I tested gl line drawing on a few devices and found the x line start position was 1.
On the other hand, our evas draws the line on start position 0.
So it needs to shift by 1 pixel if evas is working on gl backcned.
SVN revision: 80734
Implementing support for loadables modules. It makes the engines been
loaded when they are needed. It not breakes the api, so each engine
still has its own api.
The implementation basically is:
* Functions that creates Ecore_Evas, for example
ecore_evas_software_x11_new, request to load its module and then get
the module's function to create the Ecore_Evas.
* The other functions such as \(.*\)_window_get from the Ecore_Evas
its interface and then call the appropriate method.
* As there is no unified interface to communicate with the engines
(not break api problem), all interfaces were declared in
ecore_evas_private.h
* Now the data necessary for each module is not declared in the
Ecore_Evas_Engine structure, instead of this, the struct has a void
pointer that is used by the modules.
* In this first moment engines as software_x11 and gl_x11 were put
together in the same module, but obviously exporting all the things
necessary.
SVN revision: 80280
After agreement in the mail list, core developers agree to remove this
engine that was not being supported for a long time.
Given that most operations Evas uses are not accelerated in DirectFB,
or at least hardware that exclusively supports DirectFB, it's better
for those people to just use Evas/Ecore software (buffer) rendering
and expose DirectFB's framebuffer as destination surface.
SVN revision: 80232
direct rendering and then another image object using Native
Surface rendering, there was a potential for it to fall into
the same direct rendering path.
Also, fixed some minor Evas GL extension bugs that came from refactoring.
SVN revision: 79532
EGL 1.4 spec Section 3.5.1: If there is already an
EGLSurface associated with win (as a result of a previous
eglCreateWindowSurface call), then an EGL_BAD_ALLOC error is
generated.
So that this eglCreateWindowSurface() will fail if the egl driver is
a strict conformance to the spec.
SVN revision: 79505
weren't set properly where if a program uses evas_gl to do GL rendering
in direct rendering mode and then use a pixmap to do native
GL rendering in the same program, native pixmap rendering would
also fall into the direct rendering path and not render anything for
image object. It's been fixed.
SVN revision: 79493
x1, x2 shadow something in the math library.
Would probably be better to turn off -Wshadow, but for some
reason people think this there's some value in it...
Signed-off-by: Mike McCormack <mikem@atratus.org>
SVN revision: 79446
Unfortunately setting unused variable to zero still produces
a warning about variables being set but not used (on gcc 4.6.3).
Signed-off-by: Mike McCormack <mikem@atratus.org>
SVN revision: 79445
This was removed on latest mesa, and seems to don't belong to GLES. See
the specification at http://www.khronos.org/registry/gles/.
Additionally, it wasn't being used anywhere.
SVN revision: 79400
config wasa being chosen as it was done by hand not accounting for
multisample buffers. now using glxchoosefbconfig instead and it works.
SVN revision: 79232
This pointer could be NULL if the window was hidden before calling
glMakeCurrent, which would make the program crash. In fact, at least
elm_win hides the window before actually deleting it (thus calling this
function).
SVN revision: 79017
I've tested make -j 3 install and it works nicely
I've tested expedite with software and opengl xlib,
and it works. Not tested other engines, so please
report any problems (engines or other) on the ML.
TODO: examples and tests, I'll add them later
ISSUE: Eina_Unicode size check. It indirectly depends on
eina_config.h, which is created at the end of the
configure script. So its size is always 0. I don't
know how that size is used, so I can't do a lot,
for now.
SVN revision: 78895
Please check.
note1: Only lib and bin for now, but should be extended to other stuff
note2: distcheck does not work because eo_suite is failing.
SVN revision: 78758
eina headers used to be in their own directory, but now they live
inside src/lib/eina. The mempools were still including
include/lib/eina/ and with "sed" they became src/lib/eina/, which
already existed.
SVN revision: 77837
Now we always build the following memory pools statically:
- pass_through: calls malloc/free directly, useful to debug.
- chained_pool: default for ages.
- one_big: used by some embedded systems (should we remove?)
Removed:
- ememoa_fixed and ememoa_unknown: depends on a separate lib, not supported?
- buddy: nobody uses it?
NOTE: we do not need the src/modules/eina/mp/*/Makefile.am anymore
since they are statically built. But I'll keep these and the
references in src/modules/eina/mp/Makefile.am
SVN revision: 77792