[PATCH] savage: Fix Xv scaling on non-native resolutions
Tormod Volden
lists.tormod at gmail.com
Sat Sep 17 02:22:30 PDT 2011
From: Hans-Juergen Mauser <hjmauser at gmx.net>
If I set the resolution to 800x600 for example (to be able to use the
TV output in full screen mode), I only can see 800/1024 = 0,78 of the
real video width, no matter if the video is displayed in a small player
window or enlarged to full screen. On the right of the video display,
the remaining width is filled with a black (or sometimes blue) bar.
The problem was mainly that only the drawing starting point was modified
by the scaling factor, but not the size-defining end of the drawing
rectangle.
https://bugs.launchpad.net/bugs/670790
Signed-off-by: Hans-Juergen Mauser <hjmauser at gmx.net>
Reviewed-by: Tormod Volden <debian.tormod at gmail.com>
---
src/savage_video.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/src/savage_video.c b/src/savage_video.c
index 9f860c7..7d571ad 100644
--- a/src/savage_video.c
+++ b/src/savage_video.c
@@ -1508,9 +1508,13 @@ SavageDisplayVideoOld(
drw_h = (float)(drw_h * psav->YExp1)/(float)psav->YExp2+1;
dstBox->x1 = (float)(dstBox->x1 * psav->XExp1)/(float)psav->XExp2;
dstBox->y1 = (float)(dstBox->y1 * psav->YExp1)/(float)psav->YExp2;
+ dstBox->x2 = (dstBox->x2 * psav->XExp1) / psav->XExp2;
+ dstBox->y2 = (dstBox->y2 * psav->YExp1) / psav->YExp2;
dstBox->x1 += psav->displayXoffset;
dstBox->y1 += psav->displayYoffset;
+ dstBox->x2 += psav->displayXoffset;
+ dstBox->y2 += psav->displayYoffset;
}
/*
@@ -1668,8 +1672,12 @@ SavageDisplayVideoNew(
drw_h = (drw_h * psav->YExp1)/psav->YExp2 + 1;
dstBox->x1 = (dstBox->x1 * psav->XExp1)/psav->XExp2;
dstBox->y1 = (dstBox->y1 * psav->YExp1)/psav->YExp2;
+ dstBox->x2 = (dstBox->x2 * psav->XExp1) / psav->XExp2;
+ dstBox->y2 = (dstBox->y2 * psav->YExp1) / psav->YExp2;
dstBox->x1 += psav->displayXoffset;
dstBox->y1 += psav->displayYoffset;
+ dstBox->x2 += psav->displayXoffset;
+ dstBox->y2 += psav->displayYoffset;
}
if (psav->IsSecondary) {
--
1.7.4.1
More information about the xorg-devel
mailing list