Commit Graph

13 Commits

Author SHA1 Message Date
Keith Packard
63cc2a51ef Add support for user-defined modelines in RandR.
The RandR protocol spec has several requests in support of user-defined
modes, but the implementation was stubbed out inside the X server. Fill out
the DIX portion and start on the xf86 DDX portion. It might be necessary to
add more code to the DDX to insert the user-defined modes into the output
mode list.
2007-02-18 23:49:38 -08:00
Keith Packard
78689d0d66 RandR mode list needs both output and crtc modes.
When an output no longer reports the current mode, it must still be included
in the list advertised by the X server. Walk the crtcs to ensure it is
included.
2006-12-12 20:16:49 -08:00
Keith Packard
ec83d67416 Ensure RandR resource types are registered before resources are created.
Now that resources can be created during server initialization, make sure
the crtc, output and mode resource types are created before attempting to
create associated resources.
2006-11-26 19:31:48 -08:00
Keith Packard
8d0ac835bc Allow RandR objects to be created before the associated ScreenRec.
xf86 drivers need to create RandR object in the PreInit stage,
before the ScreenRec is allocated. Changing the RandR DIX code
to permit this required the addition of functions that later associate the
objects with the related screen.

An additional change is that modes are now global, and no longer associated
with a specific screen. This change actually makes mode management cleaner
as there is no more per-screen list of modes to deal with.

This changes the RandR 1.2 ABI/API for drivers.
2006-11-16 10:15:29 -08:00
Keith Packard
354603f509 Move physical size from mode to output.
Modes can be shared across different sized monitors this way.

Also caught some missing byteswapping and an incorrect return type.
2006-11-16 10:15:28 -08:00
Keith Packard
a9fb37ffde Add preferred modes for each output. Round vrefresh. Deliver crtc events. 2006-11-16 10:03:01 -08:00
Keith Packard
0f37ee35a8 Add mode origins and output options. Fix memmoves in resource free funcs.
Output options and mode origins both affected driver ABI.  memmove mistakes
were causing 'Freeing resource which isn't there' messages.

Prune unused non-user defined modes from available list now.
2006-11-16 10:03:00 -08:00
Keith Packard
f133e72d82 Avoid calling xalloc(0). Change rrScreenSizeSet to rrScreenSetSize. 2006-11-16 10:02:56 -08:00
Keith Packard
cd63e82aa5 Split out 1.0-style info and new property routines to their own files. 2006-11-16 10:02:56 -08:00
Keith Packard
7f9b59d80d RRGetScreenResources and RRGetOutputInfo are working now.
Removed separate id field in RRModeRec.
Pull screen subpixel order from Render extension.
Implement RGetScreenResources and RRGetOutputInfo
2006-11-16 10:02:55 -08:00
Keith Packard
0b22ab2f49 RandR working with old clients and old API. 2006-11-16 10:02:54 -08:00
Keith Packard
db4576798e Split out RandR dispatch code from randr.c to rr*dispatch.c.
More disassembly to ease ongoing development.
2006-11-16 10:02:54 -08:00
Keith Packard
cbb587582e Split RandR implementation into separate files.
RandR is getting too big to live in one file; split into one file per object
type (crtc, mode, screen), leaving the rest of the code in randr.c.

Code is slowly approaching the point where it will drop-in as a replacement
for the old 1.0 implementation.
2006-11-16 10:02:53 -08:00