[PATCH 35/36] dix/randr: add a hook into screen to replace scanout pixmap

Alex Deucher alexdeucher at gmail.com
Tue Jul 3 06:13:42 PDT 2012


On Tue, Jul 3, 2012 at 6:09 AM, Dave Airlie <airlied at gmail.com> wrote:
> On Mon, Jul 2, 2012 at 10:22 PM, Alex Deucher <alexdeucher at gmail.com> wrote:
>> On Mon, Jul 2, 2012 at 6:13 AM, Dave Airlie <airlied at gmail.com> wrote:
>>> From: Dave Airlie <airlied at redhat.com>
>>>
>>> For DRI2 in some offload cases we need to set a new pixmap on the crtc,
>>> this hook allows dri2 to call into randr to do the necessary work to set
>>> a pixmap as the scanout pixmap for the crtc the drawable is currently on.
>>>
>>> This is really only to be used for unredirected full screen apps in composited
>>> environments.
>>
>> Not directly related to this patch, but are crtcs transforms handled
>> properly with slaves?  E.g., randr rotation?
>
> Oh good question, at the moment no, and I probably need to block
> rotation on slaves
> until it is I suppose.
>
> The problem with transforms at least for the intel LVDS slaved to the
> nvidia, is the nvidia
> pcopy engine can't do transforms, and we definitely want to use it for
> copies if we can.

It might make sense to add a cap to the output gpu (can_copy) or
something like that.  Then it could take care of the transform in the
copy.  The output gpu's engine is probably mostly idle at that point
anyway so in some cases, it may be more efficient to use it rather
than the render GPU's engine.

Alex

>
> For USB devices it should be a lot easier to hook onto the rotate
> code, if still a bit messy.
>
> Dave.


More information about the xorg-devel mailing list