mirror of
https://gitlab.freedesktop.org/xorg/proto/xorgproto.git
synced 2025-12-20 15:10:11 +01:00
Add mode origins and output options.
Also document non-obvious defined types. Eliminate mode options.
This commit is contained in:
parent
61d60a93dc
commit
d6c9bdd0e6
1 changed files with 109 additions and 9 deletions
118
randrproto.txt
118
randrproto.txt
|
|
@ -198,6 +198,30 @@ RRCONFIGSTATUS { Success
|
||||||
InvalidTime
|
InvalidTime
|
||||||
Failed }
|
Failed }
|
||||||
|
|
||||||
|
A value of type RRCONFIGSTATUS returned when manipulating the output
|
||||||
|
configuration or querying information from the server that has some
|
||||||
|
time-dependency.
|
||||||
|
|
||||||
|
InvalidConfigTime indicates that the supplied configuration
|
||||||
|
timestamp does not match the current X server configuration
|
||||||
|
timestamp. Usually this means that the output configuration has
|
||||||
|
changed since the timestamp was received by the application.
|
||||||
|
|
||||||
|
InvalidTime indicates that the supplied output reconfiguration time
|
||||||
|
is earlier than the most recent output reconfiguration request.
|
||||||
|
Generally this indicates that another application has reconfigured
|
||||||
|
the output using a later timestamp.
|
||||||
|
|
||||||
|
Failed is returned whenever the operation is unsuccessful for some
|
||||||
|
other reason. This generally indicates that the requested output
|
||||||
|
configuration is unsupported by the hardware. The goal is to make
|
||||||
|
these limitations expressed by the protocol, but when that isn't
|
||||||
|
possible it is correct to return this error value. If, as a
|
||||||
|
implentor, you find this error code required, please submit the
|
||||||
|
hardware constraints that exist so that a future version of the
|
||||||
|
extension can correctly capture the configuration constraints in
|
||||||
|
your system.
|
||||||
|
|
||||||
ROTATION { Rotate_0
|
ROTATION { Rotate_0
|
||||||
Rotate_90
|
Rotate_90
|
||||||
Rotate_180
|
Rotate_180
|
||||||
|
|
@ -205,6 +229,10 @@ ROTATION { Rotate_0
|
||||||
Reflect_X
|
Reflect_X
|
||||||
Reflect_Y }
|
Reflect_Y }
|
||||||
|
|
||||||
|
These values are used both to indicate a set of allowed rotations
|
||||||
|
and reflections as well as to indicate a specific rotation and
|
||||||
|
reflection combination.
|
||||||
|
|
||||||
RRSELECTMASK { RRScreenChangeNotifyMask
|
RRSELECTMASK { RRScreenChangeNotifyMask
|
||||||
RRCrtcChangeNotifyMask (New in version 1.2)
|
RRCrtcChangeNotifyMask (New in version 1.2)
|
||||||
RROutputChangeNotifyMask (New in version 1.2)
|
RROutputChangeNotifyMask (New in version 1.2)
|
||||||
|
|
@ -214,12 +242,44 @@ SIZEID { CARD16 }
|
||||||
|
|
||||||
MODE { XID or None }
|
MODE { XID or None }
|
||||||
|
|
||||||
|
RRMODEORIGIN { RRModeOriginPreferred,
|
||||||
|
RRModeOriginDetailed,
|
||||||
|
RRModeOriginVESA,
|
||||||
|
RRModeOriginConfig,
|
||||||
|
RRModeOriginUser,
|
||||||
|
RRModeOriginOther }
|
||||||
|
|
||||||
|
These values are used to indicate to the application the origin
|
||||||
|
of each mode.
|
||||||
|
|
||||||
|
Preferred modes come from the monitor as the preferred mode for
|
||||||
|
this monitor; generally these are used for fixed-pixel flat panels
|
||||||
|
to indicate the native resolution of the panel.
|
||||||
|
|
||||||
|
Detailed modes also come from the monitor as additional modes that
|
||||||
|
may not follow the VESA specification.
|
||||||
|
|
||||||
|
VESA modes are either standard modes from the VESA spec or modes
|
||||||
|
generated from the GTF using the monitor specifications.
|
||||||
|
|
||||||
|
Config modes are those provided as a part of the X server
|
||||||
|
configuration.
|
||||||
|
|
||||||
|
User modes are those defined through the RandR protocol during X
|
||||||
|
server operation.
|
||||||
|
|
||||||
|
Other modes covers modes that come from any other source; space
|
||||||
|
aliens, tarot cards, whatever.
|
||||||
|
|
||||||
CRTC { XID }
|
CRTC { XID }
|
||||||
|
|
||||||
OUTPUT { XID }
|
OUTPUT { XID }
|
||||||
|
|
||||||
CONNECTION { Connected, Disconnected, UnknownConnection }
|
CONNECTION { Connected, Disconnected, UnknownConnection }
|
||||||
|
|
||||||
|
This value provides an indication of whether an output is actually
|
||||||
|
connected to a monitor or other presentation device.
|
||||||
|
|
||||||
SUBPIXELORDER { SubPixelUnknown The subpixel order uses the Render
|
SUBPIXELORDER { SubPixelUnknown The subpixel order uses the Render
|
||||||
SubPixelHorizontalRGB extensions definitions; they are here
|
SubPixelHorizontalRGB extensions definitions; they are here
|
||||||
SubPixelHorizontalBGR only for convenience.
|
SubPixelHorizontalBGR only for convenience.
|
||||||
|
|
@ -245,9 +305,15 @@ MODEFLAG { HSyncPositive
|
||||||
DoubleClock
|
DoubleClock
|
||||||
ClockDivideBy2 }
|
ClockDivideBy2 }
|
||||||
|
|
||||||
MODEOPTION { ScalingNone,
|
OUTPUTOPTION { RROutputOptionScaleNone,
|
||||||
ScalingMaxAspect,
|
RROutputOptionScaleMaxAspect,
|
||||||
ScalingMax }
|
RROutputOptionScaleMax }
|
||||||
|
|
||||||
|
These options select paramaters of the output which are independent
|
||||||
|
of the output mode.
|
||||||
|
|
||||||
|
The scale options are used for fixed panels and select between
|
||||||
|
different scaling options for non-native resolutions.
|
||||||
|
|
||||||
MODEINFO { id: MODE
|
MODEINFO { id: MODE
|
||||||
name: STRING
|
name: STRING
|
||||||
|
|
@ -257,7 +323,10 @@ MODEINFO { id: MODE
|
||||||
hSyncStart, hSyncEnd, hTotal, hSkew: CARD16
|
hSyncStart, hSyncEnd, hTotal, hSkew: CARD16
|
||||||
vSyncStart, vSyncEnd, vTotal: CARD16
|
vSyncStart, vSyncEnd, vTotal: CARD16
|
||||||
modeFlags: SETofMODEFLAG
|
modeFlags: SETofMODEFLAG
|
||||||
modeOptions: SETofMODEOPTION }
|
modeOrigin: MODEORIGIN }
|
||||||
|
|
||||||
|
OUTPUTCONFIG { output: OUTPUT
|
||||||
|
options: SETofOUTPUTOPTION }
|
||||||
|
|
||||||
REFRESH { rates: LISTofCARD16 }
|
REFRESH { rates: LISTofCARD16 }
|
||||||
|
|
||||||
|
|
@ -515,10 +584,12 @@ dynamic changes in the display environment.
|
||||||
status: RRCONFIGSTATUS
|
status: RRCONFIGSTATUS
|
||||||
timestamp: TIMESTAMP
|
timestamp: TIMESTAMP
|
||||||
crtc: CRTC
|
crtc: CRTC
|
||||||
|
options: SETofOUTPUTOPTION
|
||||||
|
|
||||||
name: STRING
|
name: STRING
|
||||||
connection: CONNECTION
|
connection: CONNECTION
|
||||||
subpixel-order: SUBPIXELORDER
|
subpixel-order: SUBPIXELORDER
|
||||||
|
possible-options: SETofOUTPUTOPTION
|
||||||
crtcs: LISTofCRTC
|
crtcs: LISTofCRTC
|
||||||
clones: LISTofOUTPUT
|
clones: LISTofOUTPUT
|
||||||
modes: LISTofMODE
|
modes: LISTofMODE
|
||||||
|
|
@ -538,6 +609,8 @@ dynamic changes in the display environment.
|
||||||
'crtc' is the current source CRTC for video data, or Disabled if the
|
'crtc' is the current source CRTC for video data, or Disabled if the
|
||||||
output is not connected to any CRTC.
|
output is not connected to any CRTC.
|
||||||
|
|
||||||
|
'options' is the currently enabled set of options.
|
||||||
|
|
||||||
'name' is a UTF-8 encoded string designed to be presented to the
|
'name' is a UTF-8 encoded string designed to be presented to the
|
||||||
user to indicate which output this is. E.g. "S-Video" or "DVI".
|
user to indicate which output this is. E.g. "S-Video" or "DVI".
|
||||||
|
|
||||||
|
|
@ -549,6 +622,9 @@ dynamic changes in the display environment.
|
||||||
'subpixel-order' contains the resulting subpixel order of the
|
'subpixel-order' contains the resulting subpixel order of the
|
||||||
connected device to allow correct subpixel rendering.
|
connected device to allow correct subpixel rendering.
|
||||||
|
|
||||||
|
'possible-options' indicate which options are supported by this
|
||||||
|
output device.
|
||||||
|
|
||||||
'crtcs' is the list of CRTCs that this output may be connected to.
|
'crtcs' is the list of CRTCs that this output may be connected to.
|
||||||
Attempting to connect this output to a different CRTC results in a
|
Attempting to connect this output to a different CRTC results in a
|
||||||
Match error.
|
Match error.
|
||||||
|
|
@ -779,7 +855,6 @@ dynamic changes in the display environment.
|
||||||
config-timestamp: TIMESTAMP
|
config-timestamp: TIMESTAMP
|
||||||
x, y: INT16
|
x, y: INT16
|
||||||
mode: MODE
|
mode: MODE
|
||||||
options: SETofMODEOPTION
|
|
||||||
rotation: ROTATION
|
rotation: ROTATION
|
||||||
outputs: LISTofOUTPUT
|
outputs: LISTofOUTPUT
|
||||||
▶
|
▶
|
||||||
|
|
@ -1124,6 +1199,17 @@ A.1 Common Types
|
||||||
└───
|
└───
|
||||||
Return status for requests which depend on time.
|
Return status for requests which depend on time.
|
||||||
|
|
||||||
|
┌───
|
||||||
|
RRMODEORIGIN
|
||||||
|
0 RRModeOriginPreferred
|
||||||
|
1 RRModeOriginDetailed
|
||||||
|
2 RRModeOriginVESA
|
||||||
|
3 RRModeOriginConfig
|
||||||
|
4 RRModeOriginUser
|
||||||
|
5 RRModeOriginOther
|
||||||
|
└───
|
||||||
|
Origin of mode information.
|
||||||
|
|
||||||
┌───
|
┌───
|
||||||
MODEINFO (40) Added in version 1.2
|
MODEINFO (40) Added in version 1.2
|
||||||
4 CARD32 id
|
4 CARD32 id
|
||||||
|
|
@ -1174,6 +1260,18 @@ A.1 Common Types
|
||||||
1 Disconnected
|
1 Disconnected
|
||||||
2 UnknownConnection
|
2 UnknownConnection
|
||||||
└───
|
└───
|
||||||
|
┌───
|
||||||
|
OUTPUTOPTION
|
||||||
|
1 RROutputOptionScaleNone
|
||||||
|
2 RROutputOptionScaleMaxAspect
|
||||||
|
4 RROutputOptionScaleMax
|
||||||
|
└───
|
||||||
|
┌───
|
||||||
|
OUTPUTCONFIG
|
||||||
|
4 CARD32 output
|
||||||
|
4 CARD32 set of output options
|
||||||
|
└───
|
||||||
|
|
||||||
|
|
||||||
A.2 Protocol Requests
|
A.2 Protocol Requests
|
||||||
|
|
||||||
|
|
@ -1330,16 +1428,18 @@ A.2.1 Protocol Requests added with version 1.2
|
||||||
1 1 Reply
|
1 1 Reply
|
||||||
1 RRCONFIGSTATUS status
|
1 RRCONFIGSTATUS status
|
||||||
2 CARD16 sequence number
|
2 CARD16 sequence number
|
||||||
4 c+m+(n+p)/4 reply length
|
4 1+c+m+(n+p)/4 reply length
|
||||||
4 TIMESTAMP timestamp
|
4 TIMESTAMP timestamp
|
||||||
4 CRTC current connected crtc
|
4 CRTC current connected crtc
|
||||||
|
4 SETofOUTPUTOPTION current output options
|
||||||
1 CONNECTION connection
|
1 CONNECTION connection
|
||||||
1 SUBPIXELORDER subpixel-order
|
1 SUBPIXELORDER subpixel-order
|
||||||
2 c number of CRTCs
|
2 c number of CRTCs
|
||||||
2 m number of modes
|
2 m number of modes
|
||||||
2 o number of clones
|
2 o number of clones
|
||||||
2 n length of name
|
2 n length of name
|
||||||
6 unused
|
2 unused
|
||||||
|
4 SETofOUTPUTOPTION supported output options
|
||||||
4c LISTofCRTC crtcs
|
4c LISTofCRTC crtcs
|
||||||
4m LISTofMODE modes
|
4m LISTofMODE modes
|
||||||
n STRING8 name
|
n STRING8 name
|
||||||
|
|
@ -1493,7 +1593,7 @@ A.2.1 Protocol Requests added with version 1.2
|
||||||
RRSetCrtcConfig
|
RRSetCrtcConfig
|
||||||
1 CARD8 major opcode
|
1 CARD8 major opcode
|
||||||
1 19 RandR opcode
|
1 19 RandR opcode
|
||||||
2 7+n length
|
2 7+2n length
|
||||||
4 CRTC crtc
|
4 CRTC crtc
|
||||||
4 TIMESTAMP timestamp
|
4 TIMESTAMP timestamp
|
||||||
4 TIMESTAMP config timestamp
|
4 TIMESTAMP config timestamp
|
||||||
|
|
@ -1502,7 +1602,7 @@ A.2.1 Protocol Requests added with version 1.2
|
||||||
4 MODE mode
|
4 MODE mode
|
||||||
2 ROTATION rotation/reflection
|
2 ROTATION rotation/reflection
|
||||||
2 unused
|
2 unused
|
||||||
4n LISTofOUTPUT outputs
|
8n LISTofOUTPUTCONFIG outputs
|
||||||
▶
|
▶
|
||||||
1 1 Reply
|
1 1 Reply
|
||||||
1 RRCONFIGSTATUS status
|
1 RRCONFIGSTATUS status
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue