From: Wouter V. <m97...@us...> - 2013-06-14 11:42:37
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "openMSX (main)". The branch, master has been updated via 5373a85c644cb26ec5d5b3d2be4f88953531ecce (commit) from 7b36de041b4ab262d9fec750e3e0a9e3a0bcf78c (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 5373a85c644cb26ec5d5b3d2be4f88953531ecce Author: wouter <ver...@gm...> Date: Fri Jun 14 12:18:31 2013 +0200 Bug fix in SaI3xScaler The SaI3xScaler code had a bug since the scaler-output refactoring (svn revision 12123, Apr 2011). The return value from acquireLine() should later be passed to releaseLine(), but I failed to notice that the SaI3x implementation incremented that pointer. This is already a rather old bug, (un)fortunately the bug only actually caused trouble for the following combination of settings: renderer = SDL scale_factor = 3 scale_algorithm = SaI horizontal_stretch != 320 (and 256-pixels wide screen mode) Apparently this combination is rarely used. I did some more tests: other combinations (with renderer=SDL) seem OK. ----------------------------------------------------------------------- Summary of changes: src/video/scalers/SaI3xScaler.cc | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/video/scalers/SaI3xScaler.cc b/src/video/scalers/SaI3xScaler.cc index b10b708..cbd888d 100644 --- a/src/video/scalers/SaI3xScaler.cc +++ b/src/video/scalers/SaI3xScaler.cc @@ -320,7 +320,8 @@ public: const Pixel* __restrict src2, const Pixel* __restrict src3, unsigned srcWidth, ScalerOutput<Pixel>& dst, unsigned& dstY) { - Pixel* dp = dst.acquireLine(dstY); + Pixel* dstLine = dst.acquireLine(dstY); + Pixel* dp = dstLine; // Calculate fixed point coordinate. const unsigned y1 = ((NY - i) << 16) / NY; @@ -361,7 +362,7 @@ public: ); } } - dst.releaseLine(dstY, dp); + dst.releaseLine(dstY, dstLine); ++dstY; LineRepeater<i - 1>::template scaleFixedLine<NX, NY, Pixel>( hooks/post-receive -- openMSX (main) |