summaryrefslogtreecommitdiff
path: root/dri2proto.txt
diff options
context:
space:
mode:
authorChad Versace <chad.versace@linux.intel.com>2012-05-02 12:03:31 -0700
committerChad Versace <chad.versace@linux.intel.com>2012-05-21 14:39:41 -0700
commit652fe8d9dd2393127b11741ba63cb95a83ad454f (patch)
treee3e6b87fee1d0bb04fe5575b2d57c248472fd933 /dri2proto.txt
parent428688d1eaa3d0faa13a61613cdaeaabcb351f0e (diff)
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>
Diffstat (limited to 'dri2proto.txt')
-rw-r--r--dri2proto.txt49
1 files changed, 49 insertions, 0 deletions
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