DRI2 Protocol Spec Draft

Kristian Høgsberg krh at bitplanet.net
Wed Sep 10 08:54:07 PDT 2008

On Mon, Sep 8, 2008 at 9:38 PM, Keith Packard <keithp at keithp.com> wrote:
> On Mon, 2008-09-08 at 17:58 -0400, Kristian Høgsberg wrote:
>> Hi,
>> Keith talked me intro writing a spec for DRI2, which I grudgingly must
>> admit is a good idea.  I used the randr spec as a template, except I
>> replaced the flowery section dividers with a more fitting gears motif.
>>  It's still a work in progress, mostly the introductory/background
>> sections though.  The requests and wire encoding sections are mostly
>> complete and is close to what's in the git repos at this point.  The
>> implementation isn't fully uptodate with the spec yet, but I figured
>> it would be wise to circulate the spec before doing more code churn,
>> so here it is.
> You probably don't need the sub-pixel ordering stuff :-)

Ugh, I thought I had replaced that with a reference to the Xfixes
regions instead.

> Do you want a request to list the available DRI2 types?

The buffer types available?  This is for when you want to check if,
say, a DRI2_BUFFER_YUV is available, and if not fall back to something

> I don't think we want the window position in the GetBuffers request,
> that makes the buffers 'obviously' independent of position.

The only DRI2 buffer where the window position may be of interest is
the front buffer, since in that case the buffer contents for the
window will be at an offset into the buffer.  We can't ever reliably
access the contents (read or write) in those cases because of the clip
rects of course, and the only time the front buffer is used is for
texture_from_pixmap, where the drawable in question is a pixmap.  So I
guess that's a "no, we don't need the window position".

> Oh, and some checking to make sure the remaining 'randr' wording is
> cleaned up.
> It would also be nice to see some additional description about how this
> works with GEM.

Yeah.  Though, I imagine the GEM interaction text will be
"implementation notes/suggestion" type of stuff, we want the DRI2 spec
to be DRM and GEM independent.  I'll try to spell out the requirements
DRI2 has on the underlying system (essentially, the ability to name
buffers by a 32 bit integer and share them and the auth mechanism).


More information about the xorg mailing list