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
|
|
@ -172,20 +172,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));
|
||||
|
||||
}
|
||||
|
||||
|
||||
bool lcd_active()
|
||||
{
|
||||
return display_on;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue