summaryrefslogtreecommitdiff
path: root/src/lib/ector/gl (follow)
AgeCommit message (Collapse)Author
2019-05-09eolian: move from eo_prefix to c_prefixDaniel Kolesa
2019-03-14build: add a option to disable eo file installationMarcel Hollerbach
Summary: this is done because .eo files are not stable, and in order to stop people depending on it, its better for now to disable the installation of them for now. ref T7676 Reviewers: stefan_schmidt, cedric, zmike, devilhorns Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Maniphest Tasks: T7676 Differential Revision: https://phab.enlightenment.org/D7897
2019-03-11eolian: enable checking of beta/stable contexts in all classesDaniel Kolesa
Summary: This enables all the checks unconditionally, without ignoring classes that don't have an Efl namespace. This required a lot of beta marking to make it build. It most likely doesn't mark types correctly, as that is not fully enabled yet. Reviewers: zmike, cedric, segfaultxavi, bu5hm4n Reviewed By: segfaultxavi Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8266
2019-01-18efl: convert all abstracts to the new eolian syntaxMarcel Hollerbach
ref T7459 Reviewed-by: Daniel Kolesa <daniel@octaforge.org> Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es> Differential Revision: https://phab.enlightenment.org/D7686
2019-01-18efl: convert all classes to the new eolian syntaxMarcel Hollerbach
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-16evas/engines/gl_generic: remove multiclass inheritanceDaniel Kolesa
evas_ector_gl_buffer/evas_ector_gl_image_buffer contained a regular class in extensions list, which is wrong.
2018-12-28efl gfx_path: remove EFL_GFX_PATH_EVENT_CHANGEDHermet Park
Summary: Here is an additional optmization patch for removing unnecessary updation of path, For instance, let's assume this scenario: If one vg object has 20 path nodes(shapes), and every single nodes would have 50 path changes. (like, append_cubic, append_rect, append_xxx ...); There would 1000 events triggering. Furthermore, if there are 20 vector objects in one view, hese events would be triggered 20000 in one frame. It's insane, actually I could figured out that happens. and it took a lot of cpu consumption in some vector usages. efl_gfx_path_commit() is my idea to avoid this. When path is ready, the path need to get this api call in the last to make object changed properly. @feature Reviewers: #committers, cedric Reviewed By: #committers, cedric Subscribers: segfaultxavi, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7494
2018-12-26Revert "efl gfx_path: remove EFL_GFX_PATH_EVENT_CHANGED"Hermet Park
This reverts commit 7c38c0c9154b0971ccb8ecf5ea8f15467cfb6662. Oops, didn't intend this patch.
2018-12-26efl gfx_path: remove EFL_GFX_PATH_EVENT_CHANGEDHermet Park
Summary: Here is an additional optmization patch for removing unnecessary updation of path, For instance, let's assume this scenario: If one vg object has 20 path nodes(shapes), and every single nodes would have 50 path changes. (like, append_cubic, append_rect, append_xxx ...); There would 1000 events triggering. Furthermore, if there are 20 vector objects in one view, hese events would be triggered 20000 in one frame. It's insane, actually I could figured out that happens. and it took a lot of cpu consumption in some vector usages. efl_gfx_path_commit() is my idea to avoid this. When path is ready, the path need to get this api call in the last to make object changed properly. @feature Reviewers: #committers, cedric Subscribers: segfaultxavi, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7494
2018-12-03meson: use eolian_gen with -SMarcel Hollerbach
this ensures that eolian does not parse installed .eo files Differential Revision: https://phab.enlightenment.org/D7405
2018-10-24meson: add eolian custom dependencies supportDaniel Kolesa
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-02here comes mesonMarcel Hollerbach
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-04-17eolian gen: enable constness generation on property getter implsDaniel Kolesa
This changes a lot of things all across the EFL. Previously, methods tagged @const had both their external prototype and internal impl generated with const on object, while property getters only had const on the external API. This is now changed and it all has const everywhere. Ref T6859.
2018-03-20efl: use efl_add_ref to create objects which have no parentCedric BAIL
Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-02-12interfaces: merge all bounds_get methods into efl.gfx.pathMike Blumenkrantz
ref 884fc35160152712decdf7fd43082ef3912c0856
2018-02-12ector: rename ector_renderer "bounds_get" method to "boundary_get"Mike Blumenkrantz
this conflicted with a method from Efl.Gfx.Path
2018-02-12ector: fix property/method name conflict for "fill"Mike Blumenkrantz
Shape implements a property, sw/gl/cairo implements a method rename method to op_fill
2018-02-12eolian: convert all of cedric's tabs to spaces in .eo filesMike Blumenkrantz
2018-01-18all: Simplify definition of EAPIVincent Torri
This will help in the transition from Autotools to Meson. This has been tested on Windows for which EFL_XXX_BUILD were first introduced.
2017-12-13efl: Move VG-specific change event to efl.gfx.pathJean-Philippe Andre
2017-09-18efl: Introduce Eina.Rect and switch EO APIs to itJean-Philippe Andre
It's a complex struct but defined in EO as a simple struct. ABI-wise it's equivalent to Eina_Rectangle. Some macros that use Eina_Rectangle also work on Eina_Rect out of the box, most of the code dealing with x,y,w,h will require no modifications either. But Eina_Rect provides direct access to a size or position 2d component, as well as the usual x,y,w,h. The field "rect" is provided as a convenience for code dealing with both Eina_Rectangle and Eina_Rect. We may or may not require it. Note: Size2D could use unsigned values but I have spotted a few places in the code that actually use -1 to indicate invalid size (as opposed to 0x0). @feature
2017-08-29ector: cleanup grammar in commentsBryce Harrington
Reviewers: cedric Subscribers: jpeg Differential Revision: https://phab.enlightenment.org/D5132 Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-08-15ector: fix EAPI on WindowsVincent Torri
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-04-18efl: Remove manual definitions of event "changed"Jean-Philippe Andre
Honestly I can't see why gfx & gfx.path "changed" need a manual definition, instead of relying on EO. If the API needs to be internal only, then EO needs to handle internal APIs. In this case, the event was exposed as a C API but not a EO... why?
2017-04-14evas filters: Refactor ector and gfx filters A LOTJean-Philippe Andre
Alright, so this is a massive patch that is the result of trying to get rid of unused or poorly implemented classes in ector. Originally ector was meant to support VG but extend to things like filters as well. At the moment, ector's design makes it quite hard to plug in the filters. For now I think it's easier to implement the GL support for the filters directly in the engine, where I hope to interfere as little as possible. This massive patch keeps only the required minimum to support a versatile gl buffer that can be mapped, drawn or rendered to (FBO). It's extremely inefficient as it relies on glReadPixels and lots of texture uploads, as well as conversions between ARGB and Alpha. Another type of GL buffer is a wrap around an existing GL image, but that one is read-only (map or draw: no write map, no FBO). No, all the filters run fine, and the high-level implementation (evas_filters.c) does not need to know whether the underlying engine is SW or GL. One problem though appears with the blending or blurring of some Alpha buffers, the colors are wrong. This patch removes more lines than it adds so it must be good ;)
2017-01-27cmake: fix make-clean as add_custom_command() deletes output files.Gustavo Sverzut Barbieri
there is no way to mark output file as "precious", then cmake's suggestion is to use add_custom_target() instead. However that will always execute, so our generator script needs to be smarter and only touch stuff when actually needed.
2017-01-13eolian: change eo file syntax @virtual_pure -> @pure_virtualDaniel Kolesa
2016-12-27ector: use new property impl syntaxDaniel Kolesa
2016-11-23efl interface: introduce efl_gfx_path mixin.Hermet Park
As we discussed, redesigned efl_gfx_shape mixin. Split path properties/methods from the shape so that other classes benefit from the path.
2016-11-15docs: ector_gl: fill gaps in ector gl backend eo file documentationStefan Schmidt
2016-11-03ector_renderer_gl: remove pointerDaniel Kolesa
2016-11-03ector_gl_surface: remove pointersDaniel Kolesa
2016-09-05Rename efl_self to efl_addedTom Hacohen
It has been discussed on the ML (thread: "[RFC] rename efl_self") and IRC, and has been decided we should rename it to this in order to avoid confusion with the already established meaning of self which is very similar to what we were using it for, but didn't have complete overlap. Kudos to Marcel Hollerbach for initiating the discussion and fighting for it until he convinced a significant mass. :) This commit breaks API, and depending on compiler potentially ABI. @feature
2016-08-30Efl object: Rename Eo_Event -> Efl_Event.Tom Hacohen
This is the last step of the Eo renaming efforts.
2016-08-15Eo: Finish the renaming of Eo to the EFL.Tom Hacohen
This renames all the rest of the API to the EFL namespace except for Eo_Event that will follow soon. Obviously breaks both API and ABI.
2016-08-11Change the EFL to follow the new Eo rename.Tom Hacohen
2016-07-08ecotr gl - fix leak found by coverityCarsten Haitzler (Rasterman)
fix CID 1347412
2016-06-30ector: further document gl buffer base classStefan Schmidt
2016-06-20Adjust the code according to the eo event stop changes.Tom Hacohen
This was changed in the previous commit.
2016-06-15shader gen - make this use plain sh not bash for portabilityCarsten Haitzler (Rasterman)
this should fix T3793
2016-05-23eolian: remove pointers from complex and class typesDaniel Kolesa
Complex types (i.e. list, array, hash, accessor etc.) now do not require pointers with them anymore (the pointer is implied) and the same goes for class handles. Eolian now explicitly disallows creating pointers to these as well. This is the first part of the work to remove pointers from Eolian completely, with the goal of simplifying the DSL (higher level) and therefore making it easier for bindings (as well as easier API usage). @feature
2016-05-12Efl: Remove "legacy_prefix: null;" as it's now the default.Tom Hacohen
2016-05-12eolian: mark pure virtual funcs outside of implementsDaniel Kolesa
This is a better syntax and should've been like this in the first place.
2016-05-11Efl vg/ector: Fix namespacing to use . and not _.Tom Hacohen
2016-05-11Ector generic: Remove .Generic and .Base (hack no longer needed).Tom Hacohen
2016-05-11Ector renderer gl: Remove the no longer needed .Base hack.Tom Hacohen
2016-05-10Efl gfx gradient: Remove the no longer needed .Base hack.Tom Hacohen
2016-03-23Ector: add ector_types.eot for ector type definitions.Tom Hacohen
This fixes the GLShort duplicate declaration.
2016-03-15Change the EFL according to the renaming of the eo_add() current object.Tom Hacohen
2016-03-11Revert "Ector and eo suite: Semi automatically migrate to the new eo_add."Tom Hacohen
This reverts commit df83edaeb6b10324868f28e8f1910147ba22e5e5.