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)
This commit is contained in:
Keith Packard 2006-10-03 21:02:39 -07:00
parent d6c9bdd0e6
commit ee843ac707
3 changed files with 34 additions and 9 deletions

11
randr.h
View file

@ -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_ */

View file

@ -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;

View file

@ -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)