aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/evas/canvas/evas_canvas3d_texture.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2019-08-29efl: implement efl.file::unload for classes that implement loadMike Blumenkrantz1-0/+9
unload is a crucial method for classes that implement load, as this is the method which is called during e.g., efl_file_simple_load() when a new file is specified in order to destroy the previous object data Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D9786
2019-08-21eina file refs in edje/evas - audit them and plug holes where refs stayCarsten Haitzler (Rasterman)1-1/+2
in 1 situation at least we delete the eina file (close it) but keep the ptr around (during destruction) which could cause issues with callbaks and events on del and so on.... which may lead to multiple closes where only one should happen ... which would explain my invalid eina file ref problems i'm seeing. i carefully matched eina file handle stores/opens/dups to closes in edje/evas and they seemed to all match up so this audit with comments and fixes seems to have plugged that now. @fix
2019-02-27efl.file: improve api a bitMike Blumenkrantz1-10/+12
Summary: the previous implementation/api had a number of issues: * "file" property contained both "file" and "key" values - also performed file loading operation * "load_error" property which was specific to image objects * no methods for controlling file loading/unloading this patch attempts the following changes: * split "file" property into "file" and "key" properties - also remove "key" from existing "mmap" property * remove "load_error" * directly return error codes from operations * add "load" and "unload" methods for directly controlling load state * add implicit file loading if file/mmap is set during construction * rewrite all efl.file implementations to move file loading into load() method * rewrite all usage of efl.file api based on these changes * add C extension functions to mimic previous behavior ref T7577 Reviewers: segfaultxavi, bu5hm4n, cedric Reviewed By: segfaultxavi Subscribers: vitor.sousa, #reviewers, #committers Tags: #efl_api Maniphest Tasks: T7577 Differential Revision: https://phab.enlightenment.org/D8018
2018-04-17eolian gen: enable constness generation on property getter implsDaniel Kolesa1-3/+3
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.
2017-10-04evas: remove use of engine image_load from Evas.Canvas3D.Texture.Cedric Bail1-5/+18
2017-08-25evas: Evas_Canvas3D rendering logic need a complete overhaul.Cedric BAIL1-0/+1
For now, do not use Evas_Canvas3D in multi output context, it won't work. The update code for Evas_Canvas3D_Node might trigger rendering logic, which is opposite to what the scene graph logic should do. It require to much reshuffle around to handle that case at the moment. So I am just adding a warning.
2017-08-25evas: enable handling multi output in evas_render_mapped.Cedric BAIL1-1/+3
2017-07-07evas,edje,elm: Mark all legacy objects as suchJean-Philippe Andre1-2/+1
2017-05-12evas: stat introducing a concept of engine and output in the backend.Cedric BAIL1-15/+15
2017-04-24evas: remove engine.data.output.Cedric BAIL1-34/+34
This is the first step toward handling multi output. This patch remove engine.data.output from Evas structure and use an Eina_List for it instead. It also start moving code around to fetch an output or an engine context (which are the same at the moment, but will be split in a later patch).
2016-12-16evas: Remove flag use_mapped_ctx and add do_asyncJean-Philippe Andre1-1/+1
Always assume use_mapped_ctx as true, the caller of evas_render_mapped must ensure that the context is suitable (so either clean or contains the appropriate clip info). Also pass do_async to mask_subrender. For now it will always be reset to false as the SW engine requires sync render to convert from RGBA to Alpha (not great). The upcoming GL async engine should be able to render masks asynchronously without any problem.
2016-08-15Eo: Finish the renaming of Eo to the EFL.Tom Hacohen1-28/+28
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 Hacohen1-4/+4
2016-06-21evas: Remove common interface and use provider_findJean-Philippe Andre1-12/+12
Evas.Common_Interface not only had a bad name, it also wasn't in line with how we can get a loop object, for instance. Use eo_provider_find in each implementing class.
2016-06-21evas: Rename Evas.Object to Efl.Canvas.ObjectJean-Philippe Andre1-6/+6
One step closer to make the EO inheritance tree look like it's all Efl.
2016-06-10Evas: Rename Evas.Image into Efl.Canvas.Image.InternalJean-Philippe Andre1-1/+1
Make it abstract. And add Evas.Image as a legacy-only class.
2016-03-11Revert "Automatic migration to the new eo_add syntax."Tom Hacohen1-2/+1
This reverts commit 4f949a2757b6332306264d7f126b15ba7bfd37d4.
2016-03-09Automatic migration to the new eo_add syntax.Tom Hacohen1-1/+2
2016-03-03Automatic migration to Eo4.Tom Hacohen1-21/+21
I just ran my script (email to follow) to migrate all of the EFL automatically. This commit is *only* the automatic conversion, so it can be easily reverted and re-run.
2015-09-04evas_render: Fix some clipping issues inside proxyJean-Philippe Andre1-0/+1
Inside a proxy, clipping information might be wrong since the source object may be at a different position than within the proxy. If source_clip is not set, then we need to discard all clips that are outside the proxy context. So we just propagate the clip information inside the current draw context, and even recurse from clipper to clipper to find the final state of clipping. Map and proxies and others (who said masks?) should definitely rely more on the same model. This code is not a mess. At all. You gotta love evas_render.
2015-07-02Evas: Replace image_map_surface_free by common image_freeJean-Philippe Andre1-4/+2
Those two functions were doing exactly the same thing[1], which is free an image, so this commit only attempts to simplify the code a little bit. [1] Actually image_map_surface_free() might even not have worked properly with cserve2 sw (calling unload instead of close).
2015-06-25eolian/generator: constify all prototypes for @const functionsDaniel Kolesa1-3/+3
Otherwise there would be conflicts in certain circumstances. This also requires adding const on many existing functions, and similar work is necessary in Elementary. @fix
2015-06-17evas: change interface evas_3d to evas_canvas3dOleksandr Shcherbina1-44/+44
Summary: Regard to https://phab.enlightenment.org/T2479 it is need for right generation Eolian files Reviewers: cedric Subscribers: cedric, tasn Differential Revision: https://phab.enlightenment.org/D2711 Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-20Eo: Add a return value to eo_constructor().Tom Hacohen1-2/+4
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
2015-05-07evas: use Evas_GL_image for generate texture unit for Evas_3D_Texture.Oleksandr Shcherbina1-18/+66
Summary: Used engine function for load image/data and use texture unit through Evas_GL_Image object Used Evas_ColorSpace format instead Evas_3D_Color/Pixel format Added transformation matrix for adjusting texture unit coordinates in shader Added property in Evas_3D_Texture for mark possibility get texture without atlas (see https://phab.enlightenment.org/conpherence/54/, I suppose it will done after this patch) Reviewers: Hermet, cedric Reviewed By: cedric Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D2371 Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-14Evas render: Fix double-clipping issue with mapsJean-Philippe Andre1-1/+1
Situation: - Evas Object A has a clip C and a map M. Problem: - Clip C will be applied once inside the map surface S and again when the surface S is drawn to the canvas. Solution: - Track whether the current object is the mapped object or a child of the mapped object. In the first case, discard the clipper when rendering to the map surface. In the second case, the child's clipper is PROBABLY[*] inside the map, so it should be applied when rendering the map surface itself. Note: This also applies to masks. [*] This is clearly not the ultimate clipping fix.
2015-02-23evas: Evas_3D - add destructors for clean of memory.se.osadchy1-1/+19
Summary: Update and add new destructors. Reviewers: Hermet, raster, cedric Reviewed By: cedric Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D2029
2015-02-12evas 3d - undo async block code - 3d objects dont inherit from evas objCarsten Haitzler (Rasterman)1-14/+2
2015-02-12evas - render - have lock point to allow for async obj walk + update addCarsten Haitzler (Rasterman)1-2/+14
this adds a lock for when walking all the objects to generate render commands for an async render. this allows even the object tree walk plus update area caluclation to be moved off into async if every oject that can change canvas state actually does so correctly. this change adds all those lock block calls to synchronise with an async object tree walk.
2014-11-12Evas: Avoid creating an extra context for proxy renderingJean-Philippe Andre1-1/+1
2014-11-12Evas: Use common function for proxy_subrenderJean-Philippe Andre1-0/+2
Merges functions from: - filters - image object
2014-11-12Evas: Remove ugly REND_DBGJean-Philippe Andre1-5/+1
Here's a macro that's used for debugging in some of the ugliest ways possible: avoid passing an extra argument to a function when the cost of always passing it is negligible (it's an int). Fixes T1749.
2014-10-21Evas-3D: invoke eo_do_super in destructors.Daniel Zaoui1-0/+1
2014-09-25Eo: Change eo_add/del/unref behaviour.Tom Hacohen1-1/+0
Before this change eo_add() used to create an object with 1 ref, and if the object had a parent, a second ref. Now, eo_add() always returns an object with 1 ref, and eo_add_ref() preserves the old behaviour (for bindings). eo_unref now un-parents if refcount is 0, and eo_del() is an alias for eo_unref (will change to be a way to ensure an object is dead and goes to zombie-land even if still refed).
2014-06-30Evas canvas eolian: Fix namespace and class name for the evas canvas.Tom Hacohen1-11/+11
2014-06-03Efl: Update code to use the new class names generated by eolian.Tom Hacohen1-7/+7
2014-05-12evas/evas3d: fix proxy texture source set.ChunEon Park1-1/+1
the appeneded texture should be object itself but not private data.
2014-05-10evas: fix uninitialized value in Evas_3D.Cedric Bail1-1/+4
CID 1211986.
2014-05-07evas - removed stdlib.h math.h header include in each source files.ChunEon Park1-1/+0
It's included in the evas_common_private.h.
2014-05-07evas/evas3d: don't be crash when it's running on sw backened.ChunEon Park1-17/+56
It doesn't have a plan that evas3d supports sw backened in the near future, let it prenvent engine function access in case of sw backened.
2014-04-29evas - removed unncessary header includeChunEon Park1-6/+0
it's already done in evas_common_private.h. no need it in each file.
2014-04-25evas: remove Evas_3D legacy API.Cedric Bail1-23/+23
2014-04-25Evas_3d: Fix warnings.Daniel Zaoui1-2/+2
2014-04-25evas: fix massive number of warning introduced by Evas_3d.Cedric Bail1-5/+5
2014-04-25Evas_3D : Eolian change for Evas_3D_Object.subhransu1-108/+88
Conflicts: src/lib/evas/Evas_Eo.h
2014-04-25Evas_3D : Eolian changesubhransu1-103/+122
Conflicts: src/Makefile_Evas.am src/lib/evas/Evas_3D.h src/lib/evas/Evas_Eo.h
2014-04-25Evas: 3D: Refined proxy texture implementationTaekyun Kim1-9/+49
Added new APIs for controlling source object's visibility. Fixed bugs related to updating proxy textures.
2014-04-25Evas: 3D: Introducing 3D scene rendering featuresTaekyun Kim1-0/+440
Enable 3D features using --enable-evas-3d=yes when configuring. APIs are exposed through Evas_3D.h. Currently, evas-3d is being supported only on gl_x11 engine. Conflicts: src/lib/evas/Evas_Eo.h