[PATCH] xfree86: detach scanout pixmaps when detaching output GPUs

Dave Airlie airlied at gmail.com
Tue Apr 30 23:30:52 PDT 2013


On Wed, May 1, 2013 at 7:14 AM, Aaron Plattner <aplattner at nvidia.com> wrote:
> Commit 8f4640bdb9d3988148e09a08d2c7e3bab1d538d6 fixed a bit of a
> chicken-and-egg problem by detaching GPU screens when their providers
> are destroyed, which happens before CloseScreen is called.  However,
> this created a new problem: the GPU screen tears down its RandR crtc
> objects during CloseScreen and if one of them is active, it tries to
> detach the scanout pixmap then.  This crashes because
> RRCrtcDetachScanoutPixmap tries to get the master screen's screen
> pixmap, but crtc->pScreen->current_master is already NULL at that
> point.
>
> It doesn't make sense for an unbound GPU screen to still be scanning
> out its former master screen's pixmap, so detach them first when the
> provider is destroyed.

Any instructions on how to reproduce this? I've been trying to get it
to happen here.

I did notice that xrandr is now broken for detach? how are you detaching btw?
xrandr --setoutputprovidersource 0x67 0x0 should detach I would think,
but it fails now.

Dave.


More information about the xorg-devel mailing list