mirror of
https://gitlab.freedesktop.org/xorg/proto/xorgproto.git
synced 2026-05-09 02:28:15 +02:00
Add GetScreenResourcesCurrent
This commit is contained in:
parent
4a960ba3db
commit
2c0635eed5
3 changed files with 102 additions and 5 deletions
4
randr.h
4
randr.h
|
|
@ -2,6 +2,7 @@
|
|||
* Copyright © 2000 Compaq Computer Corporation
|
||||
* Copyright © 2002 Hewlett Packard Company
|
||||
* Copyright © 2006 Intel Corporation
|
||||
* Copyright © 2008 Red Hat, Inc.
|
||||
*
|
||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||
* documentation for any purpose is hereby granted without fee, provided that
|
||||
|
|
@ -77,6 +78,9 @@ typedef unsigned long XRandrModeFlags;
|
|||
#define X_RRGetCrtcGamma 23
|
||||
#define X_RRSetCrtcGamma 24
|
||||
|
||||
/* V1.3 additions */
|
||||
#define X_RRGetScreenResourcesCurrent 25
|
||||
|
||||
/* Event selection bits */
|
||||
#define RRScreenChangeNotifyMask (1L << 0)
|
||||
/* V1.2 additions */
|
||||
|
|
|
|||
29
randrproto.h
29
randrproto.h
|
|
@ -2,6 +2,7 @@
|
|||
* Copyright © 2000 Compaq Computer Corporation
|
||||
* Copyright © 2002 Hewlett-Packard Company
|
||||
* Copyright © 2006 Intel Corporation
|
||||
* Copyright © 2008 Red Hat, Inc.
|
||||
*
|
||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||
* documentation for any purpose is hereby granted without fee, provided that
|
||||
|
|
@ -561,6 +562,34 @@ typedef struct {
|
|||
} xRRSetCrtcGammaReq;
|
||||
#define sz_xRRSetCrtcGammaReq 12
|
||||
|
||||
/*
|
||||
* Additions for V1.3
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
CARD8 reqType;
|
||||
CARD8 randrReqType;
|
||||
CARD16 length B16;
|
||||
Window window B32;
|
||||
} xRRGetScreenResourcesCurrentReq;
|
||||
#define sz_xRRGetScreenResourcesCurrentReq 8
|
||||
|
||||
typedef struct {
|
||||
BYTE type;
|
||||
CARD8 pad;
|
||||
CARD16 sequenceNumber B16;
|
||||
CARD32 length B32;
|
||||
Time timestamp B32;
|
||||
Time configTimestamp B32;
|
||||
CARD16 nCrtcs B16;
|
||||
CARD16 nOutputs B16;
|
||||
CARD16 nModes B16;
|
||||
CARD16 nbytesNames B16;
|
||||
CARD32 pad1 B32;
|
||||
CARD32 pad2 B32;
|
||||
} xRRGetScreenResourcesCurrentReply;
|
||||
#define sz_xRRGetScreenResourcesCurrentReply 32
|
||||
|
||||
/*
|
||||
* event
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -528,10 +528,10 @@ dynamic changes in the display environment.
|
|||
|
||||
This request explicitly asks the server to ensure that the
|
||||
configuration data is up-to-date wrt the hardware. If that requires
|
||||
polling, this is when such polling would take place. Requests for
|
||||
further information should not poll, but rather return the data
|
||||
collected at this point.
|
||||
|
||||
polling, this is when such polling would take place. If the
|
||||
current configuration is all that's required, use
|
||||
RRGetScreenResourcesCurrent instead.
|
||||
|
||||
┌───
|
||||
RRGetOutputInfo
|
||||
output: OUTPUT
|
||||
|
|
@ -968,6 +968,40 @@ dynamic changes in the display environment.
|
|||
must be the size returned by RRGetCrtcGammaSize else a Value error
|
||||
results.
|
||||
|
||||
7.2. Extension Requests added in version 1.3 of the extension
|
||||
|
||||
┌───
|
||||
RRGetScreenResourcesCurrent
|
||||
window: WINDOW
|
||||
▶
|
||||
timestamp: TIMESTAMP
|
||||
config-timestamp: TIMESTAMP
|
||||
crtcs: LISTofCRTC
|
||||
outputs: LISTofOUTPUT
|
||||
modes: LISTofMODEINFO
|
||||
└───
|
||||
Errors: Window
|
||||
|
||||
RRGetScreenResourcesCurrent returns the list of outputs and crtcs
|
||||
connected to the screen associated with 'window'.
|
||||
|
||||
'timestamp' indicates when the configuration was last set.
|
||||
|
||||
'config-timestamp' indicates when the configuration information last
|
||||
changed. Requests to configure the output will fail unless the
|
||||
timestamp indicates that the information the client is using is up
|
||||
to date, to ensure clients can be well behaved in the face of race
|
||||
conditions.
|
||||
|
||||
'crtcs' contains the list of CRTCs associated with the screen.
|
||||
|
||||
'outputs' contains the list of outputs associated with the screen.
|
||||
|
||||
'modes' contains the list of modes associated with the screen
|
||||
|
||||
Unlike RRGetScreenResources, this merely returns the current
|
||||
configuration, and does not poll for hardware changes.
|
||||
|
||||
❧❧❧❧❧❧❧❧❧❧❧
|
||||
|
||||
8. Extension Events
|
||||
|
|
@ -1128,6 +1162,8 @@ list of what each version provided:
|
|||
1.2: Separate screens from CRTCs and outputs, switch to full VESA
|
||||
modes
|
||||
|
||||
1.3: Added cheap version of RRGetScreenResources.
|
||||
|
||||
Compatibility between 0.0 and 1.0 was *NOT* preserved, and 0.0 clients
|
||||
will fail against 1.0 servers. The wire encoding op-codes were
|
||||
changed for GetScreenInfo to ensure this failure in a relatively
|
||||
|
|
@ -1135,7 +1171,8 @@ graceful way. Version 1.1 servers and clients are cross compatible with
|
|||
1.0. Version 1.1 is considered to be stable and we intend upward
|
||||
compatibility from this point. Version 1.2 offers an extended model of the
|
||||
system with multiple output support. It offers backward compatibility with
|
||||
version 1.1.
|
||||
version 1.1. Version 1.3 adds a cheap version of GetScreenResources to
|
||||
avoid expensive DDC operations.
|
||||
|
||||
❧❧❧❧❧❧❧❧❧❧❧
|
||||
|
||||
|
|
@ -1681,6 +1718,33 @@ A.2.1 Protocol Requests added with version 1.2
|
|||
p unused, p=pad(6n)
|
||||
└───
|
||||
|
||||
A.2.2 Protocol Requests added with version 1.2
|
||||
|
||||
┌───
|
||||
RRGetScreenResourcesCurrent
|
||||
1 CARD8 major opcode
|
||||
1 8 RandR opcode
|
||||
2 2 length
|
||||
4 WINDOW window
|
||||
▶
|
||||
1 1 Reply
|
||||
1 unused
|
||||
2 CARD16 sequence number
|
||||
4 c+o+8m+(b+p)/4 reply length
|
||||
4 TIMESTAMP timestamp
|
||||
4 TIMESTAMP config-timestamp
|
||||
2 c number of CRTCs
|
||||
2 o number of outputs
|
||||
2 m number of modeinfos
|
||||
2 b total bytes in mode names
|
||||
8 unused
|
||||
4c LISTofCRTC crtcs
|
||||
4o LISTofOUTPUT outputs
|
||||
32m LISTofMODEINFO modeinfos
|
||||
b STRING8 mode names
|
||||
p unused, p=pad(b)
|
||||
└───
|
||||
|
||||
A.3 Protocol Events
|
||||
|
||||
┌───
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue