mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-12-08 20:55:17 -05:00
rk27xx: Use DMA for lcd_update_rect()
This speeds up partial updates quite a bit but what is more important it opens up a way to efficiently implement lcd_blit_yuv() using hw colorspace conversion. Tested on rk27generic, hm60x v1 and v2 and on ma9. Benchmark for hm60x v1 (by mortalis): HEAD patched 1/1 141fps 138fps 1/4 315fps 395fps Change-Id: I4cc115786c3139000fc14c49a7290e289cfd6c42
This commit is contained in:
parent
ca8154741f
commit
440872bb42
4 changed files with 60 additions and 103 deletions
|
|
@ -179,20 +179,6 @@ void lcd_set_gram_area(int x_start, int y_start,
|
|||
LCDC_CTRL &= ~RGB24B;
|
||||
}
|
||||
|
||||
void lcd_update_rect(int x, int y, int width, int height)
|
||||
{
|
||||
int px = x, py = y;
|
||||
int pxmax = x + width, pymax = y + height;
|
||||
|
||||
lcd_set_gram_area(x, y, pxmax-1, pymax-1);
|
||||
|
||||
for (py=y; py<pymax; py++)
|
||||
{
|
||||
for (px=x; px<pxmax; px++)
|
||||
LCD_DATA = *FBADDR(px,py);
|
||||
}
|
||||
}
|
||||
|
||||
/* Blit a YUV bitmap directly to the LCD
|
||||
* provided by generic fallback in lcd-16bit-common.c
|
||||
*/
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue