pull request : offload slave

Dave Airlie airlied at gmail.com
Fri Jul 6 14:12:03 PDT 2012

On Fri, Jul 6, 2012 at 9:21 PM, Keith Packard <keithp at keithp.com> wrote:
> Dave Airlie <airlied at gmail.com> writes:
>>       dix/xf86: initial offload slave tracking (v1.1)
>>       randr: add hooks for offload sink provider protocol
> So familiar by now.
> Reviewed-by: Keith Packard <keithp at keithp.com>
>>       xf86: store scanout pixmap in the xf86 struct as well.
>>       xf86: add callback for offloak sink setting support.
> Reviewed-by: Keith Packard <keithp at keithp.com>
>>       dix/randr: add a hook into screen to replace scanout pixmap
> This separates out the CrtcSet from SetScanoutPixmap -- will
> that actually work if the size is changing at the same time? Or is this
> ABI guaranteed to not set the size? If so, why are there a bunch of size
> checks, and why is it bothering to call rrCrtcSet at all?

Yes this shouldn't go changing the size out of the blue its just to
flip the pixmap for this DRI2 fullscreen app,
that is no longer redirected.

Its a bit messy to explain, as there is a few races between dri2
client going away and the video mode changing back that it has to cope
with, along with when the compositing manager does the unredirect.
The size checks are to make sure the drawable is a full crtc size each
time it updates the prime drawable, the crtc set is just to flip the
scanout pixmap at the driver level, since setting the scanout pixmap
doesn't actually make it be the current scanout pixmap, it waits until
the next modeset, this helps avoid another set of changed,
maybe_changed, did something change? checks. Really if next server I'd
really like to shove the scanout pixmap
into the crtc set calls and break the ABI properly, for per-crtc
pixmaps it would make life a bit easier I expect.

>>       dri2: add initial prime support. (v1.2)
> prime_id? Seriously? What happens if you change the offload list while
> some client is active?

The server would obviously block such an insane act, of course it
doesn't yet, so I have some typing to do in a subsequent patch :-),
but yeah blocking it is the proper answer, though maybe it could do
with more bulletproofing.

> For cases where a compositing manager is not running, you can simply set
> the window to automatic redirect, as is done for windows with weird
> visuals today. If someone sets it to manual later, then your automatic
> will be overridden, and when that manual redirect goes away, automatic
> starts up again. Simple.

Okay I should look into this for a subsequent patch, I spotted that
stuff but wasn't really sure about it.


More information about the xorg-devel mailing list