update to randrproto 1.3.0.
This commit is contained in:
parent
5c48ead90c
commit
997ce82af1
700
proto/randrproto/ChangeLog
Normal file
700
proto/randrproto/ChangeLog
Normal file
@ -0,0 +1,700 @@
|
||||
commit 94e22fecc66590f81ca280517505c721a5f54497
|
||||
Author: Matthias Hopf <mhopf@suse.de>
|
||||
Date: Fri Mar 6 15:03:09 2009 +0100
|
||||
|
||||
Bump to 1.3.0
|
||||
|
||||
commit 5cc58adb620d37694a9d57cd26c40b4cb2d1de68
|
||||
Author: Matthias Hopf <mhopf@suse.de>
|
||||
Date: Wed Feb 25 17:08:45 2009 +0100
|
||||
|
||||
Bump to 1.2.99.4
|
||||
|
||||
commit 7bd01756e684bb841f32fa30832eb7980f92ac9c
|
||||
Author: Adam Jackson <ajax@redhat.com>
|
||||
Date: Tue Feb 17 13:58:19 2009 -0500
|
||||
|
||||
Zero reply from GetPanning means panning not supported.
|
||||
|
||||
Don't throw BadRRCrtc for this case, that's just mean.
|
||||
|
||||
commit 1c7e20d115bc470479f32afd703ca7966754c54f
|
||||
Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
|
||||
Date: Tue Jan 27 20:06:28 2009 -0200
|
||||
|
||||
Janitor: Correct make distcheck and dont distribute autogen.sh
|
||||
|
||||
commit 1ff5e2cdfa2636317099a0917c9819ff4a81b025
|
||||
Author: Maarten Maathuis <madman2003@gmail.com>
|
||||
Date: Tue Dec 16 23:35:49 2008 +0100
|
||||
|
||||
Fix typo in 83f3f29dd3ac5d3875b5edef5805d6adb6a02698.
|
||||
|
||||
commit 83f3f29dd3ac5d3875b5edef5805d6adb6a02698
|
||||
Author: Matthias Hopf <mhopf@suse.de>
|
||||
Date: Tue Dec 16 18:20:00 2008 +0100
|
||||
|
||||
Add standard property name defines.
|
||||
|
||||
commit 6a480445e94c39df2bc9663e7590ab41cd17c465
|
||||
Author: Matthias Hopf <mhopf@suse.de>
|
||||
Date: Tue Dec 16 18:13:48 2008 +0100
|
||||
|
||||
Should read "EDID", not "EdidData".
|
||||
|
||||
commit 2aae5ec72ea285a051deaae98515587e1c77d7a5
|
||||
Author: Matthias Hopf <mhopf@suse.de>
|
||||
Date: Tue Dec 16 18:09:08 2008 +0100
|
||||
|
||||
Add description of standard properties.
|
||||
|
||||
commit 3fdbdc2b0a971db7497c6e03e215fd19ec400ce9
|
||||
Author: Matthias Hopf <mhopf@suse.de>
|
||||
Date: Fri Dec 12 12:41:21 2008 +0100
|
||||
|
||||
Bump to 1.2.99.3
|
||||
|
||||
commit 0c1527d2e89a807e54c549e44798e2cf63fafca2
|
||||
Author: Matthias Hopf <mhopf@suse.de>
|
||||
Date: Thu Dec 11 17:15:15 2008 +0100
|
||||
|
||||
Panning tracking areas describe full screen if set to 0.
|
||||
|
||||
commit d904495a4cbd66850dc03d32f223aaaf8425f077
|
||||
Author: Adam Jackson <ajax@redhat.com>
|
||||
Date: Wed Dec 10 11:15:48 2008 -0500
|
||||
|
||||
Add [GS]etOutputPrimary
|
||||
|
||||
commit 1334866b4aa025bce745140aa0f71f6493408ffa
|
||||
Merge: ad65017... e719120...
|
||||
Author: Keith Packard <keithp@keithp.com>
|
||||
Date: Tue Dec 9 20:59:47 2008 -0800
|
||||
|
||||
Merge commit 'origin/master'
|
||||
|
||||
commit e71912062f3985dd2f4d7b37e415b4a614b51d9b
|
||||
Author: Matthias Hopf <mhopf@suse.de>
|
||||
Date: Mon Dec 8 14:40:07 2008 +0100
|
||||
|
||||
Add unicode art pictures for panning.
|
||||
|
||||
commit 19a851fc85192906586138c5b17740ba28328eaa
|
||||
Author: Matthias Hopf <mhopf@suse.de>
|
||||
Date: Thu Dec 4 15:45:23 2008 +0100
|
||||
|
||||
Bump to 1.2.99.2
|
||||
|
||||
commit fb1f243716282f442235323834fec50aab7fe2f7
|
||||
Author: Matthias Hopf <mhopf@suse.de>
|
||||
Date: Thu Dec 4 15:44:12 2008 +0100
|
||||
|
||||
Nuke config-timestamp for panning. Specifying panning update on screen size change.
|
||||
|
||||
commit 425468e9a29071823316bfc027bc80eb20acc61e
|
||||
Author: Matthias Hopf <mhopf@suse.de>
|
||||
Date: Thu Dec 4 12:57:33 2008 +0100
|
||||
|
||||
Add panning to versioning information.
|
||||
|
||||
commit 419a0f20746d9f3e8962ea3294568343d9877b2c
|
||||
Author: Matthias Hopf <mhopf@suse.de>
|
||||
Date: Fri Nov 28 18:30:22 2008 +0100
|
||||
|
||||
Panning protocol bits description
|
||||
|
||||
commit 6b5d4ce8943c1d39392a0536d426fe27a9161b04
|
||||
Author: Matthias Hopf <mhopf@suse.de>
|
||||
Date: Fri Nov 28 18:29:19 2008 +0100
|
||||
|
||||
Panning protocol description
|
||||
|
||||
commit abe956221670598a5fd0f77107a3471c2fcf84df
|
||||
Author: Matthias Hopf <mhopf@suse.de>
|
||||
Date: Fri Nov 28 17:22:23 2008 +0100
|
||||
|
||||
Panning protocol extension
|
||||
|
||||
commit 546906dbe29816adaa6a35277266d79fbe131d0c
|
||||
Author: Adam Jackson <ajax@redhat.com>
|
||||
Date: Wed Dec 3 13:36:00 2008 -0500
|
||||
|
||||
Indent CRTC transform docs to match the rest of the requests.
|
||||
|
||||
commit 5d5e4cff8c69d36d10e682d59c9a9005a8b5ad18
|
||||
Author: Adam Jackson <ajax@redhat.com>
|
||||
Date: Wed Dec 3 12:02:18 2008 -0500
|
||||
|
||||
More doc for CRTC transforms
|
||||
|
||||
commit ad6501790bbaff528cf247df24ddb7de27576a11
|
||||
Author: Keith Packard <keithp@keithp.com>
|
||||
Date: Wed Nov 26 15:47:18 2008 -0800
|
||||
|
||||
Remove duplicate GetScreenResourcesCurrent declarations
|
||||
|
||||
Signed-off-by: Keith Packard <keithp@keithp.com>
|
||||
|
||||
commit 10bff0be50cf5cf314960bb85c472f1c63d37755
|
||||
Author: Keith Packard <keithp@keithp.com>
|
||||
Date: Wed Nov 26 09:24:36 2008 -0800
|
||||
|
||||
Update to version 1.2.99.1
|
||||
|
||||
commit 6c17940a7960885695aa6033de58c3cd2bb6fb79
|
||||
Merge: c998b46... 8793429...
|
||||
Author: Keith Packard <keithp@keithp.com>
|
||||
Date: Mon Nov 24 16:22:11 2008 -0800
|
||||
|
||||
Merge branch 'transform-proposal'
|
||||
|
||||
Conflicts:
|
||||
|
||||
randr.h
|
||||
randrproto.h
|
||||
randrproto.txt
|
||||
|
||||
commit 8793429f3d9d7cdf16be118ce05a68af6531568e
|
||||
Author: Keith Packard <keithp@keithp.com>
|
||||
Date: Mon Nov 24 16:01:55 2008 -0800
|
||||
|
||||
Describe projective transform additions in Introduction
|
||||
|
||||
Signed-off-by: Keith Packard <keithp@keithp.com>
|
||||
|
||||
commit c998b4658d735e5b2d7aa6983d732d40cc802823
|
||||
Author: Adam Jackson <ajax@redhat.com>
|
||||
Date: Mon Nov 24 16:29:58 2008 -0500
|
||||
|
||||
GSRC added in 1.3, not 1.2
|
||||
|
||||
commit 0d334c880396b9ef67ed899ad228cc693aad6a28
|
||||
Author: Adam Jackson <ajax@redhat.com>
|
||||
Date: Mon Nov 24 16:19:43 2008 -0500
|
||||
|
||||
Fix RRNumberRequests
|
||||
|
||||
commit 2c0635eed5ae418ca278d99e044f583d54273097
|
||||
Author: Adam Jackson <ajax@redhat.com>
|
||||
Date: Mon Nov 24 15:54:09 2008 -0500
|
||||
|
||||
Add GetScreenResourcesCurrent
|
||||
|
||||
commit 4a960ba3db3c3f8bdf3d519d263f910b6107b9ff
|
||||
Author: Julien Cristau <jcristau@debian.org>
|
||||
Date: Fri Jul 11 17:12:22 2008 +0200
|
||||
|
||||
spec: add missing list of clones to RRGetOutputInfo reply
|
||||
|
||||
commit 2be5a52d5f6bdd2aa70efcb06bd99a149c6db6ba
|
||||
Author: Adam Jackson <ajax@redhat.com>
|
||||
Date: Wed Jul 2 15:34:31 2008 -0400
|
||||
|
||||
randrproto 1.2.2
|
||||
|
||||
commit 9ab3d5cca3cf9a76c6873007b8d4345c838cc297
|
||||
Author: Adam Jackson <ajax@redhat.com>
|
||||
Date: Mon Jun 23 14:52:12 2008 -0400
|
||||
|
||||
Bug #16149: Make the field not be named 'delete' in C++ mode.
|
||||
|
||||
Thanks for the upward compatibility, Bjarne.
|
||||
|
||||
commit 2d09f9cac379c74f492b528a8aa2ac3b5997d617
|
||||
Author: Keith Packard <keithp@keithp.com>
|
||||
Date: Tue Mar 18 16:01:10 2008 -0700
|
||||
|
||||
Eliminate inverse matrix from randr transform protocol
|
||||
|
||||
It is easier, and potentially more precise, to compute the inverse in the
|
||||
server where everything can eventually be kept in floating point form.
|
||||
|
||||
commit aa5cd18a9f84aa075ffa7f70e6591b70b093119f
|
||||
Author: Keith Packard <keithp@keithp.com>
|
||||
Date: Sat Mar 15 00:32:35 2008 -0700
|
||||
|
||||
Add filters to CRTC transforms.
|
||||
|
||||
This allows scaling transforms to use bilinear filtering if desired.
|
||||
|
||||
commit 329b2068c1505dbc2eef7cc245b02c3bbf9c67ff
|
||||
Author: Keith Packard <keithp@keithp.com>
|
||||
Date: Fri Feb 15 15:49:35 2008 -0800
|
||||
|
||||
Add Transform request proposal for 1.3
|
||||
|
||||
commit 2df8499d24d15bfca3c928b681f64b6e8a05f0af
|
||||
Author: James Cloos <cloos@jhcloos.com>
|
||||
Date: Thu Dec 6 16:39:05 2007 -0500
|
||||
|
||||
Replace static ChangeLog with dist-hook to generate from git log
|
||||
|
||||
commit 3243afaa593f95bb89b1381dac2b920111ce36b1
|
||||
Author: Jakob Bornecrantz <wallbraker@gmail.com>
|
||||
Date: Tue Apr 17 14:25:38 2007 -0700
|
||||
|
||||
Correct a copy'n'paste error in RRGetOutputInfo spec text.
|
||||
|
||||
commit d1c5739ae19f7cc01a6a5603d3fae93e1f9ee3d1
|
||||
Author: Alan Coopersmith <alan.coopersmith@sun.com>
|
||||
Date: Mon Apr 9 14:31:10 2007 -0700
|
||||
|
||||
Delete duplicate B32's in xRRScreenChangeNotifyEvent
|
||||
|
||||
Caused compiler warnings:
|
||||
"randrproto.h", line 567: warning: syntax error: empty member declaration
|
||||
"randrproto.h", line 568: warning: syntax error: empty member declaration
|
||||
|
||||
commit aada204b1fc9ba6461efad3fe6bd032ee98536e1
|
||||
Author: Keith Packard <keithp@neko.keithp.com>
|
||||
Date: Sun Feb 18 21:02:30 2007 -0800
|
||||
|
||||
Bump version to 1.2.1.
|
||||
|
||||
And add copyright to configure.ac file
|
||||
|
||||
commit 0e689cecd65f420ec175046e4bb2b5386bf7b7c5
|
||||
Author: Keith Packard <keithp@neko.keithp.com>
|
||||
Date: Sun Feb 18 21:02:10 2007 -0800
|
||||
|
||||
Fix wording about requesting ConfigureNotify events.
|
||||
|
||||
commit 34ebf25a88972afdc561f4525d02b3fe41ac84bf
|
||||
Author: Eric Anholt <eric@anholt.net>
|
||||
Date: Thu Feb 1 15:08:10 2007 -0800
|
||||
|
||||
Fix the size of the padding fields of xRRGetCrtcGamma.
|
||||
|
||||
commit 615f8077c55593a2001ca4c84ff3ede5c2c2842a
|
||||
Author: Eric Anholt <eric@anholt.net>
|
||||
Date: Tue Jan 9 09:40:47 2007 -0800
|
||||
|
||||
Install the randr protocol description.
|
||||
|
||||
commit 335639ba8f0df1364a6807187ba17eeae5b187e4
|
||||
Author: Keith Packard <keithp@neko.keithp.com>
|
||||
Date: Thu Nov 30 13:25:35 2006 -0800
|
||||
|
||||
More bugs found by Ian Osgood during the XCB work.
|
||||
|
||||
ListOutputProperties has no nProperties field.
|
||||
Pad fields not mentioned in Gamma requests.
|
||||
sz_xRROUtputChangeNotifyEvent -> sz_xRROutputChangeNotifyEvent
|
||||
|
||||
commit 504556a9f886c84798ae8e0e46896a7c74b95c61
|
||||
Merge: c27ece2... 3d521b3...
|
||||
Author: Keith Packard <keithp@neko.keithp.com>
|
||||
Date: Thu Nov 30 09:44:20 2006 -0800
|
||||
|
||||
Merge branch 'multi-monitor'
|
||||
|
||||
commit 3d521b3d38d10c5ec660d13514ef3e626bef90fa
|
||||
Author: Keith Packard <keithp@neko.keithp.com>
|
||||
Date: Thu Nov 30 09:43:10 2006 -0800
|
||||
|
||||
Fix padding bugs discovered in XCB work
|
||||
|
||||
commit c27ece25924115448bf9e1dc461d5e7f4112f112
|
||||
Merge: 3305f63... 7363d44...
|
||||
Author: Eric Anholt <eric@anholt.net>
|
||||
Date: Mon Nov 27 15:31:33 2006 -0800
|
||||
|
||||
Merge branch 'multi-monitor'
|
||||
|
||||
This brings in the changes for RandR 1.2 protocol.
|
||||
|
||||
commit 7363d448c77c2d2ec2928d9d4bc41aac1c2d36b7
|
||||
Author: Keith Packard <keithp@neko.keithp.com>
|
||||
Date: Fri Nov 24 13:45:25 2006 -0800
|
||||
|
||||
Use BYTE for one-byte values. #undef Drawable needed.
|
||||
|
||||
commit a86f4b9442a48a3049e03a4c7d4fd022a860bf01
|
||||
Author: Keith Packard <keithp@neko.keithp.com>
|
||||
Date: Fri Nov 24 13:44:55 2006 -0800
|
||||
|
||||
Create Properties when configured. Pending defaults to Current
|
||||
|
||||
Change property semantics to create them with empty value
|
||||
when they are configured.
|
||||
|
||||
When clients request the Pending value of a property without any pending
|
||||
vlaue, the current value is returned instead.
|
||||
|
||||
commit af852261efa5eb7f8d16e3e90b8832bf66d93de7
|
||||
Author: Keith Packard <keithp@neko.keithp.com>
|
||||
Date: Mon Nov 20 20:58:16 2006 -0800
|
||||
|
||||
Change properties to have a pending value and report valid values.
|
||||
|
||||
Pending values are transferred to current values at mode set, allowing a
|
||||
queue of values to accrue in preparation for the modeset operation while
|
||||
still reporting valid 'current' values for applications.
|
||||
|
||||
The set of valid values is also available so applications can present
|
||||
a reasonable list to the user during configuration.
|
||||
|
||||
I renumbered a bunch of requests to keep property requests sequential.
|
||||
|
||||
commit cdc282c2995dc17dee97c6da24a9705478cf792e
|
||||
Author: Keith Packard <keithp@neko.keithp.com>
|
||||
Date: Thu Nov 16 08:50:49 2006 -0800
|
||||
|
||||
Remove output options. Clean up other sizes.
|
||||
|
||||
Output options will be controlled by properties instead.
|
||||
Also found a few instances in randrproto.txt using the wrong
|
||||
size for MODEINFO.
|
||||
|
||||
commit 96977842d01220bd4a294375c669b26ff30275d1
|
||||
Author: Keith Packard <keithp@neko.keithp.com>
|
||||
Date: Wed Nov 1 11:50:50 2006 -0800
|
||||
|
||||
Fix RRNumberErrors, start adding standard property names
|
||||
|
||||
commit 0e858436af67256c0af49317183df4bf8092183c
|
||||
Author: Keith Packard <keithp@mandolin.keithp.com>
|
||||
Date: Wed Nov 1 00:23:37 2006 -0800
|
||||
|
||||
Move physical size information from mode to output.
|
||||
|
||||
Modes are stored in CRTCs which have no physical size.
|
||||
Outputs have a physical size which can change, both in response
|
||||
to mode changes as well as (potentially) other factors.
|
||||
|
||||
Placing the physical size information in the output also permits clone
|
||||
mode to work across monitors of differing physical size.
|
||||
|
||||
commit 369d4e7d2030c707cf2ce37d06c1d23b0570910c
|
||||
Author: Keith Packard <keithp@neko.keithp.com>
|
||||
Date: Wed Oct 4 20:03:35 2006 -0700
|
||||
|
||||
Remove mode origins. Add preferred mode count.
|
||||
|
||||
Switched from identifying source of mode line to listing which modes are
|
||||
preferred by each output. This enables better CRTC sharing by making modes
|
||||
less arbitrarily different.
|
||||
|
||||
commit 3c354e7245dd7830b5600716185017831aff1316
|
||||
Author: Keith Packard <keithp@guitar.keithp.com>
|
||||
Date: Wed Oct 4 14:51:48 2006 -0700
|
||||
|
||||
Get rid of mode origins.
|
||||
|
||||
commit ee843ac7077f5dcae677ad1b7c794abb0b89e111
|
||||
Author: Keith Packard <keithp@guitar.keithp.com>
|
||||
Date: Tue Oct 3 21:02:39 2006 -0700
|
||||
|
||||
Add mode origins and output options.
|
||||
|
||||
Mode origins indicate the source of the mode information, from VESA timings,
|
||||
user config or whatever.
|
||||
|
||||
Output options currently include only panel fitting options; more may be
|
||||
added later (this field is 32 bits wide)
|
||||
|
||||
commit d6c9bdd0e6713a8c4dff53e88bd820ff1140758c
|
||||
Author: Keith Packard <keithp@guitar.keithp.com>
|
||||
Date: Tue Oct 3 11:01:56 2006 -0700
|
||||
|
||||
Add mode origins and output options.
|
||||
|
||||
Also document non-obvious defined types. Eliminate mode options.
|
||||
|
||||
commit 61d60a93dc0c827ef970f21f6b80099cc6c958f1
|
||||
Author: Keith Packard <keithp@guitar.keithp.com>
|
||||
Date: Tue Sep 19 16:33:40 2006 -0700
|
||||
|
||||
Update package version to 1.2.0. Fix various goofs found by building stuff.
|
||||
|
||||
commit ce292d7cad17be4b13e4b7fad27b0ecbed101689
|
||||
Author: Keith Packard <keithp@neko.keithp.com>
|
||||
Date: Sun Sep 17 23:41:55 2006 -0700
|
||||
|
||||
Fix various random typos found while attempting to use header files
|
||||
|
||||
Fix RRNumberRequests
|
||||
Rename errors to include RR to avoid conflicting with Xi.
|
||||
Add RR to various request/reply structs (oops).
|
||||
Remove nOutputs from SetCrtcConfigReq -- length is sufficient.
|
||||
Remove bogus members from SetCrtcConfigReply.
|
||||
Add MODEOPTION. Document protocol error encoding.
|
||||
|
||||
commit d6992dd3b7fcf22e4d670b29e8d0e2aba0d8e81d
|
||||
Author: Keith Packard <keithp@neko.keithp.com>
|
||||
Date: Fri Sep 15 15:41:02 2006 -0700
|
||||
|
||||
Add CONNECTION values to spec and header.
|
||||
|
||||
Missing CONNECTION values in encoding and header file.
|
||||
|
||||
commit e9a5a489acd591ff53823b406dca13c622439c14
|
||||
Author: Keith Packard <keithp@neko.keithp.com>
|
||||
Date: Thu Sep 14 23:53:04 2006 -0700
|
||||
|
||||
Update header files for new 1.2 spec. Fix missing bits in spec.
|
||||
|
||||
Spec was missing a few things in the encoding section.
|
||||
|
||||
commit 81ecda4300e007d62b36942fd6ac56a3ee1a1fa0
|
||||
Author: Keith Packard <keithp@neko.keithp.com>
|
||||
Date: Wed Sep 13 12:35:05 2006 -0700
|
||||
|
||||
Add .gitignore
|
||||
|
||||
commit 1cb8f4cda51fc256908a199c2599f46211c0cd52
|
||||
Author: Keith Packard <keithp@neko.keithp.com>
|
||||
Date: Wed Sep 13 12:33:58 2006 -0700
|
||||
|
||||
Fix RandR opcodes
|
||||
|
||||
commit b34676e8f709c4f8f6a2112c83103dfd0cabcbd7
|
||||
Author: Keith Packard <keithp@neko.keithp.com>
|
||||
Date: Wed Sep 13 12:23:08 2006 -0700
|
||||
|
||||
Add Output properties and CRTC Gamma ramps. Move sub-pixel to Output.
|
||||
|
||||
The property requests mirror the core window property requests, except that
|
||||
notify events are delivered to windows, rather than to outputs.
|
||||
|
||||
Gamma ramps lifted from XFree86V-idModeExtension; clients get to deal with
|
||||
converting single value to ramp though.
|
||||
|
||||
Subpixel moved to output; clients get to figure out the effect of rotation
|
||||
on subpixel ordering.
|
||||
|
||||
commit 1ec6ea06b8b7182b465e5c0d34475c20de76812b
|
||||
Author: Keith Packard <keithp@neko.keithp.com>
|
||||
Date: Tue Sep 12 18:40:03 2006 -0700
|
||||
|
||||
Spelling and formatting fixes.
|
||||
|
||||
commit e81693720d5d1acf31780de3f5fa90bf0f46a801
|
||||
Author: Keith Packard <keithp@neko.keithp.com>
|
||||
Date: Tue Sep 12 16:48:22 2006 -0700
|
||||
|
||||
Rearrange modes to be listed with screen resources. Encoding.
|
||||
|
||||
Modes are now listed as screen resources instead of with the output; they're
|
||||
shared across outputs for cloning.
|
||||
|
||||
Wrote up encoding.
|
||||
|
||||
commit 4e47d7af0574690dcf00516337bf0bbe567c9c75
|
||||
Author: Keith Packard <keithp@neko.keithp.com>
|
||||
Date: Mon Sep 11 22:49:15 2006 -0700
|
||||
|
||||
Finish basic request descriptions for version 1.2
|
||||
|
||||
outputs now report list of valid modes. crtcs accept a valid mode which must
|
||||
be supported on all connected outputs.
|
||||
|
||||
outputs also report connection status.
|
||||
|
||||
commit dd19f8fbfcc4b8863347ce422006715ed95a7c00
|
||||
Author: Keith Packard <keithp@neko.keithp.com>
|
||||
Date: Mon Sep 11 22:19:28 2006 -0700
|
||||
|
||||
Move supported mode list from CRTC to OUTPUT.
|
||||
|
||||
commit 62decb70de5bbe623859764e7cb492209478e304
|
||||
Author: Keith Packard <keithp@neko.keithp.com>
|
||||
Date: Mon Sep 11 21:29:39 2006 -0700
|
||||
|
||||
Start rework for screen/CRTC/monitor scheme.
|
||||
|
||||
commit 3305f634fae79603edc1d3aab1671a91caeb24d4
|
||||
Author: Alan Coopersmith <alan.coopersmith@sun.com>
|
||||
Date: Fri Jul 14 18:56:26 2006 -0700
|
||||
|
||||
renamed: .cvsignore -> .gitignore
|
||||
|
||||
commit 5220e7d7dfa64d95918b6f5ad52089fe87540b61
|
||||
Author: Keith Packard <keithp@neko.keithp.com>
|
||||
Date: Tue Jun 27 22:38:32 2006 +0200
|
||||
|
||||
Swizzle protocol contents to fix errors discovered while implementing X server piece
|
||||
|
||||
commit c414ce4494f0d062bc25fa671cf50a556c9e1d8c
|
||||
Author: Keith Packard <keithp@neko.keithp.com>
|
||||
Date: Tue Jun 27 02:27:10 2006 +0200
|
||||
|
||||
Just use CARD16 for indices
|
||||
|
||||
commit bbaabdd10585aed3bc44f2179ec4a68975a599cc
|
||||
Author: Keith Packard <keithp@neko.keithp.com>
|
||||
Date: Mon Jun 26 14:33:18 2006 +0200
|
||||
|
||||
Finish randerproto.h change for 1.2. Use Window instead of Drawable for 1.2.
|
||||
|
||||
commit d606ad207ccef5c050374b535acb0bd3ed3b95aa
|
||||
Author: Keith Packard <keithp@neko.keithp.com>
|
||||
Date: Mon Jun 26 12:42:50 2006 +0200
|
||||
|
||||
move protocol.txt to randrproto.txt. Start updating headers for version 1.2
|
||||
|
||||
commit 69f5562610a94cb7c67b5e8bcd7d1e3df53bbcad
|
||||
Author: Keith Packard <keithp@neko.keithp.com>
|
||||
Date: Sun Jun 25 08:51:27 2006 +0200
|
||||
|
||||
Finish encodings for 1.2 additions.
|
||||
|
||||
commit efde5d9569afef58317905ce30910f80cb3d01c8
|
||||
Author: Keith Packard <keithp@neko.keithp.com>
|
||||
Date: Sun Jun 25 03:35:24 2006 +0200
|
||||
|
||||
Start specifying the encoding for 1.2 requests
|
||||
|
||||
commit bb97699dcd1e274a1abc20f1a818aaf53b269a1b
|
||||
Author: Keith Packard <keithp@neko.keithp.com>
|
||||
Date: Sun Jun 25 03:25:59 2006 +0200
|
||||
|
||||
Describe relationship between RandR, Xinerama and XFree86-VidModeExtension
|
||||
|
||||
commit 66cb6d24ecd161c9f0b42ba55d8ae642fe02729e
|
||||
Author: Keith Packard <keithp@neko.keithp.com>
|
||||
Date: Sun Jun 25 03:10:20 2006 +0200
|
||||
|
||||
Add RRMonitorChangeNotify event. Complete RRSetMonitorConfig.
|
||||
|
||||
commit 3b72072c31258d1f12b93eba77b5e30cf46c5309
|
||||
Author: Keith Packard <keithp@neko.keithp.com>
|
||||
Date: Sat Jun 24 17:35:35 2006 -0700
|
||||
|
||||
Repair broken parts of spec. Add RRGetMonitorInfo and RRSetMonitorConfig
|
||||
|
||||
commit 2907236309d2862f61dcb0c032df1abdb9adc80e
|
||||
Author: Keith Packard <keithp@neko.keithp.com>
|
||||
Date: Sat Jun 24 16:58:16 2006 -0700
|
||||
|
||||
Clean up really broken text in the spec
|
||||
|
||||
commit 2370c88074c63bbe8d37d510e7e1f5c28fe6e573
|
||||
Author: Keith Packard <keithp@neko.keithp.com>
|
||||
Date: Sat Jun 24 16:22:44 2006 -0700
|
||||
|
||||
Reformat license text, add Intel copyright
|
||||
|
||||
commit 79af1c0351dbac7c89433b7ae141835a4566c428
|
||||
Author: Keith Packard <keithp@neko.keithp.com>
|
||||
Date: Sat Jun 24 16:14:07 2006 -0700
|
||||
|
||||
Introduce Xinerama changes. Remove spurious 'Bad' error name prefix.
|
||||
|
||||
commit 914084f13a379ee85dc1b8f6fd3f46c8ba7f7797
|
||||
Author: Kevin E Martin <kem@kem.org>
|
||||
Date: Thu Dec 15 00:24:38 2005 +0000
|
||||
|
||||
Update package version number for final X11R7 release candidate.
|
||||
|
||||
commit 49011800c0c000799428b543cc4fe72204abdd7f
|
||||
Author: Kevin E Martin <kem@kem.org>
|
||||
Date: Wed Oct 19 02:48:14 2005 +0000
|
||||
|
||||
Update package version number for RC1 release.
|
||||
|
||||
commit 6f41ee7aa447ea8245249dca9a665151f5b65725
|
||||
Author: Eric Anholt <anholt@freebsd.org>
|
||||
Date: Tue Aug 2 19:19:39 2005 +0000
|
||||
|
||||
Add basic .cvsignore files for proto modules.
|
||||
|
||||
commit 224663a4c053377b30ded5676a9438618969d92c
|
||||
Author: Kevin E Martin <kem@kem.org>
|
||||
Date: Fri Jul 29 21:22:56 2005 +0000
|
||||
|
||||
Various changes preparing packages for RC0:
|
||||
- Verify and update package version numbers as needed
|
||||
- Implement versioning scheme
|
||||
- Change bug address to point to bugzilla bug entry form
|
||||
- Disable loadable i18n in libX11 by default (use --enable-loadable-i18n to
|
||||
reenable it)
|
||||
- Fix makedepend to use pkgconfig and pass distcheck
|
||||
- Update build script to build macros first
|
||||
- Update modular Xorg version
|
||||
|
||||
commit fd007cfa47c96f73c16d12c8498f4735addd2f4e
|
||||
Author: Daniel Stone <daniel@fooishbar.org>
|
||||
Date: Sat May 21 04:14:00 2005 +0000
|
||||
|
||||
Set version to 1.1.
|
||||
|
||||
commit 0e6b22b5729df01528a78ce25780395f1ddbb7c4
|
||||
Author: Adam Jackson <ajax@nwnk.net>
|
||||
Date: Thu May 19 00:22:40 2005 +0000
|
||||
|
||||
revert last change, didn't do right thing at all, sorry for the noise
|
||||
|
||||
commit b805a556617f9a29e812a988b8be6056c654cd82
|
||||
Author: Adam Jackson <ajax@nwnk.net>
|
||||
Date: Thu May 19 00:10:18 2005 +0000
|
||||
|
||||
Require automake 1.7 in AM_INIT_AUTOMAKE
|
||||
|
||||
commit cede321965b378548cd0c43528451d47c70ea5b8
|
||||
Author: Josh Triplett <josh@speakeasy.net>
|
||||
Date: Tue May 17 06:34:47 2005 +0000
|
||||
|
||||
Add COPYING file for Randr. Note that the two included licenses are very
|
||||
similar, but contain a few minor differences when referring to the
|
||||
companies granting the license, HP and Compaq.
|
||||
|
||||
commit b3b508a6b8761d6a117639935ad4b18407846c61
|
||||
Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
|
||||
Date: Mon May 9 18:20:05 2005 +0000
|
||||
|
||||
Change all the protonames from <extension>Ext to <extension>Proto.
|
||||
|
||||
commit b385d6eefab1555f48255edbdc2c8c8fe101cf80
|
||||
Author: Kevin E Martin <kem@kem.org>
|
||||
Date: Fri May 6 01:46:31 2005 +0000
|
||||
|
||||
Initial build system files for proto module.
|
||||
|
||||
commit 05a69617948c14bc149d0d1c2a78894a9ba1970d
|
||||
Author: Markus Kuhn <Markus.Kuhn@cl.cam.ac.uk>
|
||||
Date: Sat Dec 4 00:42:46 2004 +0000
|
||||
|
||||
Encoding of numerous files changed to UTF-8
|
||||
|
||||
commit 3b8859eca5103b50149e0274182cf55d80ec7909
|
||||
Author: Egbert Eich <eich@suse.de>
|
||||
Date: Fri Apr 23 18:43:06 2004 +0000
|
||||
|
||||
Merging XORG-CURRENT into trunk
|
||||
|
||||
commit 17d50f3cdcf97b0d39c376c73d60750bff912f8b
|
||||
Author: Egbert Eich <eich@suse.de>
|
||||
Date: Sun Mar 14 08:31:36 2004 +0000
|
||||
|
||||
Importing vendor version xf86-4_4_99_1 on Sun Mar 14 00:26:39 PST 2004
|
||||
|
||||
commit cbbd2e5ed80cda31163a0d481232aecb96295656
|
||||
Author: Egbert Eich <eich@suse.de>
|
||||
Date: Wed Mar 3 12:10:54 2004 +0000
|
||||
|
||||
Importing vendor version xf86-4_4_0 on Wed Mar 3 04:09:24 PST 2004
|
||||
|
||||
commit a94538f86fbcab3c57a723036c03490d9a3eb120
|
||||
Author: Egbert Eich <eich@suse.de>
|
||||
Date: Thu Feb 26 13:35:14 2004 +0000
|
||||
|
||||
readding XFree86's cvs IDs
|
||||
|
||||
commit 359fc691ebea1276937657d34fccf8f4a8d9e33d
|
||||
Author: Egbert Eich <eich@suse.de>
|
||||
Date: Thu Feb 26 09:22:28 2004 +0000
|
||||
|
||||
Importing vendor version xf86-4_3_99_903 on Wed Feb 26 01:21:00 PST 2004
|
||||
|
||||
commit f37a7bf7eeaaf96461797ea4c06c3208d2cbdeb4
|
||||
Author: Kaleb Keithley <kaleb@freedesktop.org>
|
||||
Date: Fri Nov 14 16:48:43 2003 +0000
|
||||
|
||||
XFree86 4.3.0.1
|
||||
|
||||
commit 7ad444f10407c94b55911966c10cba0533cf8f74
|
||||
Author: Kaleb Keithley <kaleb@freedesktop.org>
|
||||
Date: Fri Nov 14 16:48:43 2003 +0000
|
||||
|
||||
Initial revision
|
@ -9,4 +9,14 @@ pkgconfig_DATA = randrproto.pc
|
||||
randrdocdir = $(datadir)/doc/$(PACKAGE)
|
||||
randrdoc_DATA = randrproto.txt
|
||||
|
||||
EXTRA_DIST = autogen.sh randrproto.pc.in $(randrdoc_DATA)
|
||||
EXTRA_DIST = randrproto.pc.in $(randrdoc_DATA)
|
||||
|
||||
EXTRA_DIST += ChangeLog
|
||||
MAINTAINERCLEANFILES = ChangeLog
|
||||
|
||||
.PHONY: ChangeLog
|
||||
|
||||
ChangeLog:
|
||||
$(CHANGELOG_CMD)
|
||||
|
||||
dist-hook: ChangeLog
|
||||
|
@ -1,12 +0,0 @@
|
||||
#! /bin/sh
|
||||
|
||||
srcdir=`dirname $0`
|
||||
test -z "$srcdir" && srcdir=.
|
||||
|
||||
ORIGDIR=`pwd`
|
||||
cd $srcdir
|
||||
|
||||
autoreconf -v --install || exit 1
|
||||
cd $ORIGDIR || exit $?
|
||||
|
||||
$srcdir/configure --enable-maintainer-mode "$@"
|
@ -22,10 +22,14 @@ dnl
|
||||
dnl Process this file with autoconf to create configure.
|
||||
|
||||
AC_PREREQ([2.57])
|
||||
AC_INIT([RandrProto], [1.2.1], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
|
||||
AC_INIT([RandrProto], [1.3.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
|
||||
AM_INIT_AUTOMAKE([foreign dist-bzip2])
|
||||
|
||||
# Require xorg-macros: XORG_CHANGELOG
|
||||
m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.2 or later before running autoconf/autogen])])
|
||||
XORG_MACROS_VERSION(1.2)
|
||||
XORG_RELEASE_VERSION
|
||||
XORG_CHANGELOG
|
||||
|
||||
AC_OUTPUT([Makefile
|
||||
randrproto.pc])
|
||||
|
@ -2,6 +2,7 @@
|
||||
* Copyright © 2000 Compaq Computer Corporation
|
||||
* Copyright © 2002 Hewlett Packard Company
|
||||
* Copyright © 2006 Intel Corporation
|
||||
* Copyright © 2008 Red Hat, Inc.
|
||||
*
|
||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||
* documentation for any purpose is hereby granted without fee, provided that
|
||||
@ -39,11 +40,11 @@ typedef unsigned long XRandrModeFlags;
|
||||
|
||||
#define RANDR_NAME "RANDR"
|
||||
#define RANDR_MAJOR 1
|
||||
#define RANDR_MINOR 2
|
||||
#define RANDR_MINOR 3
|
||||
|
||||
#define RRNumberErrors 3
|
||||
#define RRNumberEvents 2
|
||||
#define RRNumberRequests 25
|
||||
#define RRNumberRequests 32
|
||||
|
||||
#define X_RRQueryVersion 0
|
||||
/* we skip 1 to make old clients fail pretty immediately */
|
||||
@ -77,6 +78,20 @@ typedef unsigned long XRandrModeFlags;
|
||||
#define X_RRGetCrtcGamma 23
|
||||
#define X_RRSetCrtcGamma 24
|
||||
|
||||
/* V1.3 additions */
|
||||
#define X_RRGetScreenResourcesCurrent 25
|
||||
#define X_RRSetCrtcTransform 26
|
||||
#define X_RRGetCrtcTransform 27
|
||||
#define X_RRGetPanning 28
|
||||
#define X_RRSetPanning 29
|
||||
#define X_RRSetOutputPrimary 30
|
||||
#define X_RRGetOutputPrimary 31
|
||||
|
||||
#define RRTransformUnit (1L << 0)
|
||||
#define RRTransformScaleUp (1L << 1)
|
||||
#define RRTransformScaleDown (1L << 2)
|
||||
#define RRTransformProjective (1L << 3)
|
||||
|
||||
/* Event selection bits */
|
||||
#define RRScreenChangeNotifyMask (1L << 0)
|
||||
/* V1.2 additions */
|
||||
@ -136,6 +151,12 @@ typedef unsigned long XRandrModeFlags;
|
||||
|
||||
/* Conventional RandR output properties */
|
||||
|
||||
#define RR_PROPERTY_RANDR_EDID "RANDR_EDID"
|
||||
#define RR_PROPERTY_RANDR_EDID "EDID"
|
||||
#define RR_PROPERTY_SIGNAL_FORMAT "SignalFormat"
|
||||
#define RR_PROPERTY_SIGNAL_PROPERTIES "SignalProperties"
|
||||
#define RR_PROPERTY_CONNECTOR_TYPE "ConnectorType"
|
||||
#define RR_PROPERTY_CONNECTOR_NUMBER "ConnectorNumber"
|
||||
#define RR_PROPERTY_COMPATIBILITY_LIST "CompatibilityList"
|
||||
#define RR_PROPERTY_CLONE_LIST "CloneList"
|
||||
|
||||
#endif /* _RANDR_H_ */
|
||||
|
@ -2,6 +2,7 @@
|
||||
* Copyright © 2000 Compaq Computer Corporation
|
||||
* Copyright © 2002 Hewlett-Packard Company
|
||||
* Copyright © 2006 Intel Corporation
|
||||
* Copyright © 2008 Red Hat, Inc.
|
||||
*
|
||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||
* documentation for any purpose is hereby granted without fee, provided that
|
||||
@ -31,6 +32,7 @@
|
||||
#define _XRANDRP_H_
|
||||
|
||||
#include <X11/extensions/randr.h>
|
||||
#include <X11/extensions/renderproto.h>
|
||||
|
||||
#define Window CARD32
|
||||
#define Drawable CARD32
|
||||
@ -376,7 +378,11 @@ typedef struct {
|
||||
Atom type B32;
|
||||
CARD32 longOffset B32;
|
||||
CARD32 longLength B32;
|
||||
#ifdef __cplusplus
|
||||
BOOL _delete;
|
||||
#else
|
||||
BOOL delete;
|
||||
#endif
|
||||
BOOL pending;
|
||||
CARD16 pad1 B16;
|
||||
} xRRGetOutputPropertyReq;
|
||||
@ -557,6 +563,88 @@ typedef struct {
|
||||
} xRRSetCrtcGammaReq;
|
||||
#define sz_xRRSetCrtcGammaReq 12
|
||||
|
||||
/*
|
||||
* Additions for V1.3
|
||||
*/
|
||||
|
||||
typedef xRRGetScreenResourcesReq xRRGetScreenResourcesCurrentReq;
|
||||
|
||||
#define sz_xRRGetScreenResourcesCurrentReq sz_xRRGetScreenResourcesReq
|
||||
|
||||
typedef xRRGetScreenResourcesReply xRRGetScreenResourcesCurrentReply;
|
||||
#define sz_xRRGetScreenResourcesCurrentReply sz_xRRGetScreenResourcesReply
|
||||
|
||||
typedef struct {
|
||||
CARD8 reqType;
|
||||
CARD8 randrReqType;
|
||||
CARD16 length B16;
|
||||
RRCrtc crtc B32;
|
||||
xRenderTransform transform;
|
||||
CARD16 nbytesFilter; /* number of bytes in filter name */
|
||||
CARD16 pad B16;
|
||||
} xRRSetCrtcTransformReq;
|
||||
|
||||
#define sz_xRRSetCrtcTransformReq 48
|
||||
|
||||
typedef struct {
|
||||
CARD8 reqType;
|
||||
CARD8 randrReqType;
|
||||
CARD16 length B16;
|
||||
RRCrtc crtc B32;
|
||||
} xRRGetCrtcTransformReq;
|
||||
|
||||
#define sz_xRRGetCrtcTransformReq 8
|
||||
|
||||
typedef struct {
|
||||
BYTE type;
|
||||
CARD8 status;
|
||||
CARD16 sequenceNumber B16;
|
||||
CARD32 length B32;
|
||||
xRenderTransform pendingTransform;
|
||||
BYTE hasTransforms;
|
||||
CARD8 pad0;
|
||||
CARD16 pad1 B16;
|
||||
xRenderTransform currentTransform;
|
||||
CARD32 pad2 B32;
|
||||
CARD16 pendingNbytesFilter B16; /* number of bytes in filter name */
|
||||
CARD16 pendingNparamsFilter B16; /* number of filter params */
|
||||
CARD16 currentNbytesFilter B16; /* number of bytes in filter name */
|
||||
CARD16 currentNparamsFilter B16; /* number of filter params */
|
||||
} xRRGetCrtcTransformReply;
|
||||
|
||||
#define sz_xRRGetCrtcTransformReply 96
|
||||
|
||||
typedef struct {
|
||||
CARD8 reqType;
|
||||
CARD8 randrReqType;
|
||||
CARD16 length B16;
|
||||
Window window B32;
|
||||
RROutput output B32;
|
||||
} xRRSetOutputPrimaryReq;
|
||||
#define sz_xRRSetOutputPrimaryReq 12
|
||||
|
||||
typedef struct {
|
||||
CARD8 reqType;
|
||||
CARD8 randrReqType;
|
||||
CARD16 length B16;
|
||||
Window window B32;
|
||||
} xRRGetOutputPrimaryReq;
|
||||
#define sz_xRRGetOutputPrimaryReq 8
|
||||
|
||||
typedef struct {
|
||||
BYTE type;
|
||||
CARD8 pad;
|
||||
CARD16 sequenceNumber B16;
|
||||
CARD32 length B32;
|
||||
RROutput output B32;
|
||||
CARD32 pad1 B32;
|
||||
CARD32 pad2 B32;
|
||||
CARD32 pad3 B32;
|
||||
CARD32 pad4 B32;
|
||||
CARD32 pad5 B32;
|
||||
} xRRGetOutputPrimaryReply;
|
||||
#define sz_xRRGetOutputPrimaryReply 32
|
||||
|
||||
/*
|
||||
* event
|
||||
*/
|
||||
@ -564,8 +652,8 @@ typedef struct {
|
||||
CARD8 type; /* always evBase + ScreenChangeNotify */
|
||||
CARD8 rotation; /* new rotation */
|
||||
CARD16 sequenceNumber B16;
|
||||
Time timestamp B32; B32; /* time screen was changed */
|
||||
Time configTimestamp B32; B32; /* time config data was changed */
|
||||
Time timestamp B32; /* time screen was changed */
|
||||
Time configTimestamp B32; /* time config data was changed */
|
||||
Window root B32; /* root window */
|
||||
Window window B32; /* window requesting notification */
|
||||
SizeID sizeID B16; /* new size ID */
|
||||
@ -598,8 +686,8 @@ typedef struct {
|
||||
CARD8 type; /* always evBase + RRNotify */
|
||||
CARD8 subCode; /* RRNotify_OutputChange */
|
||||
CARD16 sequenceNumber B16;
|
||||
Time timestamp B32; /* time crtc was changed */
|
||||
Time configTimestamp B32; /* time crtc was changed */
|
||||
Time timestamp B32; /* time output was changed */
|
||||
Time configTimestamp B32; /* time config was changed */
|
||||
Window window B32; /* window requesting notification */
|
||||
RROutput output B32; /* affected output */
|
||||
RRCrtc crtc B32; /* current crtc */
|
||||
@ -626,6 +714,70 @@ typedef struct {
|
||||
} xRROutputPropertyNotifyEvent;
|
||||
#define sz_xRROutputPropertyNotifyEvent 32
|
||||
|
||||
typedef struct {
|
||||
CARD8 reqType;
|
||||
CARD8 randrReqType;
|
||||
CARD16 length B16;
|
||||
RRCrtc crtc B32;
|
||||
} xRRGetPanningReq;
|
||||
#define sz_xRRGetPanningReq 8
|
||||
|
||||
typedef struct {
|
||||
BYTE type;
|
||||
CARD8 status;
|
||||
CARD16 sequenceNumber B16;
|
||||
CARD32 length B32;
|
||||
Time timestamp B32;
|
||||
CARD16 left B16;
|
||||
CARD16 top B16;
|
||||
CARD16 width B16;
|
||||
CARD16 height B16;
|
||||
CARD16 track_left B16;
|
||||
CARD16 track_top B16;
|
||||
CARD16 track_width B16;
|
||||
CARD16 track_height B16;
|
||||
INT16 border_left B16;
|
||||
INT16 border_top B16;
|
||||
INT16 border_right B16;
|
||||
INT16 border_bottom B16;
|
||||
} xRRGetPanningReply;
|
||||
#define sz_xRRGetPanningReply 36
|
||||
|
||||
typedef struct {
|
||||
CARD8 reqType;
|
||||
CARD8 randrReqType;
|
||||
CARD16 length B16;
|
||||
RRCrtc crtc B32;
|
||||
Time timestamp B32;
|
||||
CARD16 left B16;
|
||||
CARD16 top B16;
|
||||
CARD16 width B16;
|
||||
CARD16 height B16;
|
||||
CARD16 track_left B16;
|
||||
CARD16 track_top B16;
|
||||
CARD16 track_width B16;
|
||||
CARD16 track_height B16;
|
||||
INT16 border_left B16;
|
||||
INT16 border_top B16;
|
||||
INT16 border_right B16;
|
||||
INT16 border_bottom B16;
|
||||
} xRRSetPanningReq;
|
||||
#define sz_xRRSetPanningReq 36
|
||||
|
||||
typedef struct {
|
||||
BYTE type;
|
||||
CARD8 status;
|
||||
CARD16 sequenceNumber B16;
|
||||
CARD32 length B32;
|
||||
Time newTimestamp B32;
|
||||
CARD32 pad1 B32;
|
||||
CARD32 pad2 B32;
|
||||
CARD32 pad3 B32;
|
||||
CARD32 pad4 B32;
|
||||
CARD32 pad5 B32;
|
||||
} xRRSetPanningReply;
|
||||
#define sz_xRRSetPanningReply 32
|
||||
|
||||
#undef RRModeFlags
|
||||
#undef RRCrtc
|
||||
#undef RRMode
|
||||
|
@ -1,6 +1,6 @@
|
||||
The X Resize, Rotate and Reflect Extension
|
||||
Version 1.2
|
||||
2006-4-13
|
||||
Version 1.3
|
||||
2006-20-7
|
||||
|
||||
Jim Gettys
|
||||
Jim.Gettys@hp.com
|
||||
@ -110,6 +110,20 @@ bandwidth for large resolution screens. This is exposed in RandR by
|
||||
requiring that nothing be connected to the second CRTC when driving a high
|
||||
resolution screen on the first.
|
||||
|
||||
1.3 Introduction to version 1.3 of the extension
|
||||
|
||||
Version 1.3 builds on the changes made with version 1.2 and adds some new
|
||||
capabilities without fundmentally changing the extension again. The
|
||||
following features are added in this version:
|
||||
|
||||
• Projective Transforms. The implementation work for general rotation
|
||||
support made it trivial to add full projective transformations. These
|
||||
can be used to scale the screen up/down as well as perform projector
|
||||
keystone correct or other effects.
|
||||
|
||||
• Panning. It was removed with RandR 1.2 because the old semantics didn't
|
||||
fit any longer. With RandR 1.3 panning can be specified per crtc.
|
||||
|
||||
1.1 Acknowledgements
|
||||
|
||||
Our thanks to the contributors to the design found on the xpert mailing
|
||||
@ -497,6 +511,12 @@ dynamic changes in the display environment.
|
||||
extension and the core protocol. They must be non-zero, or Value
|
||||
error results.
|
||||
|
||||
If panning is enabled, the width and height of the panning and the
|
||||
tracking areas are adapted to the new size and clamped afterwards.
|
||||
Disabled panning axes remain disabled.
|
||||
Panning borders are disabled if their requirements are no longer met
|
||||
(see RRSetPanning).
|
||||
|
||||
┌───
|
||||
RRGetScreenResources
|
||||
window: WINDOW
|
||||
@ -528,10 +548,10 @@ dynamic changes in the display environment.
|
||||
|
||||
This request explicitly asks the server to ensure that the
|
||||
configuration data is up-to-date wrt the hardware. If that requires
|
||||
polling, this is when such polling would take place. Requests for
|
||||
further information should not poll, but rather return the data
|
||||
collected at this point.
|
||||
|
||||
polling, this is when such polling would take place. If the
|
||||
current configuration is all that's required, use
|
||||
RRGetScreenResourcesCurrent instead.
|
||||
|
||||
┌───
|
||||
RRGetOutputInfo
|
||||
output: OUTPUT
|
||||
@ -547,7 +567,7 @@ dynamic changes in the display environment.
|
||||
widthInMillimeters, heightInMillimeters: CARD32
|
||||
crtcs: LISTofCRTC
|
||||
clones: LISTofOUTPUT
|
||||
modes: LISTofOUTPUT
|
||||
modes: LISTofMODE
|
||||
num-preferred: CARD16
|
||||
└───
|
||||
Errors: Output
|
||||
@ -846,8 +866,10 @@ dynamic changes in the display environment.
|
||||
'x' and 'y' indicate the position of this CRTC within the screen
|
||||
region. They will be set to 0 when the CRTC is disabled.
|
||||
|
||||
'width' and 'height' indicate the size of the area presented by this
|
||||
CRTC.
|
||||
'width' and 'height' indicate the size of the area within the screen
|
||||
presented by this CRTC. This may be different than the size of the
|
||||
mode due to rotation. They will be set to 0 when the CRTC is
|
||||
disabled.
|
||||
|
||||
'mode' indicates which mode is active, or None indicating that the
|
||||
CRTC has been disabled and is not displaying the screen contents.
|
||||
@ -925,6 +947,12 @@ dynamic changes in the display environment.
|
||||
then re-enabling the CRTC at the new configuration to avoid an
|
||||
invalid intermediate configuration.
|
||||
|
||||
If panning is enabled, the width and height of the panning and the
|
||||
tracking areas are clamped to the new mode size.
|
||||
Disabled panning axes remain disabled.
|
||||
Panning borders are disabled if their requirements are no longer met
|
||||
(see RRSetPanning).
|
||||
|
||||
When this request succeeds, 'status' contains Success and the
|
||||
requested changes to configuration will have been made.
|
||||
|
||||
@ -968,6 +996,250 @@ dynamic changes in the display environment.
|
||||
must be the size returned by RRGetCrtcGammaSize else a Value error
|
||||
results.
|
||||
|
||||
7.2. Extension Requests added in version 1.3 of the extension
|
||||
|
||||
┌───
|
||||
RRGetScreenResourcesCurrent
|
||||
window: WINDOW
|
||||
▶
|
||||
timestamp: TIMESTAMP
|
||||
config-timestamp: TIMESTAMP
|
||||
crtcs: LISTofCRTC
|
||||
outputs: LISTofOUTPUT
|
||||
modes: LISTofMODEINFO
|
||||
└───
|
||||
Errors: Window
|
||||
|
||||
RRGetScreenResourcesCurrent returns the list of outputs and crtcs
|
||||
connected to the screen associated with 'window'.
|
||||
|
||||
'timestamp' indicates when the configuration was last set.
|
||||
|
||||
'config-timestamp' indicates when the configuration information last
|
||||
changed. Requests to configure the output will fail unless the
|
||||
timestamp indicates that the information the client is using is up
|
||||
to date, to ensure clients can be well behaved in the face of race
|
||||
conditions.
|
||||
|
||||
'crtcs' contains the list of CRTCs associated with the screen.
|
||||
|
||||
'outputs' contains the list of outputs associated with the screen.
|
||||
|
||||
'modes' contains the list of modes associated with the screen
|
||||
|
||||
Unlike RRGetScreenResources, this merely returns the current
|
||||
configuration, and does not poll for hardware changes.
|
||||
|
||||
┌───
|
||||
RRSetCrtcTransform
|
||||
crtc: CRTC
|
||||
transform: TRANSFORM
|
||||
filter: STRING8
|
||||
values: LISTofFIXED
|
||||
└───
|
||||
Errors: Crtc, Match
|
||||
|
||||
This request provides a mechanism that is more general than the
|
||||
existing rotation and reflection values for describing the
|
||||
transformation from frame buffer image to crtc presentation.
|
||||
'transform' is a full 2D projective transformation from screen
|
||||
coordinate space to crtc coordinate space. This transformation is
|
||||
applied before the rotation and reflection values to compute the
|
||||
complete transform.
|
||||
|
||||
'filter' and 'values' specify a Render filter that may be used by the
|
||||
server when transforming data from frame buffer to crtc.
|
||||
|
||||
This request sets the transform to be used at the next
|
||||
RRSetCrtcConfig request execution; it does not cause any change to
|
||||
occur in the current configuration.
|
||||
|
||||
When a non-identity transformation is in use, the rectangle returned
|
||||
by RRGetCrtcInfo defines the bounding rectangle of the screen that is
|
||||
projected to the crtc. It is this projected rectangle which must be
|
||||
within the area of the screen when the mode is set.
|
||||
|
||||
┌───
|
||||
RRGetCrtcTransform
|
||||
crtc: CRTC
|
||||
▶
|
||||
pending-transform: TRANSFORM
|
||||
pending-filter: STRING8
|
||||
pending-values: LISTofFIXED
|
||||
current-transform: TRANSFORM
|
||||
current-filter: STRING8
|
||||
current-values: LISTofFIXED
|
||||
└───
|
||||
|
||||
This request returns the pending and current transforms for the
|
||||
specified CRTC. The pending transform will be the same as the current
|
||||
transform if no new pending transform has been set since the last call
|
||||
to RRSetCrtcConfig.
|
||||
|
||||
┌───
|
||||
RRGetPanning
|
||||
crtc: CRTC
|
||||
▶
|
||||
status: RRCONFIGSTATUS
|
||||
timestamp: TIMESTAMP
|
||||
left, top, width, height: CARD16
|
||||
track_left, track_top, track_width, track_height: CARD16
|
||||
border_left, border_top, border_right, border_bottom: INT16
|
||||
└───
|
||||
|
||||
Errors: Crtc
|
||||
|
||||
Version 1.3 adds panning support again. If multiple crtcs are active
|
||||
the panning behavior can be defined per crtc individually.
|
||||
RRGetPanning returns information about the currently set panning
|
||||
configuration for the specified crtc. If the CRTC does not support
|
||||
panning, all fields (except timestamp) will be 0.
|
||||
|
||||
'timestamp' indicates when the configuration was last set.
|
||||
|
||||
All other entries are explained for RRSetPanning.
|
||||
|
||||
┌───
|
||||
RRSetPanning
|
||||
crtc: CRTC
|
||||
timestamp: TIMESTAMP
|
||||
left, top, width, height: CARD16
|
||||
track_left, track_top, track_width, track_height: CARD16
|
||||
border_left, border_top, border_right, border_bottom: INT16
|
||||
▶
|
||||
status: RRCONFIGSTATUS
|
||||
new-timestamp: TIMESTAMP
|
||||
└───
|
||||
Errors: Crtc, Match
|
||||
|
||||
This request sets the panning parameters. As soon as panning is
|
||||
enabled, the CRTC position can change with every pointer move.
|
||||
RRCrtcChangeNotify events are sent to the clients requesting those.
|
||||
|
||||
If 'timestamp' is less than the time when the configuration was last
|
||||
successfully set, the request is ignored and InvalidTime returned in
|
||||
status.
|
||||
|
||||
┌──┳━━━━━━━━━━━━━━┳─────┬ ─ ─ ─ ─ ─ ┐
|
||||
│ ┃ CRTC ┃ │
|
||||
│ ┃ ┃ │ │
|
||||
│ ┃ X┃→ │
|
||||
│ ┃ ┃ │ │ framebuffer
|
||||
│ ┗━━━━━━━━━━━━━━┛ │
|
||||
│ │ │
|
||||
│panning area │
|
||||
└───────────────────────┴ ─ ─ ─ ─ ─ ┘
|
||||
|
||||
'left', 'top', 'width', and 'height' contain the total panning area
|
||||
for this CRTC. 'width' has to be larger than or equal to the CRTC's
|
||||
width or 0, and 'left'+'width' must be within the screen size, else a
|
||||
Match error results. Equivalent restrictions for the height exist.
|
||||
'width' or 'height' set to 0 indicate that panning should be disabled
|
||||
on the according axis. Setting 'width'/'height' to the CRTC's
|
||||
width/height will disable panning on the X/Y axis as well, but
|
||||
RRSetScreenSize will silently enable panning if the screen size is
|
||||
increased. This does not happen if set to 0.
|
||||
|
||||
┌────────┳━━━━━━━━━━━━━━┳ ─ ─ ─ ─ ─ ┐
|
||||
│ ┃ CRTC ┃
|
||||
│ ┃ ┃ │
|
||||
│ ┃ ┃
|
||||
│ ┃ ┃ │ tracking area
|
||||
│ ┗━━━━━━━━━━━━━━┫ X
|
||||
│ ↓ │ ↓ │
|
||||
│panning area │
|
||||
└───────────────────────┴ ─ ─ ─ ─ ─ ┘
|
||||
|
||||
'track_left', 'track_top', 'track_width', and 'track_height' contain
|
||||
the pointer area for which the panning region is updated. For normal
|
||||
use cases it should enclose the panning area minus borders, and is
|
||||
typically set to either the panning area minus borders, or to the
|
||||
total screen size. If set to the total screen size, the CRTC will pan
|
||||
in the remaining axis even if the pointer is outside the panning area
|
||||
on a different CRTC, as shown in the figure above. If the pointer is
|
||||
outside the tracking area, the CRTC will not pan. Zero can be used as
|
||||
an alias for the total screen size.
|
||||
|
||||
┌──┳━━━━━━━━━━━━━━┳────────────┐
|
||||
│ ┃ CRTC ┃ │
|
||||
│ ┃ ┃ │
|
||||
│ ┃ ┃→ │
|
||||
│ ┃ X←→┃ │
|
||||
│ ┃ border_right │
|
||||
│ ┗━━━━━━━━━━━━━━┛ │
|
||||
│ │
|
||||
│panning area │
|
||||
└──────────────────────────────┘
|
||||
|
||||
'border_left', 'border_top', 'border_right', and 'border_bottom'
|
||||
define the distances from the CRTC borders that will activate panning
|
||||
if the pointer hits them. If the borders are 0, the screen will pan
|
||||
when the pointer hits the CRTC borders (behavior of pre-RandR Xserver
|
||||
panning). If the borders are positive, the screen will pan when the
|
||||
pointer gets close to the CRTC borders, if they are negative, the
|
||||
screen will only pan when the pointer is already way past the CRTC
|
||||
borders. Negative values might confuse users and disable panning to
|
||||
the very edges of the screen. Thus they are discouraged.
|
||||
border_left + border_right has to be lower or equal than the CRTC's
|
||||
width, else a Match error results. An equivalent restriction for the
|
||||
height exists.
|
||||
|
||||
Screen size changes update the panning and the tracking areas to the
|
||||
new size. Both screen size changes and mode changes clamp these areas
|
||||
to the current CRTC size. In these cases panning borders are disabled
|
||||
if their requirements are no longer met.
|
||||
|
||||
When this request succeeds, 'status' contains Success and the
|
||||
requested changes to configuration will have been made.
|
||||
|
||||
'new-time-stamp' contains the time at which this request was
|
||||
executed.
|
||||
|
||||
┌───
|
||||
RRSetOutputPrimary
|
||||
window: WINDOW
|
||||
output: OUTPUT
|
||||
└───
|
||||
Errors: Match, Output, Window
|
||||
|
||||
RRSetOutputPrimary marks 'output' as the primary output for the
|
||||
screen with the same root window as 'window'. This output's CRTC
|
||||
will be sorted to the front of the list in Xinerama and RANDR
|
||||
geometry requests for the benefit of older applications. The
|
||||
default primary output is None, and None is a legal value to pass
|
||||
to RRSetOutputPrimary. This request is expected to be used by
|
||||
desktop environments to mark the screen that should hold the primary
|
||||
menu bar or panel.
|
||||
|
||||
If the named output is not connected to any CRTC, or if the Window
|
||||
and Output are not attached to the same screen, BadMatch is generated.
|
||||
In the latter case, errorValue will be the Window, not the Output.
|
||||
|
||||
As this changes the logical layout of the screen, ConfigureNotify
|
||||
and RRScreenChangeNotify will be generated on the appropriate root
|
||||
window when the primary output is changed by this call. This request
|
||||
also generates RROutputChangeNotify events on the outputs that gained
|
||||
and lost primary status.
|
||||
|
||||
If an output is disconnected asynchronously (eg. due to recabling),
|
||||
the primary status does not change, but RROutputChangeNotify events
|
||||
will be generated if the hardware is capable of detecting this;
|
||||
clients are expected to reconfigure if appropriate.
|
||||
|
||||
If an output is deleted (eg. due to device hotplug), the server will
|
||||
act as though None was passed to RRSetOutputPrimary, including
|
||||
generating the appropriate events.
|
||||
|
||||
┌───
|
||||
RRGetOutputPrimary
|
||||
window: WINDOW
|
||||
▶
|
||||
output: OUTPUT
|
||||
└───
|
||||
Errors: Window
|
||||
|
||||
RRGetOutputPrimary returns the primary output for the system.
|
||||
|
||||
❧❧❧❧❧❧❧❧❧❧❧
|
||||
|
||||
8. Extension Events
|
||||
@ -990,12 +1262,12 @@ factors, such as re-cabling a monitor, etc.
|
||||
configTimestamp: TIMESTAMP time config data was changed
|
||||
root: WINDOW root window of screen
|
||||
window: WINDOW window requesting notification
|
||||
size-id: SIZEID index of new size
|
||||
size-id: SIZEID index of new SCREENSIZE
|
||||
subpixelOrder: SUBPIXELORDER order of subpixels
|
||||
widthInPixels: CARD16
|
||||
heightInPixels: CARD16
|
||||
widthInMillimeters: CARD16
|
||||
heightInMillimeters: CARD16
|
||||
widthInPixels: CARD16 width in pixels of the new SCREENSIZE
|
||||
heightInPixels: CARD16 height in pixels of the new SCREENSIZE
|
||||
widthInMillimeters: CARD16 width in mm of the new SCREENSIZE
|
||||
heightInMillimeters: CARD16 height in mm of the new SCREENSIZE
|
||||
└───
|
||||
This event is generated whenever the screen configuration is changed
|
||||
and sent to requesting clients. 'timestamp' indicates when the
|
||||
@ -1021,6 +1293,13 @@ factors, such as re-cabling a monitor, etc.
|
||||
just at the time when a display manager or log in script might
|
||||
be changing the screen size or configuration.
|
||||
|
||||
Note that the sizes in this event reflect the new SCREENSIZE and
|
||||
thus will appear rotated by the 'rotation' parameter from the sizes
|
||||
of the screen itself. In other words, when rotation is 90 or 270,
|
||||
widthInPixels in this event will be the same as the height value
|
||||
from a ConfigureNotify that reflects the same size change. This
|
||||
will probably confuse developers.
|
||||
|
||||
8.1 Events added in version 1.2 of the RandR extension
|
||||
|
||||
┌───
|
||||
@ -1065,27 +1344,26 @@ factors, such as re-cabling a monitor, etc.
|
||||
┌───
|
||||
RRCrtcChangeNotify
|
||||
timestamp: TIMESTAMP time monitor was changed
|
||||
config-timestamp: TIMESTAMP time config data was changed
|
||||
root: WINDOW root window of screen
|
||||
window: WINDOW window requesting notification
|
||||
crtc: CRTC CRTC which changed
|
||||
mode: MODE new mode
|
||||
rotation: ROTATION; new rotation
|
||||
x: INT16 x position of CRTC within screen
|
||||
y: INT16 y position of CRTC within screen
|
||||
width: CARD16 width of new mode
|
||||
height: CARD16 height of new mode
|
||||
└───
|
||||
This event is generated whenever the CRTC configuration is changed
|
||||
and sent to requesting clients. 'timestamp' indicates when the
|
||||
CRTC configuration was changed. 'config-timestamp' says when the
|
||||
last time the configuration was changed. 'root' is the root of the
|
||||
screen the change occurred on, 'window' is window selecting for this
|
||||
event.
|
||||
CRTC configuration was changed. 'window' is window selecting for this
|
||||
event. 'mode' is the new mode, or None if the crtc is disabled.
|
||||
'x' and 'y' mark the location in the screen where this CRTC
|
||||
is reading data. 'width' and 'height' indicate the size of the
|
||||
mode. 'x', 'y, 'width' and 'height' are all zero when 'mode' is None.
|
||||
|
||||
This event is sent whenever the monitor's configuration changes
|
||||
or if a new monitor configuration becomes available that was
|
||||
not available in the past. In this case (config-timestamp in
|
||||
the event not being equal to the config-timestamp returned in
|
||||
the last call to RRGetCrtcModes), the client MUST call
|
||||
not available in the past. In this case, the client MUST call
|
||||
RRGetCrtcModes to update its view of possible monitor
|
||||
configurations to have a correct view of possible monitor
|
||||
organizations.
|
||||
@ -1100,7 +1378,173 @@ factors, such as re-cabling a monitor, etc.
|
||||
|
||||
❧❧❧❧❧❧❧❧❧❧❧
|
||||
|
||||
9. Extension Versioning
|
||||
9. Properties
|
||||
|
||||
Properties are used for output specific parameters, and for announcing
|
||||
static or rarely changing data. Announced data is typically
|
||||
immutable. Properties are also used for evaluating new parameters
|
||||
before adding them to the RandR protocol.
|
||||
|
||||
The following properties are hereby declared official, and drivers SHOULD
|
||||
prefix driver specific properties with '_', unless they are planned to be
|
||||
added to this specification. List values, that are not declared by the table
|
||||
below, and will remain driver specific or are not planned to be added to this
|
||||
specification, SHOULD be prefixed with "_" as well in order to avoid name
|
||||
space or semantics clashes with future extensions of these values.
|
||||
|
||||
Beginning with version 1.3 of the RandR extension, certain properties
|
||||
are mandatory and MUST be provided by implementations. Earlier
|
||||
versions of the RandR extension MAY provide these properties as well,
|
||||
as long as the semantics are not altered. Clients SHOULD fall back
|
||||
gracefully to lower version functionality, though, if the driver
|
||||
doesn't handle a mandatory property correctly.
|
||||
|
||||
9.1 Known properties
|
||||
|
||||
"EDID" aka RR_PROPERTY_RANDR_EDID
|
||||
Type: int8 [n]
|
||||
Flags: Immutable
|
||||
Range/List: -
|
||||
|
||||
Raw EDID data from the device attached to the according
|
||||
output. Should include main EDID data and all extension
|
||||
blocks.
|
||||
|
||||
"SignalFormat" aka RR_PROPERTY_SIGNAL_FORMAT
|
||||
Type: int32 / Atom
|
||||
Flags: -
|
||||
Range/List: unknown VGA TMDS LVDS Composite Composite-PAL
|
||||
Composite-NTSC Composite-SECAM SVideo
|
||||
Component DisplayPort
|
||||
|
||||
Signal format / physical protocol format that is used for the
|
||||
specified output. valid-values lists all possible formats on this
|
||||
output, which SHOULD be a subset of the list above and MUST be static.
|
||||
Values with dashes (Composite-PAL) describe more specific versions of
|
||||
the base values (Composite) and SHOULD be used if known to the driver.
|
||||
A driver MAY change this property of an output if the underlying
|
||||
hardware indicates a protocol change (e.g. TV formats). Clients are
|
||||
allowed to change the signal format in order to select a different
|
||||
signal format (e.g. Composite etc.) or physical protocol (e.g. VGA or
|
||||
TMDS on DVI-I).
|
||||
Laptop panels SHOULD not be detected with this property, but rather by
|
||||
ConnectorType.
|
||||
|
||||
"SignalProperties" aka RR_PROPERTY_SIGNAL_FORMAT
|
||||
Type: int32 [n] / Atom
|
||||
Flags: -
|
||||
Range/List: For Composite signals:
|
||||
NTSC NTSC-M NTSC-J NTSC-N NTSC-4.43 NTSC-film
|
||||
PAL PAL-B PAL-G PAL-H PAL-H PAL-I PAL-M PAL-D
|
||||
PAL-N PAL-Nc PAL-L PAL-60
|
||||
SECAM SECAM-L SECAM-B SECAM-G SECAM-D SECAM-K
|
||||
SECAM-H SECAM-K
|
||||
For TMDS signals:
|
||||
SingleLink DualLink
|
||||
For DisplayPort signals:
|
||||
Lane1 Lane2 Lane4 LowSpeed HiSpeed
|
||||
|
||||
Properties of the signal format that is currently used for the
|
||||
specified output. valid-values lists all possible properties on this
|
||||
output, which SHOULD be a subset of the list above. It will change if
|
||||
SignalFormat changes. Multiple properties are allowed.
|
||||
Values with dashes (PAL-B) describe more specific versions of the base
|
||||
values (PAL) and SHOULD be used if known to the driver. A driver MAY
|
||||
change this property of an output if the underlying hardware indicates
|
||||
a signal change (e.g. TV formats). Clients are allowed to change the
|
||||
properties in order to select a different signal subformat.
|
||||
|
||||
"ConnectorType" aka RR_PROPERTY_CONNECTOR_TYPE
|
||||
Type: int32 / Atom
|
||||
Flags: Immutable, Static
|
||||
Range/List: unknown VGA DVI DVI‐I DVI‐A DVI‐D HDMI Panel
|
||||
TV TV-Composite TV-SVideo TV-Component
|
||||
TV-SCART TV-C4 DisplayPort
|
||||
|
||||
Connector type, as far as known to the driver.
|
||||
Values with dashes (TV‐Composite) describe more specific versions of
|
||||
the base values (TV). The former SHOULD be used if the connector is
|
||||
not capable of producing other signal formats. The later SHOULD be
|
||||
used if the exact connector is unknown, or the connector is a
|
||||
multi‐format connector that is not described otherwise. DVI, for
|
||||
instance, SHOULD be handled like a DVI‐I connector, unless additional
|
||||
information is available to the user agent. PANEL describes
|
||||
laptop‐internal (normally LVDS) displays. TV, TV‐SCART, TV‐Component,
|
||||
and TV‐C4 with signal format VGA are valid combinations and describe
|
||||
RGB TV signals.
|
||||
|
||||
"ConnectorNumber" aka RR_PROPERTY_CONNECTOR_NUMBER
|
||||
Type: int32
|
||||
Flags: Immutable, Static
|
||||
Range/List: 0-
|
||||
|
||||
Outputs that route their signal to the same connector MUST
|
||||
have the same connector number. Outputs with the same
|
||||
connector number MUST route their signal to the same
|
||||
connector, except if it is 0, which indicates unknown
|
||||
connectivity. 1 is called the primary connector, 2 the
|
||||
secondary. 3 is typically a TV connector, but that is completely
|
||||
driver / hardware dependent.
|
||||
Outputs with the same connector number SHOULD have the same
|
||||
connector type. Meaning and client behavior for mismatching
|
||||
connector types is undefined at the moment.
|
||||
|
||||
"CompatibilityList" aka RR_PROPERTY_COMPATIBILITY_LIST
|
||||
Type: int32 [2*n] / Atom pairs
|
||||
Flags: Immutable
|
||||
Range/List: 0-
|
||||
|
||||
Some combinations of outputs on some cards cannot be served at all,
|
||||
because the according encoder is only capable of driving one output at
|
||||
a time.
|
||||
This property lists all output + signal format pairs that can be
|
||||
driven together with this output. NULL atoms specify any output / any
|
||||
signal format, respectively.
|
||||
This property MUST be symmetric, but may change with changing signal
|
||||
format. I.e. if the property for DVI-1/TMDS specifies VGA-1/VGA to be
|
||||
available, VGA-1/VGA has to list DVI-1/TMDS as well.
|
||||
|
||||
"CloneList" aka RR_PROPERTY_CLONE_LIST
|
||||
Type: int32 [2*n] / Atom pairs
|
||||
Flags: Immutable
|
||||
Range/List: 0-
|
||||
|
||||
Some combinations of outputs on some cards cannot be served
|
||||
independently from each other, because they are wired up to the same
|
||||
encoder outputs.
|
||||
This property lists all output + signal format pairs that are
|
||||
driven together with this output, and thus can only be programmed in
|
||||
clone mode with the same CRTC.
|
||||
This property MUST be symmetric, but may change with changing signal
|
||||
format. I.e. if the property for DVI-1/VGA specifies VGA-1/VGA to be
|
||||
cloned, VGA-1/VGA has to list DVI-1/VGA as well.
|
||||
Outputs / format pairs listed in this property MUST be included in the
|
||||
CompatibilityList.
|
||||
|
||||
|
||||
9.2 Properties introduced with version 1.2 of the RandR extension
|
||||
|
||||
Property Immutable Mandatory since
|
||||
──────── ───────── ───────────────
|
||||
EdidData yes n/a
|
||||
|
||||
EdidData is provided by the RandR frontend, thus not driver specific.
|
||||
|
||||
|
||||
9.3 Properties introduced with version 1.3 of the RandR extension
|
||||
|
||||
Property Immutable Mandatory since
|
||||
──────── ───────── ───────────────
|
||||
SignalFormat no RandR 1.3
|
||||
SignalProperties no not mandatory
|
||||
ConnectorType yes: static RandR 1.3
|
||||
ConnectorNumber yes: static not mandatory
|
||||
CompatibilityList yes not mandatory
|
||||
CloneList yes not mandatory
|
||||
|
||||
❧❧❧❧❧❧❧❧❧❧❧
|
||||
|
||||
10. Extension Versioning
|
||||
|
||||
The RandR extension was developed in parallel with the implementation
|
||||
to ensure the feasibility of various portions of the design. As
|
||||
@ -1128,23 +1572,29 @@ list of what each version provided:
|
||||
1.2: Separate screens from CRTCs and outputs, switch to full VESA
|
||||
modes
|
||||
|
||||
1.3: Added cheap version of RRGetScreenResources. Added CRTC
|
||||
transformations. Added panning. Added primary outputs.
|
||||
Added standard properties.
|
||||
|
||||
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
|
||||
graceful way. Version 1.1 servers and clients are cross compatible with
|
||||
1.0. Version 1.1 is considered to be stable and we intend upward
|
||||
compatibility from this point. Version 1.2 offers an extended model of the
|
||||
system with multiple output support. It offers backward compatibility with
|
||||
version 1.1.
|
||||
system with multiple output support. Version 1.3 adds a cheap version of
|
||||
GetScreenResources to avoid expensive DDC operations, CRTC transformations,
|
||||
panning, and the primary output concept. 1.2 and 1.3 are backward-compatible
|
||||
with 1.1.
|
||||
|
||||
❧❧❧❧❧❧❧❧❧❧❧
|
||||
|
||||
10. Relationship with other extensions
|
||||
11. Relationship with other extensions
|
||||
|
||||
Two other extensions have a direct relationship with this extension. This
|
||||
section attempts to explain how these three are supposed to work together.
|
||||
|
||||
10.1 XFree86-VidModeExtension
|
||||
11.1 XFree86-VidModeExtension
|
||||
|
||||
XFree86-VidModeExtension changes the configuration of a single monitor
|
||||
attached to the screen without changing the configuration of the screen
|
||||
@ -1161,7 +1611,7 @@ All of the utility of this extension is subsumed by RandR version 1.2, RandR
|
||||
should be used in preference to XFree86-VidModeExtension where both are
|
||||
present.
|
||||
|
||||
10.2 Xinerama
|
||||
11.2 Xinerama
|
||||
|
||||
Xinerama provides a mechanism for describing the relationship between the
|
||||
overall screen display and monitors placed within that area. As such, it
|
||||
@ -1434,6 +1884,7 @@ A.2.1 Protocol Requests added with version 1.2
|
||||
2 n length of name
|
||||
4c LISTofCRTC crtcs
|
||||
4m LISTofMODE modes
|
||||
4o LISTofOUTPUT clones
|
||||
n STRING8 name
|
||||
p unused, p=pad(n)
|
||||
└───
|
||||
@ -1680,6 +2131,155 @@ A.2.1 Protocol Requests added with version 1.2
|
||||
p unused, p=pad(6n)
|
||||
└───
|
||||
|
||||
A.2.2 Protocol Requests added with version 1.3
|
||||
|
||||
┌───
|
||||
RRGetScreenResourcesCurrent
|
||||
1 CARD8 major opcode
|
||||
1 25 RandR opcode
|
||||
2 2 length
|
||||
4 WINDOW window
|
||||
▶
|
||||
1 1 Reply
|
||||
1 unused
|
||||
2 CARD16 sequence number
|
||||
4 c+o+8m+(b+p)/4 reply length
|
||||
4 TIMESTAMP timestamp
|
||||
4 TIMESTAMP config-timestamp
|
||||
2 c number of CRTCs
|
||||
2 o number of outputs
|
||||
2 m number of modeinfos
|
||||
2 b total bytes in mode names
|
||||
8 unused
|
||||
4c LISTofCRTC crtcs
|
||||
4o LISTofOUTPUT outputs
|
||||
32m LISTofMODEINFO modeinfos
|
||||
b STRING8 mode names
|
||||
p unused, p=pad(b)
|
||||
└───
|
||||
|
||||
┌───
|
||||
RRSetCrtcTransform
|
||||
1 CARD8 major opcode
|
||||
1 26 RandR opcode
|
||||
2 12+(n+p)/4+v length
|
||||
4 CRTC crtc
|
||||
36 TRANSFORM transform
|
||||
2 CARD16 filter length
|
||||
2 unused
|
||||
n STRING8 filter name
|
||||
p unused, p=pad(n)
|
||||
4v FIXED filter params
|
||||
└───
|
||||
|
||||
┌───
|
||||
RRGetCrtcTransform
|
||||
1 CARD8 major opcode
|
||||
1 27 RandR opcode
|
||||
2 2 length
|
||||
4 CRTC crtc
|
||||
▶
|
||||
1 1 Reply
|
||||
1 unused
|
||||
2 CARD16 sequence number
|
||||
4 16+(pn+pnp)/4+(cn+cnp)/4+pf+cf reply length
|
||||
36 TRANSFORM pending transform
|
||||
1 BOOL has transforms
|
||||
3 unused
|
||||
36 TRANSFORM current transform
|
||||
4 unused
|
||||
2 pn pending filter name length
|
||||
2 pf pending filter num params
|
||||
2 cn current filter name length
|
||||
2 cf current filter num params
|
||||
pn STRING8 pending filter name
|
||||
pnp unused, pnp=pad(pn)
|
||||
4*pf FIXED pending filter params
|
||||
cn STRING8 current filter name
|
||||
cnp unused, cnp=pad(cn)
|
||||
4*cf FIXED current filter params
|
||||
└───
|
||||
|
||||
┌───
|
||||
RRGetPanning
|
||||
1 CARD8 major opcode
|
||||
1 28 RandR opcode
|
||||
2 2 length
|
||||
4 CRTC crtc
|
||||
▶
|
||||
1 1 Reply
|
||||
1 RRCONFIGSTATUS status
|
||||
2 CARD16 sequence number
|
||||
4 1 reply length
|
||||
4 TIMESTAMP timestamp
|
||||
2 CARD16 left
|
||||
2 CARD16 top
|
||||
2 CARD16 width
|
||||
2 CARD16 height
|
||||
2 CARD16 track_left
|
||||
2 CARD16 track_top
|
||||
2 CARD16 track_width
|
||||
2 CARD16 track_height
|
||||
2 INT16 border_left
|
||||
2 INT16 border_top
|
||||
2 INT16 border_right
|
||||
2 INT16 border_bottom
|
||||
└───
|
||||
┌───
|
||||
RRSetPanning
|
||||
1 CARD8 major opcode
|
||||
1 29 RandR opcode
|
||||
2 9 length
|
||||
4 CRTC crtc
|
||||
4 TIMESTAMP timestamp
|
||||
2 CARD16 left
|
||||
2 CARD16 top
|
||||
2 CARD16 width
|
||||
2 CARD16 height
|
||||
2 CARD16 track_left
|
||||
2 CARD16 track_top
|
||||
2 CARD16 track_width
|
||||
2 CARD16 track_height
|
||||
2 INT16 border_left
|
||||
2 INT16 border_top
|
||||
2 INT16 border_right
|
||||
2 INT16 border_bottom
|
||||
▶
|
||||
1 1 Reply
|
||||
1 RRCONFIGSTATUS status
|
||||
2 CARD16 sequence number
|
||||
4 0 reply length
|
||||
4 TIMESTAMP new timestamp
|
||||
20 unused
|
||||
└───
|
||||
|
||||
┌───
|
||||
RRSetOutputPrimary
|
||||
1 CARD8 major opcode
|
||||
1 30 RandR opcode
|
||||
2 3 length
|
||||
4 WINDOW window
|
||||
4 OUTPUT output
|
||||
└───
|
||||
|
||||
┌───
|
||||
RRGetOutputPrimary
|
||||
1 CARD8 major opcode
|
||||
1 31 RandR opcode
|
||||
2 2 length
|
||||
4 WINDOW window
|
||||
▶
|
||||
1 1 Reply
|
||||
1 unused
|
||||
2 CARD16 sequence number
|
||||
4 CARD32 length
|
||||
4 OUTPUT output
|
||||
4 CARD32 pad1
|
||||
4 CARD32 pad2
|
||||
4 CARD32 pad3
|
||||
4 CARD32 pad4
|
||||
└───
|
||||
|
||||
A.3 Protocol Events
|
||||
|
||||
┌───
|
||||
|
Loading…
Reference in New Issue
Block a user