diff options
author | William Wilgus <wilgus.william@gmail.com> | 2022-03-21 18:54:52 -0400 |
---|---|---|
committer | William Wilgus <wilgus.william@gmail.com> | 2022-03-21 23:53:48 -0400 |
commit | cfeeb7889d5346e2abaf9b198375df62c58b098f (patch) | |
tree | f9956033372abe7d8bffa4e04bef0662dfb0da02 /firmware/export | |
parent | 60e5786b481a26ca7c0c810d812bf5664a58cb44 (diff) | |
download | rockbox-cfeeb7889d5346e2abaf9b198375df62c58b098f.tar.gz rockbox-cfeeb7889d5346e2abaf9b198375df62c58b098f.zip |
Lcd save function pointer to frame buffer get_address_fn before loops
Calling multiple levels of indirection in a loop slows things down
Really these need to be rewritten to take a start and end address
like most of the rest of the codebase
But this is safer without having test hardware in hand
Change-Id: Idae7b92ee779d020ed7fcc9334e2d5a9c710e64d
Diffstat (limited to 'firmware/export')
-rw-r--r-- | firmware/export/lcd.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/firmware/export/lcd.h b/firmware/export/lcd.h index ffaf1a63d2..13165129b1 100644 --- a/firmware/export/lcd.h +++ b/firmware/export/lcd.h | |||
@@ -507,7 +507,9 @@ typedef void lcd_blockfunc_type(fb_data *address, unsigned mask, unsigned bits); | |||
507 | 507 | ||
508 | extern struct viewport* lcd_current_viewport; | 508 | extern struct viewport* lcd_current_viewport; |
509 | 509 | ||
510 | #define FBADDR(x,y) ((fb_data*) lcd_current_viewport->buffer->get_address_fn(x, y)) | 510 | #define FB_CURRENTVP_BUFFER (lcd_current_viewport->buffer) |
511 | #define FBADDRBUF(buffer,x,y) ((fb_data*) buffer->get_address_fn(x,y)) | ||
512 | #define FBADDR(x,y) (FBADDRBUF(lcd_current_viewport->buffer,x,y)) | ||
511 | 513 | ||
512 | #define FRAMEBUFFER_SIZE (sizeof(fb_data)*LCD_FBWIDTH*LCD_FBHEIGHT) | 514 | #define FRAMEBUFFER_SIZE (sizeof(fb_data)*LCD_FBWIDTH*LCD_FBHEIGHT) |
513 | 515 | ||