Eric Anholt wrote:
> We're getting close to ready to mark GEM on Intel as done.  We've got
> one failing testcase that we isolated this week with interrupt handling,
> and we've got a fix in testing that appears to be doing the job.
>
> Tomorrow I'm planning on merging the GEM code to master of all 3
> repositories.  At that point, I'll cut a branch called drm-ttm in drm
> with the existing interface and support.  After that I'm planning on the
> following changes:
>
> 1) Remove TTM code from i915.
> We're going forward with GEM and not going to support two memory
> managers in our driver.  GEM's got the features we need and equivalent
> performance, with a simpler implementation.
>   
This is going to hurt badly, since IMHO the GEM implementation is quite 
far from TTM in terms of performance
and stability: Again some benchmarks with a i915 dual-channel 3GHz 
celeron. I've also, for reference added in timings of a (polling only) 
CX700 Via C7 at 1.5GHz running single-channel on untiled memory.
In all of these timings, reportdamage was turned off since with it, the 
X server tends to consume a lot of CPU, confusing the figures somewhat.

*GEARS* (Should be GPU bound)
i915tex (TTM):                1035fps @ 70% CPU
GEM, no buffer reuse:     863fps @ 95% CPU
GEM, buffer reuse:          1000fps @ 80% CPU
Unichrome CX700          1009fps @ 70% CPU

*Openarena +exec anholt @640x480* (Should be GPU bound. Not on the 
CX700, though).
i915tex (TTM):                 48fps, 17.1user, 2.6 system
GEM, no buffer reuse      30.4fps, 17.0 user, 8.0 system (Occasional 
stutter)
GEM, buffer reuse           42.5fps,  16.0 user, 4.7 system (Occasional 
stutter)
Unichrome CX700           24.5fps, 39.0 user, 3.0 system

*"Ipers" without help screen to avoid sw rendering:* (CPU bound)
i915tex (TTM):                 250000 polys / s.
GEM, no buffer reuse       141000 polys / s. (Severe text rendering errors)
GEM, buffer reuse            146000 polys / s. (Severe text rendering 
errors)
Unichrome CX700            205000 polys /s.

*"Teapot" without help screen to avoid sw rendering:* (Might be GPU 
bound on i915tex, CPU-bound on others)
i915tex (TTM):                  74 fps
GEM, no buffer reuse:       23.8 fps            (Severe text rendering 
errors)
GEM, buffer reuse             24.5 fps            (Severe text rendering 
errors)
Unichrome CX700            36 fps

*"texdown" processor -> GPU transfer benchmark. Teximage and texsubimage.*
i915tex (TTM):                  1360 MB /s, 970 MB /s
GEM, no buffer reuse:       556 MB / s, 138 MB/s (Severe text rendering 
errors)
GEM, buffer reuse:            556 MB / s, 139 MB/s (Severe text 
rendering errors)
Unichrome CX700             690 MB / s. 658 MB / s.

I guess these benchmarks speak for themselves. Obviously, with more GPU 
bound applications, the various Intel flavours should perform quite 
equal, as long as the GPU is continously fed new data.

Apart from the span rendering problems above, the "subtexrate" test 
rendered very incorrectly with GEM and the X server died on multiple 
occasions when doing quick "konsole" scrolling. The text rendering 
errors were not seen on a i945 laptop.

My humble suggestion is that these performance-, rendering and stability 
problems are addressed before a merge.

/Thomas





-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to