Intel DDX batchbuffer and EXA ttm bits

Dave Airlie airlied at gmail.com
Thu Oct 18 22:22:02 PDT 2007


Okay I've pushed a branch intel-batchbuffer to the Xorg Intel driver repository.

It implements batchbuffers and EXA over TTM in the Intel driver.

The patch is available at
http://people.freedesktop.org/~airlied/intel_ddx_use_batchbuffer.patch

I'd like to possibly merge this code to master but with the ttm/batch
usage turned off by default as it is quite a big change but shouldn't
affect the standard codepaths if left off...

This work is required to get redirected rendering working.

The current problems with this code are:

1. i915 superioctl is slow - this is on my path now to get fixed. I
think the interfaces are all fine we just need to get the caching
issues sorted out.

2. Really naive EXA 965 state buffer handling. The old code was bad
this code is actually worse. My personal tree contains a series of 5
preallocated 965 EXA state buffers which I cycled through flushing as
necessary. I decided against pushing this version as I realise this
code really needs someone to focus solely on it. so the code I pushed
in the end just fires and forgets the 965 state buffers, and flushes
after each composite operation... (a really bad bad plan..)

The code mainly consists of porting the buffer manager layer that Eric
cleaned up in the 915 Mesa driver along with using the batch buffer as
often as possible.

In order to get the DDX completely off the ring buffers we need to do
the MI_SET_CONTEXT stuff in-kernel, I think with that we can probably
stop the DDX from ever hitting the ring registers.

Dave.



More information about the xorg mailing list