diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2012-01-05 23:00:14 +0000 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2012-01-05 23:00:14 +0000 |
commit | 302937e586ea44ed72e0485ef9e6732027ea9164 (patch) | |
tree | 1ef0542eefbc5919585b0ac8a472b96658d89919 /firmware/target/coldfire | |
parent | c6dcec4e0d9af18a3e45d557e9e072c5640d85cd (diff) | |
download | rockbox-302937e586ea44ed72e0485ef9e6732027ea9164.tar.gz rockbox-302937e586ea44ed72e0485ef9e6732027ea9164.zip |
Coldfire: Fix alpha bitmap drawing from messing up the emac status register.
It failed to restore macsr to the expected default (FRAC/SAT) which caused DSP
functions like tone control filter calculation to fail (resulting in noise).
The FFT plugin was also affected.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31589 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/coldfire')
-rw-r--r-- | firmware/target/coldfire/iaudio/x5/lcd-x5.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/firmware/target/coldfire/iaudio/x5/lcd-x5.c b/firmware/target/coldfire/iaudio/x5/lcd-x5.c index e1504b6e98..19b0725ce4 100644 --- a/firmware/target/coldfire/iaudio/x5/lcd-x5.c +++ b/firmware/target/coldfire/iaudio/x5/lcd-x5.c | |||
@@ -451,7 +451,9 @@ void lcd_blit_yuv(unsigned char * const src[3], | |||
451 | vsrc = src[2] + (src_y * stride >> 2) + (src_x >> 1); | 451 | vsrc = src[2] + (src_y * stride >> 2) + (src_x >> 1); |
452 | ysrc_max = ysrc + height * stride; | 452 | ysrc_max = ysrc + height * stride; |
453 | 453 | ||
454 | unsigned long macsr = coldfire_get_macsr(); | ||
454 | coldfire_set_macsr(EMAC_SATURATE); | 455 | coldfire_set_macsr(EMAC_SATURATE); |
456 | |||
455 | do | 457 | do |
456 | { | 458 | { |
457 | lcd_write_reg(R_HORIZ_RAM_ADDR_POS, ((y + y_offset + 1) << 8) | (y + y_offset)); | 459 | lcd_write_reg(R_HORIZ_RAM_ADDR_POS, ((y + y_offset + 1) << 8) | (y + y_offset)); |
@@ -470,6 +472,8 @@ void lcd_blit_yuv(unsigned char * const src[3], | |||
470 | vsrc += stride >> 1; | 472 | vsrc += stride >> 1; |
471 | } | 473 | } |
472 | while (ysrc < ysrc_max); | 474 | while (ysrc < ysrc_max); |
475 | |||
476 | coldfire_set_macsr(macsr); | ||
473 | } /* lcd_yuv_blit */ | 477 | } /* lcd_yuv_blit */ |
474 | 478 | ||
475 | 479 | ||