[Xcb-commit] xcb/proto: 7 commits - src xcbgen

Keith Packard keithp at kemper.freedesktop.org
Thu Nov 7 01:54:29 CET 2013


 src/Makefile.am  |    2 
 src/dri3.xml     |   97 ++++++++++++++++++++++++++
 src/present.xml  |  205 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/shm.xml      |   21 +++++
 src/sync.xml     |   24 +++---
 src/xproto.xml   |   16 ++++
 xcbgen/expr.py   |    3 
 xcbgen/state.py  |    2 
 xcbgen/xtypes.py |   60 +++++++++++++++-
 9 files changed, 414 insertions(+), 16 deletions(-)

New commits:
commit 530817c5a926f006d8d61f9dcfd9ab73269a9805
Author: Keith Packard <keithp at keithp.com>
Date:   Thu Jul 11 15:59:08 2013 -0700

    Add Present protocol specification
    
    Signed-off-by: Keith Packard <keithp at keithp.com>
    Reviewed-by: Peter Harris <pharris at opentext.com>

diff --git a/src/Makefile.am b/src/Makefile.am
index 5804fff..d81d818 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -9,6 +9,7 @@ xcbinclude_HEADERS = \
 	dri3.xml \
 	ge.xml \
 	glx.xml \
+	present.xml \
 	randr.xml \
 	record.xml \
 	render.xml \
diff --git a/src/present.xml b/src/present.xml
new file mode 100644
index 0000000..d12ae48
--- /dev/null
+++ b/src/present.xml
@@ -0,0 +1,205 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+Copyright © 2013 Keith Packard
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting documentation, and
+that the name of the copyright holders not be used in advertising or
+publicity pertaining to distribution of the software without specific,
+written prior permission.  The copyright holders make no representations
+about the suitability of this software for any purpose.  It is provided "as
+is" without express or implied warranty.
+
+THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+OF THIS SOFTWARE.
+-->
+
+<xcb header="present" extension-xname="Present" extension-name="Present"
+  major-version="1" minor-version="0">
+  <import>xproto</import>
+  <import>randr</import>
+  <import>xfixes</import>
+  <import>sync</import>
+
+  <!-- Types -->
+
+  <enum name="Event">
+    <item name="ConfigureNotify"><value>0</value></item>
+    <item name="CompleteNotify"><value>1</value></item>
+    <item name="IdleNotify"><value>2</value></item>
+    <item name="RedirectNotify"><value>3</value></item>
+  </enum>
+
+  <enum name="EventMask">
+    <item name="NoEvent"><value>0</value></item>
+    <item name="ConfigureNotify"><bit>0</bit></item>
+    <item name="CompleteNotify"><bit>1</bit></item>
+    <item name="IdleNotify"><bit>2</bit></item>
+    <item name="RedirectNotify"><bit>3</bit></item>
+  </enum>
+
+  <enum name="Option">
+    <item name="None"><value>0</value></item>
+    <item name="Async"><bit>0</bit></item>
+    <item name="Copy"><bit>1</bit></item>
+    <item name="UST"><bit>2</bit></item>
+  </enum>
+
+  <enum name="Capability">
+    <item name="None"><value>0</value></item>
+    <item name="Async"><bit>0</bit></item>
+    <item name="Fence"><bit>1</bit></item>
+    <item name="UST"><bit>2</bit></item>
+  </enum>
+
+  <enum name="CompleteKind">
+    <item name="Pixmap"><value>0</value></item>
+    <item name="NotifyMSC"><value>1</value></item>
+  </enum>
+
+  <enum name="CompleteMode">
+    <item name="Copy"><value>0</value></item>
+    <item name="Flip"><value>1</value></item>
+    <item name="Skip"><value>2</value></item>
+  </enum>
+
+  <struct name="Notify">
+    <field type="WINDOW" name="window" />
+    <field type="CARD32" name="serial" />
+  </struct>
+
+  <!-- Requests -->
+  <request name="QueryVersion" opcode="0">
+    <field type="CARD32" name="major_version" />
+    <field type="CARD32" name="minor_version" />
+    <reply>
+      <pad bytes="1" />
+      <field type="CARD32" name="major_version" />
+      <field type="CARD32" name="minor_version" />
+    </reply>
+  </request>
+
+  <request name="Pixmap" opcode="1">
+    <field type="WINDOW" name="window" />
+    <field type="PIXMAP" name="pixmap" />
+    <field type="CARD32" name="serial" />
+    <field type="REGION" name="valid" />
+    <field type="REGION" name="update" />
+    <field type="INT16" name="x_off" />
+    <field type="INT16" name="y_off" />
+    <field type="CRTC" name="target_crtc" />
+    <field type="FENCE" name="wait_fence" />
+    <field type="FENCE" name="idle_fence" />
+    <field type="CARD32" name="options" />
+    <pad bytes="4"/>
+    <field type="CARD64" name="target_msc" />
+    <field type="CARD64" name="divisor" />
+    <field type="CARD64" name="remainder" />
+    <list type="Notify" name="notifies"/>
+  </request>
+
+  <request name="NotifyMSC" opcode="2">
+    <field type="WINDOW" name="window" />
+    <field type="CARD32" name="serial" />
+    <pad bytes="4"/>
+    <field type="CARD64" name="target_msc" />
+    <field type="CARD64" name="divisor" />
+    <field type="CARD64" name="remainder" />
+  </request>
+
+  <xidtype name="EVENT"/>
+  
+  <request name="SelectInput" opcode="3">
+    <field type="EVENT" name="eid"/>
+    <field type="WINDOW" name="window" />
+    <field type="CARD32" name="event_mask" mask="EventMask" />
+  </request>
+
+  <request name="QueryCapabilities" opcode="4">
+    <field type="CARD32" name="target" />
+    <reply>
+      <pad bytes="1" />
+      <field type="CARD32" name="capabilities" />
+    </reply>
+  </request>
+
+  <!-- Events -->
+
+  <event name="Generic">
+    <field type="CARD8" name="extension" />
+    <field type="CARD32" name="length" />
+    <field type="CARD16" name="evtype" enum="EventType" />
+    <pad bytes="2" />
+    <field type="EVENT" name="event" />
+  </event>
+    
+  <event name="ConfigureNotify" number="0" xge="true">
+    <pad bytes="2" />
+    <field type="EVENT" name="event" />
+    <field type="WINDOW" name="window" />
+    <field type="INT16" name="x" />
+    <field type="INT16" name="y" />
+    <field type="CARD16" name="width" />
+    <field type="CARD16" name="height" />
+    <field type="INT16" name="off_x" />
+    <field type="INT16" name="off_y" />
+    <field type="CARD16" name="pixmap_width" />
+    <field type="CARD16" name="pixmap_height" />
+    <field type="CARD32" name="pixmap_flags" />
+  </event>
+
+  <event name="CompleteNotify" number="1" xge="true">
+    <field type="CARD8" name="kind" enum="CompleteKind" />
+    <field type="CARD8" name="mode" enum="CompleteMode" />
+    <field type="EVENT" name="event" />
+    <field type="WINDOW" name="window" />
+    <field type="CARD32" name="serial" />
+    <field type="CARD64" name="ust" />
+    <field type="CARD64" name="msc" />
+  </event>
+
+  <event name="IdleNotify" number="2" xge="true">
+    <pad bytes="2"/>
+    <field type="EVENT" name="event" />
+    <field type="WINDOW" name="window" />
+    <field type="CARD32" name="serial" />
+    <field type="PIXMAP" name="pixmap" />
+    <field type="FENCE" name="idle_fence" />
+  </event>
+
+  <event name="RedirectNotify" number="3" xge="true">
+    <field type="BOOL" name="update_window"/>
+    <pad bytes="1"/>
+    <field type="EVENT" name="event" />
+    <field type="WINDOW" name="event_window" />
+    <field type="WINDOW" name="window" />
+    <field type="PIXMAP" name="pixmap" />
+    <field type="CARD32" name="serial" />
+
+    <field type="REGION" name="valid_region" />
+    <field type="REGION" name="update_region" />
+    <field type="RECTANGLE" name="valid_rect" />
+    <field type="RECTANGLE" name="update_rect" />
+
+    <field type="INT16" name="x_off" />
+    <field type="INT16" name="y_off" />
+    <field type="CRTC" name="target_crtc" />
+    <field type="FENCE" name="wait_fence" />
+    <field type="FENCE" name="idle_fence" />
+    <field type="CARD32" name="options" />
+    <pad bytes="4"/>
+    <field type="CARD64" name="target_msc" />
+    <field type="CARD64" name="divisor" />
+    <field type="CARD64" name="remainder" />
+    <list type="Notify" name="notifies"/>
+  </event>
+
+</xcb>
commit 2158da4db83387b9b68ce85605fc09ac56414c74
Author: Keith Packard <keithp at keithp.com>
Date:   Tue Apr 9 21:36:40 2013 -0700

    Add DRI3
    
    Signed-off-by: Keith Packard <keithp at keithp.com>
    Reviewed-by: Peter Harris <pharris at opentext.com>

diff --git a/src/Makefile.am b/src/Makefile.am
index eef2dbc..5804fff 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -6,6 +6,7 @@ xcbinclude_HEADERS = \
 	damage.xml \
 	dpms.xml \
 	dri2.xml \
+	dri3.xml \
 	ge.xml \
 	glx.xml \
 	randr.xml \
diff --git a/src/dri3.xml b/src/dri3.xml
new file mode 100644
index 0000000..608af31
--- /dev/null
+++ b/src/dri3.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+Copyright © 2013 Keith Packard
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting documentation, and
+that the name of the copyright holders not be used in advertising or
+publicity pertaining to distribution of the software without specific,
+written prior permission.  The copyright holders make no representations
+about the suitability of this software for any purpose.  It is provided "as
+is" without express or implied warranty.
+
+THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+OF THIS SOFTWARE.
+-->
+
+<xcb header="dri3" extension-xname="DRI3" extension-name="DRI3"
+  major-version="1" minor-version="0">
+  <import>xproto</import>
+
+  <!-- Types -->
+
+  <!-- Requests -->
+  <request name="QueryVersion" opcode="0">
+    <field type="CARD32" name="major_version" />
+    <field type="CARD32" name="minor_version" />
+    <reply>
+      <pad bytes="1" />
+      <field type="CARD32" name="major_version" />
+      <field type="CARD32" name="minor_version" />
+    </reply>
+  </request>
+
+  <request name="Open" opcode="1">
+    <field type="DRAWABLE" name="drawable" />
+    <field type="CARD32" name="provider" />
+    <reply>
+      <field type="CARD8" name="nfd"/>
+      <fd name="device_fd" />
+      <pad bytes="24" />
+    </reply>
+  </request>
+
+  <request name="PixmapFromBuffer" opcode="2">
+    <field type="PIXMAP" name="pixmap" />
+    <field type="DRAWABLE" name="drawable" />
+    <field type="CARD32" name="size" />
+    <field type="CARD16" name="width" />
+    <field type="CARD16" name="height" />
+    <field type="CARD16" name="stride" />
+    <field type="CARD8" name="depth" />
+    <field type="CARD8" name="bpp" />
+    <fd name="pixmap_fd" />
+  </request>
+
+  <request name="BufferFromPixmap" opcode="3">
+    <field type="PIXMAP" name="pixmap" />
+    <reply>
+      <field type="CARD8" name="nfd"/>
+      <field type="CARD32" name="size" />
+      <field type="CARD16" name="width" />
+      <field type="CARD16" name="height" />
+      <field type="CARD16" name="stride" />
+      <field type="CARD8" name="depth" />
+      <field type="CARD8" name="bpp" />
+      <fd name="pixmap_fd" />
+      <pad bytes="12"/>
+    </reply>
+  </request>
+
+  <request name="FenceFromFD" opcode="4">
+    <field type="DRAWABLE" name="drawable" />
+    <field type="CARD32" name="fence"/>
+    <field type="BOOL" name="initially_triggered"/>
+    <pad bytes="3"/>
+    <fd name="fence_fd"/>
+  </request>
+
+  <request name="FDFromFence" opcode="5">
+    <field type="DRAWABLE" name="drawable" />
+    <field type="CARD32" name="fence"/>
+    <reply>
+      <field type="CARD8" name="nfd"/>
+      <fd name="fence_fd" />
+      <pad bytes="24"/>
+    </reply>
+  </request>
+
+</xcb>
commit f9038ff118a458375d4e25032dc8eb097fefcd55
Author: Keith Packard <keithp at keithp.com>
Date:   Fri Jan 18 01:28:10 2013 -0800

    Add MIT-SHM AttachFd and CreateSegment requests
    
    Signed-off-by: Keith Packard <keithp at keithp.com>
    Reviewed-by: Peter Harris <pharris at opentext.com>

diff --git a/src/shm.xml b/src/shm.xml
index adda509..71fce14 100644
--- a/src/shm.xml
+++ b/src/shm.xml
@@ -26,7 +26,7 @@ sale, use or other dealings in this Software without prior written
 authorization from the authors.
 -->
 <xcb header="shm" extension-xname="MIT-SHM" extension-name="Shm"
-    major-version="1" minor-version="1">
+    major-version="1" minor-version="2">
   <import>xproto</import>
 
   <xidtype name="SEG" />
@@ -113,4 +113,23 @@ authorization from the authors.
     <field type="SEG" name="shmseg" />
     <field type="CARD32" name="offset" />
   </request>
+
+  <request name="AttachFd" opcode="6">
+    <field type="SEG" name="shmseg" />
+    <fd name="shm_fd" />
+    <field type="BOOL" name="read_only" />
+    <pad bytes="3" />
+  </request>
+
+  <request name="CreateSegment" opcode="7">
+    <field type="SEG" name="shmseg" />
+    <field type="CARD32" name="size" />
+    <field type="BOOL" name="read_only" />
+    <pad bytes="3" />
+    <reply>
+      <field type="CARD8" name="nfd" />
+      <fd name="shm_fd" />
+      <pad bytes="24" />
+    </reply>
+  </request>
 </xcb>
commit 5492df11d8a91d6260c6aa236546cb685e5a8611
Author: Keith Packard <keithp at keithp.com>
Date:   Mon Jan 14 14:19:45 2013 -0800

    Add support for file descriptor request fields
    
    These are present in the API, but not present on the wire.
    
    Signed-off-by: Keith Packard <keithp at keithp.com>
    Reviewed-by: Adam Jackson <ajax at redhat.com>

diff --git a/xcbgen/expr.py b/xcbgen/expr.py
index 4f8af6f..f9d5179 100644
--- a/xcbgen/expr.py
+++ b/xcbgen/expr.py
@@ -13,7 +13,7 @@ class Field(object):
     auto is true iff the field is on the wire but not in the request API (e.g. opcode)
     enum is the enum name this field refers to, if any.
     '''
-    def __init__(self, type, field_type, field_name, visible, wire, auto, enum=None):
+    def __init__(self, type, field_type, field_name, visible, wire, auto, enum=None, isfd=False):
         self.type = type
         self.field_type = field_type
         self.field_name = field_name
@@ -21,6 +21,7 @@ class Field(object):
         self.visible = visible
         self.wire = wire
         self.auto = auto
+        self.isfd = isfd
 
 
 class Expression(object):
diff --git a/xcbgen/xtypes.py b/xcbgen/xtypes.py
index 4b43957..6150d18 100644
--- a/xcbgen/xtypes.py
+++ b/xcbgen/xtypes.py
@@ -75,6 +75,18 @@ class Type(object):
 
         complex_type.fields.append(new_field)
 
+    def make_fd_of(self, module, complex_type, fd_name):
+    	'''
+        Method for making a fd member of a structure.
+        '''
+        new_fd = Field(self, module.get_type_name('INT32'), fd_name, True, False, False, None, True)
+        # We dump the _placeholder_byte if any fields are added.
+        for (idx, field) in enumerate(complex_type.fields):
+            if field == _placeholder_byte:
+                complex_type.fields[idx] = new_fd
+                return
+
+        complex_type.fields.append(new_fd)
 
 class SimpleType(Type):
     '''
@@ -152,6 +164,44 @@ class Enum(SimpleType):
     out = __main__.output['enum']
 
 
+class FileDescriptor(SimpleType):
+    '''
+    Derived class which represents a file descriptor. Passed via magic kernel stuff
+
+    Public fields added:
+    values contains a list of (name, value) tuples.  value is empty, or a number.
+    bits contains a list of (name, bitnum) tuples.  items only appear if specified as a bit. bitnum is a number.
+    '''
+    def __init__(self, name, elt):
+        SimpleType.__init__(self, name, 4)
+        self.values = []
+        self.bits = []
+        self.doc = None
+        for item in list(elt):
+            if item.tag == 'doc':
+                self.doc = Doc(name, item)
+
+            # First check if we're using a default value
+            if len(list(item)) == 0:
+                self.values.append((item.get('name'), ''))
+                continue
+
+            # An explicit value or bit was specified.
+            value = list(item)[0]
+            if value.tag == 'value':
+                self.values.append((item.get('name'), value.text))
+            elif value.tag == 'bit':
+                self.values.append((item.get('name'), '%u' % (1 << int(value.text, 0))))
+                self.bits.append((item.get('name'), value.text))
+
+    def resolve(self, module):
+        self.resolved = True
+
+    def fixed_size(self):
+        return True
+
+    out = __main__.output['enum']
+    
 class ListType(Type):
     '''
     Derived class which represents a list of some other datatype.  Fixed- or variable-sized.
@@ -279,6 +329,7 @@ class ComplexType(Type):
         self.nmemb = 1
         self.size = 0
         self.lenfield_parent = [self]
+        self.fds = []
 
     def resolve(self, module):
         if self.resolved:
@@ -324,9 +375,14 @@ class ComplexType(Type):
                 type.make_member_of(module, self, field_type, field_name, visible, True, False)
                 type.resolve(module)
                 continue
+            elif child.tag == 'fd':
+                fd_name = child.get('name')
+                type = module.get_type('INT32')
+                type.make_fd_of(module, self, fd_name)
+                continue
             else:
                 # Hit this on Reply
-                continue 
+                continue
 
             # Get the full type name for the field
             field_type = module.get_type_name(fkey)
commit 82263254e1c115d60ad007ff29e0749de52ed514
Author: Keith Packard <keithp at keithp.com>
Date:   Wed Nov 6 10:23:14 2013 -0800

    Define X generic event structure
    
    This is used by libxcb, and was defined explicitly there but it's
    cleaner to use the XML specification.
    
    Signed-off-by: Keith Packard <keithp at keithp.com>
    Reviewed-by: Peter Harris <pharris at opentext.com>

diff --git a/src/xproto.xml b/src/xproto.xml
index 16e04b4..defa11e 100644
--- a/src/xproto.xml
+++ b/src/xproto.xml
@@ -1080,7 +1080,21 @@ The number of keycodes altered.
     </doc>
   </event>
 
-
+  <event name="ge" number="35" xge="true">
+    <pad bytes="22" />
+    <doc>
+      <brief>generic event (with length)</brief>
+      <field name="extension"><![CDATA[
+The major opcode of the extension creating this event
+      ]]></field>
+      <field name="length"><![CDATA[
+The amount (in 4-byte units) of data beyond 32 bytes
+      ]]></field>
+      <field name="evtype"><![CDATA[
+The extension-specific event type
+      ]]></field>
+    </doc>
+  </event>
 
   <!-- Core error types -->
 
commit 4d8241c67c83957aa0f612da6823db2d18fdd314
Author: Keith Packard <keithp at keithp.com>
Date:   Thu Jul 11 15:56:54 2013 -0700

    Add CARD64/INT64 protocol types
    
    No reason to make people use two 32-bit values when every modern
    compiler has native 64-bit objects.
    
    Signed-off-by: Keith Packard <keithp at keithp.com>
    Reviewed-by: Adam Jackson <ajax at redhat.com>

diff --git a/xcbgen/state.py b/xcbgen/state.py
index ae3d2d4..10a8722 100644
--- a/xcbgen/state.py
+++ b/xcbgen/state.py
@@ -74,9 +74,11 @@ class Module(object):
         self.add_type('CARD8', '', ('uint8_t',), tcard8)
         self.add_type('CARD16', '', ('uint16_t',), tcard16)
         self.add_type('CARD32', '', ('uint32_t',), tcard32)
+        self.add_type('CARD64', '', ('uint64_t',), tcard64)
         self.add_type('INT8', '', ('int8_t',), tint8)
         self.add_type('INT16', '', ('int16_t',), tint16)
         self.add_type('INT32', '', ('int32_t',), tint32)
+        self.add_type('INT64', '', ('int64_t',), tint64)
         self.add_type('BYTE', '', ('uint8_t',), tcard8)
         self.add_type('BOOL', '', ('uint8_t',), tcard8)
         self.add_type('char', '', ('char',), tchar)
diff --git a/xcbgen/xtypes.py b/xcbgen/xtypes.py
index a4614d9..4b43957 100644
--- a/xcbgen/xtypes.py
+++ b/xcbgen/xtypes.py
@@ -103,9 +103,11 @@ class SimpleType(Type):
 tcard8 = SimpleType(('uint8_t',), 1)
 tcard16 = SimpleType(('uint16_t',), 2)
 tcard32 = SimpleType(('uint32_t',), 4)
+tcard64 = SimpleType(('uint64_t',), 8)
 tint8 =  SimpleType(('int8_t',), 1)
 tint16 = SimpleType(('int16_t',), 2)
 tint32 = SimpleType(('int32_t',), 4)
+tint64 = SimpleType(('int64_t',), 8)
 tchar =  SimpleType(('char',), 1)
 tfloat = SimpleType(('float',), 4)
 tdouble = SimpleType(('double',), 8)
commit 84c032775f30e313395c63b96ecec7a184fd0938
Author: Keith Packard <keithp at keithp.com>
Date:   Fri Jul 12 14:45:57 2013 -0700

    Move the INT64 types in sync.xml to the sync: namespace
    
    This makes sure we use the crazy sync-specific 64-bit datatype instead
    of the global INT64 type
    
    Signed-off-by: Keith Packard <keithp at keithp.com>
    Reviewed-by: Peter Harris <pharris at opentext.com>
    Reviewed-by: Adam Jackson <ajax at redhat.com>

diff --git a/src/sync.xml b/src/sync.xml
index 7bcf0ae..bc07c5b 100644
--- a/src/sync.xml
+++ b/src/sync.xml
@@ -48,7 +48,7 @@ for licensing information.
 
   <struct name="SYSTEMCOUNTER">
     <field type="COUNTER" name="counter" />
-    <field type="INT64" name="resolution" />
+    <field type="sync:INT64" name="resolution" />
     <field type="CARD16" name="name_len" />
     <list type="char" name="name">
       <fieldref>name_len</fieldref>
@@ -58,13 +58,13 @@ for licensing information.
   <struct name="TRIGGER">
     <field type="COUNTER" name="counter" />
     <field type="CARD32" name="wait_type" enum="VALUETYPE" />
-    <field type="INT64" name="wait_value" />
+    <field type="sync:INT64" name="wait_value" />
     <field type="CARD32" name="test_type" enum="TESTTYPE" />
   </struct>
 
   <struct name="WAITCONDITION">
     <field type="TRIGGER" name="trigger" />
-    <field type="INT64" name="event_threshold" />
+    <field type="sync:INT64" name="event_threshold" />
   </struct>
 
   <error name="Counter" number="0">
@@ -103,7 +103,7 @@ for licensing information.
 
   <request name="CreateCounter" opcode="2">
     <field type="COUNTER" name="id" />
-    <field type="INT64" name="initial_value" />
+    <field type="sync:INT64" name="initial_value" />
   </request>
 
   <request name="DestroyCounter" opcode="6">
@@ -114,7 +114,7 @@ for licensing information.
     <field type="COUNTER" name="counter" />
     <reply>
       <pad bytes="1" />
-      <field type="INT64" name="counter_value" />
+      <field type="sync:INT64" name="counter_value" />
     </reply>
   </request>
 
@@ -124,12 +124,12 @@ for licensing information.
 
   <request name="ChangeCounter" opcode="4">
     <field type="COUNTER" name="counter" />
-    <field type="INT64" name="amount" />
+    <field type="sync:INT64" name="amount" />
   </request>
 
   <request name="SetCounter" opcode="3">
     <field type="COUNTER" name="counter" />
-    <field type="INT64" name="value" />
+    <field type="sync:INT64" name="value" />
   </request>
 
   <request name="CreateAlarm" opcode="8">
@@ -205,7 +205,7 @@ for licensing information.
     <reply>
       <pad bytes="1" />
       <field type="TRIGGER" name="trigger" />
-      <field type="INT64" name="delta" />
+      <field type="sync:INT64" name="delta" />
       <field type="BOOL" name="events" />
       <field type="CARD8" name="state" enum="ALARMSTATE" />
       <pad bytes="2" />
@@ -259,8 +259,8 @@ for licensing information.
   <event name="CounterNotify" number="0">
     <field type="CARD8" name="kind" />
     <field type="COUNTER" name="counter" />
-    <field type="INT64" name="wait_value" />
-    <field type="INT64" name="counter_value" />
+    <field type="sync:INT64" name="wait_value" />
+    <field type="sync:INT64" name="counter_value" />
     <field type="TIMESTAMP" name="timestamp" />
     <field type="CARD16" name="count" />
     <field type="BOOL" name="destroyed" />
@@ -270,8 +270,8 @@ for licensing information.
   <event name="AlarmNotify" number="1">
     <field type="CARD8" name="kind" />
     <field type="ALARM" name="alarm" />
-    <field type="INT64" name="counter_value" />
-    <field type="INT64" name="alarm_value" />
+    <field type="sync:INT64" name="counter_value" />
+    <field type="sync:INT64" name="alarm_value" />
     <field type="TIMESTAMP" name="timestamp" />
     <field type="CARD8" name="state" enum="ALARMSTATE" />
     <pad bytes="3" />


More information about the xcb-commit mailing list