diff options
author | George Sapountzis <gsap7@yahoo.gr> | 2007-03-04 18:21:49 +0200 |
---|---|---|
committer | George Sapountzis <gsap7@yahoo.gr> | 2007-03-04 20:43:31 +0200 |
commit | 1e270b411cf691c69194932b864ee2c9db292263 (patch) | |
tree | b2adb2767515cc90b43a4b75909091b108d89399 | |
parent | 54f9b8c1d01ecb97e2d4d247918f0efc86ed6037 (diff) |
[mach64] Bug 5586: overlay scaler limited to 720 pixels on ATI Rage Pro.
-rw-r--r-- | src/atimach64xv.c | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/src/atimach64xv.c b/src/atimach64xv.c index 844f08dc..997fa699 100644 --- a/src/atimach64xv.c +++ b/src/atimach64xv.c @@ -765,8 +765,10 @@ ATIMach64ClipVideo CARD32 HScale, VScale; /* Check hardware limits */ - if ((Height <= 0) || (Height > 2048) || (Width <= 0) || (Width > 720) || - ((Width > 384) && (pATI->Chip < ATI_CHIP_264VTB))) + if ((Height <= 0) || (Height > 2048) || (Width <= 0) || (Width > 768) || + ((Width > 384) && (pATI->Chip < ATI_CHIP_264VTB)) || + ((Width > 720) && (pATI->Chip < ATI_CHIP_264GTPRO || + pATI->Chip > ATI_CHIP_264LTPRO))) return FALSE; ATIMach64ScaleVideo(pATI, pScreenInfo->currentMode, @@ -1132,8 +1134,10 @@ ATIMach64AllocateSurface if (pATI->ActiveSurface) return BadAlloc; - if ((Height <= 0) || (Height > 2048) || (Width <= 0) || (Width > 720) || - ((Width > 384) && (pATI->Chip < ATI_CHIP_264VTB))) + if ((Height <= 0) || (Height > 2048) || (Width <= 0) || (Width > 768) || + ((Width > 384) && (pATI->Chip < ATI_CHIP_264VTB)) || + ((Width > 720) && (pATI->Chip < ATI_CHIP_264GTPRO || + pATI->Chip > ATI_CHIP_264LTPRO))) return BadValue; Width = (Width + 1) & ~1; @@ -1375,10 +1379,15 @@ ATIMach64XVInitialiseAdaptor { enc->width = 384; } - else + else if (pATI->Chip < ATI_CHIP_264GTPRO || + pATI->Chip > ATI_CHIP_264LTPRO) { /* Do nothing */ } + else + { + enc->width = 768; + } pAdaptor->nEncodings = nATIMach64VideoEncoding; pAdaptor->pEncodings = ATIMach64VideoEncoding; @@ -1426,10 +1435,16 @@ ATIMach64XVInitialiseAdaptor surf0->max_width = 384; surf1->max_width = 384; } - else + else if (pATI->Chip < ATI_CHIP_264GTPRO || + pATI->Chip > ATI_CHIP_264LTPRO) { /* Do nothing */ } + else + { + surf0->max_width = 768; + surf1->max_width = 768; + } if (pATI->Chip < ATI_CHIP_264GTPRO) { |