Initial DRI3000 protocol specs available

Stéphane Marchesin stephane.marchesin at gmail.com
Wed Feb 20 13:08:02 PST 2013


On Wed, Feb 20, 2013 at 12:42 PM, Keith Packard <keithp at keithp.com> wrote:
> Stéphane Marchesin <stephane.marchesin at gmail.com> writes:
>
>> I'm interested in two specific use cases:
>> - Swap to an overlay and flip a crtc in an atomic fashion,
>
> As you may remember, I proposed a bunch of RandR changes to support
> per-CRTC pixmaps and atomic mode setting operations a while back. With
> hardware now commonly supporting multiple overlays, even that stuff
> wouldn't suffice anymore.
>
> Off the top of my head, we'd need to construct some Drawable that
> represented each overlay, and then perform a PolySwapRegion operation to
> synchronously update their contents from appropriate back buffers.

Right, that's what I'm after. If you have a bunch of GL surfaces
you're rendering to, a "main drawable" and 2 overlays, I'd like the
ability to swap to arbitrary overlays or to my main surface. Of course
the GL extension for that is still TBD, but having the ability in DRI3
would be a nice start.

>
>> - Specify a list of dirty rectangles for a single frame, like what
>> CopyRegion does but with multiple rectangles.
>
> And they're not arranged so that a single region and source offset x/y
> could be used?
>
> I can imagine creating a SwapRectangles request, but I don't know that
> it would be any better than simply executing multiple SwapRegion
> requests.

Well, if you have vsync enabled for your CopyRegion implementation,
then you'll need to vsync for each region right? What I'm after is a
"swap all these regions together, vsync only once" type of thing.

Stéphane


More information about the xorg-devel mailing list