Update to randrproto 1.4.1

This commit is contained in:
matthieu 2015-05-23 17:06:30 +00:00
parent 829538e649
commit 4a45557a61
4 changed files with 326 additions and 61 deletions

View File

@ -1,3 +1,228 @@
commit b1ba68df8a5fc113a387123ec2f312195e28e47f
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sat Mar 14 09:35:04 2015 -0700
randrproto 1.4.1
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit a4a6694c059d74247c16527eef4a0ec9f56bbef6
Author: Aaron Plattner <aplattner@nvidia.com>
Date: Mon Jan 6 21:34:51 2014 -0800
spec: RRCrtcChangeMask and RROutputChangeMask are not things
The correct names for these are RRCrtcChangeNotifyMask and
RROutputChangeNotifyMask, respectively.
v2: "when a the configuration" is also not a thing.
Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 1755cbe0f501a86afe515f92bb24e417a1866092
Author: Aaron Plattner <aplattner@nvidia.com>
Date: Fri Jan 3 13:43:21 2014 -0800
spec: Move the GUID property into a new section since xrandr-1.4.0 was already released
I pushed commit 19fc4c5a72eb9919d720ad66734029d9f8e313b1 before I remembered
that xrandr-1.4.0 has already been released. Move it to a new 1.4.1 section.
Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 4d8e809684dedb970001099076bb62a38fcd82ca
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sun Jan 5 10:40:11 2014 -0800
Bug 73176 - randrproto typo (s/fundmentally/fundamentally)
https://bugs.freedesktop.org/show_bug.cgi?id=73176
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 19fc4c5a72eb9919d720ad66734029d9f8e313b1
Author: Aaron Plattner <aplattner@nvidia.com>
Date: Tue Jun 12 12:32:19 2012 -0700
Add a "GUID" property
This property represents the globally-unique identifier of the connected
display, if one is available.
Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Andy Ritger <aritger@nvidia.com>
commit e7526e6b5fe0966929cda10b2ded0258413744db
Author: Gaetan Nadon <memsize@videotron.ca>
Date: Sat Oct 26 09:42:05 2013 -0400
config: replace deprecated use of AC_OUTPUT with AC_CONFIG_FILES
Fix Automake warning: AC_OUTPUT should be used without arguments.
www.gnu.org/software/autoconf/manual/autoconf.html#Configuration-Files
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
commit ca7cc541c2e43e6c784df19b4583ac35829d2f72
Author: Colin Walters <walters@verbum.org>
Date: Wed Jan 4 17:37:06 2012 -0500
autogen.sh: Implement GNOME Build API
http://people.gnome.org/~walters/docs/build-api.txt
Signed-off-by: Adam Jackson <ajax@redhat.com>
commit 4ab506168ffad46518eb2b4d929034691344e9ff
Author: Adam Jackson <ajax@redhat.com>
Date: Tue Jan 15 14:01:10 2013 -0500
configure: Remove AM_MAINTAINER_MODE
Signed-off-by: Adam Jackson <ajax@redhat.com>
commit 4fcbd8584e55ff789522a38a41a33c34446d1455
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Mon Aug 27 23:59:02 2012 -0700
spec: Correct lengths in encoding of OffloadSink & OutputSource
Make listed lengths match data shown & values in header for
RRSetProviderOffloadSink & RRSetProviderOutputSource
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit f876e00d29693e25c2b44ce33cd4a02f7a603eba
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Mon Aug 27 23:59:02 2012 -0700
spec: Add config-timestamp to descriptions of OffloadSink & OutputSource
Present in header & encoding section, just not in the descriptions of
RRSetProviderOffloadSink & RRSetProviderOutputSource
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit ed09b382e42d2131034b98abc861c091c3d1771c
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Mon Aug 27 23:45:56 2012 -0700
spec: Add PROVIDER_CAPS encoding to Appendix A
Uses values found in randr.h
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit c69dfe0cd310c122eae0b11c5547d5cd200ebbf5
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Mon Aug 27 23:28:22 2012 -0700
spec: Make encoding of RRGetProviderInfo match header
The encoding is missing the 8 bytes of padding at the end of the
base reply struct before the variable length lists begin.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 3672b5430c9f665680e6a7a77f00202fc96243a0
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Mon Aug 27 23:28:22 2012 -0700
spec: Make encoding of RRGetProviders match description & header
The description section matches randrproto.h - neither of which have
the "maximum masters" or "flags" members, but do have padding before
the providers list starts.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 722cf0c2ba07e986cbedf9d687a87daddd04fa92
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sun Aug 26 23:38:38 2012 -0700
spec: Make description of RRProviderChangeNotify match encoding & header
The encoding section matches randrproto.h - neither of which have the
config-timestamp, root, or crtc members.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 534dea4512b812b9f8a62b4bbdbfe60d650ef01f
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sun Aug 26 22:50:05 2012 -0700
spec: correct sub-code values for RRProvider*Notify event encoding
These values match the RRNotify_* definitions in randrproto.h and
don't overlap with the RROutput*Notify codes from RandR 1.2.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
commit ed0233e46fd2fe41b1c10e525423e90e0fa2bdc8
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sun Aug 26 20:51:03 2012 -0700
spec: Correct length calculation in encoding of gamma lists
The padding for RRGetCrtcGamma & RRSetCrtcGamma is a variable p,
not a fixed 2 bytes, since it depends on how many values are
included in the lists.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit ddc00f44df77ff3309b2b7cd77d3423781947b14
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sun Aug 26 20:40:06 2012 -0700
spec: Correct size of outputs in RRSetCrtcConfig encoding
Each OUTPUT is 4 bytes, not 8.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 7339eaea1296de0e0f3ebc03d3606470ba143ac3
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sun Aug 26 19:00:35 2012 -0700
spec: Update data type sections
Make definitions more consistent about use of {} for enums, [] for structs
Reflect the incorporation of more types from the Render spec in 1.3
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit afe532b119fe46d32513dc71c76c3a906e06c5a8
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sun Aug 26 18:58:06 2012 -0700
spec: Fix typos in text
At least I'm assuming "providre" is a typo, not just a non-American variant.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit a74417d782a39423e44a5a2e573816894635c234
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sun Aug 26 18:31:16 2012 -0700
spec: Correct length for RRCreateMode in encoding section
(1 + 1 + 2 + 4 + 32) / 4 is 10 words, not 12
10 also matches the sz_xRRCreateModeReq value of 40 in randrproto.h
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit b52f4e39b670e98e56e346b7aa1393a2b24544f2
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Tue Aug 28 00:07:01 2012 -0700
spec: add missing brackets between requests in encoding section
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 5f5cb2767618ad22a5608142513c7dd81927a8d5 commit 5f5cb2767618ad22a5608142513c7dd81927a8d5
Author: Dave Airlie <airlied@gmail.com> Author: Dave Airlie <airlied@gmail.com>
Date: Thu Jul 12 22:45:05 2012 +1000 Date: Thu Jul 12 22:45:05 2012 +1000

View File

@ -22,10 +22,9 @@ dnl
dnl Process this file with autoconf to create configure. dnl Process this file with autoconf to create configure.
AC_PREREQ([2.60]) AC_PREREQ([2.60])
AC_INIT([RandrProto], [1.4.0], AC_INIT([RandrProto], [1.4.1],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_INIT_AUTOMAKE([foreign dist-bzip2])
AM_MAINTAINER_MODE
# Require xorg-macros: XORG_DEFAULT_OPTIONS # Require xorg-macros: XORG_DEFAULT_OPTIONS
m4_ifndef([XORG_MACROS_VERSION], m4_ifndef([XORG_MACROS_VERSION],
@ -33,5 +32,6 @@ m4_ifndef([XORG_MACROS_VERSION],
XORG_MACROS_VERSION(1.3) XORG_MACROS_VERSION(1.3)
XORG_DEFAULT_OPTIONS XORG_DEFAULT_OPTIONS
AC_OUTPUT([Makefile AC_CONFIG_FILES([Makefile
randrproto.pc]) randrproto.pc])
AC_OUTPUT

View File

@ -180,6 +180,7 @@ typedef unsigned long XRandrModeFlags;
#define RR_PROPERTY_CLONE_LIST "CloneList" #define RR_PROPERTY_CLONE_LIST "CloneList"
#define RR_PROPERTY_BORDER "Border" #define RR_PROPERTY_BORDER "Border"
#define RR_PROPERTY_BORDER_DIMENSIONS "BorderDimensions" #define RR_PROPERTY_BORDER_DIMENSIONS "BorderDimensions"
#define RR_PROPERTY_GUID "GUID"
/* roles this device can carry out */ /* roles this device can carry out */
#define RR_Capability_None 0 #define RR_Capability_None 0

View File

@ -1,6 +1,6 @@
The X Resize, Rotate and Reflect Extension The X Resize, Rotate and Reflect Extension
Version 1.4.0 Version 1.4.1
2012-07-03 2015-03-14
Jim Gettys Jim Gettys
Jim.Gettys@hp.com Jim.Gettys@hp.com
@ -108,7 +108,7 @@ instead it provides a mechanism to find out what combinations are supported.
1.3 Introduction to version 1.3 of the extension 1.3 Introduction to version 1.3 of the extension
Version 1.3 builds on the changes made with version 1.2 and adds some new Version 1.3 builds on the changes made with version 1.2 and adds some new
capabilities without fundmentally changing the extension again. The capabilities without fundamentally changing the extension again. The
following features are added in this version: following features are added in this version:
• Projective Transforms. The implementation work for general rotation • Projective Transforms. The implementation work for general rotation
@ -212,9 +212,12 @@ are visible on the reconfigured screen).
3. Data Types 3. Data Types
The subpixel order is shared with the Render extension, and is documented The subpixel order and transform data types are shared with the Render
there. The only datatype defined is the screen size, defined in the normal extension, and are documented there.
(0 degree) orientation.
The only datatype defined in the original extension is the screen size,
defined in the normal (0 degree) orientation. Several more are added
in later revisions.
❧❧❧❧❧❧❧❧❧❧❧ ❧❧❧❧❧❧❧❧❧❧❧
@ -259,7 +262,7 @@ RRCONFIGSTATUS { Success
configuration is unsupported by the hardware. The goal is to make configuration is unsupported by the hardware. The goal is to make
these limitations expressed by the protocol, but when that isn't these limitations expressed by the protocol, but when that isn't
possible it is correct to return this error value. If, as a possible it is correct to return this error value. If, as a
implentor, you find this error code required, please submit the implementor, you find this error code required, please submit the
hardware constraints that exist so that a future version of the hardware constraints that exist so that a future version of the
extension can correctly capture the configuration constraints in extension can correctly capture the configuration constraints in
your system. your system.
@ -296,15 +299,9 @@ CONNECTION { Connected, Disconnected, UnknownConnection }
This value provides an indication of whether an output is actually This value provides an indication of whether an output is actually
connected to a monitor or other presentation device. connected to a monitor or other presentation device.
SUBPIXELORDER { SubPixelUnknown The subpixel order uses the Render
SubPixelHorizontalRGB extensions definitions; they are here
SubPixelHorizontalBGR only for convenience.
SubPixelVerticalRGB
SubPixelVerticalBGR
SubPixelNone }
SCREENSIZE { widthInPixels, heightInPixels: CARD16 SCREENSIZE [ widthInPixels, heightInPixels: CARD16
widthInMillimeters, heightInMillimeters: CARD16 } widthInMillimeters, heightInMillimeters: CARD16 ]
MODEFLAG { HSyncPositive MODEFLAG { HSyncPositive
HSyncNegative HSyncNegative
@ -321,15 +318,37 @@ MODEFLAG { HSyncPositive
DoubleClock DoubleClock
ClockDivideBy2 } ClockDivideBy2 }
MODEINFO { id: MODE MODEINFO [ id: MODE
name: STRING name: STRING
width, height: CARD16 width, height: CARD16
dotClock: CARD32 dotClock: CARD32
hSyncStart, hSyncEnd, hTotal, hSkew: CARD16 hSyncStart, hSyncEnd, hTotal, hSkew: CARD16
vSyncStart, vSyncEnd, vTotal: CARD16 vSyncStart, vSyncEnd, vTotal: CARD16
modeFlags: SETofMODEFLAG } modeFlags: SETofMODEFLAG ]
REFRESH { rates: LISTofCARD16 } REFRESH [ rates: LISTofCARD16 ]
❧❧❧❧❧❧❧❧❧❧❧
5.1 Data Types defined by the Render extension
These data types use the Render extension definitions; they are shown here
only for convenience:
SUBPIXELORDER { SubPixelUnknown
SubPixelHorizontalRGB
SubPixelHorizontalBGR
SubPixelVerticalRGB
SubPixelVerticalBGR
SubPixelNone }
FIXED 32-bit value (top 16 are integer portion, bottom 16 are fraction)
TRANSFORM [
p11, p12, p13: FIXED
p21, p22, p23: FIXED
p31, p32, p33: FIXED
]
❧❧❧❧❧❧❧❧❧❧❧ ❧❧❧❧❧❧❧❧❧❧❧
@ -338,7 +357,7 @@ REFRESH { rates: LISTofCARD16 }
PROVIDER { XID } PROVIDER { XID }
PROVIDER_CAPS { SourceOutput, SinkOutput, SourceOffload, SinkOffload } PROVIDER_CAPS { SourceOutput, SinkOutput, SourceOffload, SinkOffload }
Capabilties for this provider: Capabilities for this provider:
SourceOutput: This device can source output buffers. SourceOutput: This device can source output buffers.
SinkOutput: This device can sink output buffers. SinkOutput: This device can sink output buffers.
SourceOffload: This device can source offload buffers. SourceOffload: This device can source offload buffers.
@ -387,19 +406,19 @@ The name of this extension is "RANDR".
New for version 1.2: New for version 1.2:
If 'enable' contains RRCrtcChangeMask, RRCrtcChangeNotify events If 'enable' contains RRCrtcChangeNotifyMask, RRCrtcChangeNotify events
will be sent when a the configuration for a CRTC associated with the will be sent when the configuration for a CRTC associated with the
screen changes, either through this protocol extension or due to screen changes, either through this protocol extension or due to
detected external changes. RRCrtcChangeNotify may also be sent when detected external changes. RRCrtcChangeNotify may also be sent when
this request executes if the CRTC configuration has changed since this request executes if the CRTC configuration has changed since
the client connected, to avoid race conditions. the client connected, to avoid race conditions.
If 'enable' contains RROutputChangeMask, RROutputChangeNotify events If 'enable' contains RROutputChangeNotifyMask, RROutputChangeNotify
will be sent when a the configuration for an output associated with events will be sent when the configuration for an output associated with
the screen changes, either through this protocol extension or due to the screen changes, either through this protocol extension or due to
detected external changes. RROutputChangeNotify may also be sent detected external changes. RROutputChangeNotify may also be sent when
when this request executes if the output configuration has changed this request executes if the output configuration has changed since the
since the client connected, to avoid race conditions. client connected, to avoid race conditions.
If 'enable' contains RROutputPropertyNotifyMask, If 'enable' contains RROutputPropertyNotifyMask,
RROutputPropertyNotify events will be sent when properties change on RROutputPropertyNotify events will be sent when properties change on
@ -1307,7 +1326,7 @@ dynamic changes in the display environment.
└─── └───
Errors: Window Errors: Window
RRGetPRoviders returns the list of providers connected to the screen RRGetProviders returns the list of providers connected to the screen
associated with 'window'. associated with 'window'.
'timestamp' indicates when the configuration was last set. 'timestamp' indicates when the configuration was last set.
@ -1329,7 +1348,7 @@ dynamic changes in the display environment.
Errors: Provider Errors: Provider
RRGetProviderInfo return information about the specified provider. RRGetProviderInfo return information about the specified provider.
The capabilites of the current provider are returned, along with The capabilities of the current provider are returned, along with
the list of providers currently associated with this provider and the list of providers currently associated with this provider and
the capability they are associated with. It also provides the list the capability they are associated with. It also provides the list
of crtcs and outputs that this provider is responsible for. of crtcs and outputs that this provider is responsible for.
@ -1341,7 +1360,7 @@ dynamic changes in the display environment.
RRSetProviderOffloadSink RRSetProviderOffloadSink
provider: PROVIDER provider: PROVIDER
sink_provider: PROVIDER sink_provider: PROVIDER
config-timestamp: TIMESTAMP
└─── └───
Errors: Provider Errors: Provider
@ -1352,7 +1371,7 @@ dynamic changes in the display environment.
RRSetProviderOutputSource RRSetProviderOutputSource
provider: PROVIDER provider: PROVIDER
source_provider: PROVIDER source_provider: PROVIDER
config-timestamp: TIMESTAMP
└─── └───
Errors: Provider Errors: Provider
@ -1661,25 +1680,20 @@ factors, such as re-cabling a monitor, etc.
┌─── ┌───
RRProviderChangeNotify: RRProviderChangeNotify:
timestamp: TIMESTAMP time screen was reconfigured timestamp: TIMESTAMP time screen was reconfigured
config-timestamp: TIMESTAMP time available config data was changed
window: WINDOW window requesting notification window: WINDOW window requesting notification
provider: PROVIDER provider affected by change provider: PROVIDER provider affected by change
role: CRTC new role for provider
└─── └───
This event is generated whenever the role for a provider has changed This event is generated whenever the role for a provider has changed
and is sent to requesting clients. 'timestamp' indicates when the and is sent to requesting clients. 'timestamp' indicates when the
provider configuration was changed by a client. provider configuration was changed by a client. 'window' is the
'config-timestamp' says when the last time the available window selecting for this event. The precise change can be detected
configurations changed. 'root' is the root of the screen the change by examining the new state of the system.
occurred on, 'window' is window selecting for this event. The
precise change can be detected by examining the new state of the
system.
┌─── ┌───
RRProviderPropertyNotify: RRProviderPropertyNotify:
window: WINDOW window requesting notification window: WINDOW window requesting notification
provider: PROVIDER providre affected by change provider: PROVIDER provider affected by change
atom: ATOM affected property atom: ATOM affected property
time: TIMESTAMP time property was changed time: TIMESTAMP time property was changed
state: { NewValue, Deleted } new property state state: { NewValue, Deleted } new property state
@ -1943,6 +1957,17 @@ doesn't handle a mandatory property correctly.
2 = left/right and top/bottom borders can be specified independently 2 = left/right and top/bottom borders can be specified independently
4 = all four borders can be specified independently 4 = all four borders can be specified independently
"GUID" aka RR_PROPERTY_GUID
Type: INTEGER
Format: 8
Num items: 16
Flags: Immutable
Range/List: -
Some display devices, such as DisplayPort 1.2 devices, have globally
unique identifiers. When such an identifier is available, this property
contains its raw bytes.
9.2 Properties introduced with version 1.2 of the RandR extension 9.2 Properties introduced with version 1.2 of the RandR extension
@ -1977,6 +2002,12 @@ Property Immutable Mandatory since
Border yes not mandatory Border yes not mandatory
BorderDimensions yes: static not mandatory BorderDimensions yes: static not mandatory
9.6 Properties introduced with version 1.4.1 of the RandR extension
Property Immutable Mandatory since
──────── ───────── ───────────────
GUID yes not mandatory
❧❧❧❧❧❧❧❧❧❧❧ ❧❧❧❧❧❧❧❧❧❧❧
10. Extension Versioning 10. Extension Versioning
@ -2155,6 +2186,13 @@ A.1 Common Types
2 UnknownConnection 2 UnknownConnection
└─── └───
┌───
PROVIDER_CAPS Added in version 1.4
0x00000001 SourceOutput
0x00000002 SinkOutput
0x00000004 SourceOffload
0x00000008 SinkOffload
└───
A.2 Protocol Requests A.2 Protocol Requests
@ -2443,7 +2481,7 @@ A.2.1 Protocol Requests added with version 1.2
RRCreateMode RRCreateMode
1 CARD8 major opcode 1 CARD8 major opcode
1 16 RandR opcode 1 16 RandR opcode
2 12+(n+p)/4 length 2 10+(n+p)/4 length
4 WINDOW window 4 WINDOW window
32 MODEINFO mode 32 MODEINFO mode
n STRING8 mode name n STRING8 mode name
@ -2491,7 +2529,7 @@ A.2.1 Protocol Requests added with version 1.2
1 RRCONFIGSTATUS status 1 RRCONFIGSTATUS status
2 CARD16 sequence number 2 CARD16 sequence number
4 o+p reply length 4 o+p reply length
4 TIMESTATMP timestamp 4 TIMESTAMP timestamp
2 INT16 x 2 INT16 x
2 INT16 y 2 INT16 y
2 CARD16 width 2 CARD16 width
@ -2508,7 +2546,7 @@ A.2.1 Protocol Requests added with version 1.2
RRSetCrtcConfig RRSetCrtcConfig
1 CARD8 major opcode 1 CARD8 major opcode
1 21 RandR opcode 1 21 RandR opcode
2 7+2n length 2 7+n length
4 CRTC crtc 4 CRTC crtc
4 TIMESTAMP timestamp 4 TIMESTAMP timestamp
4 TIMESTAMP config timestamp 4 TIMESTAMP config timestamp
@ -2517,7 +2555,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
8n LISTofOUTPUT outputs 4n LISTofOUTPUT outputs
1 1 Reply 1 1 Reply
1 RRCONFIGSTATUS status 1 RRCONFIGSTATUS status
@ -2550,7 +2588,7 @@ A.2.1 Protocol Requests added with version 1.2
1 1 Reply 1 1 Reply
1 unused 1 unused
2 CARD16 sequence number 2 CARD16 sequence number
4 (6n+2)/4 reply length 4 (6n+p)/4 reply length
2 n size 2 n size
20 unused 20 unused
2n LISTofCARD16 red 2n LISTofCARD16 red
@ -2562,7 +2600,7 @@ A.2.1 Protocol Requests added with version 1.2
RRSetCrtcGamma RRSetCrtcGamma
1 CARD8 major opcode 1 CARD8 major opcode
1 24 RandR opcode 1 24 RandR opcode
2 3+(6n+2)/4 length 2 3+(6n+p)/4 length
4 CRTC crtc 4 CRTC crtc
2 n size 2 n size
2 unused 2 unused
@ -2733,13 +2771,12 @@ A.2.3 Protocol Requests added with version 1.4
1 1 Reply 1 1 Reply
1 unused 1 unused
2 CARD16 sequence number 2 CARD16 sequence number
4 CARD32 length 4 p length
4 TIMESTAMP timestamp 4 TIMESTAMP timestamp
2 p number of Providers 2 p number of Providers
2 CARD16 maximum masters 18 unused
4 CARD32 flags
4p LISTofPROVIDERS providers 4p LISTofPROVIDERS providers
└───
┌─── ┌───
RRGetProviderInfo RRGetProviderInfo
1 CARD8 major opcode 1 CARD8 major opcode
@ -2752,36 +2789,38 @@ A.2.3 Protocol Requests added with version 1.4
1 RRCONFIGSTATUS status 1 RRCONFIGSTATUS status
2 CARD16 sequence number 2 CARD16 sequence number
4 1+c+o+(a*2)+(n+p)/4 reply length 4 1+c+o+(a*2)+(n+p)/4 reply length
4 TIMESTATMP timestamp 4 TIMESTAMP timestamp
4 CARD32 capabilites 4 CARD32 capabilities
2 c number of crtcs 2 c number of crtcs
2 o number of outputs 2 o number of outputs
2 a number of associated providers 2 a number of associated providers
2 n length of name 2 n length of name
8 unused
4c LISTofCRTC crtcs 4c LISTofCRTC crtcs
4o LISTofOUTPUT outputs 4o LISTofOUTPUT outputs
4a LISTofPROVIDER associated providers 4a LISTofPROVIDER associated providers
4a CARD32 associated provider capability 4a CARD32 associated provider capability
n STRING8 name n STRING8 name
p unused, p=pad(n) p unused, p=pad(n)
└───
┌─── ┌───
RRSetProviderOffloadSink RRSetProviderOffloadSink
1 CARD8 major opcode 1 CARD8 major opcode
1 34 RandR opcode 1 34 RandR opcode
2 2 length 2 4 length
4 PROVIDER provider 4 PROVIDER provider
4 PROVIDER offload sink provider 4 PROVIDER offload sink provider
4 TIMESTAMP timestamp 4 TIMESTAMP timestamp
└───
┌─── ┌───
RRSetProviderOutputSource RRSetProviderOutputSource
1 CARD8 major opcode 1 CARD8 major opcode
1 35 RandR opcode 1 35 RandR opcode
2 2 length 2 4 length
4 PROVIDER provider 4 PROVIDER provider
4 PROVIDER output source provider 4 PROVIDER output source provider
4 TIMESTAMP timestamp 4 TIMESTAMP timestamp
└───
┌─── ┌───
RRListProviderProperties RRListProviderProperties
1 CARD8 major opcode 1 CARD8 major opcode
@ -2964,7 +3003,7 @@ A.3.2 Protocol Events added with version 1.4
┌─── ┌───
RRProviderChangeNotify RRProviderChangeNotify
1 Base + 1 code 1 Base + 1 code
1 1 sub-code 1 3 sub-code
2 CARD16 sequence number 2 CARD16 sequence number
4 TIMESTAMP timestamp 4 TIMESTAMP timestamp
4 WINDOW request window 4 WINDOW request window
@ -2974,7 +3013,7 @@ A.3.2 Protocol Events added with version 1.4
┌─── ┌───
RRProviderPropertyNotify RRProviderPropertyNotify
1 Base + 1 code 1 Base + 1 code
1 2 sub-code 1 4 sub-code
2 CARD16 sequence number 2 CARD16 sequence number
4 WINDOW window 4 WINDOW window
4 PROVIDER provider 4 PROVIDER provider
@ -2988,7 +3027,7 @@ A.3.2 Protocol Events added with version 1.4
┌─── ┌───
RRResourceChangeNotify RRResourceChangeNotify
1 Base + 1 code 1 Base + 1 code
1 2 sub-code 1 5 sub-code
2 CARD16 sequence number 2 CARD16 sequence number
4 TIMESTAMP time 4 TIMESTAMP time
4 WINDOW window 4 WINDOW window