summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@guitar.keithp.com>2006-10-03 21:02:39 -0700
committerKeith Packard <keithp@guitar.keithp.com>2006-10-03 21:02:39 -0700
commitee843ac7077f5dcae677ad1b7c794abb0b89e111 (patch)
tree359b3bfcbabe09ac927a298a50a85be5dcd657b3
parentd6c9bdd0e6713a8c4dff53e88bd820ff1140758c (diff)
downloadxorg-proto-randrproto-ee843ac7077f5dcae677ad1b7c794abb0b89e111.tar.gz
Add mode origins and output options.
Mode origins indicate the source of the mode information, from VESA timings, user config or whatever. Output options currently include only panel fitting options; more may be added later (this field is 32 bits wide)
-rw-r--r--randr.h11
-rw-r--r--randrproto.h20
-rw-r--r--randrproto.txt12
3 files changed, 34 insertions, 9 deletions
diff --git a/randr.h b/randr.h
index 43a616d..f0f81e1 100644
--- a/randr.h
+++ b/randr.h
@@ -132,4 +132,15 @@ typedef unsigned long XRandrModeFlags;
#define BadRRCrtc 1
#define BadRRMode 2
+#define RRModeOriginPreferred 0
+#define RRModeOriginDetailed 1
+#define RRModeOriginVESA 2
+#define RRModeOriginConfig 3
+#define RRModeOriginUser 4
+#define RRModeOriginOther 5
+
+#define RROutputOptionScaleNone 1
+#define RROutputOptionScaleMaxAspect 2
+#define RROutputOptionScaleMax 4
+
#endif /* _RANDR_H_ */
diff --git a/randrproto.h b/randrproto.h
index cc78e6d..d55e547 100644
--- a/randrproto.h
+++ b/randrproto.h
@@ -47,6 +47,8 @@
#define RRMode CARD32
#define RRCrtc CARD32
#define RRModeFlags CARD32
+#define RROutputOptions CARD32
+#define RRModeOrigin CARD8
#define Rotation CARD16
#define SizeID CARD16
@@ -194,8 +196,17 @@ typedef struct _xRRModeInfo {
CARD16 vTotal B16;
CARD16 nameLength B16;
RRModeFlags modeFlags B32;
+ RRModeOrigin origin;
+ CARD8 pad1;
+ CARD16 pad2 B16;
} xRRModeInfo;
-#define sz_xRRModeInfo 40
+#define sz_xRRModeInfo 44
+
+typedef struct {
+ RROutput output B32;
+ RROutputOptions options B32;
+} xRROutputConfig;
+#define sz_xRROutputConfig 8
typedef struct {
CARD8 reqType;
@@ -273,6 +284,7 @@ typedef struct {
CARD32 length B32;
Time timestamp B32;
RRCrtc crtc B32;
+ RROutputOptions currentOptions B32;
CARD8 connection;
CARD8 subpixelOrder;
CARD16 nCrtcs B16;
@@ -280,9 +292,9 @@ typedef struct {
CARD16 nClones B16;
CARD16 nameLength B16;
CARD16 pad1 B16;
- CARD32 pad2 B32;
+ RROutputOptions possibleOptions B32;
} xRRGetOutputInfoReply;
-#define sz_xRRGetOutputInfoReply 32
+#define sz_xRRGetOutputInfoReply 36
typedef struct {
CARD8 reqType;
@@ -366,7 +378,7 @@ typedef struct {
Window window B32;
xRRModeInfo modeInfo;
} xRRCreateModeReq;
-#define sz_xRRCreateModeReq 48
+#define sz_xRRCreateModeReq 52
typedef struct {
BYTE type;
diff --git a/randrproto.txt b/randrproto.txt
index 42c50d2..15ab34f 100644
--- a/randrproto.txt
+++ b/randrproto.txt
@@ -1211,7 +1211,7 @@ A.1 Common Types
Origin of mode information.
┌───
- MODEINFO (40) Added in version 1.2
+ MODEINFO (44) Added in version 1.2
4 CARD32 id
2 CARD16 width in pixels
2 CARD16 height in pixels
@@ -1227,6 +1227,8 @@ A.1 Common Types
2 CARD16 v total
2 CARD16 name length
4 SETofMODEFLAG mode flags
+ 1 MODEORIGIN mode origin
+ 3 unused
└───
An output mode specifies the complete CRTC timings for
@@ -1403,7 +1405,7 @@ A.2.1 Protocol Requests added with version 1.2
1 1 Reply
1 unused
2 CARD16 sequence number
- 4 c+o+10m+(b+p)/4 reply length
+ 4 c+o+11m+(b+p)/4 reply length
4 TIMESTAMP timestamp
4 TIMESTAMP config-timestamp
2 c number of CRTCs
@@ -1413,7 +1415,7 @@ A.2.1 Protocol Requests added with version 1.2
8 unused
4c LISTofCRTC crtcs
4o LISTofOUTPUT outputs
- 40m LISTofMODEINFO modeinfos
+ 44m LISTofMODEINFO modeinfos
b STRING8 mode names
p unused, p=pad(b)
└───
@@ -1528,9 +1530,9 @@ A.2.1 Protocol Requests added with version 1.2
RRCreateMode
1 CARD8 major opcode
1 14 RandR opcode
- 2 12+(n+p)/4 length
+ 2 13+(n+p)/4 length
4 WINDOW window
- 40 MODEINFO mode
+ 44 MODEINFO mode
n STRING8 mode name
p unused, p=pad(n)