summaryrefslogtreecommitdiff
path: root/randr/randrstr.h
diff options
context:
space:
mode:
authorKeith Packard <keithp@neko.keithp.com>2007-03-23 23:41:36 -0700
committerKeith Packard <keithp@neko.keithp.com>2007-03-24 00:01:47 -0700
commit804080a7096347d48c686f2c8fbfd06326bce400 (patch)
treecb229530ce3043cfd3da2a34e40981abe006e6fb /randr/randrstr.h
parent1f77120775dc05fc84a00dd55190af2fa50ae509 (diff)
Make pending properties force mode set. And, remove AttachScreen calls.
Yes, two changes in one commit. Sorry 'bout that. The first change ensures that when pending property values have been changed, a mode set to the current mode will actually do something, rather than being identified as a no-op. In addition, the driver no longer needs to manage the migration of pending to current values, that is handled both within the xf86 mode setting code (to deal with non-RandR changes) as well as within the RandR extension itself. The second change eliminates the two-call Create/AttachScreen stuff that was done in a failed attempt to create RandR resources before the screen structures were allocated. Merging these back into the Create function is cleaner. (cherry picked from commit 57e87e0d006cbf1f5b175fe02eeb981f741d92f0) Conflicts: randr/randrstr.h randr/rrcrtc.c I think master and server-1.3-branch are more in sync now.
Diffstat (limited to 'randr/randrstr.h')
-rw-r--r--randr/randrstr.h33
1 files changed, 9 insertions, 24 deletions
diff --git a/randr/randrstr.h b/randr/randrstr.h
index 9f039f747..4cc3a469e 100644
--- a/randr/randrstr.h
+++ b/randr/randrstr.h
@@ -138,6 +138,7 @@ struct _rrOutput {
RRModePtr *userModes;
Bool changed;
RRPropertyPtr properties;
+ Bool pendingProperties;
void *devPrivate;
};
@@ -496,16 +497,14 @@ RRCrtcChanged (RRCrtcPtr crtc, Bool layoutChanged);
* Create a CRTC
*/
RRCrtcPtr
-RRCrtcCreate (void *devPrivate);
+RRCrtcCreate (ScreenPtr pScreen, void *devPrivate);
/*
- * Attach a CRTC to a screen. Once done, this cannot be
- * undone without destroying the CRTC; it is separate from Create
- * only to allow an xf86-based driver to create objects in preinit
+ * Set the allowed rotations on a CRTC
*/
-Bool
-RRCrtcAttachScreen (RRCrtcPtr crtc, ScreenPtr pScreen);
-
+void
+RRCrtcSetRotations (RRCrtcPtr crtc, Rotation rotations);
+
/*
* Notify the extension that the Crtc has been reconfigured,
* the driver calls this whenever it has updated the mode
@@ -562,13 +561,6 @@ RRCrtcGammaSetSize (RRCrtcPtr crtc,
int size);
/*
- * Set the allowable rotations of the CRTC.
- */
-Bool
-RRCrtcSetRotations (RRCrtcPtr crtc,
- Rotation rotations);
-
-/*
* Return the area of the frame buffer scanned out by the crtc,
* taking into account the current mode and rotation
*/
@@ -670,19 +662,12 @@ RROutputChanged (RROutputPtr output, Bool configChanged);
*/
RROutputPtr
-RROutputCreate (const char *name,
+RROutputCreate (ScreenPtr pScreen,
+ const char *name,
int nameLength,
void *devPrivate);
/*
- * Attach an output to a screen, again split from creation so
- * xf86 DDXen can create randr resources before the ScreenRec
- * exists
- */
-Bool
-RROutputAttachScreen (RROutputPtr output, ScreenPtr pScreen);
-
-/*
* Notify extension that output parameters have been changed
*/
Bool
@@ -762,7 +747,7 @@ void
RRDeleteOutputProperty (RROutputPtr output, Atom property);
Bool
-RRPostPendingProperty (RROutputPtr output, Atom property);
+RRPostPendingProperties (RROutputPtr output);
int
RRChangeOutputProperty (RROutputPtr output, Atom property, Atom type,