summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2008-03-18 16:01:10 -0700
committerKeith Packard <keithp@keithp.com>2008-03-18 16:01:10 -0700
commit2d09f9cac379c74f492b528a8aa2ac3b5997d617 (patch)
tree4a97ef45e6f4b7ddcb97bdd315e988eae77c0beb
parentaa5cd18a9f84aa075ffa7f70e6591b70b093119f (diff)
downloadxorg-proto-randrproto-2d09f9cac379c74f492b528a8aa2ac3b5997d617.tar.gz
Eliminate inverse matrix from randr transform protocol
It is easier, and potentially more precise, to compute the inverse in the server where everything can eventually be kept in floating point form.
-rw-r--r--randrproto.h16
-rw-r--r--randrproto.txt6
2 files changed, 7 insertions, 15 deletions
diff --git a/randrproto.h b/randrproto.h
index e6bab25..6c52eea 100644
--- a/randrproto.h
+++ b/randrproto.h
@@ -568,13 +568,11 @@ typedef struct {
CARD16 length B16;
RRCrtc crtc B32;
xRenderTransform transform;
- CARD32 pad0 B32;
- xRenderTransform inverse;
CARD16 nbytesFilter; /* number of bytes in filter name */
CARD16 pad B16;
} xRRSetCrtcTransformReq;
-#define sz_xRRSetCrtcTransformReq 88
+#define sz_xRRSetCrtcTransformReq 48
typedef struct {
CARD8 reqType;
@@ -592,19 +590,17 @@ typedef struct {
CARD32 length B32;
xRenderTransform pendingTransform;
BYTE hasTransforms;
- CARD8 pad0a;
- CARD16 pad0 B16;
- xRenderTransform pendingInverse;
- CARD16 pendingNbytesFilter B16; /* number of bytes in filter name */
- CARD16 pendingNparamsFilter B16; /* number of filter params */
+ CARD8 pad0;
+ CARD16 pad1 B16;
xRenderTransform currentTransform;
CARD32 pad2 B32;
- xRenderTransform currentInverse;
+ CARD16 pendingNbytesFilter B16; /* number of bytes in filter name */
+ CARD16 pendingNparamsFilter B16; /* number of filter params */
CARD16 currentNbytesFilter B16; /* number of bytes in filter name */
CARD16 currentNparamsFilter B16; /* number of filter params */
} xRRGetCrtcTransformReply;
-#define sz_xRRGetCrtcTransformReply 168
+#define sz_xRRGetCrtcTransformReply 96
/*
* event
diff --git a/randrproto.txt b/randrproto.txt
index ac40f93..eac79c7 100644
--- a/randrproto.txt
+++ b/randrproto.txt
@@ -983,7 +983,6 @@ dynamic changes in the display environment.
RRSetCrtcTransform
crtc: CRTC
transform: TRANSFORM
- inverse: TRANSFORM
filter: STRING8
values: LISTofFIXED
└───
@@ -994,8 +993,7 @@ rotation and reflection values for describing the transformation from frame
buffer image to crtc presentation. 'transform' is a full 2D projective
transformations from screen coordinate space to crtc coordinate space. This
transformation is applied before the rotation and reflection values to
-compute the complete transform. 'inverse' must be the
-multiplicative inverse of 'transform' or a Match error results.
+compute the complete transform.
'filter' and 'values' specify a Render filter that may be used by the server
when transforming data from frame buffer to crtc.
@@ -1014,11 +1012,9 @@ the screen when the mode is set.
crtc: CRTC
pending-transform: TRANSFORM
- pending-inverse: TRANSFORM
pending-filter: STRING8
pending-values: LISTofFIXED
current-transform: TRANSFORM
- current-inverse: TRANSFORM
current-filter: STRING8
current-values: LISTofFIXED
└───