DRI2 direct rendering

Kristian Høgsberg krh at bitplanet.net
Tue Apr 1 05:50:33 PDT 2008


On Tue, Apr 1, 2008 at 5:25 AM, Jin, Gordon <gordon.jin at intel.com> wrote:
> Kristian H?gsberg wrote on Tuesday, April 01, 2008 5:35 AM:
>
>
> > Hi,
>  >
>  > I just committed the last big chunk of DRI2 work, the direct rendering
>  > support.  With this, we can now do direct rendering to redirected
>  > windows and GLX_EXT_texture_from_pixmap even works, so compiz (and
>  > other Open GL compositing managers) can run in direct rendering mode
>  > too.
>  >
>  > I ended up rolling a couple of changes into the direct rendering work
>  > and the commits in mesa and xserver grew much bigger than what I would
>  > have liked.  Short story is that the DRI2 interface and the legacy
>  > interface diverged and I had to break the DRI interface again.  So I
>  > decided to make a couple of changes I'd been considering, most
>  > noticably, the GLX specifc, open coded __GLcontextModes struct is no
>  > longer part of the DRI driver interface, and with it glcore.h is also
>  > gone.  This change is the cause of most of the code churn.  I could
>  > have tried to split the commits up in a couple of independent commits,
>  > but it would be a lot of work and I figured it'd be nice to only have
>  > one commit that breaks the interface.
>  >
>  > The upshot is that git xserver AIGLX needs git mesa DRI driver and for
>  > DRI2, get the latest version of the xf86-video-intel intel-batchbuffer
>  > branch too.
>
>  Is there an option to disable DRI2 (or say, switch to legacy DRI) for those who would stick to xf86-video-intel master branch (or 2.3) at this point?

Yes, if you're not running the batchbuffer branch of the intel driver,
none of this will kick in.  The DRI2 code paths are triggered by the
DDX driver initializing the DRI2 module in the X server, which then
will allow the AIGLX code or libGL to initialize in DRI2 mode.  If
you're running the master intel driver or the batchbuffer branch with
'Option "DRI2" "off"', the DRI2 module won't get initialized and
everything should work as before.  If you see regressions in this
case, I'd like to hear about them.

cheers,
Kristian



More information about the xorg mailing list