Hey,

We have a problem on the wayland shm engine where the
evas_engine_info_set() function will imply on a free of the outbuf and
then the allocation of a new one (similar to what the other engines
do).

The problem is that this is done while Evas may still be rendering
stuff into one of the buffers allocated for this outbuf, and if we
free (munmap them) them during this rendering, shit happens.

I see two possible solutions here:

1) delaying the outbuf destruction, just marking it with a delete_me
and doing it only when there's no more rendering on it, or
2) calling evas_sync() whenever we are about to call evas_engine_info_set().

However, I don't see the other engines using async renderer doing this
kind of thing, so it seems that this should not be needed.

Is there something that I'm missing here? How do they deal with
freeing the outbuf while things are still rendering on the surfaces
requested from that outbuf?

Thanks,
--
Rafael Antognolli
http://antognolli.org/

------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite
It's a free troubleshooting tool designed for production
Get down to code-level detail for bottlenecks, with <2% overhead.
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap2
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to