[haiku-appserver] 2D engine

  • From: Adi Oanca <adioanca@xxxxxxxxxxxxxx>
  • To: haiku-appserver@xxxxxxxxxxxxx
  • Date: Wed, 27 Oct 2004 12:58:05 +0300


        Rudolf, please explain to us, and to me once again because I didn't 
quite understood from the 
emails we've exchanged.
        Gabe if you know something too, please share.

        What is/means engine synchronization?

Here's what I've found in a BeNewsletter:
"Much More Parallel

Some people with old S3 and Cirrus Logic video cards experienced hard system 
freezes with earlier 
versions of the R4 beta. These freezes prove that the incredibly buff new R4 
graphics driver 
architecture (designed and implemented by our own Trey "Ball-Buster" Boudreau) 
is working correctly 
-- too well, in the case of these cards. Prior to R4, the locking done when a 
view was drawing was 
coarse-grained; no two threads could draw to the frame buffer at the same time.

In R4, any number of threads can draw to the frame buffer simultaneously. The 
only resource locked 
for exclusive access is the acceleration engine, and that is locked only for 
the time required to 
feed the rendering commands through the FIFO; synchronizing with the engine is 
intelligent and is 
done only when absolutely necessary. This will be of particular use in R5, when 
we plan to start 
accelerating many more calls than we do now.

For R4, this means that the graphics system should be far more scalable when 
using cards that 
support the new driver model. "


Other related posts: