1 Jun 2008 01:40
Re: [E-devel] E CVS: libs/evas raster
Carsten Haitzler <raster <at> rasterman.com>
2008-05-31 23:40:12 GMT
2008-05-31 23:40:12 GMT
On Sat, 31 May 2008 13:17:42 -0400 Jose Gonzalez <jose_ogp <at> juno.com> babbled: > Gustavo wrote: > > I believe it's up to OS to save/restore all the registers when you > > change threads. Am I wrong? > > I have no idea what happens with this, or how using multiple cpu > cores affects that. that was my point. it is THREAD SAFE. the os restores registers and cpu state between context switches between threads/processes. its internal process/threads state with the mmx/sse/fp state. the fact that pipes restructured what gets called and how the calls get called and in what stages they get called that brought it out reliably in certain situations. you will find MOST of the drawing calls do NOT gaurd themselves on exit with an emms (evas_cpu_end_opt). the only one actually was the line draw. no others do. doing an end_opt at every draw call is not cheap - on older cpu's definitely not. as most of evas's calls use NO floating point (and the polygon stuff really doesn't need to - i should remove that) there is nigh zero need for what is a mostly useless call - and so it can go at the end of the pipeline or just before any of the rare fp calls. again - nothing to do with threads. all to do with streamlined rendering pipelines. > >> There is much too great a difference in the behavior of the > >> code with vs. without pipes to say for certain that the code-execution > >> paths are well understood. > >> > > > > But do you remember my tests where I disabled the other threads, just > > launching one and still having this behavior?(Continue reading)
RSS Feed