This function replaces DRI2GetBuffers.

Signed-off-by: Ian Romanick <[email protected]>
---
 configure.ac  |    2 +-
 dri2proto.h   |    5 ++-
 dri2proto.txt |   67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 dri2tokens.h  |    1 +
 4 files changed, 70 insertions(+), 5 deletions(-)

diff --git a/configure.ac b/configure.ac
index 234426c..2d8fdc8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
 AC_PREREQ([2.57])
-AC_INIT([DRI2Proto], [2.0], 
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AC_INIT([DRI2Proto], [2.1], 
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
 AM_INIT_AUTOMAKE([foreign dist-bzip2])
 
 # Require xorg-macros: XORG_CHANGELOG
diff --git a/dri2proto.h b/dri2proto.h
index dc3f2d1..8d76079 100644
--- a/dri2proto.h
+++ b/dri2proto.h
@@ -35,11 +35,11 @@
 
 #define DRI2_NAME                      "DRI2"
 #define DRI2_MAJOR                     1
-#define DRI2_MINOR                     0
+#define DRI2_MINOR                     1
 
 #define DRI2NumberErrors               0
 #define DRI2NumberEvents               0
-#define DRI2NumberRequests             7
+#define DRI2NumberRequests             8
 
 #define X_DRI2QueryVersion             0
 #define X_DRI2Connect                  1
@@ -48,6 +48,7 @@
 #define X_DRI2DestroyDrawable          4
 #define X_DRI2GetBuffers               5
 #define X_DRI2CopyRegion               6
+#define X_DRI2GetBuffersWithFormat     7
 
 typedef struct {
     CARD32  attachment B32;
diff --git a/dri2proto.txt b/dri2proto.txt
index 106f8d8..cc62702 100644
--- a/dri2proto.txt
+++ b/dri2proto.txt
@@ -142,7 +142,8 @@ DRI2ATTACHMENT { DRI2BufferFrontLeft
                 DRI2BufferStencil
                 DRI2BufferAccum
                 DRI2BufferFakeFrontLeft
-                DRI2BufferFakeFrontRight }
+                DRI2BufferFakeFrontRight
+                DRI2BufferDepthStencil }
 
        These values describe various attachment points for DRI2
        buffers.
@@ -159,6 +160,13 @@ DRI2BUFFER { attachment: CARD32
        underlying kernel buffer,
 
 
+DRI2ATTACH_FORMAT { attachment: CARD32
+                   format:     CARD32 }
+
+       The DRI2ATTACH_FORMAT describes an attachment and the associated
+       format.  'attachment' describes the attachment point for the buffer,
+       'format' describes an opaque, device-dependent format for the buffer.
+
                             ⚙ ⚙ ⚙  ⚙ ⚙ ⚙
 
 
@@ -281,6 +289,31 @@ The name of this extension is "DRI2".
        rendering the next frame.
 
 
+┌───
+    DRI2GetBuffersWithFormat
+       drawable: DRAWABLE
+       attachments: LISTofDRI2ATTACH_FORMAT
+      ▶      
+       width, height: CARD32
+       buffers: LISTofDRI2BUFFER
+└───
+       Errors: Window
+
+       Get buffers for the provided attachment points with the specified
+       formats for the given drawable.
+
+       If the DDX driver does not support one or more of the
+       specified attachment points or formats, a Value error is generated,
+       with the first unsupported attachment point as the error value.
+
+       'width' and 'height' describes the dimensions of the drawable.
+
+       'buffers' is a list of DRI2BUFFER for the given DRI2
+       attachment points.
+
+       This request is only available with protocol version 1.1 or
+       later.
+
                             ⚙ ⚙ ⚙  ⚙ ⚙ ⚙
 
 
@@ -366,8 +399,11 @@ A.1 Common Types
        0x6     DRI2BufferAccum
        0x7     DRI2BufferFakeFrontLeft
        0x8     DRI2BufferFakeFrontRight
+       0x9     DRI2BufferDepthStencil
 └───
-       Used to encode the possible attachment points.
+       Used to encode the possible attachment points.  The attachment
+       DRI2BufferDepthStencil is only available with protocol version 1.1 or
+       later.
 
 ┌───
     DRI2BUFFER
@@ -381,6 +417,14 @@ A.1 Common Types
        manager name, the pitch and chars per pixel for a buffer
        attached to a given drawable.
 
+┌───
+    DRI2ATTACH_FORMAT
+       4       CARD32  attachment
+       4       CARD32  format
+└───
+       Used to describe the attachment and format requested from the server.
+       This data type is only available with protocol version 1.1 or
+       later.
 
 A.2 Protocol Requests
 
@@ -474,6 +518,25 @@ A.2 Protocol Requests
        24                              unused  
 └───
 
+┌───
+    DRI2GetBuffersWithFormat
+       1       CARD8                   major opcode
+       1       3                       DRI2 opcode
+       2       3                       length
+       4       DRAWABLE                drawable
+       4       n                       number of attachments
+       8n      LISTofDRI2ATTACH_FORMAT attachments and formats
+      ▶      
+       1       1                       Reply
+        1                              unused
+       2       CARD16                  sequence number
+       4       0                       reply length
+       4       CARD32                  width of drawable
+       4       CARD32                  height of drawable
+       4       CARD32                  buffer count
+       12                              unused  
+       5n      LISTofDRI2BUFFER        buffers
+└───
 
 A.3 Protocol Events
 
diff --git a/dri2tokens.h b/dri2tokens.h
index 087159f..d56e4fb 100644
--- a/dri2tokens.h
+++ b/dri2tokens.h
@@ -42,6 +42,7 @@
 #define DRI2BufferAccum                        6
 #define DRI2BufferFakeFrontLeft                7
 #define DRI2BufferFakeFrontRight       8
+#define DRI2BufferDepthStencil         9
 
 #define DRI2DriverDRI                  0
 
-- 
1.6.0.6


------------------------------------------------------------------------------
Stay on top of everything new and different, both inside and 
around Java (TM) technology - register by April 22, and save
$200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco.
300 plus technical and hands-on sessions. Register today. 
Use priority code J9JMT32. http://p.sf.net/sfu/p
_______________________________________________
Mesa3d-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to