anybody? we're trying to figure out what is happening... seems that its a bug in Evas, with the way it binds textures for further usage, but hard to say as it "works" for other cases.
On Fri, May 10, 2013 at 5:47 PM, Rafael Antognolli <antogno...@gmail.com>wrote: > Guys, there's a corner case for the proxy render that won't work on GL > engines. > > The test is attached and is very simple. Basically, it creates an Edje > object, with a black rectangle and a green rectangle, and this green > rectangle has a map applied to it. > > This Edje object is moved almost entirely off the screen, and a proxy > is created to draw this Edje object, but only the green rectangle is > seen (not the black one). > > If the order of the rectangles inside the .edc is changed (the mapped > one is created first), things work correctly. If the Edje object > starts all visible, it also works. > > The important part is: I really think that when the surface for the > mapped object is created, it is making something wrong with the proxy > surface, and resetting its content. > > After some investigation, I noticed the following scenario, when > evas_render is called: > > 1) proxy object creates a surface for rendering the proxy content; > 2) the black rectangle is rendered on this surface; > 3) the green rectangle (mapped) creates a new surface for rendering > itself; <-- I think this is wrong somehow > 4) the green rectangle surface is drawn over the proxy surface; > 5) the proxy surface is rendered on the screen. > > Of course there are many other things involved, but I found that these > are the most important ones affecting things. > > If we change the order of things, when the green rectangle surface is > created, it can reset the proxy surface content but the black > rectangle will be drawn only after that, so everything looks good. > > If the Edje starts inside the canvas geometry, then the green > rectangle surface is created and used before the proxy surface is > created, so everything looks ok too. > > In other words, I think that the following behavior works ok: > > 1) surface is created > 2) surface content is rendered > 3) surface is drawn somewhere > > 4) new surface is created > 5) new surface content is rendered > 6) new surface is drawn somewhere > > But the following one does not work: > > 1) surface is created > 2) surface content is rendered > 3) new surface is created > 4) new surface content is rendered > 5) new surface is rendered on the previous one > 6) surface is drawn somewhere > > On the last scheme, even if I remove 4) and 5), just the fact of > creating the new surface makes the content of the first one vanish. > > Please take a look at _pool_tex_render_new() and related functions, > the bug may be somewhere there. > > Thanks, > -- > Rafael Antognolli > > > ------------------------------------------------------------------------------ > Learn Graph Databases - Download FREE O'Reilly Book > "Graph Databases" is the definitive new guide to graph databases and > their applications. This 200-page book is written by three acclaimed > leaders in the field. The early access version is available now. > Download your free book today! http://p.sf.net/sfu/neotech_d2d_may > _______________________________________________ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > -- Gustavo Sverzut Barbieri http://profusion.mobi embedded systems -------------------------------------- MSN: barbi...@gmail.com Skype: gsbarbieri Mobile: +55 (19) 9225-2202 ------------------------------------------------------------------------------ AlienVault Unified Security Management (USM) platform delivers complete security visibility with the essential security capabilities. Easily and efficiently configure, manage, and operate all of your security controls from a single console and one unified framework. Download a free trial. http://p.sf.net/sfu/alienvault_d2d _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel