diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2007-04-14 19:49:58 +0000 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2007-04-14 19:49:58 +0000 |
commit | ac946416060c19eb6cfe9da3d1885baee329df30 (patch) | |
tree | 89492cbefa92b63bdc8f2b8527a00d9f0c97d6d5 /firmware/target/arm/sandisk/sansa-e200 | |
parent | 291be034e8178add70aef054203b9a9bf2d73b07 (diff) | |
download | rockbox-ac946416060c19eb6cfe9da3d1885baee329df30.tar.gz rockbox-ac946416060c19eb6cfe9da3d1885baee329df30.zip |
e200: Use cached memory for the yuv chroma buffer. Gives some speedup. Align lcd_driver_framebuffer to the same alignment as lcd_framebuffer. The need for this became apparent when the first change cause aligment & 3 != 0 and the screen was wrapped one pixel right with a black pixel at (0, 0).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13161 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/sandisk/sansa-e200')
-rw-r--r-- | firmware/target/arm/sandisk/sansa-e200/lcd-e200.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/firmware/target/arm/sandisk/sansa-e200/lcd-e200.c b/firmware/target/arm/sandisk/sansa-e200/lcd-e200.c index 93d79633b1..3748b73fb3 100644 --- a/firmware/target/arm/sandisk/sansa-e200/lcd-e200.c +++ b/firmware/target/arm/sandisk/sansa-e200/lcd-e200.c | |||
@@ -52,7 +52,8 @@ | |||
52 | /* We don't know how to receive a DMA finished signal from the LCD controller | 52 | /* We don't know how to receive a DMA finished signal from the LCD controller |
53 | * To avoid problems with flickering, we double-buffer the framebuffer and turn | 53 | * To avoid problems with flickering, we double-buffer the framebuffer and turn |
54 | * off DMA while updates are taking place */ | 54 | * off DMA while updates are taking place */ |
55 | static fb_data lcd_driver_framebuffer[LCD_FBHEIGHT][LCD_FBWIDTH]; | 55 | static fb_data lcd_driver_framebuffer[LCD_FBHEIGHT][LCD_FBWIDTH] |
56 | __attribute__((aligned(16))); /* Same alignment as in lcd-16bit.c */ | ||
56 | 57 | ||
57 | static inline void lcd_init_gpio(void) | 58 | static inline void lcd_init_gpio(void) |
58 | { | 59 | { |
@@ -334,7 +335,7 @@ void lcd_yuv_blit(unsigned char * const src[3], | |||
334 | { | 335 | { |
335 | /* Caches for chroma data so it only need be recaculated every other | 336 | /* Caches for chroma data so it only need be recaculated every other |
336 | line */ | 337 | line */ |
337 | unsigned char chroma_buf[LCD_HEIGHT/2*3]; /* 480 bytes */ | 338 | static unsigned char chroma_buf[LCD_HEIGHT/2*3]; /* 330 bytes */ |
338 | unsigned char const * yuv_src[3]; | 339 | unsigned char const * yuv_src[3]; |
339 | off_t z; | 340 | off_t z; |
340 | 341 | ||