xrandr 1.4.2
Use more decimal places when printing various rates (closes: #736224)
This commit is contained in:
parent
e0d6afa13e
commit
69df79ebbc
|
@ -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.
|
||||
|
|
114
xrandr/ChangeLog
114
xrandr/ChangeLog
|
@ -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
|
||||
|
||||
|
|
|
@ -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 \
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -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]*:*)
|
||||
|
|
|
@ -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
|
||||
;;
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -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])
|
||||
|
|
|
@ -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@
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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*)
|
||||
|
|
155
xrandr/xrandr.c
155
xrandr/xrandr.c
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue