pull request: output slave

Keith Packard keithp at keithp.com
Fri Jul 6 13:08:46 PDT 2012

Dave Airlie <airlied at gmail.com> writes:

I'm just going to do review here, reading from the git tree diffs.

>       randr: add provider object and provider property support (v6)

Given that the _rrProvider structs are per-screen, any devPrivate stuff
could live in the screen private instead; otherwise, I'd suggest making
this a 'real' private structure, which seems like a pain.

Remove the typedef for RRProviderSetRoleProcPtr

(Hrm. Having NULL for SetProviderOffloadSink and SetProviderOutputSource
means returning BadRequest for those; I know they'll just be no-ops for
now, but this patch should probably have stubs that return BadMatch
instead? We'll let that slide though; bisecting across this probably
won't break any apps).

(Hrm, would also be nice if this patch created provider objects for the
screens so that we could test the protocol support here)

Otherwise, this patch is

Reviewed-by: Keith Packard <keithp at keithp.com>

>       xfree86: add framework for provider support in ddx. (v3)

Need to free 'name' when the screen is deleted.


Reviewed-by: Keith Packard <keithp at keithp.com>

>       dix: add unattached list for attaching screens to initially. (v1.1)
>       dix: attach unbound screens to protocol screen 0 (v2)
>       randr: expose unattached providers to the clients.
>       xf86dga: handle DGAAvailable for gpu screens. (v2)
>       dix: add ability to link output slave gpus to the current gpu (v1.1)
>       dix: pixmap sharing infrastructure (v3)

Reviewed-by: Keith Packard <keithp at keithp.com>

>       exa: pixmap sharing infrastructure (v3)
>       randr: add initial scanout pixmap support (v3)
>       xf86: add initial scanout pixmap support (v2)

(already reviewed)

>       randr: fixup constrain to work with slave screens.
>       randr: fix tellchanged to work with slave scanouts
>       randr: check the screen size bounds against the master

Reviewed-by: Keith Packard <keithp at keithp.com>

>       dix/pixmap: track dirty pixmaps in server. (v3)

There are bunch of spurious whitespace fixes in dix/pixmap.c

Fails to check DamageCreate return value for NULL

PixmapSyncDirtyHelper might be made faster by clipping to the
dirty_region instead of iterating over the boxes in it?

Setting SourceValidate to NULL is going to pick up the software cursor,
I assume this is intentional? A comment might be nice here. Of course,
a cleaner fix would be to just have the cursor code drive a cursor on
the monitor separately; that way, we'd get hw cursors on the 'main'
screen and only have a sw cursor on the output provider.

The rest of this patch is

Reviewed-by: Keith Packard <keithp at keithp.com>

>       xf86/crtc: add new interface to detach slave crtcs

Reviewed-by: Keith Packard <keithp at keithp.com>

>       randr: hook up output slave to screen resources return

Calling RRModesForScreen twice is ugly, but it's probably less code than
creating a separate function to compute the needed values.

It seems like rrGetMultiScreenResources would work fine for screens
without connected output providers. If so, please just replace the old
function instead of copying it. It'll get more testing that way anyways.

>       randr: add output source setup

Reviewed-by: Keith Packard <keithp at keithp.com>

>       xf86: add output source setting callback

Not sure you need to mess with the RootClip of the current master screen
when disconnecting the output; you'll get a screen flash as a result.


Reviewed-by: Keith Packard <keithp at keithp.com>

>       xf86/cursor: fallback to sw cursor if we have slaves present.

Would be better to draw the cursor on the slave than have it rendered to
the master and copied to the slave? As you say, all providers can draw X stuff.

>       xf86: make sure rotate calcs are done on the right screen boundaries

Reviewed-by: Keith Packard <keithp at keithp.com>

keith.packard at intel.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 827 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg-devel/attachments/20120706/cae2de76/attachment.pgp>

More information about the xorg-devel mailing list