[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

x11proto-randr: Changes to 'upstream-experimental'



 .gitignore     |   77 ++++++
 Makefile.am    |   16 -
 README         |   30 ++
 configure.ac   |   12 -
 randr.h        |   23 +-
 randrproto.h   |  120 ++++++++++
 randrproto.txt |  640 +++++++++++++++++++++++++++++++++++++++++++++------------
 7 files changed, 768 insertions(+), 150 deletions(-)

New commits:
commit 0d32bb0780db35cec31e423faffa7061ec3e697f
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Dec 6 22:39:07 2010 -0800

    Define new semantics for scanout pixmap destruction.
    
    This is not yet implemented in the X server...
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

diff --git a/randrproto.txt b/randrproto.txt
index e15a798..ee513e7 100644
--- a/randrproto.txt
+++ b/randrproto.txt
@@ -406,6 +406,12 @@ CRTCCONFIG { crtc: CRTC
 	included as a part of its creation paramaeters, or a Match
 	error results.
 
+	If 'pixmap' is destroyed while still being used as a scanout
+	pixmap, then the associated CRTC will have its scanout pixmap
+	set back to None, the CRTC origin set back to 0,0 (to make
+	sure it fits) and the screen pixmap width and height increased
+	to be at least as big as the current CRTC mode.
+
 			      ❧❧❧❧❧❧❧❧❧❧❧
 
 6. Extension Initialization

commit 3e28d3098faa1a420cd0eb0474b2959cecc8813a
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Dec 6 10:01:21 2010 -0800

    Fix spelling errors, add description of SCANOUTPIXMAPINFO fields.
    
    Review results from Aaron Plattner.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

diff --git a/randrproto.h b/randrproto.h
index 54abafc..ba9b703 100644
--- a/randrproto.h
+++ b/randrproto.h
@@ -897,6 +897,7 @@ typedef struct {
 } xRRSetPanningReply;
 #define sz_xRRSetPanningReply	32
 
+#undef PictFormat
 #undef RRModeFlags
 #undef RRCrtc
 #undef RRMode
diff --git a/randrproto.txt b/randrproto.txt
index f700a84..e15a798 100644
--- a/randrproto.txt
+++ b/randrproto.txt
@@ -131,8 +131,7 @@ underlying hardware to clients
 
    • Per-crtc pixmaps. This provides for multiple scan-out buffers
      which applications can create and assign to arbitrary collections
-     of crtcs. These pixmaps can be associated with a window for use
-     with OpenGL or drawn to directly.
+     of crtcs.
 
    • Sprite position and image transforms. These provide a projective
      transform for both the hot spot location and the sprite image
@@ -356,6 +355,22 @@ SCANOUTPIXMAPINFO { format: PICTFORMAT
 		    maxWidth, maxHeight: CARD16
 		    rotations: SETofROTATION }
 
+	'format' is the format of the pixels within the scanout
+	pixmap. Only 'Direct' formats are supported, this will never
+	be an 'Indexed' format.
+
+	'maxWidth' and 'maxHeight' define the largest supported
+	scanout pixmap. There is no minimum size; scanout pixmaps down
+	to 1x1 may be created.
+
+	'rotations' lists the set of rotations which can be provided
+	without additional latency or memory usage within the
+	environment. This typically means that they are supported
+	directly by the hardware. It is expected that a compositing
+	manager will perform other transforms as a part of the
+	compositing process in conjunction with the sprite transforms
+	described in this extension.
+
 CRTCCONFIG { crtc: CRTC
 	     x, y: INT16
 	     mode: MODE
@@ -363,7 +378,7 @@ CRTCCONFIG { crtc: CRTC
 	     sprite-position-transform: TRANSFORM
 	     sprite-image-transform: TRANSFORM
 	     outputs: LISTofOUTPUT
-	     pixmap: PIXMAP, None or CurrenScanoutPixmap
+	     pixmap: PIXMAP, None or CurrentScanoutPixmap
 	     pixmap-x, pixmap-y: INT16 }
 
 	The sprite-position-transform and sprite-image-transform
@@ -373,7 +388,7 @@ CRTCCONFIG { crtc: CRTC
 	'pixmap' specifies the origin of the pixel data to be presented on
 	'crtc'. If 'pixmap' is None, then data will be presented from
 	the screen pixmap. If 'pixmap' is 'CurrentScanoutPixmap', then
-	whatever source is current in use will remain in use, whether
+	whatever source is currently in use will remain in use, whether
 	that is the screen pixmap or some other allocated scanout pixmap.
 
 	'pixmap-x' and 'pixmap-y' specify the origin of the scanout

commit ebab32deea654d2ceb0538177e78d8ad48cf2a82
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Dec 5 23:22:26 2010 -0800

    Add some informative text about the reasons for the PCP and ST bits
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

diff --git a/randrproto.txt b/randrproto.txt
index 0d537ac..f700a84 100644
--- a/randrproto.txt
+++ b/randrproto.txt
@@ -134,12 +134,44 @@ underlying hardware to clients
      of crtcs. These pixmaps can be associated with a window for use
      with OpenGL or drawn to directly.
 
+   • Sprite position and image transforms. These provide a projective
+     transform for both the hot spot location and the sprite image
+     itself for each CRTC.
+
    • RRSetCrtcConfigs request. This supplies a set of
      crtc configurations to the server that must be applied together
      or not at all. This can reduce screen flicker while also
      providing the server a complete configuration for appropriate
      resource management.
 
+The first two additions, per-crtc pixmaps and sprite transforms are
+designed to solve two problems:
+
+ 1) Screen transforms. The software transform code in the X server
+    uses a shadow frame buffer, adding another copy to every graphics
+    operation. Worse, the server has no idea about when clients are
+    done drawing a frame, so the user gets additional latency and
+    judder.
+
+    The goal is to move this operation out to the compositing manager
+    which already deals with an extra copy of the frame buffer for
+    many operations. Have the compositing manager create and draw to a
+    separate pixmap for scanout. It can perform whatever transforms
+    are required to get the image in the right orientation for the
+    user.
+
+ 2) Hardware scanout engine size limits. With a single scanout buffer
+    for the entire screen, it's possible for the user to ask for a
+    configuration which requires that scanout buffer to be larger than
+    the hardware is capable of scanning out from. Again, having the
+    compositing manager create a pixmap for each CRTC will allow for
+    any configuration where monitor position within the virtual space
+    isn't limited by the scanout limits.
+
+In both of these cases, the Sprite transforms are necessary to ensure
+that the sprite appears at the desired spot on each CRTC and with the
+right shape.
+
 1.99 Acknowledgements
 
 Our thanks to the contributors to the design found on the xpert mailing

commit dd14a2275521b4cc50a588c95cc34cca7db51a91
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Dec 5 20:31:18 2010 -0800

    RandR version 1.4 additions
    
    This adds the specification and protocol header definitions for the
    RandR 1.4 protocol changes, including
    
     * Per crtc pixmaps and pixmap origins
     * Sprite position and image transforms
     * SetCrtcConfigs request
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

diff --git a/configure.ac b/configure.ac
index 4ef4bb6..0c71460 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@ dnl
 dnl Process this file with autoconf to create configure.
 
 AC_PREREQ([2.60])
-AC_INIT([RandrProto], [1.3.2],
+AC_INIT([RandrProto], [1.4.0],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
 AM_INIT_AUTOMAKE([foreign dist-bzip2])
 AM_MAINTAINER_MODE
diff --git a/randr.h b/randr.h
index 1ee95f9..4480f5c 100644
--- a/randr.h
+++ b/randr.h
@@ -40,11 +40,11 @@ typedef unsigned long	XRandrModeFlags;
 
 #define RANDR_NAME		"RANDR"
 #define RANDR_MAJOR		1
-#define RANDR_MINOR		3
+#define RANDR_MINOR		4
 
 #define RRNumberErrors		3
 #define RRNumberEvents		2
-#define RRNumberRequests	32
+#define RRNumberRequests	37
 
 #define X_RRQueryVersion	0
 /* we skip 1 to make old clients fail pretty immediately */
@@ -92,6 +92,13 @@ typedef unsigned long	XRandrModeFlags;
 #define RRTransformScaleDown	    (1L << 2)
 #define RRTransformProjective	    (1L << 3)
 
+/* V1.4 additions */
+#define X_RRQueryScanoutPixmaps	    32
+#define X_RRCreateScanoutPixmap	    33
+#define X_RRSetCrtcSpriteTransform  34
+#define X_RRGetCrtcSpriteTransform  35
+#define X_RRSetCrtcConfigs	    36
+
 /* Event selection bits */
 #define RRScreenChangeNotifyMask  (1L << 0)
 /* V1.2 additions */
@@ -149,6 +156,9 @@ typedef unsigned long	XRandrModeFlags;
 #define BadRRCrtc		1
 #define BadRRMode		2
 
+/* new in 1.4 protocol */
+#define RR_CurrentScanoutPixmap	1	/* current scanout pixmap in RRSetCrtcConfigs */
+
 /* Conventional RandR output properties */
 
 #define RR_PROPERTY_BACKLIGHT		"Backlight"
diff --git a/randrproto.h b/randrproto.h
index 3b98a9f..54abafc 100644
--- a/randrproto.h
+++ b/randrproto.h
@@ -49,6 +49,7 @@
 #define RRMode CARD32
 #define RRCrtc CARD32
 #define RRModeFlags CARD32
+#define PictFormat CARD32
 
 #define Rotation CARD16
 #define SizeID CARD16
@@ -646,6 +647,124 @@ typedef struct {
 #define sz_xRRGetOutputPrimaryReply	32
 
 /*
+ * Additions for 1.4
+ */
+
+typedef struct {
+    PictFormat format B32;
+    CARD16 maxWidth B16, maxHeight B16;
+    Rotation rotations B16;
+    CARD16 pad0 B16;
+    CARD32 pad1 B32;
+} xRRScanoutPixmapInfo;
+#define sz_xRRScanoutPixmapInfo	16
+
+typedef struct {
+    RRCrtc crtc B32;
+    INT16 x B16, y B16;
+    RRMode mode B32;
+    Rotation rotation B16;
+    CARD16 nOutput B16;
+    xRenderTransform spritePositionTransform;
+    xRenderTransform spriteImageTransform;
+    Pixmap pixmap B32;
+    INT16 xPixmap B16, yPixmap B16;
+} xRRCrtcConfig;
+#define sz_xRRCrtcConfig (2*sz_xRenderTransform + 24)
+
+typedef struct {
+    CARD8 reqType;
+    CARD8 randrReqType;
+    CARD16 length B16;
+    Drawable drawable B32;
+} xRRQueryScanoutPixmapsReq;
+#define sz_xRRQueryScanoutPixmapsReq	8
+
+typedef struct {
+    BYTE	type;
+    CARD8	pad;
+    CARD16	sequenceNumber B16;
+    CARD32	length B32;
+    CARD32	pad0 B32;
+    CARD32	pad1 B32;
+    CARD32	pad2 B32;
+    CARD32	pad3 B32;
+    CARD32	pad4 B32;
+    CARD32	pad5 B32;
+} xRRQueryScanoutPixmapsReply;
+#define sz_xRRQueryScanoutPixmapsReply	32
+
+typedef struct {
+    CARD8 reqType;
+    CARD8 randrReqType;
+    CARD16 length B16;
+    Pixmap pid B32;
+    Drawable drawable B32;
+    CARD16 width B16, height B16;
+    PictFormat format B32;
+    Rotation rotations B16;
+    CARD16 pad B16;
+} xRRCreateScanoutPixmapReq;
+#define sz_xRRCreateScanoutPixmapReq	24
+
+typedef struct {
+    CARD8 reqType;
+    CARD8 randrReqType;
+    CARD16 length B16;
+    RRCrtc crtc B32;
+    xRenderTransform positionTransform;
+    xRenderTransform imageTransform;
+} xRRSetCrtcSpriteTransformReq;
+#define sz_xRRSetCrtcSpriteTransformReq	(2*sz_xRenderTransform + 8)
+
+typedef struct {
+    CARD8 reqType;
+    CARD8 randrReqType;
+    CARD16 length B16;
+    RRCrtc crtc B32;
+} xRRGetCrtcSpriteTransformReq;
+#define sz_xRRGetCrtcSpriteTransformReq	8
+
+typedef struct {
+    BYTE type;
+    CARD8 pad;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;
+    xRenderTransform positionTransform;
+    xRenderTransform imageTransform;
+} xRRGetCrtcSpriteTransformReply;
+#define sz_xRRGetCrtcSpriteTransformReply	(2*sz_xRenderTransform + 8)
+
+typedef struct {
+    CARD8 reqType;
+    CARD8 randrReqType;
+    CARD16 length B16;
+    Drawable drawable B32;
+    CARD16 screenPixmapWidth B16, screenPixmapHeight B16;
+    CARD16 screenWidth B16, screenHeight B16;
+    CARD32 widthInMillimeters B32;
+    CARD32 heightInMillimeters B32;
+    CARD16 nConfigs B16;
+    CARD16 pad0 B16;
+    CARD32 pad1 B32;
+} xRRSetCrtcConfigsReq;
+#define sz_xRRSetCrtcConfigsReq 32
+
+typedef struct {
+    BYTE	type;
+    CARD8	status;
+    CARD16	sequenceNumber B16;
+    CARD32	length B32;
+    CARD32	pad0 B32;
+    CARD32	pad1 B32;
+    CARD32	pad2 B16;
+    CARD32	pad3 B32;
+    CARD32	pad4 B32;
+    CARD32	pad5 B32;
+} xRRSetCrtcConfigsReply;
+#define sz_xRRSetCrtcConfigsReply	32
+
+/*
  * event
  */
 typedef struct {
diff --git a/randrproto.txt b/randrproto.txt
index 9f3d4a1..0d537ac 100644
--- a/randrproto.txt
+++ b/randrproto.txt
@@ -124,7 +124,23 @@ following features are added in this version:
    • Panning. It was removed with RandR 1.2 because the old semantics didn't
      fit any longer. With RandR 1.3 panning can be specified per crtc.
 
-1.1 Acknowledgements
+1.4 Introduction to version 1.4 of the extension
+
+Version 1.4 adds a couple more capabilities to further expose the
+underlying hardware to clients
+
+   • Per-crtc pixmaps. This provides for multiple scan-out buffers
+     which applications can create and assign to arbitrary collections
+     of crtcs. These pixmaps can be associated with a window for use
+     with OpenGL or drawn to directly.
+
+   • RRSetCrtcConfigs request. This supplies a set of
+     crtc configurations to the server that must be applied together
+     or not at all. This can reduce screen flicker while also
+     providing the server a complete configuration for appropriate
+     resource management.
+
+1.99 Acknowledgements
 
 Our thanks to the contributors to the design found on the xpert mailing
 list, in particular:
@@ -302,6 +318,49 @@ REFRESH { rates: LISTofCARD16 }
 
 			      ❧❧❧❧❧❧❧❧❧❧❧
 
+5.4. Protocol Types added in version 1.4 of the extension
+
+SCANOUTPIXMAPINFO { format: PICTFORMAT
+		    maxWidth, maxHeight: CARD16
+		    rotations: SETofROTATION }
+
+CRTCCONFIG { crtc: CRTC
+	     x, y: INT16
+	     mode: MODE
+	     rotation: ROTATION
+	     sprite-position-transform: TRANSFORM
+	     sprite-image-transform: TRANSFORM
+	     outputs: LISTofOUTPUT
+	     pixmap: PIXMAP, None or CurrenScanoutPixmap
+	     pixmap-x, pixmap-y: INT16 }
+
+	The sprite-position-transform and sprite-image-transform
+	values are used as in the RRSetCrtcSpriteTransform request
+	position-transform and image-transform parameters.
+
+	'pixmap' specifies the origin of the pixel data to be presented on
+	'crtc'. If 'pixmap' is None, then data will be presented from
+	the screen pixmap. If 'pixmap' is 'CurrentScanoutPixmap', then
+	whatever source is current in use will remain in use, whether
+	that is the screen pixmap or some other allocated scanout pixmap.
+
+	'pixmap-x' and 'pixmap-y' specify the origin of the scanout
+	data within the pixmap, the area from that location to
+	pixmap-x + width-of(mode), pixmap-y + height-of(mode) is what
+	will be seen on the connected outputs.
+
+	The pixmap value must specify a scanout pixmap as created by
+	RRCreateScanoutPixmap, or a Match error results.
+
+	The specified pixmap must be at least as large as the area to
+	be scanned out, or a Match error results.
+
+	The specified pixmap must have had the specified 'rotation'
+	included as a part of its creation paramaeters, or a Match
+	error results.
+
+			      ❧❧❧❧❧❧❧❧❧❧❧
+
 6. Extension Initialization
 
 The name of this extension is "RANDR".
@@ -1238,6 +1297,92 @@ dynamic changes in the display environment.
 
 			      ❧❧❧❧❧❧❧❧❧❧❧
 
+7.3. Extension Requests added in version 1.4 of the extension.
+
+┌───
+    RRQueryScanoutPixmaps
+	window: WINDOW
+      ▶
+	infos: LISTofSCANOUTPIXMAPINFO
+└───
+	Errors: Window
+
+	This request returns information about the server support for
+	alternate scanout pixmaps. For each pictformat, there is a set
+	of rotations and a maximum supported size. The rotations here
+	are those provided by the scanout hardware itself, not by
+	software emulation.
+
+┌───
+    RRCreateScanoutPixmap
+	pixmap: PIXMAP
+	drawable: DRAWABLE
+	width, height: CARD16
+	format: PICTFORMAT
+	rotations: SETofROTATION
+└───
+	Errors: Drawable, Match, Value
+
+	Creates a pixmap which can subsequently be used as a scanout
+	buffer for the screen associated with 'drawable'. 'rotations'
+	is the set of rotation values which may be used with the
+	resulting scanout buffer when it is associated with a CRTC.
+
+	'format' must be one of the supported scanout formats, or a
+	Match error results.
+
+	'width' and 'height' must be within the supported range for
+	the specified format or a Value error results.
+
+	'rotations' must be a subset of those supported for the
+	specified format or a Match error results.
+
+┌───
+    RRSetCrtcSpriteTransform
+	crtc: CRTC
+	position-transform: TRANSFORM
+	image-transform: TRANSFORM
+└───
+	Sets the sprite transforms for the specified crtc, any sprites
+	presented on this crtc will have their positions transformed
+	by the position-transform matrix. Sprite images displayed on the crtc
+	will be transformed by the image-transform matrix.
+
+┌───
+    RRGetCrtcSpriteTransform
+	crtc: CRTC
+      ▶
+	position-transform: TRANSFORM
+	image-transform: TRANSFORM
+└───
+	Gets the sprite transforms for the specified crtc.
+
+┌───
+    RRSetCrtcConfigs
+	drawable: DRAWABLE
+	screen-pixmap-width: CARD16
+	screen-pixmap-height: CARD16
+	screen-width: CARD16
+	screen-height: CARD16
+	width-in-millimeters: CARD32
+	height-in-millimeters: CARD32
+	configs: LISTofCRTCCONFIG
+      ▶
+	status: RRCONFIGSTATUS
+└───
+	Errors: Value, Match
+
+	This works much like RRSetScreenSize followed by a sequence of
+	RRSetCrtcConfig, except that the entire configuration is set
+	in a single operation, either succeeding or failing without
+	any partial execution.
+
+	In addition to the pre-1.4 semantics, this request adds the
+	ability to specific a scanout pixmap for each crtc, and
+	integrates the 1.4 sprite transform request as well.
+
+			      ❧❧❧❧❧❧❧❧❧❧❧
+
 8. Extension Events
 
 Clients MAY select for ConfigureNotify on the root window to be

commit 1325b011247e52cd8ffd0ca96408d77ea22ffaaa
Author: Keith Packard <keithp@keithp.com>
Date:   Sun Dec 5 20:30:43 2010 -0800

    Whitespace cleanups in randrproto.txt
    
    This just eliminates some ugly space/tab combos
    
    Signed-off-by: Keith Packard <keithp@keithp.com>
    Reviewed-by: Cyril Brulebois <kibi@debian.org>

diff --git a/randrproto.txt b/randrproto.txt
index 016532c..9f3d4a1 100644
--- a/randrproto.txt
+++ b/randrproto.txt
@@ -29,14 +29,14 @@ protocol described here, as it has been overtaken by events.
 
 These events include:
       ► Modern toolkits (in this case, GTK+ 2.x) have progressed to the point
-        of implementing migration between screens of arbitrary depths
+	of implementing migration between screens of arbitrary depths
       ► The continued advance of Moore's law has made limited amounts of VRAM
-        less of an issue, reducing the pressure to implement depth switching
+	less of an issue, reducing the pressure to implement depth switching
 	on laptops or desktop systems
       ► The continued decline of legacy toolkits whose design would have
-        required depth switching to support migration
+	required depth switching to support migration
       ► The lack of depth switching implementation experience in the
-        intervening time, due to events beyond our control
+	intervening time, due to events beyond our control
 
 Additionally, the requirement to support depth switching might
 complicate other re-engineering of the device independent part of the
@@ -138,7 +138,7 @@ Thomas Winischhofer for the hardware-accelerated SiS rotation implementation
 Matthew Tippett and Kevin Martin for splitting outputs and CRTCs to more
 fully expose what video hardware can do
 
-                              ❧❧❧❧❧❧❧❧❧❧❧
+			      ❧❧❧❧❧❧❧❧❧❧❧
 
 2. Screen change model
 
@@ -182,7 +182,7 @@ pop-up menus and other pop up windows will position themselves correctly in
 the face of screen configuration changes (the issue is ensuring that pop-ups
 are visible on the reconfigured screen).
 
-                              ❧❧❧❧❧❧❧❧❧❧❧
+			      ❧❧❧❧❧❧❧❧❧❧❧
 
 3. Data Types
 
@@ -190,7 +190,7 @@ The subpixel order is shared with the Render extension, and is documented
 there. The only datatype defined is the screen size, defined in the normal
 (0 degree) orientation.
 
-                              ❧❧❧❧❧❧❧❧❧❧❧
+			      ❧❧❧❧❧❧❧❧❧❧❧
 
 4. Errors
 
@@ -203,7 +203,7 @@ CRTC
 Mode
 	A value for a MODE argument does not name a defined MODE.
 
-                              ❧❧❧❧❧❧❧❧❧❧❧
+			      ❧❧❧❧❧❧❧❧❧❧❧
 
 5. Protocol Types
 
@@ -266,11 +266,11 @@ CONNECTION { Connected, Disconnected, UnknownConnection }
 	connected to a monitor or other presentation device.
 
 SUBPIXELORDER { SubPixelUnknown		The subpixel order uses the Render
-	        SubPixelHorizontalRGB	extensions definitions; they are here
-	        SubPixelHorizontalBGR	only for convenience.
-	        SubPixelVerticalRGB
-	        SubPixelVerticalBGR
-	        SubPixelNone }
+		SubPixelHorizontalRGB	extensions definitions; they are here
+		SubPixelHorizontalBGR	only for convenience.
+		SubPixelVerticalRGB
+		SubPixelVerticalBGR
+		SubPixelNone }
 
 SCREENSIZE { widthInPixels, heightInPixels: CARD16
 	     widthInMillimeters, heightInMillimeters: CARD16 }
@@ -292,15 +292,15 @@ MODEFLAG { HSyncPositive
 
 MODEINFO { id: MODE
 	   name: STRING
-           width, height: CARD16
-           dotClock: CARD32
-           hSyncStart, hSyncEnd, hTotal, hSkew: CARD16
-           vSyncStart, vSyncEnd, vTotal: CARD16
-           modeFlags: SETofMODEFLAG }
+	   width, height: CARD16
+	   dotClock: CARD32
+	   hSyncStart, hSyncEnd, hTotal, hSkew: CARD16
+	   vSyncStart, vSyncEnd, vTotal: CARD16
+	   modeFlags: SETofMODEFLAG }
 
 REFRESH { rates: LISTofCARD16 }
 
-                              ❧❧❧❧❧❧❧❧❧❧❧
+			      ❧❧❧❧❧❧❧❧❧❧❧
 
 6. Extension Initialization
 
@@ -323,7 +323,7 @@ The name of this extension is "RANDR".
 	It is the clients responsibility to ensure that the server
 	supports a version which is compatible with its expectations.
 
-                              ❧❧❧❧❧❧❧❧❧❧❧
+			      ❧❧❧❧❧❧❧❧❧❧❧
 
 7. Extension Requests
 
@@ -564,7 +564,7 @@ dynamic changes in the display environment.
 	name: STRING
 	connection: CONNECTION
 	subpixel-order: SUBPIXELORDER
-        widthInMillimeters, heightInMillimeters: CARD32
+	widthInMillimeters, heightInMillimeters: CARD32
 	crtcs: LISTofCRTC
 	clones: LISTofOUTPUT
 	modes: LISTofMODE
@@ -619,9 +619,9 @@ dynamic changes in the display environment.
 
 ┌───
     RRListOutputProperties
-    	output:OUTPUT
+	output:OUTPUT
       ▶
-      	atoms: LISTof ATOM
+	atoms: LISTof ATOM
 └───
 	Errors: Output
 
@@ -633,7 +633,7 @@ dynamic changes in the display environment.
 	output: OUTPUT
 	property: ATOM
       ▶
-      	pending: BOOL
+	pending: BOOL
 	range: BOOL
 	immutable: BOOL
 	valid-values: LISTofINT32
@@ -663,7 +663,7 @@ dynamic changes in the display environment.
     RRConfigureOutputProperty
 	output: OUTPUT
 	property: ATOM
-      	pending: BOOL
+	pending: BOOL
 	range: BOOL
 	valid-values: LISTofINT32
 └───
@@ -680,7 +680,7 @@ dynamic changes in the display environment.
 
 ┌───
     RRChangeOutputProperty
-    	output: OUTPUT
+	output: OUTPUT
 	property, type: ATOM
 	format: {8, 16, 32}
 	mode: { Replace, Prepend, Append }
@@ -717,7 +717,7 @@ dynamic changes in the display environment.
 
 ┌───
     RRDeleteOutputProperty
-    	output: OUTPUT
+	output: OUTPUT
 	property: ATOM
 └───
 	Errors: Atom, Output
@@ -728,7 +728,7 @@ dynamic changes in the display environment.
 
 ┌───
     RRGetOutputProperty
-    	output: OUTPUT
+	output: OUTPUT
 	property: ATOM
 	type: ATOM or AnyPropertyType
 	long-offset, long-length: CARD32
@@ -779,10 +779,10 @@ dynamic changes in the display environment.
 
 ┌───
     RRCreateMode
-    	window: WINDOW
+	window: WINDOW
 	modeinfo: MODEINFO
       ▶
-      	mode: MODE
+	mode: MODE
 └───
 	Errors: Window, Name, Value
 
@@ -795,7 +795,7 @@ dynamic changes in the display environment.
 
 ┌───
     RRDestroyMode
-      	mode: MODE
+	mode: MODE
 └───
 	Errors: Mode, Access
 
@@ -973,7 +973,7 @@ dynamic changes in the display environment.
     RRGetCrtcGamma
 	crtc: CRTC
       ▶
-      	red: LISTofCARD16
+	red: LISTofCARD16
 	green: LISTofCARD16
 	blue: LISTofCARD16
 └───
@@ -1236,7 +1236,7 @@ dynamic changes in the display environment.
 
 	RRGetOutputPrimary returns the primary output for the screen.
 
-                              ❧❧❧❧❧❧❧❧❧❧❧
+			      ❧❧❧❧❧❧❧❧❧❧❧
 
 8. Extension Events
 
@@ -1372,7 +1372,7 @@ factors, such as re-cabling a monitor, etc.
 	just at the time when a display manager or log in script might
 	be changing the monitor size or configuration.
 
-                              ❧❧❧❧❧❧❧❧❧❧❧
+			      ❧❧❧❧❧❧❧❧❧❧❧
 
 9. Properties
 
@@ -1554,7 +1554,7 @@ Property			Immutable	Mandatory since
 ────────			─────────	───────────────
 Backlight			no		not mandatory
 
-                              ❧❧❧❧❧❧❧❧❧❧❧
+			      ❧❧❧❧❧❧❧❧❧❧❧
 
 10. Extension Versioning
 
@@ -1599,7 +1599,7 @@ GetScreenResources to avoid expensive DDC operations, CRTC transformations,
 panning, and the primary output concept. 1.2 and 1.3 are backward-compatible
 with 1.1.
 
-                              ❧❧❧❧❧❧❧❧❧❧❧
+			      ❧❧❧❧❧❧❧❧❧❧❧
 
 11. Relationship with other extensions
 
@@ -1636,7 +1636,7 @@ re-querying the configuration with the Xinerama extension will get updated
 information. It is probably better to view RandR as a superset of Xinerama
 at this point and use it in preference to Xinerama where both are present.
 
-                              ❧❧❧❧❧❧❧❧❧❧❧
+			      ❧❧❧❧❧❧❧❧❧❧❧
 
 Appendix A. Protocol Encoding
 
@@ -1742,11 +1742,11 @@ errors if used in version 1.0.
 	4	CARD32			minor version
       ▶
 	1	1			Reply
-        1				unused
+	1				unused
 	2	CARD16			sequence number
 	4	0			reply length
 	1	CARD32			major version
-        1	CARD32			minor version
+	1	CARD32			minor version
 └───
 ┌───
     RRSetScreenConfig

commit 75b7c5feed818291c8ba8ac1ee5b6a6ee4b61851
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Fri Oct 29 23:12:30 2010 -0700

    randrproto 1.3.2
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

diff --git a/configure.ac b/configure.ac
index e876c44..4ef4bb6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,8 @@ dnl
 dnl Process this file with autoconf to create configure.
 
 AC_PREREQ([2.60])
-AC_INIT([RandrProto], [1.3.1], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AC_INIT([RandrProto], [1.3.2],
+        [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
 AM_INIT_AUTOMAKE([foreign dist-bzip2])
 AM_MAINTAINER_MODE
 

commit 6ecbca5e882907e9b948d5fc09b7dacc288eae6d
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Sun Mar 28 19:00:31 2010 -0400

    config: remove the pkgconfig pc.in file from EXTRA_DIST
    
    Automake always includes it in the tarball.
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

diff --git a/Makefile.am b/Makefile.am
index 5a1ce11..aede4e9 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -8,7 +8,6 @@ pkgconfig_DATA = randrproto.pc
 
 dist_doc_DATA = randrproto.txt
 
-EXTRA_DIST = randrproto.pc.in
 
 MAINTAINERCLEANFILES = ChangeLog INSTALL
 

commit 68f8fbe50792e0525ba767d854b18db4acda07ff
Author: Rémi Cardona <remi@gentoo.org>
Date:   Thu Dec 17 08:36:49 2009 +0100

    Use $(docdir) for randrproto.txt install path
    
    Signed-off-by: Rémi Cardona <remi@gentoo.org>
    Reviewed-by: Gaetan Nadon <memsize@videotron.ca>
    Reviewed-by: Alan Coopersmith <alan.coopersmith@sun.com>
    Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>

diff --git a/Makefile.am b/Makefile.am
index e4bf141..5a1ce11 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -6,10 +6,9 @@ randr_HEADERS = \
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = randrproto.pc
 
-randrdocdir = $(datadir)/doc/$(PACKAGE)
-randrdoc_DATA = randrproto.txt
+dist_doc_DATA = randrproto.txt
 
-EXTRA_DIST = randrproto.pc.in $(randrdoc_DATA)
+EXTRA_DIST = randrproto.pc.in
 
 MAINTAINERCLEANFILES = ChangeLog INSTALL
 
diff --git a/configure.ac b/configure.ac
index ec7812f..e876c44 100644
--- a/configure.ac
+++ b/configure.ac
@@ -21,7 +21,7 @@ dnl  PERFORMANCE OF THIS SOFTWARE.
 dnl
 dnl Process this file with autoconf to create configure.
 
-AC_PREREQ([2.57])
+AC_PREREQ([2.60])
 AC_INIT([RandrProto], [1.3.1], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
 AM_INIT_AUTOMAKE([foreign dist-bzip2])
 AM_MAINTAINER_MODE

commit cfec02addb9475f5247c69454ccea87d0914cce1
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Sun Nov 22 19:24:48 2009 -0500

    Makefile.am: add ChangeLog and INSTALL on MAINTAINERCLEANFILES
    
    Now that the INSTALL file is generated.
    Allows running make maintainer-clean.

diff --git a/Makefile.am b/Makefile.am
index 493a29b..e4bf141 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -11,6 +11,8 @@ randrdoc_DATA = randrproto.txt
 
 EXTRA_DIST = randrproto.pc.in $(randrdoc_DATA)
 
+MAINTAINERCLEANFILES = ChangeLog INSTALL
+
 .PHONY: ChangeLog INSTALL
 
 INSTALL:

commit 61f1a0417839a19654cb54a5e77c8569b05691bc
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Mon Nov 16 11:13:30 2009 -0500

    README: file created or updated #24206
    
    Contains a set of URLs to freedesktop.org.

diff --git a/README b/README
new file mode 100644
index 0000000..478d23d
--- /dev/null
+++ b/README
@@ -0,0 +1,30 @@
+			X Resize and Rotate Extension (RandR)
+
+This extension defines a protocol for clients to dynamically change X screens,
+so as to resize, rotate and reflect the root window of a screen. 	
+
+Extension name: RANDR
+
+All questions regarding this software should be directed at the
+Xorg mailing list:
+
+        http://lists.freedesktop.org/mailman/listinfo/xorg
+
+Please submit bug reports to the Xorg bugzilla:
+
+        https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+The master development code repository can be found at:
+
+        git://anongit.freedesktop.org/git/xorg/proto/randrproto
+
+        http://cgit.freedesktop.org/xorg/proto/randrproto
+
+For patch submission instructions, see:
+
+	http://www.x.org/wiki/Development/Documentation/SubmittingPatches
+
+For more information on the git code manager, see:
+
+        http://wiki.x.org/wiki/GitPage
+

commit e9aa167bcbd86a55f41ce85f7908a3a529f64181
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Sun Nov 15 19:45:27 2009 -0500

    Makefile.am: ChangeLog not required: EXTRA_DIST or *CLEANFILES #24432
    
    ChangeLog filename is known to Automake and requires no further
    coding in the makefile.

diff --git a/Makefile.am b/Makefile.am
index 61374d9..493a29b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -11,9 +11,6 @@ randrdoc_DATA = randrproto.txt
 


Reply to: