[Xcb-commit] 7 commits - src

Peter Harris peterh at kemper.freedesktop.org
Thu Jun 6 13:18:14 PDT 2013


 src/composite.xml |    2 
 src/glx.xml       |   15 +++
 src/randr.xml     |  231 ++++++++++++++++++++++++++++++++++++++++++++++++++----
 src/res.xml       |    9 +-
 src/xfixes.xml    |    4 
 src/xtest.xml     |    3 
 6 files changed, 240 insertions(+), 24 deletions(-)

New commits:
commit e5f7c750815cb5170db363a2e5b09639b7354733
Author: Daniel Martin <consume.noise at gmail.com>
Date:   Tue Jun 4 21:29:32 2013 +0200

    res: Add ClientIdMask enum
    
    And make use of it in ClientIdSpec.
    
    v2: use <bit/> instead of <value/> in the enum
    
    Signed-off-by: Daniel Martin <consume.noise at gmail.com>
    Signed-off-by: Peter Harris <pharris at opentext.com>

diff --git a/src/res.xml b/src/res.xml
index a5d1d8f..17e6f83 100644
--- a/src/res.xml
+++ b/src/res.xml
@@ -41,9 +41,14 @@ authorization from the authors.
     </struct>
 
     <!-- v1.2 -->
+    <enum name="ClientIdMask">
+        <item name="ClientXID">      <bit>0</bit> </item>
+        <item name="LocalClientPID"> <bit>1</bit> </item>
+    </enum>
+
     <struct name="ClientIdSpec">
         <field type="CARD32" name="client" />
-        <field type="CARD32" name="mask" />
+        <field type="CARD32" name="mask" mask="ClientIdMask" />
     </struct>
 
     <struct name="ClientIdValue">
commit 5802c6a0f9fc5a08d0ffc24c534f4ba0734eb7ac
Author: Daniel Martin <consume.noise at gmail.com>
Date:   Mon May 27 19:20:32 2013 +0200

    res: Fix and rename list in ClientIdValue
    
    The list is a CARD32 and rename the field to "value" to match the
    specification.
    
    Signed-off-by: Daniel Martin <consume.noise at gmail.com>
    Signed-off-by: Peter Harris <pharris at opentext.com>

diff --git a/src/res.xml b/src/res.xml
index 1dd3bd1..a5d1d8f 100644
--- a/src/res.xml
+++ b/src/res.xml
@@ -49,7 +49,7 @@ authorization from the authors.
     <struct name="ClientIdValue">
         <field type="ClientIdSpec" name="spec" />
         <field type="CARD32" name="length" />
-        <list type="CARD8" name="client_ids">
+        <list type="CARD32" name="value">
             <fieldref>length</fieldref>
         </list>
     </struct>
commit 45d8361e598459eb89a53149baf91de6bf8a1a62
Author: Daniel Martin <consume.noise at gmail.com>
Date:   Tue Jun 4 21:27:30 2013 +0200

    randr: Add provider object support (RandR v1.4)
    
    With RandR 1.4 provider objects have been introduced. "A provider object
    represents a GPU or virtual device providing services to the X server."
    
    To handle provider objects the following requests have been added:
        - GetProviders
        - GetProviderInfo
        - SetProviderOffloadSink
        - SetProviderOutputSource
        - ListProviderProperties
        - QueryProviderProperty
        - ConfigureProviderProperty
        - ChangeProviderProperty
        - DeleteProviderProperty
        - GetProviderProperty
    
    And the Notify event got 3 new subcodes:
        - ProviderChange
        - ProviderProperty
        - ResourceChange
    
    v2:
    - add missing name field to GetProviderInfo
    v3:
    - changed ProviderCapability enum
      o replaced <value> with <bit>
      o removed None
    - replaced "alignment pad list" with commented out <pad align="4"/> to
      be prepared for future enhancements
    - add brief description to commit msg about additions
    
    Signed-off-by: Daniel Martin <consume.noise at gmail.com>
    Signed-off-by: Peter Harris <pharris at opentext.com>

diff --git a/src/randr.xml b/src/randr.xml
index 4f0716f..1ec3234 100644
--- a/src/randr.xml
+++ b/src/randr.xml
@@ -27,7 +27,7 @@ authorization from the authors.
 -->
 
 <xcb header="randr" extension-xname="RANDR" extension-name="RandR"
-    major-version="1" minor-version="3">
+    major-version="1" minor-version="4">
 
 	<import>xproto</import>
 	<import>render</import>
@@ -36,12 +36,14 @@ authorization from the authors.
 	<xidtype name="MODE" />
 	<xidtype name="CRTC" />
 	<xidtype name="OUTPUT" />
+	<xidtype name="PROVIDER" />
 	
 	<!-- Errors -->
 
-	<error name="BadOutput" number="0" />
-	<error name="BadCrtc"   number="1" />
-	<error name="BadMode"   number="2" />
+	<error name="BadOutput"   number="0" />
+	<error name="BadCrtc"     number="1" />
+	<error name="BadMode"     number="2" />
+	<error name="BadProvider" number="3" />
 
 	<!-- Requests -->
 
@@ -113,11 +115,15 @@ authorization from the authors.
 	<!-- opcode 3 is obsolete -->
 
 	<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>
+		<item name="ScreenChange">    <bit>0</bit></item>
+		<!-- New in version 1.2 -->
+		<item name="CrtcChange">      <bit>1</bit></item>
+		<item name="OutputChange">    <bit>2</bit></item>
+		<item name="OutputProperty">  <bit>3</bit></item>
+		<!-- New in version 1.4 -->
+		<item name="ProviderChange">  <bit>4</bit></item>
+		<item name="ProviderProperty"><bit>5</bit></item>
+		<item name="ResourceChange">  <bit>6</bit></item>
 	</enum>
 
 	<request name="SelectInput" opcode="4">	
@@ -506,6 +512,14 @@ authorization from the authors.
 		</reply>
 	</request>
 
+	<enum name="Transform">
+		<!-- Introduced in version 1.3, but not referenced. -->
+		<item name="Unit">       <bit>0</bit></item>
+		<item name="ScaleUp">    <bit>1</bit></item>
+		<item name="ScaleDown">  <bit>2</bit></item>
+		<item name="Projective"> <bit>3</bit></item>
+	</enum>
+
 	<request name="SetCrtcTransform" opcode="26">
 		<field type="CRTC" name="crtc" />
 		<field type="TRANSFORM" name="transform" />
@@ -599,6 +613,163 @@ authorization from the authors.
 		</reply>
 	</request>
 
+	<!-- New in version 1.4 -->
+
+	<request name="GetProviders" opcode="32">
+		<field type="WINDOW" name="window" />
+		<reply>
+			<pad bytes="1" />
+			<field type="TIMESTAMP" name="timestamp" />
+			<field type="CARD16" name="num_providers" />
+			<pad bytes="18" />
+			<list type="PROVIDER" name="providers">
+				<fieldref>num_providers</fieldref>
+			</list>
+		</reply>
+	</request>
+
+	<enum name="ProviderCapability">
+		<item name="SourceOutput">  <bit>0</bit></item>
+		<item name="SinkOutput">    <bit>1</bit></item>
+		<item name="SourceOffload"> <bit>2</bit></item>
+		<item name="SinkOffload">   <bit>3</bit></item>
+	</enum>
+
+	<request name="GetProviderInfo" opcode="33">
+		<field type="PROVIDER" name="provider" />
+		<field type="TIMESTAMP" name="config_timestamp" />
+		<reply>
+			<field type="CARD8" name="status" />
+			<field type="TIMESTAMP" name="timestamp" />
+			<field type="CARD32" name="capabilities" mask="ProviderCapability" />
+			<field type="CARD16" name="num_crtcs" />
+			<field type="CARD16" name="num_outputs" />
+			<field type="CARD16" name="num_associated_providers" />
+			<field type="CARD16" name="name_len" />
+			<pad bytes="8" />
+			<list type="CRTC" name="crtcs">
+				<fieldref>num_crtcs</fieldref>
+			</list>
+			<list type="OUTPUT" name="outputs">
+				<fieldref>num_outputs</fieldref>
+			</list>
+			<list type="PROVIDER" name="associated_providers">
+				<fieldref>num_associated_providers</fieldref>
+			</list>
+			<list type="CARD32" name="associated_capability">
+				<fieldref>num_associated_providers</fieldref>
+			</list>
+			<list type="char" name="name">
+				<fieldref>name_len</fieldref>
+			</list>
+			<!-- XXX: Prepared for the future. Until xcbgen supports
+			          the align attribute in <pad>, we ignore the
+			          trailing pad bytes here.
+			<pad align="4" />
+			-->
+		</reply>
+	</request>
+
+	<request name="SetProviderOffloadSink" opcode="34">
+		<field type="PROVIDER" name="provider" />
+		<field type="PROVIDER" name="sink_provider" />
+		<field type="TIMESTAMP" name="config_timestamp" />
+	</request>
+
+	<request name="SetProviderOutputSource" opcode="35">
+		<field type="PROVIDER" name="provider" />
+		<field type="PROVIDER" name="source_provider" />
+		<field type="TIMESTAMP" name="config_timestamp" />
+	</request>
+
+	<request name="ListProviderProperties" opcode="36">
+		<field type="PROVIDER" name="provider" />
+		<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="QueryProviderProperty" opcode="37">
+		<field type="PROVIDER" name="provider" />
+		<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="valid_values">
+				<fieldref>length</fieldref>
+			</list>
+		</reply>
+	</request>
+
+	<request name="ConfigureProviderProperty" opcode="38">
+		<field type="PROVIDER" name="provider" />
+		<field type="ATOM" name="property" />
+		<field type="BOOL" name="pending" />
+		<field type="BOOL" name="range" />
+		<pad bytes="2" />
+		<list type="INT32" name="values" />
+	</request>
+
+	<request name="ChangeProviderProperty" opcode="39">
+		<field type="PROVIDER" name="provider" />
+		<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_items" />
+		<list type="void" name="data">
+			<op op="*">
+				<fieldref>num_items</fieldref>
+				<op op="/">
+					<fieldref>format</fieldref>
+					<value>8</value>
+				</op>
+			</op>
+		</list>
+	</request>
+
+	<request name="DeleteProviderProperty" opcode="40">
+		<field type="PROVIDER" name="provider" />
+		<field type="ATOM" name="property" />
+	</request>
+
+	<request name="GetProviderProperty" opcode="41">
+		<field type="PROVIDER" name="provider" />
+		<field type="ATOM" name="property" />
+		<field type="ATOM" name="type" /> <!-- AnyProperty -->
+		<field type="CARD32" name="long_offset" />
+		<field type="CARD32" name="long_length" />
+		<field type="BOOL" name="delete" />
+		<field type="BOOL" name="pending" />
+		<pad bytes="2" />
+		<reply>
+			<pad bytes="1" />
+			<field type="CARD8" name="format" />
+			<field type="ATOM" name="type" /> <!-- None -->
+			<field type="CARD32" name="bytes_after" />
+			<field type="CARD16" name="num_items" />
+			<pad bytes="12" />
+			<list type="void" name="data">
+				<op op="*">
+					<fieldref>num_items</fieldref>
+					<op op="/">
+						<fieldref>format</fieldref>
+						<value>8</value>
+					</op>
+				</op>
+			</list>
+		</reply>
+	</request>
+
 	<!-- Events -->
 
 	<event name="ScreenChangeNotify" number="0">
@@ -619,9 +790,12 @@ authorization from the authors.
 
 	<!-- 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>
+		<item name="CrtcChange">      <value>0</value></item>
+		<item name="OutputChange">    <value>1</value></item>
+		<item name="OutputProperty">  <value>2</value></item>
+		<item name="ProviderChange">  <value>3</value></item>
+		<item name="ProviderProperty"><value>4</value></item>
+		<item name="ResourceChange">  <value>5</value></item>
 	</enum>
 
 	<struct name="CrtcChange">
@@ -658,10 +832,37 @@ authorization from the authors.
 		<pad bytes="11" />
 	</struct>
 
+	<!-- New in version 1.4 -->
+
+	<struct name="ProviderChange">
+		<field type="TIMESTAMP" name="timestamp" />
+		<field type="WINDOW" name="window" />
+		<field type="PROVIDER" name="provider" />
+		<pad bytes="16" />
+	</struct>
+
+	<struct name="ProviderProperty">
+		<field type="WINDOW" name="window" />
+		<field type="PROVIDER" name="provider" />
+		<field type="ATOM" name="atom" />
+		<field type="TIMESTAMP" name="timestamp" />
+		<field type="CARD8" name="state" />
+		<pad bytes="11" />
+	</struct>
+
+	<struct name="ResourceChange">
+		<field type="TIMESTAMP" name="timestamp" />
+		<field type="WINDOW" name="window" />
+		<pad bytes="20" />
+	</struct>
+
 	<union name="NotifyData">
-		<field type="CrtcChange"     name="cc" />
-		<field type="OutputChange"   name="oc" />
-		<field type="OutputProperty" name="op" />
+		<field type="CrtcChange"       name="cc" />
+		<field type="OutputChange"     name="oc" />
+		<field type="OutputProperty"   name="op" />
+		<field type="ProviderChange"   name="pc" />
+		<field type="ProviderProperty" name="pp" />
+		<field type="ResourceChange"   name="rc" />
 	</union>
 
 	<event name="Notify" number="1">
commit 5f1fb6ab6b5129ea86993542e0af19ae47a42969
Author: Daniel Martin <consume.noise at gmail.com>
Date:   Mon May 27 19:20:30 2013 +0200

    xtest: Version bump 2.1..2.2
    
    The implemented and upstream version is 2.2.
    
    Signed-off-by: Daniel Martin <consume.noise at gmail.com>
    Signed-off-by: Peter Harris <pharris at opentext.com>

diff --git a/src/xtest.xml b/src/xtest.xml
index 7f0b262..085d3a3 100644
--- a/src/xtest.xml
+++ b/src/xtest.xml
@@ -27,8 +27,7 @@ authorization from the authors.
 -->
 
 <xcb header="xtest" extension-xname="XTEST" extension-name="Test"
-    major-version="2" minor-version="1">
-    <!-- Conforms to XTEST 2.1 -->
+    major-version="2" minor-version="2">
 
     <import>xproto</import>
     
commit a2d4c41cbbb70612efcc133c85f835d94bac9be3
Author: Daniel Martin <consume.noise at gmail.com>
Date:   Mon May 27 19:20:29 2013 +0200

    glx: Version bump 1.3..1.4
    
    Add the BufferSwapComplete (v2) event.
    
    Signed-off-by: Daniel Martin <consume.noise at gmail.com>
    Signed-off-by: Peter Harris <pharris at opentext.com>

diff --git a/src/glx.xml b/src/glx.xml
index 53c9267..2a36daa 100644
--- a/src/glx.xml
+++ b/src/glx.xml
@@ -45,8 +45,7 @@ The patch that fixed this server bug in X.org CVS is here:
 -->
 
 <xcb header="glx" extension-xname="GLX" extension-name="Glx"
-    major-version="1" minor-version="3">
-	<!-- target support: 1.3 -->
+    major-version="1" minor-version="4">
 
 	<import>xproto</import>
 
@@ -107,6 +106,18 @@ The patch that fixed this server bug in X.org CVS is here:
 		<pad bytes="4" />
 	</event>
 
+	<event name="BufferSwapComplete" number="1">
+		<pad bytes="1" />
+		<field type="CARD16" name="event_type" />
+		<pad bytes="2" />
+		<field type="glx:DRAWABLE" name="drawable" />
+		<field type="CARD32" name="ust_hi" />
+		<field type="CARD32" name="ust_lo" />
+		<field type="CARD32" name="msc_hi" />
+		<field type="CARD32" name="msc_lo" />
+		<field type="CARD32" name="sbc" />
+	</event>
+
 	<!-- enums for PbufferClobber event/draw type -->
 	<enum name="PBCET">
 		<item name="Damaged">
commit f206ca3bea8902aefa529d2e5162ee8165b3e7a4
Author: Daniel Martin <consume.noise at gmail.com>
Date:   Mon May 27 19:20:28 2013 +0200

    composite: Version bump 0.3..0.4
    
    The only difference between version 0.3 and 0.4 is that the clipping
    semantics have been redefined. That's just an internal change, no
    structure has to be modified.
    
    Signed-off-by: Daniel Martin <consume.noise at gmail.com>
    Signed-off-by: Peter Harris <pharris at opentext.com>

diff --git a/src/composite.xml b/src/composite.xml
index d16b6e7..535a0ee 100644
--- a/src/composite.xml
+++ b/src/composite.xml
@@ -26,7 +26,7 @@ authorization from the authors.
 -->
 <!-- This file describes version 0.3 of COMPOSITE. -->
 <xcb header="composite" extension-xname="Composite" extension-name="Composite"
-    major-version="0" minor-version="3">
+    major-version="0" minor-version="4">
 
   <import>xproto</import>
   <import>xfixes</import>
commit 8c85be5392b89eba6440952d1b95e3af806f1c7f
Author: Daniel Martin <consume.noise at gmail.com>
Date:   Tue May 28 16:43:15 2013 +0200

    xfixes: Rename enum DirectionMask to BarrierDirec.
    
    Rename the enum 'DirectionMask' to 'BarrierDirections' to match the
    specification.
    
    Signed-off-by: Daniel Martin <consume.noise at gmail.com>
    Signed-off-by: Peter Harris <pharris at opentext.com>

diff --git a/src/xfixes.xml b/src/xfixes.xml
index cbc7542..7b9be17 100644
--- a/src/xfixes.xml
+++ b/src/xfixes.xml
@@ -336,7 +336,7 @@ authorization from the authors.
 
   <xidtype name="BARRIER" />
 
-  <enum name="DirectionMask">
+  <enum name="BarrierDirections">
     <item name="PositiveX"><bit>0</bit></item>
     <item name="PositiveY"><bit>1</bit></item>
     <item name="NegativeX"><bit>2</bit></item>
@@ -350,7 +350,7 @@ authorization from the authors.
     <field type="CARD16" name="y1" />
     <field type="CARD16" name="x2" />
     <field type="CARD16" name="y2" />
-    <field type="CARD32" name="directions" mask="DirectionMask" />
+    <field type="CARD32" name="directions" mask="BarrierDirections" />
     <pad bytes="2" />
     <field type="CARD16" name="num_devices" />
     <list type="CARD16" name="devices"><fieldref>num_devices</fieldref></list>


More information about the xcb-commit mailing list