commit 65fd628cdfd1c95bd01a50706d4577655d1dd404
Author: Aaron Plattner <aplattner@nvidia.com>
Date:   Tue Feb 23 10:22:26 2016 -0800

    xrandr 1.5.0
    
    Signed-off-by: Aaron Plattner <aplattner@nvidia.com>

commit d62030b506f6b686ffe1e750ea9d3a855beec1f0
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Sep 13 11:40:37 2015 +0100

    Only use the current information when setting modes
    
    Before we change the state (e.g. adding a mode or applying one to an
    output), we query the screen resources for the right identifiers. This
    should only use the current information rather than force a reprobe on
    all hardware - not only can that reprobe be very slow (e.g. EDID
    timeouts on the order of seconds), but it may perturb the setup that the
    user is trying to configure.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

commit 3d03be780fca4949b11ead46c5ea5d3266c03c32
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Jun 18 08:27:49 2015 +0100

    Mark all CRTC as currently unused for second picking CRTC pass
    
    We perform two passes over the CRTC in order to find the preferred CRTC
    for each enabled output. In the first pass, we try to preserve the
    existing output <-> CRTC relationships (to avoid unnecessary flicker).
    If that pass fails, we try again but with all outputs first disabled.
    However, the logic to preserve an active CRTC was not disabled along
    with the outputs - meaning that if one was active but its associated
    output was disabled by the user, then that CRTC would remain unavailable
    for other outputs. The result would be that we would try to assign more
    CRTC than available (i.e. if the user request 3 new HDMI outputs on a
    system with only 3 CRTC, and wished to switch off an active internal
    panel, we would report "cannot find CRTC" even though that configuration
    could be established.)
    
    Reported-and-tested-by: Nathan Schulte <nmschulte@gmail.com>
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

commit 53ef3fc13b3e282902892e3140765460c6f93276
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Jun 18 08:27:48 2015 +0100

    Mark disabling an output as a change in its CRTC
    
    When an output is disabled via the cmdline, we can use that information
    to prevent assigning the current CRTC to the output and free it up for
    reuse by other outputs in the first pass of picking CRTC.
    
    Reported-and-tested-by: Nathan Schulte <nmschulte@gmail.com>
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

commit 09989b09a342b273ee30e1d96267dced3cbe61b0
Author: Aaron Plattner <aplattner@nvidia.com>
Date:   Thu Apr 9 11:14:54 2015 -0700

    Split verbose mode printing into a helper function
    
    Combine the two forms of verbose mode printing into a single function.  Pass the
    'current' and 'preferred' flags as arguments.  This fixes the code that prints
    unassociated modes to print the flags as well.
    
    Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
    Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>

commit d06730e94320175d40ff6f2bb38dce55312f2e54
Author: Keith Packard <keithp@keithp.com>
Date:   Tue Dec 16 01:57:45 2014 -0800

    Add monitor support (v2)
    
    This adds the ability to query, set and delete monitors
    
    v2: [airlied] add list active monitors
    
    Reviewed-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 3076c3494b6f3f00b9c4509c2dab6f40858af4cf
Author: Dave Airlie <airlied@redhat.com>
Date:   Tue Mar 31 11:49:00 2015 +1000

    xrandr: don't return NULL from a void
    
    Reported-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit 6957ad0cf3cdd10e8f4a5638b36f25c7a9b4ea25
Author: Dave Airlie <airlied@redhat.com>
Date:   Mon Mar 30 14:51:49 2015 +1000

    xrandr: parse property returns correctly.
    
    Xlib uses longs for 32-bit, so when we get values back they
    are in longs, this fixes the xrandr parsing code to parse
    the correct sized values according to Xlib.
    
    Reviewed-by: Keith Packard <keithp@keithp.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit f429a517684e8f99c15bc2858e62bbd112331456
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Oct 8 13:16:07 2014 +0200

    keystone: Report matrix error. Deal with "primary" in xrandr output
    
    Compute the error cause by the fixed point matrix representation and
    display that.
    
    Accept the 'primary' word found in xrandr output and ignore it.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 527d83dde0cb78cbfbb67d203d073e41e110d4a1
Author: Keith Packard <keithp@keithp.com>
Date:   Mon Jul 9 10:52:52 2012 -0700

    Increase keystone.5c default window size

commit 9887ed4989e0abd48004598be0eb5cb06fa40bd1
Author: Aaron Plattner <aplattner@nvidia.com>
Date:   Fri Aug 1 23:14:42 2014 -0700

    xrandr 1.4.3
    
    Signed-off-by: Aaron Plattner <aplattner@nvidia.com>

commit 20d76f773cf8de474cf7a3f1082961605732c3f1
Merge: 00477d88297e 193a358563a5
Author: Aaron Plattner <aplattner@nvidia.com>
Date:   Fri Aug 1 23:10:46 2014 -0700

    Merge commit '193a358'
    
    Conflicts:
    	xrandr.c

commit 193a358563a59c1a3fc55f55029c605e2419c80b
Author: Stéphane Aulery <lkppo@free.fr>
Date:   Sat Jun 29 16:50:25 2013 -0700

    Mention of --brightness with -h option
    
    Reported by jidanni at http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=709569
    
    Signed-off-by: Stéphane Aulery <lkppo@free.fr>
    Reviewed-By: Matt Dew <marcoz@osource.org>
    Signed-off-by: Aaron Plattner <aplattner@nvidia.com>

commit 00477d88297eaa6c87aa144548590c32540e3928
Author: Connor Behan <connor.behan@gmail.com>
Date:   Tue Jun 10 23:56:12 2014 -0700

    Allow -x and -y switches to undo themselves
    
    People who want to dick around might think it is safe to run "xrandr -x"
    before they know any of the other syntax. When "xrandr -x" again does
    not get back to a normal screen, they are stuck having to read a manpage
    with reflected text.
    
    Signed-off-by: Connor Behan <connor.behan@gmail.com>
    Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
    Tested-by: Aaron Plattner <aplattner@nvidia.com>
    Signed-off-by: Aaron Plattner <aplattner@nvidia.com>

commit 7d464312fb84c080a6e287edd21a794193a0dd78
Author: Connor Behan <connor.behan@gmail.com>
Date:   Sun Jun 1 16:35:50 2014 -0700

    Remove duplicate printing of the axis
    
    Even in verbose mode, why print the same information twice?
    
    Signed-off-by: Connor Behan <connor.behan@gmail.com>
    Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
    Signed-off-by: Aaron Plattner <aplattner@nvidia.com>

commit 792f05ea20d5191425154470760e36dcf023c6e9
Author: Dominik Behr <dbehr@chromium.org>
Date:   Tue Apr 1 18:38:05 2014 -0700

    xrandr: use full range for gamma table generation
    
    Calculate gamma table using full [0,65536) range and do not make any
    assumptions about relation of gamma table size and significant bits.
    
    Gamma table size has nothing to do with number of significant bits in hardware.
    In particular we are dealing now with gamma table that has 17 entries and 8
    bit precision, there are other GPUs with 10 bit precision and less than 256
    entries using partial linear approximation. Deriving assumed gamma table
    significant bits from size of gamma table leads to incorrect calculations and
    loss of precision. Also XRandR specification never mentions that gamma tables
    need to be power of 2.
    
    Signed-off-by: Dominik Behr <dbehr@chromium.org>
    Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

commit 866366d0825c3f488abd58960e4f76ae50de08d1
Author: Thomas Klausner <wiz@NetBSD.org>
Date:   Sat Mar 29 00:50:17 2014 +0100

    Remove unnecessary parentheses.
    
    Reviewed-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Thomas Klausner <wiz@NetBSD.org>

commit 31f5fa6a47db154abb47cf16e9f6cc4d983ad371
Author: Aaron Plattner <aplattner@nvidia.com>
Date:   Thu Mar 27 11:37:07 2014 -0700

    xrandr 1.4.2
    
    Signed-off-by: Aaron Plattner <aplattner@nvidia.com>

commit 934a424a05a296c0b8af015476e11b191d55eba3
Author: Aaron Plattner <aplattner@nvidia.com>
Date:   Fri Mar 21 10:35:56 2014 -0700

    xrandr: document how to disconnect RandR 1.4 providers
    
    Commit a6217be2d5a93a4c7b48f4081a4a8e14c3c97014 restored the ability to
    disconnect RandR 1.4 providers from each other, but it's not clear from the
    documentation how to actually do that.  Try to clarify by mentioning it in the
    man page.
    
    Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
    Reviewed-by: Dave Airlie <airlied@redhat.com>

commit a6217be2d5a93a4c7b48f4081a4a8e14c3c97014
Author: Dave Airlie <airlied@gmail.com>
Date:   Fri May 3 10:05:04 2013 +1000

    xrandr: allow disconnecting of offload and outputs
    
    Before the lookup code passing a 0 XID would disconnect,
    this fixes it backup.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
    Tested-by: Aaron Plattner <aplattner@nvidia.com>
    Signed-off-by: Aaron Plattner <aplattner@nvidia.com>

commit 00c795e99fe29ecd56e05e915e508c7af0ac39ad
Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
Date:   Fri May 31 17:01:54 2013 +0300

    xrandr: Use floating point for VTotal when calculating refresh rate
    
    Interlaced modes generally have an odd VTotal, so we lose half a line
    from VTotal when we divide by two. That causes the final refresh rate
    to be slightly off. Make VTotal a double to avoid the problem.
    
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Reviewed-by: Aaron Plattner <aplattner@nvidia.com>

commit 8f9b993342fddfceaa1afbec2996ce10038f10d7
Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
Date:   Fri May 31 17:01:53 2013 +0300

    xrandr: Use more decimal places when printing various rates
    
    Using just one decimal place for dotclock and refresh rates loses quite
    a bit of information. When dealing with 60Hz vs. 59.94Hz refresh rate
    modes for example, it's useful to see at least two decimal places. For
    the dotclock in similar cases, three decimal places seems quite a bit
    better than just one.
    
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Reviewed-by: Aaron Plattner <aplattner@nvidia.com>

commit 7ede207f9064fd88427026e38818819c2c8422bb
Author: Aaron Plattner <aplattner@nvidia.com>
Date:   Fri Jan 3 05:48:17 2014 -0800

    Special-case printing of the GUID property
    
    Rather than printing GUIDs as 16 signed decimal integers, print them in
    {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} format.
    
    Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit e7a19c8b5a26c8bfd76a7399a1a15eac01184261
Author: Aaron Plattner <aplattner@nvidia.com>
Date:   Fri Jan 3 05:22:02 2014 -0800

    Move EDID printing into a helper function
    
    Localize the specialness of EDID printing by moving it into a single function,
    print_edid, which prints the binary EDID data.  Remove the is_edid parameter
    from everything else.
    
    Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit a29728ca9599fd08da1243e9b422ac26a24cc05b
Author: Aaron Plattner <aplattner@nvidia.com>
Date:   Fri Jan 3 05:14:35 2014 -0800

    Split output property printing into a helper function
    
    Move the body of the code that prints the actual output property values into a
    helper function.  This will make it easier for this function to select
    special-case property printers for properties that need special formatting.
    
    Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

commit c5334bb4137d6ea7b8c8b10d51131b9450d1106b
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Tue Jul 16 23:30:27 2013 -0700

    xrandr 1.4.1

commit 0e0b47341a45c138082d9f8047dcbdb91b90155d
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sat Jul 13 00:11:41 2013 -0700

    Combine usage message strings
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 38772ec3b5a7216a88676f95b5edc764dd0a23d6
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sat Jul 13 00:07:26 2013 -0700

    Declare capability_name() as returning const char *
    
    Only used as an argument to printf.   Clears gcc warnings:
    xrandr.c: In function ‘capability_name’:
    xrandr.c:237:2: warning: return discards ‘const’ qualifier from pointer target type [enabled by default]
    xrandr.c:239:2: warning: return discards ‘const’ qualifier from pointer target type [enabled by default]
    xrandr.c:241:2: warning: return discards ‘const’ qualifier from pointer target type [enabled by default]
    xrandr.c:243:2: warning: return discards ‘const’ qualifier from pointer target type [enabled by default]
    xrandr.c:245:5: warning: return discards ‘const’ qualifier from pointer target type [enabled by default]
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit f53d8511d26a26e9bd6b1bc665f6283f1efd98d9
Author: Thomas <fischer@unix-ag.uni-kl.de>
Date:   Fri Nov 9 14:33:08 2012 +0000

    Bug 56923 - Make command line options consistent (single vs double dash)
    
    Most of xrandr's command line options follow the system of single
    dashes for single character options (e.g. "-v") and double dashes for
    long options ("--version").  The only exceptions are "-display" and
    "-help", most likely for historical reasons.  To make the behavior
    consistent across all options, the following patch adds "--display"
    and "--help" as alternatives to the current inconsistency.  The man
    page got updated as well, recommending double-dash variants for both
    options. The old behavior is still supported, so the patch should not
    break any existing usage/script.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit bd1502f50f0c230798bdce99dec6efc76791c024
Author: Thomas Klausner <wiz@NetBSD.org>
Date:   Sun Jun 2 21:30:39 2013 +0200

    Protect config.h like usual.
    
    Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit ace5e2b21b2a204f94c6452fa0d8f36699aec249
Author: Andy Ritger <aritger@nvidia.com>
Date:   Thu May 2 01:20:27 2013 -0700

    xrandr: calloc XRRModeInfo's passed to libXrandr.
    
    The "--newmode" commandline option initializes an XRRModeInfo and passes
    it into XRRCreateMode().  calloc(3) it to avoid uninitialized fields.
    For consistency, calloc(3) all the places where umode_t's (the wrapper
    structure for XRRModeInfo) are allocated.
    
    Signed-off-by: Andy Ritger <aritger@nvidia.com>
    Tested-by: Nikhil Mahale <nmahale@nvidia.com>
    Signed-off-by: Aaron Plattner <aplattner@nvidia.com>

commit eb17ad8adc9400f6ed252872f13ccf5551f9e2e9
Author: Aaron Plattner <aplattner@nvidia.com>
Date:   Thu Feb 28 12:01:53 2013 -0800

    Print spaces between XA_ATOM property values
    
    Commit b26fd532b3dab222956ea27eef4e41345978b5b2 redid how xrandr prints
    properties.  It neglected to put spaces between the values of XA_ATOM
    properties, so they all run together.  For example,
    
        audio: auto
            supported: force-dvioffautoon
    
    Fix this by putting a space after each atom name.  In addition, some drivers
    create property values with spaces in them, so put commas between entries to
    disambiguate.  For example,
    
        Broadcast RGB: Automatic
            supported: Automatic, Full, Limited 16:235
    
    Do the same for properties with multiple valid ranges.
    
    Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 222f245fb3a00308cb3ff491f5c84ac9c69c3253
Author: Aaron Plattner <aplattner@nvidia.com>
Date:   Tue Feb 12 13:24:38 2013 -0800

    xrandr 1.4.0
    
    Signed-off-by: Aaron Plattner <aplattner@nvidia.com>

commit 3e5f160c4198a5160be5e9a3f21ba3f4130d4318
Merge: dac72dbbc750 bd166184f6c1
Author: Aaron Plattner <aplattner@nvidia.com>
Date:   Tue Feb 12 12:30:20 2013 -0800

    Merge branch 'fixes'
    
    Conflicts:
    	xrandr.c

commit bd166184f6c1973ae2f5f99d040733db3e9e82cf
Author: Aaron Plattner <aplattner@nvidia.com>
Date:   Wed Feb 6 14:21:57 2013 -0800

    Cast XID to unsigned int to suppress a printf warning
    
    Sorry I forgot about this in commit 138b6252c0cae6599b6c8a25ffa22ffe70f227c2.
    That change introduced a warning:
    
      xrandr.c|645 col 5| warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 2 has type ‘XID’ [-Wformat]
    
    Fix that by just casting the XID to unsigned int.
    
    Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
    Reviewed-by: Daniel Dadap <ddadap@nvidia.com>

commit 7fd4f18b649f22fad4dbf9fc64b69b3e7f172207
Author: Aaron Plattner <aplattner@nvidia.com>
Date:   Wed Feb 6 11:13:06 2013 -0800

    Bug #37043: adjust refresh rates for doublescan and interlace
    
    These two flags halve and double, respectively, the effective refresh rate of a
    mode.
    
    Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
    Reviewed-by: Daniel Dadap <ddadap@nvidia.com>

commit d752d524027fbc20d9fdee06fed173e454f15370
Author: Aaron Plattner <aplattner@nvidia.com>
Date:   Wed Feb 6 10:10:03 2013 -0800

    Bug #29603: document that there might be multiple preferred modes
    
    The X server sorts the mode list for an output with preferred modes first, and
    specifies how many preferred modes there are by setting the npreferred field in
    the XRRModeInfo structure.
    
    Update the man page to refer to preferred modes in the plural, and mention that
    --auto and --preferred use the *first* preferred mode.
    
    Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
    Reviewed-by: Daniel Dadap <ddadap@nvidia.com>

commit b2f0bd198b1116e45389a6628b657b722b4102a4
Author: Aaron Plattner <aplattner@nvidia.com>
Date:   Wed Feb 6 14:11:23 2013 -0800

    Bug #14118: print usage() to stdout, proper errors for bad arguments
    
    Print the usage() text to stdout instead of stderr, and then only if -help is
    specified.  Also allow --help for consistency.
    
    For other command line syntax errors, introduce a new helper function argerr()
    that prints errors of the form
    
      xrandr: %s
      Try './xrandr --help' for more information.
    
    and exits.  Use that to print proper error messages.
    
    Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
    Reviewed-by: Daniel Dadap <ddadap@nvidia.com>

commit 0a26e076e10a3c7461d59c830cdc10688d66824f
Author: Aaron Plattner <aplattner@nvidia.com>
Date:   Wed Feb 6 13:08:58 2013 -0800

    Bug #11397: check that numeric --orientation arguments are in range
    
    The only valid parameters to -o (--orientation) are 0, 1, 2, 3, normal, left,
    inverted, and right.  xrandr converts the strings to numbers and then checks
    that they're within range, but doesn't validate them if it was numeric to begin
    with.
    
    Move the range check outside of the if statement so that out-of-range numeric
    values are rejected properly.
    
    Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
    Reviewed-by: Daniel Dadap <ddadap@nvidia.com>

commit dac72dbbc7501483eccec71bbf0db05a56756109
Author: Aaron Plattner <aplattner@nvidia.com>
Date:   Fri Aug 24 21:43:13 2012 -0700

    xrandr: Fix variable declaration warnings
    
    There are piles of places in the code where a variable shadows either another
    variable or a global function:
    
      xrandr.c:545:35: warning: declaration of ‘index’ shadows a global declaration [-Wshadow]
      xrandr.c:574:9: warning: declaration of ‘index’ shadows a global declaration [-Wshadow]
      xrandr.c:967:19: warning: declaration of ‘gamma’ shadows a global declaration [-Wshadow]
      xrandr.c:1329:16: warning: declaration of ‘gamma’ shadows a global declaration [-Wshadow]
      xrandr.c:2055:28: warning: declaration of ‘outputs’ shadows a global declaration [-Wshadow]
      xrandr.c:2068:29: warning: declaration of ‘outputs’ shadows a global declaration [-Wshadow]
      xrandr.c:2928:16: warning: declaration of ‘output’ shadows a previous local [-Wshadow]
      xrandr.c:2995:15: warning: declaration of ‘output’ shadows a previous local [-Wshadow]
      xrandr.c:3016:15: warning: declaration of ‘j’ shadows a previous local [-Wshadow]
      xrandr.c:3018:19: warning: declaration of ‘rotations’ shadows a previous local [-Wshadow]
      xrandr.c:3116:15: warning: declaration of ‘crtc’ shadows a previous local [-Wshadow]
      xrandr.c:3170:8: warning: declaration of ‘k’ shadows a previous local [-Wshadow]
      xrandr.c:3243:20: warning: declaration of ‘mode’ shadows a previous local [-Wshadow]
    
    'index' and 'gamma' are C library functions:
    
      index (3)            - locate character in string
      gamma (3)            - (logarithm of the) gamma function
    
    The rest of these are either variables or function parameters.
    
    When possible, move the declaration of a variable into the block where it is
    used, including in cases where the same variable is used in multiple blocks but
    the later block doesn't depend on the value from the earlier block.
    
    In a few cases, rename the variable in the outer scope to be more specific (e.g.
    output -> config_output) so the more generic variable in the inner scope (e.g.
    the 'output' variable used to iterate over all outputs) doesn't have to change.
    
    Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
    Reviewed-by: Andy Ritger <aritger@nvidia.com>

commit 138b6252c0cae6599b6c8a25ffa22ffe70f227c2
Author: Aaron Plattner <aplattner@nvidia.com>
Date:   Mon Feb 4 16:17:24 2013 -0800

    xrandr: look for providers by name or xid
    
    Use the name_t infrastructure to allow specifying providers by name, index, or
    XID.  This means that numbers without a "0x" prefix will now be interpreted as a
    indices rather than XIDs.  To match that, print provider XIDs in hexadecimal.
    
    Print an error if a provider-related option is specified and RandR 1.4 isn't
    supported.
    
    Make get_screen robust against being called multiple times.
    
    Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
    Reviewed-by: Dave Airlie <airlied@redhat.com>

commit a93b77b15fa2463c7fd06c6898b9c9f737c3ae8a
Author: Aaron Plattner <aplattner@nvidia.com>
Date:   Mon Feb 4 16:05:11 2013 -0800

    xrandr: make providers a first-class citizen
    
    Create a struct _provider to match the existing output, crtc, etc. objects.
    Build that from a new get_providers() function.  Use that to populate the list
    when querying the providers.
    
    Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
    Reviewed-by: Dave Airlie <airlied@redhat.com>

commit 8ce9d1fa48a7556e9aee090e5d72566dbb9a32f8
Author: Aaron Plattner <aplattner@nvidia.com>
Date:   Mon Feb 4 15:20:21 2013 -0800

    man: document provider options
    
    I hope I got the --setprovideroffloadsink parameters the right way around.
    
    Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
    Reviewed-by: Dave Airlie <airlied@redhat.com>

commit d07ef58f0cb6920dedc00c1e39cc6a5d0f31775e
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sun Jan 20 12:32:15 2013 -0800

    Fix -Wformat warnings about passing longs where ints were expected
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit ee548dde0f5bcc6503ad2f74af5261fbf022dada
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sun Jan 20 12:28:04 2013 -0800

    Mark fatal() and warning() as taking printf-style arguments
    
    Silences -Wformat-nonliteral warnings about them passing through
    unknown format arguments to vfprintf.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 77b03188b14cdef4523184a73b25fb2703d52685
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sun Jan 20 12:24:24 2013 -0800

    config: Add missing AC_CONFIG_SRCDIR
    
    Regroup AC statements under the Autoconf initialization section.
    Regroup AM statements under the Automake initialization section.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit a9a92e85b2f8ea54855a3b45eb0882d7da50c1a8
Author: Colin Walters <walters@verbum.org>
Date:   Wed Jan 16 13:02:57 2013 -0500

    autogen.sh: Honor NOCONFIGURE=1
    
    See http://people.gnome.org/~walters/docs/build-api.txt
    
    Signed-off-by: Adam Jackson <ajax@redhat.com>

commit 4a15ed3b1edd22d67307620f2265faf365700519
Author: Adam Jackson <ajax@redhat.com>
Date:   Wed Jan 16 13:03:39 2013 -0500

    configure: Drop AM_MAINTAINER_MODE
    
    Signed-off-by: Adam Jackson <ajax@redhat.com>

commit 094b40e89707828df2bb7b204a97eed256a3c3fd
Author: Pierre-Loup A. Griffais <pgriffais@nvidia.com>
Date:   Wed Dec 19 12:32:03 2012 -0800

    xrandr: print primary output
    
    Sample output:
    
    LVDS-0 connected primary 1920x1080+1920+120 [...]
    
    Signed-off-by: Pierre-Loup A. Griffais <pgriffais@nvidia.com>
    Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
    Tested-by: Aaron Plattner <aplattner@nvidia.com>
    Signed-off-by: Aaron Plattner <aplattner@nvidia.com>

commit b26fd532b3dab222956ea27eef4e41345978b5b2
Author: Andy Ritger <aritger@nvidia.com>
Date:   Fri Sep 7 17:58:46 2012 -0700

    xrandr: generalize output property printing
    
    Signed-off-by: Andy Ritger <aritger@nvidia.com>
    Reviewed-by: Aaron Plattner <aplattner@nvidia.com>

commit 7a22279cadf7d1a2064cf985acc015401407d71c
Author: Andy Ritger <aritger@nvidia.com>
Date:   Fri Sep 7 17:58:45 2012 -0700

    xrandr: extend '--set' syntax to allow a comma-separated list of values
    
    Signed-off-by: Andy Ritger <aritger@nvidia.com>
    Reviewed-by: Aaron Plattner <aplattner@nvidia.com>

commit 7cb20881991c8bcf7e8fa0af6ad0f85682f98e1f
Author: Dave Airlie <airlied@redhat.com>
Date:   Fri Jan 20 17:40:41 2012 +0000

    xrandr: add provider interfaces
    
    This adds an initial interface to list and configure offload and output
    providers.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit a36e6d38ffd9831188758658ff36a0b88e43ba67
Author: Aaron Plattner <aplattner@nvidia.com>
Date:   Fri Aug 24 21:02:26 2012 -0700

    xrandr: Fix string constness bugs
    
    Sufficiently new versions of GCC treat string literals as "const char *" by
    default.  This means that several places that assign, return, or initialize
    char* from a string literal generates a warning:
    
      xrandr.c:54:5: warning: initialization discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:55:5: warning: initialization discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:56:5: warning: initialization discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:57:5: warning: initialization discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:58:5: warning: initialization discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:61:5: warning: initialization discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:62:5: warning: initialization discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:63:5: warning: initialization discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:64:5: warning: initialization discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:65:5: warning: initialization discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:69:5: warning: initialization discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:70:5: warning: initialization discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:71:5: warning: initialization discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:72:5: warning: initialization discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:73:5: warning: initialization discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:74:5: warning: initialization discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:80:5: warning: initialization discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:81:5: warning: initialization discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:82:5: warning: initialization discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:83:5: warning: initialization discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:84:5: warning: initialization discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:85:5: warning: initialization discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:86:5: warning: initialization discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:87:5: warning: initialization discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:88:5: warning: initialization discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:189:2: warning: return discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:193:5: warning: return discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:202:2: warning: return discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:204:2: warning: return discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:206:2: warning: return discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:208:2: warning: return discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:210:5: warning: return discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:359:5: warning: initialization discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:360:5: warning: initialization discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:361:5: warning: initialization discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:593:23: warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:1189:28: warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:1191:28: warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:1587:39: warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:1588:30: warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:1589:38: warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:1590:48: warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:1591:42: warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:1592:25: warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:2544:28: warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:2546:28: warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:2585:28: warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]
      xrandr.c:3228:17: warning: initialization discards ‘const’ qualifier from pointer target type [enabled by default]
    
    Fix as many of these as possible.  This introduces one problem:
    XRRSetCrtcTransform takes a non-const char* filter parameter even though it
    doesn't actually modify the string.  Instead of trying to work around that, just
    live with the warning for now:
    
      xrandr.c:1459:9: warning: passing argument 4 of ‘XRRSetCrtcTransform’ discards ‘const’ qualifier from pointer target type [enabled by default]
      /X/include/X11/extensions/Xrandr.h:383:1: note: expected ‘char *’ but argument is of type ‘const char *’
    
    Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
    Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit b501dd3adfac13e15e619898d4447d83b8301dd3
Author: Andy Ritger <aritger@nvidia.com>
Date:   Fri Aug 24 15:53:09 2012 -0700

    xrandr: compute gamma-correction in [0,2^sigbits)
    
    The gamma-correction lookup table values are 16:16:16 X Colors, where the
    MSBs are programmed into the hardware lookup table.  Rather than compute
    values over the entire range [0,65536) (where values below 2^(16 - sigbits)
    will receive the same hardware value), compute values over the range
    [0,2^sigbits) and left shift by (16 - sigbits) into the MSBs.
    
    Signed-off-by: Andy Ritger <aritger@nvidia.com>
    Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
    Signed-off-by: Aaron Plattner <aplattner@nvidia.com>

commit 90afd01788be7bf19e441a59dca0d8057c5267b1
Author: Andy Ritger <aritger@nvidia.com>
Date:   Fri Aug 24 15:53:08 2012 -0700

    xrandr: fix gamma == 1.0 && sigbits != 8
    
    The gamma-correction lookup table managed through XRR[GS]etCrtcGamma is
    2^n in size, where 'n' is the number of significant bits in the X Color.
    Each element in the gamma-correction lookup table is a 16:16:16 X Color
    (i.e., in the range [0,65536) ).  The significant bits of each component
    of each element in the lookup table are programmed into the hardware
    lookup table.  Meaningful values in the gamma-correction lookup table
    are thus in the range [0,2^sigbits), where all values are shifted into
    the MSBs (i.e., left shifted by (16 - sigificant bits)).
    
    Signed-off-by: Andy Ritger <aritger@nvidia.com>
    Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
    Signed-off-by: Aaron Plattner <aplattner@nvidia.com>

commit 6bf48ae8d8db58ab74182383e54332f120f024c2
Author: Andy Ritger <aritger@nvidia.com>
Date:   Fri Aug 24 15:53:07 2012 -0700

    xrandr: use 1/gamma to compute gamma-correction
    
    To compute a gamma *correction* lookup table, use the specified gamma
    value as the divisor in (1.0/gamma).  This matches the semantics of
    xgamma(1) and the "gamma-value" and "{red,green,blue}-gamma" xorg.conf(5)
    options.
    
    For more details, see:
    http://www.poynton.com/PDFs/TIDV/Gamma.pdf (Gamma in computer graphics, page 17)
    http://cgit.freedesktop.org/xorg/xserver/tree/hw/xfree86/common/xf86cmap.c:ComputeGamma()
    
    Signed-off-by: Andy Ritger <aritger@nvidia.com>
    Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
    Signed-off-by: Aaron Plattner <aplattner@nvidia.com>

commit 755234bd2ce0f3acde6507aba94b1e53a5a72f9b
Author: Eric S. Raymond <esr@thyrsus.com>
Date:   Thu Aug 23 12:26:57 2012 -0400

    Running text interspersed with options prevents DocBook translation; remove.
    
    The information the text conveys is not really needed at that point,
    either. It's duplicated later in the manual page.
    
    Signed-off-by: Eric S. Raymond <esr@thyrsus.com>

commit b9d260a49961b5e311e77e8600e7e5a8f2e8d475
Author: Keith Packard <keithp@keithp.com>
Date:   Tue May 1 21:53:02 2012 -0700

    keystone.5c: cairo-5 box semantics changed default layout
    
    cairo-5c version 1.6 includes a new 2D box layout widget that
    needs widget stretch defined in both dimensions to create
    the desired layout.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 1e5a973ad2da9aaf3c025656db4ba83ff9e6c207
Author: Aaron Plattner <aplattner@nvidia.com>
Date:   Mon Apr 23 12:41:15 2012 -0700

    Add a --scale-from option
    
    A typical case for wanting to specify a scale on an output is making your
    framebuffer be one size and scaling it to fill an output of a different size.
    Instead of making the user calculate the scaling factors to be specified by
    --scale, add a new option, --scale-from, that lets the user specify the
    framebuffer size directly.  Compute the appropriate transform to achieve the
    desired target size.
    
    Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
    Reviewed-by: Andy Ritger <aritger@nvidia.com>

commit 45b21c41ef3abd73de11d1adc6f5475105e1a5b7
Author: Pierre-Loup A. Griffais <pgriffais@nvidia.com>
Date:   Tue Mar 20 16:46:22 2012 -0700

    xrandr: move transform limit checking after scaling
    
    This would trigger for legit scaled matrices, resulting in the wrong
    extents getting computed.
    
    Signed-off-by: Pierre-Loup A. Griffais <pgriffais@nvidia.com>
    Reviewed-by: Keith Packard <keithp@keithp.com>
    Signed-off-by: Aaron Plattner <aplattner@nvidia.com>

commit 8ca08e32ee7daae75992cbf1f554ca9a389e5420
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Feb 29 16:26:25 2012 +1300

    Update keystone program to run with new nichrome bits
    
    Will also work with old nichrome bits.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 5161ba39a3c13caa5cab953a17f509a6a5b09e7b
Author: Jeremy Huddleston <jeremyhu@apple.com>
Date:   Fri Nov 11 11:34:38 2011 -0800

    Include strings.h for strcasecmp
    
    Our minimum requirement for X11 is currently Unix98.  Unix98 provides
    strcasecmp in <strings.h>.  This commit fixes implicit declarations
    of this function on systems that closely adhere to the standard.
    
    Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>

commit e68059e9ecc4225360a522138aedcedad7fe117f
Author: Keith Packard <keithp@keithp.com>
Date:   Sat Aug 6 19:06:42 2011 -0700

    xrandr: Preserve current mode when switching crtcs
    
    When switching output crtcs, preserve any current mode in preference
    to selecting whatever mode is currently in use on that crtc.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>

commit 5185a18a016d9ccbfea3a3cdb314041268222708
Author: Adam Jackson <ajax@redhat.com>
Date:   Wed Jul 20 14:34:19 2011 -0400

    Document the rarer --newmode flags in --help output
    
    Signed-off-by: Adam Jackson <ajax@redhat.com>

commit 9e7a1f88de66c65cca1eb732278f76dab125f30e
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Wed Jun 29 21:18:23 2011 -0700

    xrandr 1.3.5
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit a187677a93a215ccbba819f98425a6c682a50a6c
Author: Jeremy Huddleston <jeremyhu@apple.com>
Date:   Mon May 9 09:26:34 2011 -0700

    find_mode: Search for the mode closes to the specified rate
    
    This was the intention of d9aeb4a7544ad4a33f6f54bc46bff5cdf231a986, but
    find_mode was still picking the first string match rather than the
    match with the closest refresh rate.
    
    xrandr.c:740:3: warning: Value stored to 'bestDist' is never read
                   bestDist = dist;
                   ^          ~~~~
    
    Found-by: clang static analyzer
    Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>

commit 30e9137bf94f58f66cc6883b0a47eab3159c8be6
Author: Jeremy Huddleston <jeremyhu@apple.com>
Date:   Sun May 8 16:42:50 2011 -0700

    Dead code removal
    
    xrandr.c:2978:33: warning: Value stored to 'first' is never read
                        if (!first) printf (" "); first = False;
                                                  ^       ~~~~~
    xrandr.c:2966:30: warning: Value stored to 'first' is never read
                            if (!first) printf (" "); first = False;
                                                      ^       ~~~~~
    
    Found-by: clang static analyzer
    Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>

commit 1e48aad532aa19a35efbee24cddca4c43e02afe7
Author: Jeremy Huddleston <jeremyhu@apple.com>
Date:   Sun May 8 16:35:47 2011 -0700

    Dead code removal
    
    Removing the redundant setting of format = 32 in the XA_ATOM case.
    It was already set to that earlier whe it was assigned actual_format.
    
    xrandr.c:2770:3: warning: Value stored to 'format' is never read
                    format=0;
                    ^      ~
    xrandr.c:2782:7: warning: Value stored to 'format' is never read
                        format = actual_format;
                        ^        ~~~~~~~~~~~~~
    
    Found-by: clang static analyzer
    Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>

commit dd2a2e7dc918c57aae3df57118042e4362377243
Author: Jeremy Huddleston <jeremyhu@apple.com>
Date:   Sun May 8 16:29:51 2011 -0700

    Mark usage, fatal, and panic as _X_NORETURN
    
    xrandr.c:634:13: warning: Access to field 'next' results in a dereference of a null pointer (loaded from variable 'output')
        output->next = NULL;
        ~~~~~~  ^
    xrandr.c:1214:6: warning: Access to field 'mode' results in a dereference of a null pointer (loaded from variable 'crtc_info')
            if (crtc_info->mode == None)
                ^~~~~~~~~
    xrandr.c:1252:5: warning: Array access (via field 'outputs') results in a null pointer dereference
        crtc->outputs[crtc->noutput++] = output;
        ^     ~~~~~~~
    xrandr.c:1638:33: warning: Access to field 'name' results in a dereference of a null pointer (loaded from variable 'output_info')
            set_name_string (&output_name, output_info->name);
                                           ^~~~~~~~~~~
    xrandr.c:1725:10: warning: Access to field 'changes' results in a dereference of a null pointer (loaded from variable 'output')
                if (output->changes)
                    ^~~~~~
    xrandr.c:1848:10: warning: Access to field 'mode_info' results in a dereference of a null pointer (loaded from variable 'relation')
                if (relation->mode_info == NULL)
                    ^~~~~~~~
    xrandr.c:3194:11: warning: Array access (from variable 'mode_shown') results in a null pointer dereference
                        if (mode_shown[j]) continue;
                            ^~~~~~~~~~
    
    Found-by: clang static analyzer
    Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>

commit d58d70f6781308de2f905b71a0bfcea1506b0008
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Wed Jan 19 10:06:56 2011 -0500

    config: move man pages into their own directory
    
    Use services provided by XORG_MANPAGE_SECTIONS.
[--snip--]
