xrandr 1.4.2

Use more decimal places when printing various rates (closes: #736224)
This commit is contained in:
Julien Cristau 2014-07-13 15:33:39 +02:00
parent e0d6afa13e
commit 69df79ebbc
12 changed files with 2801 additions and 2447 deletions

7
debian/changelog vendored
View File

@ -1,3 +1,10 @@
x11-xserver-utils (7.7+3) UNRELEASED; urgency=medium
* xrandr 1.4.2
- Use more decimal places when printing various rates (closes: #736224)
-- Julien Cristau <jcristau@debian.org> Sun, 13 Jul 2014 15:32:08 +0200
x11-xserver-utils (7.7+2) unstable; urgency=medium
* Remove Cyril Brulebois from Uploaders.

View File

@ -1,3 +1,105 @@
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
@ -104,7 +206,7 @@ Date: Tue Feb 12 13:24:38 2013 -0800
Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
commit 3e5f160c4198a5160be5e9a3f21ba3f4130d4318
Merge: dac72db bd16618
Merge: dac72dbbc750 bd166184f6c1
Author: Aaron Plattner <aplattner@nvidia.com>
Date: Tue Feb 12 12:30:20 2013 -0800
@ -1370,7 +1472,7 @@ Date: Mon Dec 1 21:45:47 2008 +0100
Fix build outside of the source dir
commit 63ba316bcbe8ad61ba63d9fe62c82e7d56dcc399
Merge: a813c4d 1b95e32
Merge: a813c4da7f0b 1b95e32b4b0a
Author: Julien Cristau <jcristau@debian.org>
Date: Mon Dec 1 21:33:35 2008 +0100
@ -1848,7 +1950,7 @@ Date: Sun Feb 18 21:27:55 2007 -0800
Update version number to 1.2.0 for release.
commit 13cef2baa884039e96f5dfd9245bb949aed99448
Merge: 065f09c a175972
Merge: 065f09cc304d a175972de6fb
Author: Keith Packard <keithp@neko.keithp.com>
Date: Sun Feb 18 21:26:50 2007 -0800
@ -1890,7 +1992,7 @@ Date: Sat Feb 10 16:14:58 2007 -0800
Display set of available CRTCs per output in --verbose mode.
commit 067cafb5cda0aa6e34773e888fd469ff657760c2
Merge: 7c25c24 b0a00df
Merge: 7c25c245bceb b0a00df69f83
Author: Keith Packard <keithp@guitar.keithp.com>
Date: Wed Jan 31 15:25:35 2007 -0800
@ -2049,7 +2151,7 @@ Date: Tue Dec 19 16:27:46 2006 -0800
Actually respect the --fb option
commit 7b32611632ab08b6a123db5df1c2b919b3a12104
Merge: a0df3aa 4bb1a9c
Merge: a0df3aa81205 4bb1a9cd6f9c
Author: Keith Packard <keithp@guitar.keithp.com>
Date: Tue Dec 19 15:58:38 2006 -0800
@ -2062,7 +2164,7 @@ Date: Tue Dec 19 15:58:21 2006 -0800
Correct format for sscanf to double variable "dpi"
commit 4bb1a9cd6f9cc3ed61d7913528afa3f573092833
Merge: b6c0382 6ef400f
Merge: b6c03827bae7 6ef400f35d7d
Author: Keith Packard <keithp@bouzouki.jf.intel.com>
Date: Wed Dec 13 11:36:36 2006 -0800

View File

@ -1,4 +1,4 @@
# Makefile.in generated by automake 1.14 from Makefile.am.
# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@ -324,6 +324,8 @@ PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
@ -790,9 +792,10 @@ distcheck: dist
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& am__cwd=`pwd` \
&& $(am__cd) $(distdir)/_build \
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
&& ../configure \
$(AM_DISTCHECK_CONFIGURE_FLAGS) \
$(DISTCHECK_CONFIGURE_FLAGS) \
--srcdir=.. --prefix="$$dc_install_base" \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \

4127
xrandr/aclocal.m4 vendored

File diff suppressed because it is too large Load Diff

12
xrandr/config.guess vendored
View File

@ -2,7 +2,7 @@
# Attempt to guess a canonical system name.
# Copyright 1992-2013 Free Software Foundation, Inc.
timestamp='2013-06-10'
timestamp='2013-11-29'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@ -1260,6 +1260,7 @@ EOF
if test "$UNAME_PROCESSOR" = unknown ; then
UNAME_PROCESSOR=powerpc
fi
if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
@ -1271,6 +1272,15 @@ EOF
esac
fi
fi
elif test "$UNAME_PROCESSOR" = i386 ; then
# Avoid executing cc on OS X 10.9, as it ships with a stub
# that puts up a graphical alert prompting to install
# developer tools. Any system running Mac OS X 10.7 or
# later (Darwin 11 and later) is required to have a 64-bit
# processor. This is not true of the ARM version of Darwin
# that Apple uses in portable devices.
UNAME_PROCESSOR=x86_64
fi
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
exit ;;
*:procnto*:*:* | *:QNX:[0123456789]*:*)

17
xrandr/config.sub vendored
View File

@ -2,7 +2,7 @@
# Configuration validation subroutine script.
# Copyright 1992-2013 Free Software Foundation, Inc.
timestamp='2013-04-24'
timestamp='2013-10-01'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@ -257,7 +257,7 @@ case $basic_machine in
| avr | avr32 \
| be32 | be64 \
| bfin \
| c4x | clipper \
| c4x | c8051 | clipper \
| d10v | d30v | dlx | dsp16xx \
| epiphany \
| fido | fr30 | frv \
@ -265,6 +265,7 @@ case $basic_machine in
| hexagon \
| i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \
| k1om \
| le32 | le64 \
| lm32 \
| m32c | m32r | m32rle | m68000 | m68k | m88k \
@ -324,7 +325,7 @@ case $basic_machine in
c6x)
basic_machine=tic6x-unknown
;;
m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
basic_machine=$basic_machine-unknown
os=-none
;;
@ -372,7 +373,7 @@ case $basic_machine in
| be32-* | be64-* \
| bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* \
| clipper-* | craynv-* | cydra-* \
| c8051-* | clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
| elxsi-* \
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
@ -381,6 +382,7 @@ case $basic_machine in
| hexagon-* \
| i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* | iq2000-* \
| k1om-* \
| le32-* | le64-* \
| lm32-* \
| m32c-* | m32r-* | m32rle-* \
@ -794,7 +796,7 @@ case $basic_machine in
os=-mingw64
;;
mingw32)
basic_machine=i386-pc
basic_machine=i686-pc
os=-mingw32
;;
mingw32ce)
@ -830,7 +832,7 @@ case $basic_machine in
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
;;
msys)
basic_machine=i386-pc
basic_machine=i686-pc
os=-msys
;;
mvs)
@ -1546,6 +1548,9 @@ case $basic_machine in
c4x-* | tic4x-*)
os=-coff
;;
c8051-*)
os=-elf
;;
hexagon-*)
os=-elf
;;

765
xrandr/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -22,7 +22,7 @@ dnl Process this file with autoconf to create configure.
# Initialize Autoconf
AC_PREREQ([2.60])
AC_INIT([xrandr], [1.4.1],
AC_INIT([xrandr], [1.4.2],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xrandr])
AC_CONFIG_SRCDIR([Makefile.am])
AC_CONFIG_HEADERS([config.h])

View File

@ -1,4 +1,4 @@
# Makefile.in generated by automake 1.14 from Makefile.am.
# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@ -197,6 +197,8 @@ PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@

View File

@ -126,10 +126,14 @@ Report information about the providers available.
Set \fIsource\fP as the source of display output images for \fIprovider\fP.
This is only possible if \fIsource\fP and \fIprovider\fP have the \fBSource
Output\fR and \fBSink Output\fR capabilities, respectively.
If \fIsource\fP is \fB0x0\fP, then \fIprovider\fP is disconnected from its
current output source.
.IP "\-\-setprovideroffloadsink \fIprovider\fP \fIsink\fP"
Set \fIprovider\fP as a render offload device for \fIsink\fP.
This is only possible if \fIprovider\fP and \fIsink\fP have the \fBSource
Offload\fR and \fBSink Offload\fR capabilities, respectively.
If \fIsink\fP is \fB0x0\fP, then \fIprovider\fP is disconnected from its current
render offload sink.
.PP
.SH "RandR version 1.3 options"
.PP

View File

@ -1,7 +1,7 @@
#! /bin/sh
# Common wrapper for a few potentially missing GNU programs.
scriptversion=2012-06-26.16; # UTC
scriptversion=2013-10-28.13; # UTC
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
@ -160,7 +160,7 @@ give_advice ()
;;
autom4te*)
echo "You might have modified some maintainer files that require"
echo "the 'automa4te' program to be rebuilt."
echo "the 'autom4te' program to be rebuilt."
program_details 'autom4te'
;;
bison*|yacc*)

View File

@ -543,7 +543,7 @@ static double
mode_refresh (XRRModeInfo *mode_info)
{
double rate;
unsigned int vTotal = mode_info->vTotal;
double vTotal = mode_info->vTotal;
if (mode_info->modeFlags & RR_DoubleScan) {
/* doublescan doubles the number of lines */
@ -1566,7 +1566,7 @@ crtc_apply (crtc_t *crtc)
rr_outputs[o] = crtc->outputs[o]->output.xid;
mode = crtc->mode_info->id;
if (verbose) {
printf ("crtc %d: %12s %6.1f +%d+%d", crtc->crtc.index,
printf ("crtc %d: %12s %6.2f +%d+%d", crtc->crtc.index,
crtc->mode_info->name, mode_refresh (crtc->mode_info),
crtc->x, crtc->y);
for (o = 0; o < crtc->noutput; o++)
@ -2342,19 +2342,10 @@ property_values_from_string(const char *str, const Atom type, const int format,
static void
print_output_property_value(Bool is_edid,
int value_format, /* 8, 16, 32 */
print_output_property_value(int value_format, /* 8, 16, 32 */
Atom value_type, /* XA_{ATOM,INTEGER,CARDINAL} */
const void *value_bytes)
{
/* special-case the EDID */
if (is_edid && value_format == 8)
{
const uint8_t *val = value_bytes;
printf ("%02" PRIx8, *val);
return;
}
if (value_type == XA_ATOM && value_format == 32)
{
const Atom *val = value_bytes;
@ -2414,6 +2405,88 @@ print_output_property_value(Bool is_edid,
printf ("?");
}
static void
print_edid(int nitems, const unsigned char *prop)
{
int k;
printf ("\n\t\t");
for (k = 0; k < nitems; k++)
{
if (k != 0 && (k % 16) == 0)
{
printf ("\n\t\t");
}
printf("%02" PRIx8, prop[k]);
}
printf("\n");
}
static void
print_guid(const unsigned char *prop)
{
int k;
printf("{");
for (k = 0; k < 16; k++)
{
printf("%02" PRIX8, prop[k]);
if (k == 3 || k == 5 || k == 7 || k == 9)
{
printf("-");
}
}
printf("}\n");
}
static void
print_output_property(const char *atom_name,
int value_format,
Atom value_type,
int nitems,
const unsigned char *prop)
{
int bytes_per_item = value_format / 8;
int k;
/*
* Check for properties that need special formatting.
*/
if (strcmp (atom_name, "EDID") == 0 && value_format == 8 &&
value_type == XA_INTEGER)
{
print_edid (nitems, prop);
return;
}
else if (strcmp (atom_name, "GUID") == 0 && value_format == 8 &&
value_type == XA_INTEGER && nitems == 16)
{
print_guid (prop);
return;
}
for (k = 0; k < nitems; k++)
{
if (k != 0)
{
if ((k % 16) == 0)
{
printf ("\n\t\t");
}
}
print_output_property_value (value_format, value_type,
prop + (k * bytes_per_item));
printf (" ");
}
printf ("\n");
}
static void
get_providers (void)
{
@ -2448,6 +2521,8 @@ find_provider (name_t *name)
{
int i;
if ((name->kind & name_xid) && name->xid == 0)
return NULL;
for (i = 0; i < num_providers; i++) {
provider_t *p = &providers[i];
name_kind_t common = name->kind & p->provider.kind;
@ -3231,7 +3306,7 @@ main (int argc, char **argv)
provider = find_provider (&provider_name);
source = find_provider(&output_source_provider_name);
XRRSetProviderOutputSource(dpy, provider->provider.xid, source->provider.xid);
XRRSetProviderOutputSource(dpy, provider->provider.xid, source ? source->provider.xid : 0);
}
if (provsetoffsink)
{
@ -3246,7 +3321,7 @@ main (int argc, char **argv)
provider = find_provider (&provider_name);
sink = find_provider(&offload_sink_provider_name);
XRRSetProviderOffloadSink(dpy, provider->provider.xid, sink->provider.xid);
XRRSetProviderOffloadSink(dpy, provider->provider.xid, sink ? sink->provider.xid : 0);
}
if (setit_1_2)
{
@ -3510,8 +3585,7 @@ main (int argc, char **argv)
Atom actual_type;
XRRPropertyInfo *propinfo;
char *atom_name = XGetAtomName (dpy, props[j]);
Bool is_edid = strcmp (atom_name, "EDID") == 0;
int bytes_per_item, k;
int k;
XRRGetOutputProperty (dpy, output->output.xid, props[j],
0, 100, False, False,
@ -3522,33 +3596,10 @@ main (int argc, char **argv)
propinfo = XRRQueryOutputProperty(dpy, output->output.xid,
props[j]);
bytes_per_item = actual_format / 8;
printf ("\t%s: ", atom_name);
if (is_edid)
{
printf ("\n\t\t");
}
for (k = 0; k < nitems; k++)
{
if (k != 0)
{
if ((k % 16) == 0)
{
printf ("\n\t\t");
}
}
print_output_property_value (is_edid, actual_format,
actual_type,
prop + (k * bytes_per_item));
if (!is_edid)
{
printf (" ");
}
}
printf ("\n");
print_output_property(atom_name, actual_format,
actual_type, nitems, prop);
if (propinfo->range && propinfo->num_values > 0)
{
@ -3557,10 +3608,10 @@ main (int argc, char **argv)
for (k = 0; k < propinfo->num_values / 2; k++)
{
printf ("(");
print_output_property_value (False, 32, actual_type,
print_output_property_value (32, actual_type,
(unsigned char *) &(propinfo->values[k * 2]));
printf (", ");
print_output_property_value (False, 32, actual_type,
print_output_property_value (32, actual_type,
(unsigned char *) &(propinfo->values[k * 2 + 1]));
printf (")");
if (k < propinfo->num_values / 2 - 1)
@ -3573,7 +3624,7 @@ main (int argc, char **argv)
printf ("\t\tsupported: ");
for (k = 0; k < propinfo->num_values; k++)
{
print_output_property_value (False, 32, actual_type,
print_output_property_value (32, actual_type,
(unsigned char *) &(propinfo->values[k]));
if (k < propinfo->num_values - 1)
printf (", ");
@ -3592,7 +3643,7 @@ main (int argc, char **argv)
XRRModeInfo *mode = find_mode_by_xid (output_info->modes[j]);
int f;
printf (" %s (0x%x) %6.1fMHz",
printf (" %s (0x%x) %6.3fMHz",
mode->name, (int)mode->id,
(double)mode->dotClock / 1000000.0);
for (f = 0; mode_flags[f].flag; f++)
@ -3603,10 +3654,10 @@ main (int argc, char **argv)
if (j < output_info->npreferred)
printf (" +preferred");
printf ("\n");
printf (" h: width %4d start %4d end %4d total %4d skew %4d clock %6.1fKHz\n",
printf (" h: width %4d start %4d end %4d total %4d skew %4d clock %6.2fKHz\n",
mode->width, mode->hSyncStart, mode->hSyncEnd,
mode->hTotal, mode->hSkew, mode_hsync (mode) / 1000);
printf (" v: height %4d start %4d end %4d total %4d clock %6.1fHz\n",
printf (" v: height %4d start %4d end %4d total %4d clock %6.2fHz\n",
mode->height, mode->vSyncStart, mode->vSyncEnd, mode->vTotal,
mode_refresh (mode));
mode->modeFlags |= ModeShown;
@ -3633,7 +3684,7 @@ main (int argc, char **argv)
if (strcmp (jmode->name, kmode->name) != 0) continue;
mode_shown[k] = True;
kmode->modeFlags |= ModeShown;
printf (" %6.1f", mode_refresh (kmode));
printf (" %6.2f", mode_refresh (kmode));
if (kmode == output->mode_info)
printf ("*");
else
@ -3654,13 +3705,13 @@ main (int argc, char **argv)
if (!(mode->modeFlags & ModeShown))
{
printf (" %s (0x%x) %6.1fMHz\n",
printf (" %s (0x%x) %6.3fMHz\n",
mode->name, (int)mode->id,
(double)mode->dotClock / 1000000.0);
printf (" h: width %4d start %4d end %4d total %4d skew %4d clock %6.1fKHz\n",
printf (" h: width %4d start %4d end %4d total %4d skew %4d clock %6.2fKHz\n",
mode->width, mode->hSyncStart, mode->hSyncEnd,
mode->hTotal, mode->hSkew, mode_hsync (mode) / 1000);
printf (" v: height %4d start %4d end %4d total %4d clock %6.1fHz\n",
printf (" v: height %4d start %4d end %4d total %4d clock %6.2fHz\n",
mode->height, mode->vSyncStart, mode->vSyncEnd, mode->vTotal,
mode_refresh (mode));
}
@ -3750,7 +3801,7 @@ main (int argc, char **argv)
if (rate == rates[i])
break;
if (i == nrate) {
fprintf (stderr, "Rate %.1f Hz not available for this size\n", rate);
fprintf (stderr, "Rate %.2f Hz not available for this size\n", rate);
exit (1);
}
}