diff options
author | Jamey Sharp <jamey@minilop.net> | 2007-11-05 16:38:25 -0800 |
---|---|---|
committer | Jamey Sharp <jamey@minilop.net> | 2007-11-05 16:38:25 -0800 |
commit | a8392665bc51325189b30e77dfca42de5ea2b685 (patch) | |
tree | 3b0acefc4b794388b6e510267733fb937d41140f | |
parent | 855f1f1b9341e7ee6477d8e610af68743d20a565 (diff) | |
parent | 6caf9bd62576149d06762ffc00883e422786833d (diff) |
Merge branch 'master' into debian
-rw-r--r-- | NEWS | 20 | ||||
-rwxr-xr-x | autogen.sh | 11 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | src/bigreq.xml | 2 | ||||
-rw-r--r-- | src/damage.xml | 13 | ||||
-rw-r--r-- | src/randr.xml | 411 | ||||
-rw-r--r-- | src/sync.xml | 2 | ||||
-rw-r--r-- | src/xc_misc.xml | 2 | ||||
-rw-r--r-- | src/xcb.xsd | 1 | ||||
-rw-r--r-- | src/xprint.xml | 2 |
10 files changed, 437 insertions, 29 deletions
@@ -1,3 +1,23 @@ +Release 1.1 (2007-11-04) +======================== + +Incompatible change to the XML schema: rather than special-casing the +treatment of protocol extension names, use the new extension-multiword +attribute. Normally, XCB prefixes C extension functions with +xcb_extname_. However, some of the existing extensions used multi-word +names, such as xcb_big_requests_ or xcb_xc_misc_. Those extensions now +use this attribute to match their existing defined API. This allows the +XCB code generator to avoid special-casing those extension names. + +Protocol updates: +* Update DAMAGE to 1.1 +* Update RandR to version 1.2 + +Bug fixes: +* fix XSync Initialize call +* Update autogen.sh to one that does objdir != srcdir. + + Release 1.0 (2006-11-23) ======================== @@ -1,3 +1,12 @@ #! /bin/sh + +srcdir=`dirname $0` +test -z "$srcdir" && srcdir=. + +ORIGDIR=`pwd` +cd $srcdir + autoreconf -v --install || exit 1 -./configure "$@" +cd $ORIGDIR || exit $? + +$srcdir/configure --enable-maintainer-mode "$@" diff --git a/configure.ac b/configure.ac index 8b94249..124d3fa 100644 --- a/configure.ac +++ b/configure.ac @@ -3,7 +3,7 @@ AC_PREREQ(2.57) AC_INIT([XCB Proto], - 1.0, + 1.1, [xcb@lists.freedesktop.org]) AC_CONFIG_SRCDIR([xcb-proto.pc.in]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) diff --git a/src/bigreq.xml b/src/bigreq.xml index d58a084..3cca2f7 100644 --- a/src/bigreq.xml +++ b/src/bigreq.xml @@ -26,7 +26,7 @@ sale, use or other dealings in this Software without prior written authorization from the authors. --> <xcb header="bigreq" extension-xname="BIG-REQUESTS" - extension-name="BigRequests" + extension-name="BigRequests" extension-multiword="true" major-version="0" minor-version="0"> <request name="Enable" opcode="0"> diff --git a/src/damage.xml b/src/damage.xml index 4e03057..378e3ac 100644 --- a/src/damage.xml +++ b/src/damage.xml @@ -1,6 +1,8 @@ <?xml version="1.0" encoding="utf-8"?> <!-- -Copyright (C) 2004 Josh Triplett. All Rights Reserved. +Copyright (C) 2004 Josh Triplett +Copyright (C) 2007 Jeremy Kolb +All Rights Reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -24,9 +26,9 @@ institutions shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from the authors. --> -<!-- This file describes version 1 of DAMAGE. --> +<!-- This file describes version 1.1 of DAMAGE. --> <xcb header="damage" extension-xname="DAMAGE" extension-name="Damage" - major-version="1" minor-version="0"> + major-version="1" minor-version="1"> <import>xproto</import> <import>xfixes</import> @@ -69,6 +71,11 @@ authorization from the authors. <field type="REGION" name="parts" /> </request> + <request name="Add" opcode="4"> + <field type="DRAWABLE" name="drawable" /> + <field type="REGION" name="region" /> + </request> + <event name="Notify" number="0"> <field type="CARD8" name="level" /> <!-- ReportLevel --> <field type="DRAWABLE" name="drawable" /> diff --git a/src/randr.xml b/src/randr.xml index 8a46f3c..352b1e1 100644 --- a/src/randr.xml +++ b/src/randr.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <!-- -Copyright (C) 2005 Jeremy Kolb. +Copyright (C) 2006 Jeremy Kolb, Ian Osgood All Rights Reserved. Permission is hereby granted, free of charge, to any person obtaining a copy @@ -27,24 +27,31 @@ authorization from the authors. --> <xcb header="randr" extension-xname="RANDR" extension-name="RandR" - major-version="1" minor-version="1"> - <!-- Implements version 1.1 of RANDR --> + major-version="1" minor-version="2"> <import>xproto</import> + + <!-- Errors --> + + <error name="BadOutput" number="0" /> + <error name="BadCrtc" number="1" /> + <error name="BadMode" number="2" /> + + <!-- Requests --> <enum name="Rotation"> - <item name="Rotate_0"><value>1</value></item> - <item name="Rotate_90"><value>2</value></item> - <item name="Rotate_180"><value>4</value></item> - <item name="Rotate_270"><value>8</value></item> - <item name="Reflect_X"><value>16</value></item> - <item name="Reflect_Y"><value>32</value></item> + <item name="Rotate_0"> <bit>0</bit></item> + <item name="Rotate_90"> <bit>1</bit></item> + <item name="Rotate_180"><bit>2</bit></item> + <item name="Rotate_270"><bit>3</bit></item> + <item name="Reflect_X"> <bit>4</bit></item> + <item name="Reflect_Y"> <bit>5</bit></item> </enum> <struct name="ScreenSize"> - <field type="INT16" name="width" /> + <field type="INT16" name="width" /> <!-- pixels --> <field type="INT16" name="height" /> - <field type="INT16" name="mwidth" /> + <field type="INT16" name="mwidth" /> <!-- millimeters --> <field type="INT16" name="mheight" /> </struct> @@ -54,7 +61,7 @@ authorization from the authors. <fieldref>nRates</fieldref> </list> </struct> - + <request name="QueryVersion" opcode="0"> <field type="CARD32" name="major_version" /> <field type="CARD32" name="minor_version" /> @@ -65,6 +72,8 @@ authorization from the authors. <pad bytes="16" /> </reply> </request> + + <!-- Skip obsolete opcode 1 so old clients fail immediately --> <!-- This is for the 1.1 version request. I don't believe we need to specify a 1.0 request as few things used randr 1.0. The only difference is the removal of refresh and padding I think. @@ -79,7 +88,7 @@ authorization from the authors. <field type="CARD16" name="rate" /> <pad bytes="2" /> <reply> - <field type="CARD8" name="status" /> + <field type="CARD8" name="status" /> <!-- enum SetConfig --> <field type="TIMESTAMP" name="new_timestamp" /> <field type="TIMESTAMP" name="config_timestamp" /> <field type="WINDOW" name="root" /> @@ -87,6 +96,8 @@ authorization from the authors. <pad bytes="10" /> </reply> </request> + + <!-- opcode 3 is obsolete --> <enum name="SetConfig"> <item name="Success"><value>0</value></item> @@ -97,7 +108,7 @@ authorization from the authors. <request name="SelectInput" opcode="4"> <field type="WINDOW" name="window" /> - <field type="CARD16" name="enable" /> + <field type="CARD16" name="enable" /> <!-- enum SetConfig --> <pad bytes="2" /> </request> @@ -129,8 +140,313 @@ authorization from the authors. </reply> </request> - <enum name="SM" > - <item name="ScreenChangeNotify"><value>1</value></item> + <!-- new in version 1.2 --> + + <request name="GetScreenSizeRange" opcode="6"> + <field type="WINDOW" name="window" /> + <reply> + <pad bytes="1" /> + <field type="CARD16" name="min_width" /> + <field type="CARD16" name="min_height" /> + <field type="CARD16" name="max_width" /> + <field type="CARD16" name="max_height" /> + </reply> + </request> + + <request name="SetScreenSize" opcode="7"> + <field type="WINDOW" name="window" /> + <field type="CARD16" name="width" /> <!-- pixels --> + <field type="CARD16" name="height" /> + <field type="CARD32" name="mm_width" /> <!-- millimeters --> + <field type="CARD32" name="mm_height" /> + </request> + + <!-- for GetScreenResources.ModeInfo.ModeFlag --> + <enum name="ModeFlag"> + <item name="HsyncPositive"> <bit>0</bit></item> + <item name="HsyncNegative"> <bit>1</bit></item> + <item name="VsyncPositive"> <bit>2</bit></item> + <item name="VsyncNegative"> <bit>3</bit></item> + <item name="Interlace"> <bit>4</bit></item> + <item name="DoubleScan"> <bit>5</bit></item> + <item name="Csync"> <bit>6</bit></item> + <item name="CsyncPositive"> <bit>7</bit></item> + <item name="CsyncNegative"> <bit>8</bit></item> + <item name="HskewPresent"> <bit>9</bit></item> + <item name="Bcast"> <bit>10</bit></item> + <item name="PixelMultiplex"><bit>11</bit></item> + <item name="DoubleClock"> <bit>12</bit></item> + <item name="HalveClock"> <bit>13</bit></item> + </enum> + + <struct name="ModeInfo"> + <field type="CARD32" name="id" /> + <field type="CARD16" name="width" /> + <field type="CARD16" name="height" /> + <field type="CARD32" name="dot_clock" /> + <field type="CARD16" name="hsync_start" /> + <field type="CARD16" name="hsync_end" /> + <field type="CARD16" name="htotal" /> + <field type="CARD16" name="hskew" /> + <field type="CARD16" name="vsync_start" /> + <field type="CARD16" name="vsync_end" /> + <field type="CARD16" name="vtotal" /> + <field type="CARD16" name="name_len" /> + <field type="CARD32" name="mode_flags" /> <!-- enum ModeFlag --> + <!-- the mode name itself --> + </struct> + + <request name="GetScreenResources" opcode="8"> + <field type="WINDOW" name="window" /> + <reply> + <pad bytes="1" /> + <field type="TIMESTAMP" name="timestamp" /> + <field type="TIMESTAMP" name="config_timestamp" /> + <field type="CARD16" name="num_crtcs" /> + <field type="CARD16" name="num_outputs" /> + <field type="CARD16" name="num_modes" /> + <field type="CARD16" name="names_len" /> + <pad bytes="8" /> + <list type="CARD32" name="crtcs"> + <fieldref>num_crtcs</fieldref> + </list> + <list type="CARD32" name="outputs"> + <fieldref>num_outputs</fieldref> + </list> + <list type="ModeInfo" name="modes"> + <fieldref>num_modes</fieldref> + </list> + <!-- FIXME: this is *not* null separated! + One must use ModeInfo.name_len from each previous + ModeInfo to infer the position of the name. --> + <list type="BYTE" name="names"> + <fieldref>names_len</fieldref> + </list> + </reply> + </request> + + <!-- for GetOutputInfo.connection --> + <enum name="Connection"> + <item name="Connected" /> + <item name="Disconnected" /> + <item name="Unknown" /> + </enum> + + <request name="GetOutputInfo" opcode="9"> + <field type="CARD32" name="output" /> + <field type="TIMESTAMP" name="config_timestamp" /> + <reply> + <field type="CARD8" name="status" /> <!-- enum SetConfig --> + <field type="TIMESTAMP" name="timestamp" /> + <field type="CARD32" name="crtc" /> + <field type="CARD32" name="mm_width" /> <!-- millimeters --> + <field type="CARD32" name="mm_height" /> + <field type="CARD8" name="connection" /> <!-- enum Connection --> + <field type="CARD8" name="subpixel_order" /> + <field type="CARD16" name="num_crtcs" /> + <field type="CARD16" name="num_modes" /> + <field type="CARD16" name="num_preferred" /> + <field type="CARD16" name="num_clones" /> + <field type="CARD16" name="name_len" /> + <list type="CARD32" name="crtcs"> + <fieldref>num_crtcs</fieldref> + </list> + <list type="CARD32" name="modes"> + <fieldref>num_modes</fieldref> + </list> + <list type="CARD32" name="clones"> + <fieldref>num_clones</fieldref> + </list> + <list type="BYTE" name="name"> + <fieldref>name_len</fieldref> + </list> + </reply> + </request> + + <request name="ListOutputProperties" opcode="10"> + <field type="CARD32" name="output" /> + <reply> + <pad bytes="1" /> + <field type="CARD16" name="num_atoms" /> + <pad bytes="22" /> + <list type="ATOM" name="atoms"> + <fieldref>num_atoms</fieldref> + </list> + </reply> + </request> + + <request name="QueryOutputProperty" opcode="11"> + <field type="CARD32" name="output" /> + <field type="ATOM" name="property" /> + <reply> + <pad bytes="1" /> + <field type="BOOL" name="pending" /> + <field type="BOOL" name="range" /> + <field type="BOOL" name="immutable" /> + <pad bytes="21" /> + <list type="INT32" name="validValues" /> + </reply> + </request> + + <request name="ConfigureOutputProperty" opcode="12"> + <field type="CARD32" name="output" /> + <field type="ATOM" name="property" /> + <field type="BOOL" name="pending" /> + <field type="BOOL" name="range" /> + <pad bytes="2" /> + </request> + + <request name="ChangeOutputProperty" opcode="13"> + <field type="CARD32" name="output" /> + <field type="ATOM" name="property" /> + <field type="ATOM" name="type" /> + <field type="CARD8" name="format" /> + <field type="CARD8" name="mode" /> + <pad bytes="2" /> + <field type="CARD32" name="num_units" /> + </request> + + <request name="DeleteOutputProperty" opcode="14"> + <field type="CARD32" name="output" /> + <field type="ATOM" name="property" /> + </request> + + <!-- NOTE: num_items depends on format (8/16/32) --> + <request name="GetOutputProperty" opcode="15"> + <field type="CARD32" name="output" /> + <field type="ATOM" name="property" /> + <field type="ATOM" name="type" /> + <field type="CARD32" name="long_offset" /> + <field type="CARD32" name="long_length" /> + <field type="BOOL" name="delete" /> + <field type="BOOL" name="pending" /> + <reply> + <field type="CARD8" name="format" /> + <field type="ATOM" name="type" /> + <field type="CARD32" name="bytes_after" /> + <field type="CARD32" name="num_items" /> + <pad bytes="12" /> + <list type="BYTE" name="data"> + <!-- n * format / 8 --> + <op op="*"> + <fieldref>num_items</fieldref> + <op op="/"> + <fieldref>format</fieldref> + <value>8</value> + </op> + </op> + </list> + </reply> + </request> + + <request name="CreateMode" opcode="16"> + <field type="WINDOW" name="window" /> + <field type="ModeInfo" name="mode_info" /> + <reply> + <field type="CARD8" name="status" /> <!-- enum SetConfig --> + <field type="CARD32" name="mode" /> + </reply> + </request> + + <request name="DestroyMode" opcode="17"> + <field type="CARD32" name="mode" /> + </request> + + <request name="AddOutputMode" opcode="18"> + <field type="CARD32" name="output" /> + <field type="CARD32" name="mode" /> + </request> + + <request name="DeleteOutputMode" opcode="19"> + <field type="CARD32" name="output" /> + <field type="CARD32" name="mode" /> + </request> + + <request name="GetCrtcInfo" opcode="20"> + <field type="CARD32" name="crtc" /> + <field type="TIMESTAMP" name="config_timestamp" /> + <reply> + <field type="CARD8" name="status" /> <!-- enum SetConfig --> + <field type="TIMESTAMP" name="timestamp" /> + <field type="CARD32" name="crtc" /> + <field type="INT16" name="x" /> + <field type="INT16" name="y" /> + <field type="CARD16" name="width" /> + <field type="CARD16" name="height" /> + <field type="CARD32" name="mode" /> + <field type="CARD16" name="rotation" /> <!-- enum Rotation --> + <field type="CARD16" name="rotations" /> <!-- mask of enum Rotation --> + <field type="CARD16" name="num_outputs" /> + <field type="CARD16" name="num_possible_outputs" /> + <list type="CARD32" name="outputs"> + <fieldref>num_outputs</fieldref> + </list> + </reply> + </request> + + <request name="SetCrtcConfig" opcode="21"> + <field type="CARD32" name="crtc" /> + <field type="TIMESTAMP" name="timestamp" /> + <field type="TIMESTAMP" name="config_timestamp" /> + <field type="INT16" name="x" /> + <field type="INT16" name="y" /> + <field type="CARD32" name="mode" /> + <field type="CARD16" name="rotation" /> <!-- enum Rotation --> + <reply> + <field type="CARD8" name="status" /> <!-- enum SetConfig --> + <field type="TIMESTAMP" name="timestamp" /> + </reply> + </request> + + <request name="GetCrtcGammaSize" opcode="22"> + <field type="CARD32" name="crtc" /> + <reply> + <field type="CARD8" name="status" /> <!-- enum SetConfig --> + <field type="CARD16" name="size" /> + </reply> + </request> + + <request name="GetCrtcGamma" opcode="23"> + <field type="CARD32" name="crtc" /> + <reply> + <field type="CARD8" name="status" /> <!-- enum SetConfig --> + <field type="CARD16" name="size" /> + <pad bytes="22" /> + <list type="CARD16" name="red"> + <fieldref>size</fieldref> + </list> + <list type="CARD16" name="green"> + <fieldref>size</fieldref> + </list> + <list type="CARD16" name="blue"> + <fieldref>size</fieldref> + </list> + </reply> + </request> + + <request name="SetCrtcGamma" opcode="24"> + <field type="CARD32" name="crtc" /> + <field type="CARD16" name="size" /> + <pad bytes="2"/> + <list type="CARD16" name="red"> + <fieldref>size</fieldref> + </list> + <list type="CARD16" name="green"> + <fieldref>size</fieldref> + </list> + <list type="CARD16" name="blue"> + <fieldref>size</fieldref> + </list> + </request> + + <!-- Events --> + + <enum name="NotifyMask" > + <item name="ScreenChange"> <bit>0</bit></item> + <!-- new in 1.2 --> + <item name="CrtcChange"> <bit>1</bit></item> + <item name="OutputChange"> <bit>2</bit></item> + <item name="OutputProperty"><bit>3</bit></item> </enum> <event name="ScreenChangeNotify" number="0"> @@ -141,10 +457,63 @@ authorization from the authors. <field type="WINDOW" name="request_window" /> <field type="CARD16" name="sizeID" /> <field type="CARD16" name="subpixel_order" /> - <field type="INT16" name="width" /> - <field type="INT16" name="height" /> - <field type="INT16" name="mwidth" /> - <field type="INT16" name="mheight" /> + <field type="CARD16" name="width" /> + <field type="CARD16" name="height" /> + <field type="CARD16" name="mwidth" /> + <field type="CARD16" name="mheight" /> + </event> + + <!-- New in version 1.2 --> + + <!-- subcode --> + <enum name="Notify" > + <item name="CrtcChange"> <value>0</value></item> + <item name="OutputChange"> <value>1</value></item> + <item name="OutputProperty"><value>2</value></item> + </enum> + + <struct name="CrtcChange"> + <field type="TIMESTAMP" name="timestamp" /> + <field type="WINDOW" name="window" /> + <field type="CARD32" name="crtc" /> + <field type="CARD32" name="mode" /> + <field type="CARD16" name="rotation" /> <!-- enum Rotation --> + <pad bytes="2" /> + <field type="INT16" name="x" /> + <field type="INT16" name="y" /> + <field type="CARD16" name="width" /> + <field type="CARD16" name="height" /> + </struct> + + <struct name="OutputChange"> + <field type="TIMESTAMP" name="timestamp" /> + <field type="TIMESTAMP" name="config_timestamp" /> + <field type="WINDOW" name="window" /> + <field type="CARD32" name="output" /> + <field type="CARD32" name="crtc" /> + <field type="CARD32" name="mode" /> + <field type="CARD16" name="rotation" /> <!-- enum Rotation --> + <field type="CARD8" name="connection" /> <!-- enum Connection --> + <field type="CARD8" name="subpixel_order" /> + </struct> + + <struct name="OutputProperty"> + <field type="WINDOW" name="window" /> + <field type="CARD32" name="output" /> + <field type="ATOM" name="atom" /> + <field type="TIMESTAMP" name="timestamp" /> + <field type="CARD8" name="status" /> <!-- core enum Property --> + <pad bytes="11" /> + </struct> + + <union name="NotifyData"> + <field type="CrtcChange" name="cc" /> + <field type="OutputChange" name="oc" /> + <field type="OutputProperty" name="op" /> + </union> + + <event name="Notify" number="1"> + <field type="CARD8" name="subCode" /> <!-- enum Notify --> + <field type="NotifyData" name="u" /> </event> - </xcb> diff --git a/src/sync.xml b/src/sync.xml index 74281f1..a60a81f 100644 --- a/src/sync.xml +++ b/src/sync.xml @@ -78,6 +78,8 @@ for licensing information. </error> <request name="Initialize" opcode="0"> + <field type="CARD8" name="desired_major_version" /> + <field type="CARD8" name="desired_minor_version" /> <reply> <pad bytes="1" /> <field type="CARD8" name="major_version" /> diff --git a/src/xc_misc.xml b/src/xc_misc.xml index 18f5a84..139ca22 100644 --- a/src/xc_misc.xml +++ b/src/xc_misc.xml @@ -5,7 +5,7 @@ All Rights Reserved. See the file COPYING in this directory for licensing information. --> <xcb header="xc_misc" extension-xname="XC-MISC" extension-name="XCMisc" - major-version="1" minor-version="1"> + extension-multiword="true" major-version="1" minor-version="1"> <request name="GetVersion" opcode="0"> <field type="CARD16" name="client_major_version" /> <field type="CARD16" name="client_minor_version" /> diff --git a/src/xcb.xsd b/src/xcb.xsd index 674a185..b40ee6a 100644 --- a/src/xcb.xsd +++ b/src/xcb.xsd @@ -33,6 +33,7 @@ authorization from the authors. <xsd:attribute name="header" type="xsd:string" use="required" /> <xsd:attribute name="extension-xname" type="xsd:string" use="optional" /> <xsd:attribute name="extension-name" type="xsd:string" use="optional" /> + <xsd:attribute name="extension-multiword" type="xsd:boolean" use="optional" default="false" /> <xsd:attribute name="major-version" type="xsd:integer" use="optional" /> <xsd:attribute name="minor-version" type="xsd:integer" use="optional" /> </xsd:complexType> diff --git a/src/xprint.xml b/src/xprint.xml index 040b353..1fa2ab6 100644 --- a/src/xprint.xml +++ b/src/xprint.xml @@ -27,7 +27,7 @@ authorization from the authors. --> <xcb header="xprint" extension-xname="XpExtension" extension-name="XPrint" - major-version="1" minor-version="0"> + extension-multiword="true" major-version="1" minor-version="0"> <!-- Conforms to XPRINT 1.0 --> |