Hey, I have pushed the DRI2 update to the dri2proto, mesa, xserver, and xf86-video-intel trees in ~krh. It's on the master branch in those repos. This change breaks the dri2 protocol and the dri2 module api, but nothing was ever released that used those interfaces. The code isn't quite there yet, but I wanted to make it available for comments and discussion. It's still missing the direct rendering dri2 part of mesa, so to try this out, just build and install the intel driver, not src/glx, and use AIGLX. I'm pretty sure that I'm close to having it working, but I'm chasing a bug that wedges my hardware, so progress is a bit slow right now.
The way this works now, is that when ctx->Driver.Viewport is called (and thus at least when binding a drawable to a context), the DRI driver calls back to the loader, which then calls into the DRI2 module to get the buffers associated with the drawable. The DRI2 module in turns calls into the DDX driver to allocate these and sends them back to the DRI driver, which updates the renderbuffers to use the given buffers. When glXSwapBuffers is called, the loader calls into the DRI driver to finish the frame (this part is missing currently) and then calls into the DRI2 module to actually do the back buffer to front buffer copy. The DRI2 module again implements this using a hook into the DDX driver. The code right now just does a generic CopyArea, and then flushes the batch buffer. Swap buffer needs to be a round trip so the swap buffer commands are emitted before the DRI driver proceeds to render the next frame. Since we just end up calling CopyArea, damage is posted automatically and now DRI magically works with SW cursors. Finally, the DRI2 module is no longer directly dependent on libdrm or anything xfree86, so we could lift it to dix level. Anyway, back to chasing that bug... Kristian ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ -- _______________________________________________ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel