diff options
author | Marcin Bukat <marcin.bukat@gmail.com> | 2013-05-11 12:55:23 +0200 |
---|---|---|
committer | Marcin Bukat <marcin.bukat@gmail.com> | 2013-05-11 12:55:23 +0200 |
commit | 440872bb4277c882ece20339fa4b2525c1c4ed2a (patch) | |
tree | 3a64dfdb95e3efe6859b02c0881a8ef5aa53970d /firmware/target/arm/rk27xx/ma | |
parent | ca8154741fd01e4b11461ce522da7d5e30a12d6e (diff) | |
download | rockbox-440872bb4277c882ece20339fa4b2525c1c4ed2a.tar.gz rockbox-440872bb4277c882ece20339fa4b2525c1c4ed2a.zip |
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
Diffstat (limited to 'firmware/target/arm/rk27xx/ma')
-rw-r--r-- | firmware/target/arm/rk27xx/ma/lcd-ma.c | 14 |
1 files changed, 0 insertions, 14 deletions
diff --git a/firmware/target/arm/rk27xx/ma/lcd-ma.c b/firmware/target/arm/rk27xx/ma/lcd-ma.c index 3c3d9fb097..a35f13ba3a 100644 --- a/firmware/target/arm/rk27xx/ma/lcd-ma.c +++ b/firmware/target/arm/rk27xx/ma/lcd-ma.c | |||
@@ -172,20 +172,6 @@ void lcd_set_gram_area(int x_start, int y_start, | |||
172 | LCDC_CTRL &= ~RGB24B; | 172 | LCDC_CTRL &= ~RGB24B; |
173 | } | 173 | } |
174 | 174 | ||
175 | void lcd_update_rect(int x, int y, int width, int height) | ||
176 | { | ||
177 | int px = x, py = y; | ||
178 | int pxmax = x + width, pymax = y + height; | ||
179 | |||
180 | lcd_set_gram_area(x, y, pxmax-1, pymax-1); | ||
181 | |||
182 | for (py = y; py < pymax; py++) | ||
183 | for (px = x; px < pxmax; px++) | ||
184 | LCD_DATA = (*FBADDR(px, py)); | ||
185 | |||
186 | } | ||
187 | |||
188 | |||
189 | bool lcd_active() | 175 | bool lcd_active() |
190 | { | 176 | { |
191 | return display_on; | 177 | return display_on; |