[PATCH 00/13] RandR 1.3 Panning support

Keith Packard keithp at keithp.com
Fri Nov 28 11:17:33 PST 2008

On Fri, 2008-11-28 at 18:46 +0100, Matthias Hopf wrote:
> This set of patches adds panning support to RandR. Maybe it needs some
> tweaking when Keith's transformation patches are applied.

Transforms are on master and the 1.6 branch. I think there are some
minor modifications needed here to deal with back-transforming the
pointer position from screen space to crtc space. I don't have good
thoughts on how this should actually work though. You'll need to try it
out and see what's needed, I think.

> The patches include version bumps to 1.3.0, dunno whether that should be
> delayed until being actually final, please comment.

I've bumped the randrproto version to; we'll move to 1.3.0 when
we're finished pulling in changes.

> The current implementation behaves nicely on screen size changes and mode
> changes, but I'd like to have it verified more before removing the
> documentation parts that state that behavior on these actions is undefined.

If you're reasonably happy with the current behaviour, please just write
that into the spec. If we need to change it, we'll change the spec and
the implementation.

> I'm not completely satisfied with the abstraction, as panning is a purely
> crtc related thing, but xrandr doesn't support setting crtc related
> properties yet. Thus the to-be-set panning information is analyzed per
> output, while it is actually set per crtc. Still, you probably won't notice
> with typical use cases.

The same is true of modes.

> Also, there is no startup time support for about the same reason, as there
> is no per-crtc configuration in xorg.conf.

We've got per-monitor configuration support, which is where the panning
would be added. The code currently shares CRTCs where monitor modes
match (and the hardware supports it). Adding an additional sharing
constraint based on panning should be easy.

> Because the current RandR driver interface doesn't have support for panning,
> each time a mode_set() is called on the crtc. As this typically disrupts
> signal generation, a pan() call has been added for just updating the x/y
> crtc coordinates. See patch 13, which adds support for the radeonhd driver.

Thanks. I wanted to do this quite a while ago, but never got around to

> Originally I planed to allow mode_set() with a NULL mode, but it's
> impossible to verify in the server whether the driver will support that or
> not, thus a separate call.

A separate call is better.

keith.packard at intel.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://lists.x.org/archives/xorg/attachments/20081128/6806d21f/attachment.pgp>

More information about the xorg mailing list