x11proto-dri2: Changes to 'upstream-unstable'
configure.ac | 2 -
dri2proto.h | 28 ++++++++++++++++++++++--
dri2proto.txt | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++--------
dri2tokens.h | 5 ++++
4 files changed, 90 insertions(+), 12 deletions(-)
New commits:
commit 4eeacce4c4a300b938b7e3fb78a8e443c491780b
Author: Dave Airlie <airlied@redhat.com>
Date: Sat Jul 7 10:20:12 2012 +0100
dri2proto: bump package to 2.8
this just so we can rely on 2.8 to build the server/mesa against.
Signed-off-by: Dave Airlie <airlied@redhat.com>
diff --git a/configure.ac b/configure.ac
index aeb86a9..6d1ebdb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
AC_PREREQ([2.60])
-AC_INIT([DRI2Proto], [2.7], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AC_INIT([DRI2Proto], [2.8], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
AM_INIT_AUTOMAKE([foreign dist-bzip2])
AM_MAINTAINER_MODE
commit fb9e9339876d0a7c4821f9dbea1635a43a06da01
Author: Dave Airlie <airlied@redhat.com>
Date: Fri Jan 20 10:34:58 2012 +0000
dri2proto: add prime protocol support. (v2.1)
So we reserve bits 16->19 for offload device ids, this means we can
have 6 offload devices, which is plenty for now, and we can bump
this further later without fear.
v2: I suck at maths, that is all. Fixed up the maths to match reality.
v2.1: fix typo
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
diff --git a/dri2tokens.h b/dri2tokens.h
index 16c9008..bdca866 100644
--- a/dri2tokens.h
+++ b/dri2tokens.h
@@ -45,6 +45,11 @@
#define DRI2BufferDepthStencil 9
#define DRI2BufferHiz 10
+/* keep bits 16 and above for prime IDs */
+#define DRI2DriverPrimeMask 7 /* 0 - 7 - allows for 6 devices*/
+#define DRI2DriverPrimeShift 16
+#define DRI2DriverPrimeId(x) (((x) >> DRI2DriverPrimeShift) & (DRI2DriverPrimeMask))
+
#define DRI2DriverDRI 0
#define DRI2DriverVDPAU 1
commit 652fe8d9dd2393127b11741ba63cb95a83ad454f
Author: Chad Versace <chad.versace@linux.intel.com>
Date: Wed May 2 12:03:31 2012 -0700
dri2proto: Add DRI2GetParam request
Bump protocol version to 1.4.
Bump package version to 2.7.
This new protocol request effectively allows clients to perform feature
detection on the DDX.
If I had DRI2GetParam in June 2011, when I was implementing support in the
Intel DDX and Mesa for new hardware that required a new DRI2 attachment
format, then I could have avoided a week of pain caused by the necessity
to write a horrid feature detection hack [1] in Mesa. In the future, when
the work begins to add MSAA support to the Intel DDX, having a clean way
to do feature detection will allow us to avoid revisiting and expanding
that hack.
[1] mesa, commit aea2236a, function intel_verify_dri2_has_hi
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Ian Romanick <idr@freedesktop.org>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
diff --git a/configure.ac b/configure.ac
index d671f5a..aeb86a9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
AC_PREREQ([2.60])
-AC_INIT([DRI2Proto], [2.6], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AC_INIT([DRI2Proto], [2.7], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
AM_INIT_AUTOMAKE([foreign dist-bzip2])
AM_MAINTAINER_MODE
diff --git a/dri2proto.h b/dri2proto.h
index cd82afb..128b807 100644
--- a/dri2proto.h
+++ b/dri2proto.h
@@ -35,11 +35,11 @@
#define DRI2_NAME "DRI2"
#define DRI2_MAJOR 1
-#define DRI2_MINOR 3
+#define DRI2_MINOR 4
#define DRI2NumberErrors 0
#define DRI2NumberEvents 2
-#define DRI2NumberRequests 13
+#define DRI2NumberRequests 14
#define X_DRI2QueryVersion 0
#define X_DRI2Connect 1
@@ -54,6 +54,7 @@
#define X_DRI2WaitMSC 10
#define X_DRI2WaitSBC 11
#define X_DRI2SwapInterval 12
+#define X_DRI2GetParam 13
/*
* Events
@@ -330,4 +331,27 @@ typedef struct {
} xDRI2InvalidateBuffers;
#define sz_xDRI2InvalidateBuffers 32
+typedef struct {
+ CARD8 reqType;
+ CARD8 dri2ReqType;
+ CARD16 length B16;
+ CARD32 drawable B32;
+ CARD32 param B32;
+} xDRI2GetParamReq;
+#define sz_xDRI2GetParamReq 12
+
+typedef struct {
+ BYTE type; /*X_Reply*/
+ BOOL is_param_recognized;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 value_hi B32;
+ CARD32 value_lo B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xDRI2GetParamReply;
+#define sz_xDRI2GetParamReply 32
+
#endif
diff --git a/dri2proto.txt b/dri2proto.txt
index 7bde067..9921301 100644
--- a/dri2proto.txt
+++ b/dri2proto.txt
@@ -440,6 +440,36 @@ The name of this extension is "DRI2".
DRI2SwapBuffers requests to swap at most once per interval frames,
which is useful useful for limiting the frame rate.
+┌───
+ DRI2GetParam
+ drawable: DRAWABLE
+ param: CARD32
+ ▶
+ is_param_recognized: BOOL
+ value: CARD64
+└───
+ Errors: Drawable
+
+ Get the value of a parameter. The parameter's value is looked up on
+ the screen associated with 'drawable'.
+
+ Parameter names in which the value of the most significant byte is
+ 0 are reserved for the X server. Currently, no such parameter names
+ are defined. (When any such names are defined, they will be defined in
+ this extension specification and its associated headers).
+
+ Parameter names in which the byte's value is 1 are reserved for the
+ DDX. Such names are private to each driver and shall be defined in the
+ respective driver's headers.
+
+ Parameter names in which the byte's value is neither 0 nor 1 are
+ reserved for future use.
+
+ Possible values of 'is_param_recognized' are true (1) and false (0).
+ If false, then 'value' is undefined.
+
+ This request is only available with protocol version 1.4 or later.
+
⚙ ⚙ ⚙ ⚙ ⚙ ⚙
9. Extension Events
@@ -512,6 +542,8 @@ The DRI2 extension has undergone a number of revisions before
2.6: Enlightenment attained. Added the DRI2BufferHiz attachment.
+ 2.7: Added the DRI2GetParam request.
+
Compatibility up to 2.0 is not preserved, but was also never released.
@@ -830,6 +862,23 @@ A.2 Protocol Requests
▶
└───
+┌───
+ DRI2GetParam
+ 1 CARD8 major opcode
+ 1 13 DRI2 opcode
+ 2 8 length
+ 4 DRAWABLE drawable
+ 4 CARD32 param
+ ▶
+ 1 1 Reply
+ 1 BOOL is_param_recognized
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 4 CARD32 value_hi
+ 4 CARD32 value_lo
+ 16 unused
+└───
+
A.3 Protocol Events
The DRI2 extension specifies DRI2_BufferSwapComplete and
commit 428688d1eaa3d0faa13a61613cdaeaabcb351f0e
Author: Chad Versace <chad.versace@linux.intel.com>
Date: Wed May 2 11:56:37 2012 -0700
dri2proto: Fix documented opcodes
Fix the documented opcodes in dri2proto.txt to be consistent with the
actual opcode values in dri2proto.h and in xcb/proto:src/dri2.xml. (It
looks like the opcodes were incorrect due to copy-paste errors).
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
diff --git a/dri2proto.txt b/dri2proto.txt
index df763c7..7bde067 100644
--- a/dri2proto.txt
+++ b/dri2proto.txt
@@ -658,7 +658,7 @@ A.2 Protocol Requests
┌───
DRI2GetBuffers
1 CARD8 major opcode
- 1 3 DRI2 opcode
+ 1 5 DRI2 opcode
2 3 length
4 DRAWABLE drawable
4 n number of attachments
@@ -678,7 +678,7 @@ A.2 Protocol Requests
┌───
DRI2CopyRegion
1 CARD8 major opcode
- 1 4 DRI2 opcode
+ 1 6 DRI2 opcode
2 3 length
4 DRAWABLE drawable
4 REGION region
@@ -695,7 +695,7 @@ A.2 Protocol Requests
┌───
DRI2GetBuffersWithFormat
1 CARD8 major opcode
- 1 3 DRI2 opcode
+ 1 7 DRI2 opcode
2 3 length
4 DRAWABLE drawable
4 n number of attachments
@@ -715,7 +715,7 @@ A.2 Protocol Requests
┌───
DRI2SwapBuffers
1 CARD8 major opcode
- 1 7 DRI2 opcode
+ 1 8 DRI2 opcode
2 8 length
4 DRAWABLE drawable
▶
@@ -736,7 +736,7 @@ A.2 Protocol Requests
┌───
DRI2SwapBuffers
1 CARD8 major opcode
- 1 7 DRI2 opcode
+ 1 8 DRI2 opcode
2 8 length
4 DRAWABLE drawable
4 CARD32 target_msc_hi
@@ -758,7 +758,7 @@ A.2 Protocol Requests
┌───
DRI2GetMSC
1 CARD8 major opcode
- 1 7 DRI2 opcode
+ 1 9 DRI2 opcode
2 8 length
4 DRAWABLE drawable
▶
@@ -777,7 +777,7 @@ A.2 Protocol Requests
┌───
DRI2WaitMSC
1 CARD8 major opcode
- 1 7 DRI2 opcode
+ 1 10 DRI2 opcode
2 8 length
4 DRAWABLE drawable
4 CARD32 target_msc_hi
@@ -802,7 +802,7 @@ A.2 Protocol Requests
┌───
DRI2WaitSBC
1 CARD8 major opcode
- 1 7 DRI2 opcode
+ 1 11 DRI2 opcode
2 8 length
4 DRAWABLE drawable
4 CARD32 swap_hi
@@ -823,7 +823,7 @@ A.2 Protocol Requests
┌───
DRI2SwapInterval
1 CARD8 major opcode
- 1 7 DRI2 opcode
+ 1 12 DRI2 opcode
2 8 length
4 DRAWABLE drawable
4 CARD32 interval
Reply to: