diff options
author | Dave Airlie <airlied@redhat.com> | 2012-01-20 17:38:16 +0000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2012-05-06 17:44:12 +0100 |
commit | 670d2762a5c92da778fc3be4ad5a6b952e4f4027 (patch) | |
tree | 1c35d8b0846b44c5351d2382edc0378266eb15e1 | |
parent | 40cce2d010c1eff087301d5bb0098d0e041ed71f (diff) |
add provider protoprovider
-rw-r--r-- | randr.h | 12 | ||||
-rw-r--r-- | randrproto.h | 60 |
2 files changed, 71 insertions, 1 deletions
@@ -44,7 +44,7 @@ typedef unsigned long XRandrModeFlags; #define RRNumberErrors 3 #define RRNumberEvents 2 -#define RRNumberRequests 37 +#define RRNumberRequests 40 #define X_RRQueryVersion 0 /* we skip 1 to make old clients fail pretty immediately */ @@ -114,6 +114,11 @@ typedef unsigned long XRandrModeFlags; #define X_RRGetCrtcSpriteTransform 35 #define X_RRSetCrtcConfigs 36 +/* v1.5 */ +#define X_RRGetProviders 37 +#define X_RRGetProviderInfo 38 +#define X_RRSetProviderRole 39 + /* Event selection bits */ #define RRScreenChangeNotifyMask (1L << 0) /* V1.2 additions */ @@ -184,4 +189,9 @@ typedef unsigned long XRandrModeFlags; #define RR_PROPERTY_BORDER "Border" #define RR_PROPERTY_BORDER_DIMENSIONS "BorderDimensions" +#define RR_Role_Undefined 0 +#define RR_Role_Master 1 +#define RR_Role_Slave_Offload 2 +#define RR_Role_Slave_Output 4 + #endif /* _RANDR_H_ */ diff --git a/randrproto.h b/randrproto.h index 00bae2d..7f54db0 100644 --- a/randrproto.h +++ b/randrproto.h @@ -48,6 +48,7 @@ #define RROutput CARD32 #define RRMode CARD32 #define RRCrtc CARD32 +#define RRProvider CARD32 #define RRModeFlags CARD32 #define PictFormat CARD32 @@ -766,6 +767,64 @@ typedef struct { } xRRSetCrtcConfigsReply; #define sz_xRRSetCrtcConfigsReply 32 +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + Window window B32; +} xRRGetProvidersReq; +#define sz_xRRGetProvidersReq 8 + +typedef struct { + BYTE type; + CARD8 pad; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 nProviders; + CARD16 pad1; + Time timestamp B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xRRGetProvidersReply; +#define sz_xRRGetProvidersReply 32 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + RRProvider provider B32; + Time configTimestamp B32; +} xRRGetProviderInfoReq; +#define sz_xRRGetProviderInfoReq 12 + +typedef struct { + BYTE type; + CARD8 status; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 current_role B32; + CARD32 allowed_roles B32; + CARD32 max_master B32; + CARD16 nCrtcs B16; + CARD16 nOutputs B16; + CARD32 pad1 B32; + CARD32 pad2 B32; +} xRRGetProviderInfoReply; +#define sz_xRRGetProvidersInfoReply 32 + +typedef struct { + CARD8 reqType; + CARD8 randrReqType; + CARD16 length B16; + RRProvider provider B32; + Time configTimestamp B32; + CARD32 new_role B32; + CARD32 exclusive_master B32; /* xinerama or GPU switch */ +} xRRSetProviderRoleReq; +#define sz_xRRSetProviderRoleReq 20 + /* * event */ @@ -906,6 +965,7 @@ typedef struct { #undef RROutput #undef RRMode #undef RRCrtc +#undef RRProvider #undef Drawable #undef Window #undef Font |