configure.ac                    |    2 
 debian/changelog                |    8 +
 debian/control                  |    2 
 debian/upstream/signing-key.asc |  111 +++++++++++++++++++
 randr.h                         |   10 +
 randrproto.h                    |   59 ++++++++++
 randrproto.txt                  |  223 +++++++++++++++++++++++++++++++++++++++-
 7 files changed, 407 insertions(+), 8 deletions(-)

New commits:
commit 9ea423bfa5d160415c9b044cd00116724d5945ac
Author: Timo Aaltonen <tjaal...@debian.org>
Date:   Fri Jul 24 11:42:51 2015 +0300

    upload to unstable

diff --git a/debian/changelog b/debian/changelog
index 2895a77..da7dc19 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,10 +1,10 @@
-x11proto-randr (1.5.0-1) UNRELEASED; urgency=medium
+x11proto-randr (1.5.0-1) unstable; urgency=medium
 
   * New upstream release.
   * control: Bump policy to 3.9.6, no changes.
   * Add Dave Airlied's key to the keyring.
 
- -- Timo Aaltonen <tjaal...@debian.org>  Fri, 24 Jul 2015 11:00:00 +0300
+ -- Timo Aaltonen <tjaal...@debian.org>  Fri, 24 Jul 2015 11:28:36 +0300
 
 x11proto-randr (1.4.1-2) unstable; urgency=medium
 

commit 9e2b81681664b0fdeede08fd78d9d9044b5b64e9
Author: Timo Aaltonen <tjaal...@debian.org>
Date:   Fri Jul 24 11:28:27 2015 +0300

    Add Dave Airlied's key to the keyring.

diff --git a/debian/changelog b/debian/changelog
index 5da2386..2895a77 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,7 @@ x11proto-randr (1.5.0-1) UNRELEASED; urgency=medium
 
   * New upstream release.
   * control: Bump policy to 3.9.6, no changes.
+  * Add Dave Airlied's key to the keyring.
 
  -- Timo Aaltonen <tjaal...@debian.org>  Fri, 24 Jul 2015 11:00:00 +0300
 
diff --git a/debian/upstream/signing-key.asc b/debian/upstream/signing-key.asc
index 863981f..03d1c14 100644
--- a/debian/upstream/signing-key.asc
+++ b/debian/upstream/signing-key.asc
@@ -58,3 +58,114 @@ 
n4u1yrMJfpnSblPMu5wJi3kjoA+Dd5ZFqx9nTi4wBjfVYGCPsleq59K8kQCYx1Cn
 lZcq630ITy9dB/aHCQry2gCbBwZ2Rsf9kr05S8uLhlwW3vRSvRs=
 =tc6G
 -----END PGP PUBLIC KEY BLOCK-----
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1
+
+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
+iQyTzgz/F98QzHzNrRk8DdK4kxVkpvk=
+=G7Eh
+-----END PGP PUBLIC KEY BLOCK-----

commit a367e62f083d8304d9f7c62aa2b84e23988d4f37
Author: Timo Aaltonen <tjaal...@debian.org>
Date:   Fri Jul 24 11:10:18 2015 +0300

    control: Bump policy to 3.9.6, no changes.

diff --git a/debian/changelog b/debian/changelog
index 3bbe437..5da2386 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,7 @@
 x11proto-randr (1.5.0-1) UNRELEASED; urgency=medium
 
   * New upstream release.
+  * control: Bump policy to 3.9.6, no changes.
 
  -- Timo Aaltonen <tjaal...@debian.org>  Fri, 24 Jul 2015 11:00:00 +0300
 
diff --git a/debian/control b/debian/control
index 92b950b..c50bb16 100644
--- a/debian/control
+++ b/debian/control
@@ -9,7 +9,7 @@ Build-Depends:
  pkg-config,
  xutils-dev (>= 1:7.5~1),
  quilt,
-Standards-Version: 3.9.1
+Standards-Version: 3.9.6
 Vcs-Git: git://git.debian.org/git/pkg-xorg/proto/x11proto-randr
 Vcs-Browser: http://git.debian.org/?p=pkg-xorg/proto/x11proto-randr.git
 

commit f623da35d174a7eff9b7650392b15a70ff8f06dd
Author: Timo Aaltonen <tjaal...@debian.org>
Date:   Fri Jul 24 11:09:50 2015 +0300

    update the changelog

diff --git a/debian/changelog b/debian/changelog
index d44392b..3bbe437 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+x11proto-randr (1.5.0-1) UNRELEASED; urgency=medium
+
+  * New upstream release.
+
+ -- Timo Aaltonen <tjaal...@debian.org>  Fri, 24 Jul 2015 11:00:00 +0300
+
 x11proto-randr (1.4.1-2) unstable; urgency=medium
 
   * Fix randrproto.pc (closes: #783391)

commit 895ee5264524c7c239ee4ef5e39c4e295323fb51
Author: Dave Airlie <airl...@redhat.com>
Date:   Wed Apr 22 10:58:18 2015 +1000

    randrproto: clarify output XID lifetimes.
    
    This just makes a note that randr won't make outputs disappear
    dynamically.
    
    Reviewed-by: Aaron Plattner <aplatt...@nvidia.com>
    Signed-off-by: Dave Airlie <airl...@redhat.com>

diff --git a/randrproto.txt b/randrproto.txt
index 74b7c36..416f001 100644
--- a/randrproto.txt
+++ b/randrproto.txt
@@ -186,6 +186,14 @@ consider as single viewable areas.
 Xinerama's information now comes from the Monitors instead of directly
 from the CRTCs. The Monitor marked as Primary will be listed first.
 
+1.5.2. Clarification of Output lifetimes
+
+With dynamic connectors being a possibility with the introduction of
+DisplayPort multistream (MST), a lot of RandR clients can't handle the
+XID BadMatch when a RandR output disappears. This is to clarify that
+going forward the X server will not remove outputs dynamically,
+just mark them as disconnected.
+
 1.99 Acknowledgments
 
 Our thanks to the contributors to the design found on the xpert mailing

commit 98da0d6e48b7d124d6788ea568e9f9e3dc204322
Author: Dave Airlie <airl...@redhat.com>
Date:   Mon Feb 2 16:17:56 2015 +1000

    randrproto: add tile property info for randr 1.5
    
    expose this as an array of 8 32-bit values.
    
    Reviewed-by: Keith Packard <kei...@keithp.com>
    Signed-off-by: Dave Airlie <airl...@redhat.com>

diff --git a/randr.h b/randr.h
index 43f5ad9..6fcda87 100644
--- a/randr.h
+++ b/randr.h
@@ -186,6 +186,7 @@ typedef unsigned long       XRandrModeFlags;
 #define RR_PROPERTY_BORDER             "Border"
 #define RR_PROPERTY_BORDER_DIMENSIONS  "BorderDimensions"
 #define RR_PROPERTY_GUID               "GUID"
+#define RR_PROPERTY_RANDR_TILE         "TILE"
 
 /* roles this device can carry out */
 #define RR_Capability_None 0
diff --git a/randrproto.txt b/randrproto.txt
index d0481c0..74b7c36 100644
--- a/randrproto.txt
+++ b/randrproto.txt
@@ -151,6 +151,12 @@ be dynamically configured to provide support for:
 
 1.5. Introduction to version 1.5 of the extension
 
+Version 1.5 adds an optional TILE property to outputs.
+
+   • An optional TILE property.
+     This property is used to denote individual tiles in a tiled monitor
+     configuration, as exposed via DisplayID v1.3.
+
 Version 1.5 adds monitors
 
  • A 'Monitor' is a rectangular subset of the screen which represents
@@ -2089,6 +2095,26 @@ doesn't handle a mandatory property correctly.
        unique identifiers.  When such an identifier is available, this property
        contains its raw bytes.
 
+    "TILE"                     aka RR_PROPERTY_RANDR_TILE
+       Type:                   INTEGER
+       Format:                 32
+       Num items:              8
+       Flags:                  Immutable
+       Range/List:             -
+
+        Tile monitors have an array of values describing the tiling,
+        based on DisplayID v1.3
+
+       The 8 elements are:
+        0: group id - The tile group identifier
+        1: flags - flags for tile group
+               0x1 = single monitor enclosure
+        2: number of horizontal tiles in tile group
+        3: number of vertical tiles in tile group
+        4: horizontal tile location for this tile
+        5: vertical tile location for this tile
+        6: horizontal tile size for this tile
+        7: vertical tile size for this tile
 
 9.2 Properties introduced with version 1.2 of the RandR extension
 
@@ -2129,6 +2155,11 @@ Property                 Immutable       Mandatory since
 ────────                       ─────────       ───────────────
 GUID                           yes             not mandatory
 
+9.7 Properties introduced with version 1.5 of the RandR extension
+
+Property                       Immutable       Mandatory since
+────────                       ─────────       ───────────────
+TILE                           yes             not mandatory
                              ❧❧❧❧❧❧❧❧❧❧❧
 
 10. Extension Versioning

commit 4109f29861a7066970a2afd079d0fc2c12828bcb
Author: Keith Packard <kei...@keithp.com>
Date:   Fri Dec 12 15:57:57 2014 -0800

    Add Monitors, update version to 1.5 (v2)
    
    v2: [airlied] add get_active to monitor get
    interface, to allow normal vs configuration
    clients to see active vs all monitors. (r-b by keithp)
    
    Reviewed-by: Dave Airlie <airl...@redhat.com>
    Signed-off-by: Keith Packard <kei...@keithp.com>

diff --git a/configure.ac b/configure.ac
index 38dabfc..18197e3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@ dnl
 dnl Process this file with autoconf to create configure.
 
 AC_PREREQ([2.60])
-AC_INIT([RandrProto], [1.4.1],
+AC_INIT([RandrProto], [1.5.0],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
 AM_INIT_AUTOMAKE([foreign dist-bzip2])
 
diff --git a/randr.h b/randr.h
index 3c6721b..43f5ad9 100644
--- a/randr.h
+++ b/randr.h
@@ -40,11 +40,11 @@ typedef unsigned long       XRandrModeFlags;
 
 #define RANDR_NAME             "RANDR"
 #define RANDR_MAJOR            1
-#define RANDR_MINOR            4
+#define RANDR_MINOR            5
 
 #define RRNumberErrors         4
 #define RRNumberEvents         2
-#define RRNumberRequests       42
+#define RRNumberRequests       45
 
 #define X_RRQueryVersion       0
 /* we skip 1 to make old clients fail pretty immediately */
@@ -104,6 +104,11 @@ typedef unsigned long      XRandrModeFlags;
 #define X_RRDeleteProviderProperty    40
 #define X_RRGetProviderProperty              41
 
+/* v1.5 */
+#define X_RRGetMonitors                      42
+#define X_RRSetMonitor               43
+#define X_RRDeleteMonitor            44
+
 /* Event selection bits */
 #define RRScreenChangeNotifyMask  (1L << 0)
 /* V1.2 additions */
diff --git a/randrproto.h b/randrproto.h
index 30691e7..114a624 100644
--- a/randrproto.h
+++ b/randrproto.h
@@ -50,6 +50,7 @@
 #define RRCrtc CARD32
 #define RRProvider CARD32
 #define RRModeFlags CARD32
+#define Atom CARD32
 
 #define Rotation CARD16
 #define SizeID CARD16
@@ -1012,6 +1013,63 @@ typedef struct {
 } xRRSetPanningReply;
 #define sz_xRRSetPanningReply  32
 
+typedef struct {
+    Atom       name B32;
+    BOOL       primary;
+    BOOL       automatic;
+    CARD16     noutput B16;
+    INT16      x B16;
+    INT16      y B16;
+    CARD16     width B16;
+    CARD16     height B16;
+    CARD32     widthInMillimeters B32;
+    CARD32     heightInMillimeters B32;
+} xRRMonitorInfo;
+#define sz_xRRMonitorInfo      24
+
+typedef struct {
+    CARD8      reqType;
+    CARD8      randrReqType;
+    CARD16     length B16;
+    Window     window B32;
+    BOOL       get_active;
+    CARD8      pad;
+    CARD16     pad2;
+} xRRGetMonitorsReq;
+#define sz_xRRGetMonitorsReq   12
+
+typedef struct {
+    BYTE       type;
+    CARD8      status;
+    CARD16     sequenceNumber B16;
+    CARD32     length B32;
+    Time       timestamp B32;
+    CARD32     nmonitors B32;
+    CARD32     noutputs B32;
+    CARD32      pad1 B32;
+    CARD32      pad2 B32;
+    CARD32      pad3 B32;
+} xRRGetMonitorsReply;
+#define sz_xRRGetMonitorsReply 32
+
+typedef struct {
+    CARD8      reqType;
+    CARD8      randrReqType;
+    CARD16     length B16;
+    Window     window B32;
+    xRRMonitorInfo     monitor;
+} xRRSetMonitorReq;
+#define sz_xRRSetMonitorReq    32
+
+typedef struct {
+    CARD8      reqType;
+    CARD8      randrReqType;
+    CARD16     length B16;
+    Window     window B32;
+    Atom       name B32;
+} xRRDeleteMonitorReq;
+#define sz_xRRDeleteMonitorReq 12
+
 #undef RRModeFlags
 #undef RRCrtc
 #undef RRMode
@@ -1033,5 +1091,6 @@ typedef struct {
 #undef Rotation
 #undef SizeID
 #undef SubpixelOrder
+#undef Atom
 
 #endif /* _XRANDRP_H_ */
diff --git a/randrproto.txt b/randrproto.txt
index df2c712..d0481c0 100644
--- a/randrproto.txt
+++ b/randrproto.txt
@@ -1,5 +1,5 @@
               The X Resize, Rotate and Reflect Extension
-                            Version 1.4.1
+                            Version 1.5.0
                               2015-03-14
 
                              Jim Gettys
@@ -149,6 +149,37 @@ be dynamically configured to provide support for:
 
  4) multiple GPU rendering - This replaces Xinerama.
 
+1.5. Introduction to version 1.5 of the extension
+
+Version 1.5 adds monitors
+
+ • A 'Monitor' is a rectangular subset of the screen which represents
+   a coherent collection of pixels presented to the user.
+
+ • Each Monitor is be associated with a list of outputs (which may be
+   empty).
+
+ • When clients define monitors, the associated outputs are removed from
+   existing Monitors. If removing the output causes the list for that
+   monitor to become empty, that monitor will be deleted.
+
+ • For active CRTCs that have no output associated with any
+   client-defined Monitor, one server-defined monitor will
+   automatically be defined of the first Output associated with them.
+
+ • When defining a monitor, setting the geometry to all zeros will
+   cause that monitor to dynamically track the bounding box of the
+   active outputs associated with them
+
+This new object separates the physical configuration of the hardware
+from the logical subsets  the screen that applications should
+consider as single viewable areas.
+
+1.5.1. Relationship between Monitors and Xinerama
+
+Xinerama's information now comes from the Monitors instead of directly
+from the CRTCs. The Monitor marked as Primary will be listed first.
+
 1.99 Acknowledgments
 
 Our thanks to the contributors to the design found on the xpert mailing
@@ -162,7 +193,9 @@ David Dawes for XFree86 DDX integration work
 Thomas Winischhofer for the hardware-accelerated SiS rotation implementation
 Matthew Tippett and Kevin Martin for splitting outputs and CRTCs to more
 fully expose what video hardware can do
-Dave Airlie for the 1.4.0 protocol changes.
+Dave Airlie for the 1.4.0 protocol changes and for working through the
+implications of MST monitors and encouraging the introduction of the
+'Monitor' concept.
 
                              ❧❧❧❧❧❧❧❧❧❧❧
 
@@ -365,6 +398,21 @@ PROVIDER_CAPS { SourceOutput, SinkOutput, SourceOffload, 
SinkOffload }
 
                              ❧❧❧❧❧❧❧❧❧❧❧
 
+5.6. Protocol Types added in version 1.5 of the extension
+
+MONITORINFO { name: ATOM
+              primary: BOOL
+             automatic: BOOL
+             x: INT16
+             y: INT16
+             width: CARD16
+             height: CARD16
+             width-in-millimeters: CARD32
+             height-in-millimeters: CARD32
+             outputs: LISTofOUTPUT }
+
+                             ❧❧❧❧❧❧❧❧❧❧❧
+
 6. Extension Initialization
 
 The name of this extension is "RANDR".
@@ -1539,6 +1587,79 @@ dynamic changes in the display environment.
 
 
                              ❧❧❧❧❧❧❧❧❧❧❧
+
+7.5. Extension Requests added in version 1.5 of the extension.
+
+┌───
+    RRGetMonitors
+       window : WINDOW
+       get_active : BOOL
+     ▶
+       timestamp: TIMESTAMP
+       monitors: LISTofMONITORINFO
+└───
+       Errors: Window
+
+       Returns the list of Monitors for the screen containing
+       'window'. If 'get_active' is set it returns only active
+       monitors (non-0x0 monitors).  'get_active' should always
+       be set by toolkits, and not by configuration clients.
+
+       'timestamp' indicates the server time when the list of
+       monitors last changed.
+
+┌───
+    RRSetMonitor
+       window : WINDOW
+       info: MONITORINFO
+└───
+       Errors: Window, Output, Atom, Value
+
+       Create a new monitor. Any existing Monitor of the same name is deleted.
+
+       'name' must be a valid atom or an Atom error results.
+
+       'name' must not match the name of any Output on the screen, or
+       a Value error results.
+
+       If 'info.outputs' is non-empty, and if x, y, width, height are all
+       zero, then the Monitor geometry will be dynamically defined to
+       be the bounding box of the geometry of the active CRTCs
+       associated with them.
+
+       If 'name' matches an existing Monitor on the screen, the
+       existing one will be deleted as if RRDeleteMonitor were called.
+
+       For each output in 'info.outputs, each one is removed from all
+       pre-existing Monitors. If removing the output causes the list of
+       outputs for that Monitor to become empty, then that Monitor will
+       be deleted as if RRDeleteMonitor were called.
+
+       Only one monitor per screen may be primary. If 'info.primary'
+       is true, then the primary value will be set to false on all
+       other monitors on the screen.
+
+       RRSetMonitor generates a ConfigureNotify event on the root
+       window of the screen.
+
+┌───
+    RRDeleteMonitor
+       window : WINDOW
+       name: ATOM
+└───
+       Errors: Window, Atom, Value
+
+       Deletes the named Monitor.
+
+       'name' must be a valid atom or an Atom error results.
+
+       'name' must match the name of a Monitor on the screen, or a
+       Value error results.
+
+       RRDeleteMonitor generates a ConfigureNotify event on the root
+       window of the screen.
+
+                             ❧❧❧❧❧❧❧❧❧❧❧
 8. Extension Events
 
 Clients MAY select for ConfigureNotify on the root window to be
@@ -2044,6 +2165,8 @@ list of what each version provided:
 
         1.4: Added provider objects for handling multi-GPU systems.
 
+       1.5: Added Monitors
+
 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
@@ -2194,6 +2317,23 @@ A.1 Common Types
        0x00000008      SinkOffload
 └───
 
+A.1.1 Common Types added in version 1.5 of the protocol
+
+┌───
+    MONITORINFO (16 + 4*n)
+       4       ATOM            name
+       1       BOOL            primary
+       1       BOOL            automatic
+       2       CARD16          ncrtcs
+       2       INT16           x
+       2       INT16           y
+       2       CARD16          width in pixels
+       2       CARD16          height in pixels
+       4       CARD32          width in millimeters
+       4       CARD32          height in millimeters
+       4*n     CRTC            crtcs
+└───
+
 A.2 Protocol Requests
 
 Opcodes 1 and 3 were used in the 0.0 protocols, and will return
@@ -2932,6 +3072,42 @@ A.2.3 Protocol Requests added with version 1.4
        p                               unused, p=pad(n)
 └───
 
+A.2.4 Protocol Requests added with version 1.5
+
+┌───
+    RRGetMonitors
+       1       CARD8                   major opcode
+       1       42                      RandR opcode
+       2       2                       request length
+       4       WINDOW                  window
+     ▶
+       1       1                       Reply
+       1                               unused
+       2       CARD16                  sequence number
+       4       6*n + o                 reply length
+       4       TIMESTAMP               timestamp
+       4       n                       nmonitors
+       4       o                       noutputs
+       12                              unused
+       n*24+o*4 LISTofMONITORINFO      monitors
+└───
+┌───
+    RRSetMonitor
+       1       CARD8                   major opcode
+       1       43                      RandR opcode
+       2       6 + o                   request length
+       4       WINDOW                  window
+       24+o    MONITORINFO             monitorinfo
+└───
+┌───
+    RRDeleteMonitor
+       1       CARD8                   major opcode
+       1       44                      RandR opcode
+       2       3                       request length
+       4       WINDOW                  window
+       4       ATOM                    name
+└───
+
 A.3 Protocol Events
 
 ┌───

commit d501a4f08ee3c5435841aa70c0d5cd4b7398bd12
Author: Keith Packard <kei...@keithp.com>
Date:   Fri Dec 12 15:57:40 2014 -0800

    Fix spelling errors in randrproto.txt
    
    Reviewed-by: Dave Airlie <airl...@redhat.com>
    Signed-off-by: Keith Packard <kei...@keithp.com>

diff --git a/randrproto.txt b/randrproto.txt
index 1900482..df2c712 100644
--- a/randrproto.txt
+++ b/randrproto.txt
@@ -149,7 +149,7 @@ be dynamically configured to provide support for:
 
  4) multiple GPU rendering - This replaces Xinerama.
 
-1.99 Acknowledgements
+1.99 Acknowledgments
 
 Our thanks to the contributors to the design found on the xpert mailing
 list, in particular:
@@ -262,7 +262,7 @@ RRCONFIGSTATUS { Success
        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
-       implementor, you find this error code required, please submit the
+       implementer, 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.


-- 
To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/e1ziyzl-0001um...@moszumanska.debian.org

Reply via email to