From: Dave Airlie <[email protected]>

This reverts commit 77c7a64e8885696665556c9fbcb3cffb552e367a.

It looks like this was being used to workaround some bug in the Intel driver 
cursor handling, so instead of fixing the driver, the server got hacked and 
this broke rotation on Intel and everything else.

So revert this, and hope Intel can actually locate the problem in their driver.

with this reverted, rotation on -ati works again, no one-pixel overlap, the 
cursor can go the whole way to the edge. On Intel, no one-pixel overlap but the 
cursor has an off-by-one in it.

Signed-off-by: Dave Airlie <[email protected]>
---
 randr/rrtransform.c |   28 ++++++++++++++--------------
 1 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/randr/rrtransform.c b/randr/rrtransform.c
index a470e1e..e162049 100644
--- a/randr/rrtransform.c
+++ b/randr/rrtransform.c
@@ -183,21 +183,21 @@ RRTransformCompute (int                       x,
            break;
        case RR_Rotate_90:
            f_rot_cos = 0;          f_rot_sin = 1;
-           f_rot_dx  = height-1;   f_rot_dy  = 0;
+           f_rot_dx  = height;     f_rot_dy  = 0;
            rot_cos = F ( 0);       rot_sin = F ( 1);
-           rot_dx =  F (height-1); rot_dy  = F (0);
+           rot_dx =  F ( height);  rot_dy  = F (0);
            break;
        case RR_Rotate_180:
            f_rot_cos = -1;         f_rot_sin = 0;
-           f_rot_dx  = width - 1;  f_rot_dy  = height - 1;
+           f_rot_dx  = width;      f_rot_dy  = height;
            rot_cos = F (-1);       rot_sin = F ( 0);
-           rot_dx  = F (width-1);  rot_dy  = F ( height-1);
+           rot_dx  = F (width);   rot_dy  = F ( height);
            break;
        case RR_Rotate_270:
            f_rot_cos = 0;          f_rot_sin = -1;
-           f_rot_dx  = 0;          f_rot_dy  = width-1;
+           f_rot_dx  = 0;          f_rot_dy  = width;
            rot_cos = F ( 0);       rot_sin = F (-1);
-           rot_dx  = F ( 0);       rot_dy  = F ( width-1);
+           rot_dx  = F ( 0);       rot_dy  = F ( width);
            break;
        }
        
@@ -220,11 +220,11 @@ RRTransformCompute (int                       x,
            f_scale_x = -1;
            scale_x = F(-1);
            if (rotation & (RR_Rotate_0|RR_Rotate_180)) {
-               f_scale_dx = width-1;
-               scale_dx = F(width-1);
+               f_scale_dx = width;
+               scale_dx = F(width);
            } else {
-               f_scale_dx = height-1;
-               scale_dx = F(height-1);
+               f_scale_dx = height;
+               scale_dx = F(height);
            }
        }
        if (rotation & RR_Reflect_Y)
@@ -232,11 +232,11 @@ RRTransformCompute (int                       x,
            f_scale_y = -1;
            scale_y = F(-1);
            if (rotation & (RR_Rotate_0|RR_Rotate_180)) {
-               f_scale_dy = height-1;
-               scale_dy = F(height-1);
+               f_scale_dy = height;
+               scale_dy = F(height);
            } else {
-               f_scale_dy = width-1;
-               scale_dy = F(width-1);
+               f_scale_dy = width;
+               scale_dy = F(width);
            }
        }
        
-- 
1.6.5.2

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to