Commit Graph

3527 Commits

Author SHA1 Message Date
Marcel Hollerbach 4e0079eaa9 meson: fix race condition in building
the error
```
./src/modules/evas/engines/gl_generic/../software_generic/evas_ector_software.h:31:10: fatal error: 'evas_ector_software_buffer.eo.h' file not found
```
Came up when building efl on osx with meson. This is caused by the fact that gl_generic was build before the .eo files of evas_ector have been created in software_generic, this fixes this race condition by adding a new dependency to avoid that.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D7831
2019-01-30 18:16:47 +01:00
Marcel Hollerbach e59603ee4c Revert "meson: fix race condition in building"
This reverts commit e1f3a4232e.

git push on the wrong branch - sorry
2019-01-30 17:07:08 +01:00
Marcel Hollerbach e1f3a4232e meson: fix race condition in building
this came up on travis with osx. However, it should hit everyone, and
its questionable why it did not happened ever before.

Differential Revision: https://phab.enlightenment.org/D7831
2019-01-30 17:06:34 +01:00
Carsten Haitzler 6dedfddda7 meson - edje_cc use -fastcomp for fast builds in mesa 2019-01-24 14:04:07 +00:00
Mike Blumenkrantz 98e37dd123 ecore-evas/extn: use evas from events when updating key masks
Summary:
plug canvases do not have ee->evas, so this fixes unlimited error messages
while also fixing the corresponding functionality

@fix
fix T5536

Reviewers: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T5536

Differential Revision: https://phab.enlightenment.org/D7681
2019-01-22 12:05:32 -05:00
Marcel Hollerbach 7f283f0ece elm: restore old elm_web behaviour
Everything that is owned must have a free function. In commit
1afd3c215f the string was
converted to const(string) it was not const before.
So this is converting back to the old behaviour.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7626
2019-01-22 14:02:36 +01:00
Marcel Hollerbach 34efdfb1b1 efl: convert all classes to the new eolian syntax
ref T7459

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7684
2019-01-18 16:31:26 +01:00
Christopher Michael 31475f80a0 ecore-evas-drm: Minor formatting fix
NB: No functional changes
2019-01-17 10:58:43 -05:00
Christopher Michael 374373a370 ecore-evas-drm: Refactor _ecore_evas_new_internal
This patch does a small refactor of _ecore_evas_new_internal function
to separate canvas setup for gl & software. This was done so that when
we create a canvas on a per-output bases (multi-output support), the
code inside _ecore_evas_new_internal will be cleaner and easier to
follow.

NB: No real functional changes here until muti-output lands

Differential Revision: https://phab.enlightenment.org/D7679
2019-01-17 09:37:39 -06:00
Christopher Michael 8079d6d38a ecore-drm2: Pass output as data to drmModePageFlip and drmModeAtomicCommit
In order to support per-output ticking, the drmModePageFlip and
drmModeAtomicCommit functions need to pass the actual Output as data
to the pageflip callback so that the pageflip callback function can
pass the proper rectangle to ecore_evas_animator_tick

Differential Revision: https://phab.enlightenment.org/D7678
2019-01-17 09:37:33 -06:00
Daniel Kolesa b1ee0f3acd evas/engines/gl_generic: remove multiclass inheritance
evas_ector_gl_buffer/evas_ector_gl_image_buffer contained a regular
class in extensions list, which is wrong.
2019-01-16 20:00:16 +01:00
Stefan Schmidt 1a6679da8b emotion: gstreamer: fix deprecation warning for g_type_class_add_private
Summary:
Since glib 2.58 g_type_class_add_private is deprecated and this throws
an ugly warning in our build. Not being a glib expert I based this on
patch in freeverb which solves the same issue for them:
90625953f2

Videos in rage are still playing fine for me, but double checking during
review would be appreciated.

Reviewers: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7638
2019-01-16 11:23:44 +00:00
Carsten Haitzler 3511b96448 emile+ tgv saver - stop using deprecated lz4 functions to remove warnings 2019-01-15 12:39:21 +00:00
Ali Alzyod f78ef852da optimize glyph images data copy into 4 byte aligned images
Differential Revision: https://phab.enlightenment.org/D7461
2019-01-10 13:05:17 -06:00
Wonki Kim 2ce9744754 meson: fix a potentionally unexpected behavior
lidrm is defined in different locations, which causes a unexpected behavior.
this patch fixes it in advance.
Differential Revision: https://phab.enlightenment.org/D7567
2019-01-10 10:57:42 +01:00
Hermet Park 07521f5e07 evas vg: refactor internal function name.
Specify explict svg name in vg common function
since the function totally depends on svg spec.

No logic changes.
2019-01-09 14:59:01 +09:00
Marcel Hollerbach e43f090265 cmake: remove!
This build was never complete and also was not maintained probebly.

It is also dropped in favour of meson which is cool, merged, works & is fast.

Differential Revision: https://phab.enlightenment.org/D7010
2018-12-20 20:07:26 +01:00
Derek Foreman 12af5537c5 ee_wayland: Use object geometry instead of window geometry
wayland window geometry isn't currently being handled properly, but the
ecore_evas geometry should be correct and coherent.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7435
2018-12-14 10:29:58 -06:00
Derek Foreman 70b16099a9 gl_drm: use dlsym looked up symbol for extension check
We looked this up with dlsym, so I guess we should use that even though
the direct call seems to work just fine most of the time.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7433
2018-12-14 10:29:55 -06:00
Derek Foreman 56f7097e17 ee_wayland: Replace set_config.geometry direct use with getters
I'm going to deal with some ugly geometry problems in the getter func
shortly.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7432
2018-12-14 10:29:54 -06:00
Marcel Hollerbach 500a36ba3d meson: add inital support for windows compilation
Differential Revision: https://phab.enlightenment.org/D7416
2018-12-07 13:05:31 +01:00
Hermet Park fbe92aa67f evas ector: add software implmentation for masking feature.
This implementation uses Ector_Buffer to generate mask image from vg container,
and pass it to Ector engine. Ector renderer could blend this image as a mask.
Yet only vg container works as a mask, we could extend shape to support masking later.

Still vector gl drawing is not completed, We use software ector buffer to draw on it.
This is on progessing.
2018-12-07 19:50:08 +09:00
Hermet Park 950059ce9a evas vg: revise basic vg cache logic.
There was a big trouble that vg cache didn't free cached data properly.
Plus, there was a unnecessary copy of vg tree data.

This revised version is a improvement of our evas vg cache
in stable and optmization.
2018-12-07 19:08:34 +09:00
Hermet Park 093e32a0fb evas vg: code refactoring.
keep internal variable and structre names consisteny.
no logical changes.
2018-12-07 17:14:15 +09:00
Marcel Hollerbach 5b98ebab4a meson: abstract edje_cc exec lines
the array is calling the shell etc. this makes cross building easier.

Differential Revision: https://phab.enlightenment.org/D7413
2018-12-06 15:13:34 +01:00
Hermet Park c435cdf173 evas ector: use proper prefix name 2018-12-04 13:55:29 +09:00
Marcel Hollerbach c1dd57d210 meson: use eolian_gen with -S
this ensures that eolian does not parse installed .eo files

Differential Revision: https://phab.enlightenment.org/D7405
2018-12-03 19:00:26 +01:00
Hermet Park 8453b06bf8 evas gl: Remove single-line pipe code of gl commands.
Summary:
GLPIPES is proved to use since it's been used for many years as the default.
On the other hand, single-line routine hans't, acutally it's not maintained properly.
Even this single-line routine doesn't compileable right moment.

This patch is one refactoring to clean up code that's not valuable to maintain.

Reviewers: #committers, raster, cedric, ManMower

Reviewed By: #committers, ManMower

Subscribers: ManMower, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7328
2018-11-30 13:30:15 +09:00
Hermet Park c71a561997 evas gl: recover current program state.
Summary:
When we meets a new shader program in shape_context_push(),
it loads a shader binary, if it is necessary, create a new program for the shader.

In this step, the current program state could changed to this new one.
But still our gl context by shader_flush() could keep the previous program for next shader flush.

But it doens't know current program was changed by dropping by.

Here is a simple scenario:

1. evas_gl_common_context_image_push():
This image requires Program A. it calls evas_gl_common_context_push() internally.
then shader_array_flush() instantly.
It stores the current context including shader program(Program A)

2. evas_gl_common_context_xxx_push():
call evas_gl_common_shader_program_get().
xxx draws first time, it loads a new shader program.
Now this changed the current program to a new instant one.

...

3. shader_array_flush():
draw image which requires Prorgam A (No.1).
Unfortunately, stored context is same to this.
So, it skips some gl context setting including shader program.

@fix

Reviewers: #committers

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7309
2018-11-27 11:25:13 +09:00
Chris Michael a4bc0188eb emotion: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 10:00:09 -05:00
Derek Foreman 1f709470c5 ee_wayland: Set opaque region for alphaless surfaces
Theoretically this shouldn't be necessary, but it may be possible for
a backend to give us a visual with translucency even if we didn't ask
for one.

also better comments.

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

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
2018-11-19 10:11:29 -06:00
Carsten Haitzler 9d3e0000b2 meson - fix ecore imf scim build to detect scim fully and work again 2018-11-17 11:45:03 +00:00
Cedric BAIL af59a63c47 meson: fix VNC server build to not override the last module.
The module name and installation directory where previously picked from
the last engine being processed instead of being unique to the VNC Server
module. This patch ensure that we do not write over another engine and
break everything when the VNC Server support is turned on.

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7290
2018-11-16 10:20:24 -08:00
Carsten Haitzler ce8e11764c ecore imf - xim module - use proper prorotypes and returns for xim 2018-11-09 11:44:00 +00:00
Carsten Haitzler 391955627c ecore imf - ibus - fill all struct fields 2018-11-09 11:44:00 +00:00
Carsten Haitzler c18d45816d ecore imf - wl - fill all stgruct fields with something... 2018-11-09 11:44:00 +00:00
Carsten Haitzler 0bec6826b1 ecore evas extn - warn - ensure all fields in ecore evas func struct set 2018-11-09 11:44:00 +00:00
Carsten Haitzler 91184f7324 evas gl - shader cache - warn - use bigger buffer to avoid trunc warn 2018-11-09 11:44:00 +00:00
Carsten Haitzler df5702a609 evas sw x11 - warn - use void ptr for error handler
warnings now are being super picky with:

../src/modules/evas/engines/software_x11/evas_xlib_buffer.c: In
function ‘evas_software_xlib_x_output_buffer_new’:
../src/modules/evas/engines/software_x11/evas_xlib_buffer.c:306:56:
warning: cast between incompatible function types from ‘void
(*)(Display *, XErrorEvent *)’ {aka ‘void (*)(struct _XDisplay *,
struct <anonymous> *)’} to ‘int (*)(Display *, XErrorEvent *)’ {aka
‘int (*)(struct _XDisplay *, struct <anonymous> *)’}
[-Wcast-function-type]
                                  ph = XSetErrorHandler((XErrorHandler)

can we really match a struct <anonymous> somehow? i don't think so...
so... void to the rescue.
2018-11-09 11:44:00 +00:00
Carsten Haitzler 143bef348f evas gl extn sym finding - warn - use void catss for no more warns
so gcc now is being very picky about types. since we'r ereallyjast
throwing void *'s around for pointers to funcs and looking them up by
hand - use void *'s to avoid warnings.
2018-11-09 11:44:00 +00:00
Carsten Haitzler a447bbd489 evas blur filter - fix warnigns about unused labels
if no asm is defined.. then you hit this.
2018-11-09 11:43:59 +00:00
Carsten Haitzler b279ff77cc ecore imf modules - check ecore x display state beofre doing x things
using an uninitted x display is not good/useful so ... don't do it.
leads to crashes.
2018-11-09 11:43:59 +00:00
Carsten Haitzler e7771438a2 evas gl engines - avoid getting context if possible
so getting context at least on some dviers is expensive. it may really
impact cpu usage a lot (in this cate getpid() was being called by the
nouveau drivers and that can be expensive. it is on ARM as it's a full
syscall and 1-2% of cpu time was just getting pid all the time thanks
to this...

@opt
2018-11-09 11:43:58 +00:00
Daniel Kolesa 5a3d79d383 meson: add eolian custom dependencies support
This uses the meson/ninja depfile functionality + eolian to make
sure proper dependencies between generated files and .eo files
are managed, to ensure consistent re-generation of all generated
files that are affected upon .eo file modification.

For custom rules with multiple outputs, Ninja currently does not
support depfiles. Therefore, split those into two custom rules
so that the depfiles functionality can be enabled. While this
is ugly and slows down the process a little by having to invoke
Eolian twice instead of once, it has to be done and it's still
better than what we had in Autotools anyway.

Differential revision: D7187

Fixes T6700.
2018-10-24 12:02:55 +02:00
Marcel Hollerbach d3122474d4 meson: link gl_drm to gdm
gl_drm uses that - this was forgotten. Sorry.

Reported by ApBBB.
2018-10-13 12:10:39 +02:00
Carsten Haitzler 01109a8c7b glx extns - check client and server extns
in case... client should be a superset...
2018-10-11 16:25:06 +01:00
Carsten Haitzler 76725b2d3b evas gl x11 - add working measure funcs for debugging performance 2018-10-11 16:25:06 +01:00
Marcel Hollerbach 46d464e5bf here comes meson
a new shiny buildtool that currently completes in the total of ~ 4 min..
1 min. conf time
2:30 min. build time
Where autotools takes:
1:50 min. conf time
3:40 min. build time.

meson was taken because it went quite good for enlightenment, and is a traction gaining system that is also used by other mayor projects. Additionally, the DSL that is defined my meson makes the configuration of the builds a lot easier to read.

Further informations can be gathered from the README.meson

Right now, bindings & windows support are missing.

It is highly recommented to use meson 0.48 due to optimizations in meson
that reduced the time the meson call would need.

Co-authored-by: Mike Blumenkrantz <zmike@samsung.com>

Differential Revision: https://phab.enlightenment.org/D7012
Depends on D7011
2018-10-02 17:22:50 +02:00
Hermet Park 431c8cc090 evas gl: fix invalid image size.
Summary:
When we reset of texture for a valid object,
this object cache size become -1 x -1 with null texture.

Later, we reset a new texture of the object,
Its texture size could be -1 x -1.
That brings to incorrect result drawing.

Can't see any points of using cache size there.

This bug was introduced by 9e01cf2698

@fix

Reviewers: #committers, raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7077
2018-10-01 21:07:07 +09:00
Derek Foreman 66bacbde96 emotion: Convert to new animators
Summary:
Use more efficient animator mechanism.
Depends on D7051

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7052
2018-09-18 09:43:22 -05:00