Initial attempts at i965 text batching

Kristian Høgsberg krh at bitplanet.net
Wed Dec 19 08:41:04 PST 2007


On Dec 19, 2007 11:12 AM, Carl Worth <cworth at cworth.org> wrote:
> So a long time ago I reported that with my i965 I could get about
> 290,000 glyphs/sec. from "x11perf -aa10text" by using the NoAccel
> option to the X server, and similar performance with XAA, but only
> 95,000 glyphs./sec with EXA due to the synchronous compositing bug in
> the driver.
>
> Since then, Dave Airlie rewrote the driver to use batch buffers,
> which completely eliminated all of the syncs. By design, his work was
> "functional, not performant" as it would go through all the effort of
> allocating a new batch buffer, initializing all device state, and
> emitting the batch for every compositing operation.
>
> Needless to say, that's more work than we really want to do, and it
> showed by getting performance in the range of 1000 - 10,000
> glyphs/sec.
>
> Since then, I've rewritten parts of the driver to attempt to take
> advantage of the batch buffers by actually batching up as much as
> possible. General device state is only initialized once, then
> surface-specific state is initialized in a batch basis within a buffer
> object.

Which reminds me, I did a couple of DRM patches to use MI_SET_CONTEXT
that I promised to send out.  I've not benchmarked them, and there is
still work to do to finish them (they leak memory) but if there's a
lot of overhead in emitting the invariant state, these patches might
help.

cheers,
Kristian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Use-the-idr-for-acutally-tracking-the-drm_context_t.patch
Type: text/x-patch
Size: 9798 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20071219/5a112e82/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Emit-MI_SET_CONTEXT-before-executing-a-batch-buffer.patch
Type: text/x-patch
Size: 5247 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20071219/5a112e82/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ddx-mi-set-context.patch
Type: text/x-patch
Size: 411 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20071219/5a112e82/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mesa-mi-set-context.patch
Type: text/x-patch
Size: 482 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20071219/5a112e82/attachment-0003.bin>


More information about the xorg mailing list