1
0
Fork 0
forked from len0rd/rockbox

lcd framebuffer - Bugfix ensure proper alignment

-- apparenty 0x4 aligned doesn't work properly

requires 0x8 alignment at least for the h10 20gb
but enabled for all arm processors

assign the default framebuffer to the default_vp as well

Change-Id: I0b76c30f2ddb5d6d2f7c6a132e4081aee58da17b
This commit is contained in:
William Wilgus 2021-03-23 13:35:29 -04:00 committed by William Wilgus
parent 94b40ed314
commit ffee661ab7
5 changed files with 10 additions and 12 deletions

View file

@ -73,10 +73,10 @@ static struct viewport default_vp =
.height = LCDM(HEIGHT), .height = LCDM(HEIGHT),
.font = FONT_SYSFIXED, .font = FONT_SYSFIXED,
.drawmode = DRMODE_SOLID, .drawmode = DRMODE_SOLID,
.buffer = NULL, .buffer = &LCDFN(framebuffer_default),
}; };
struct viewport* CURRENT_VP; struct viewport* CURRENT_VP MEM_ALIGN_ATTR = NULL;
static void *LCDFN(frameaddress_default)(int x, int y) static void *LCDFN(frameaddress_default)(int x, int y)
{ {
@ -94,7 +94,6 @@ static void *LCDFN(frameaddress_default)(int x, int y)
/* LCD init */ /* LCD init */
void LCDFN(init)(void) void LCDFN(init)(void)
{ {
/* Initialize the viewport */ /* Initialize the viewport */
LCDFN(set_viewport)(NULL); LCDFN(set_viewport)(NULL);
LCDFN(clear_display)(); LCDFN(clear_display)();

View file

@ -66,12 +66,12 @@ static struct viewport default_vp =
.height = LCD_HEIGHT, .height = LCD_HEIGHT,
.font = FONT_SYSFIXED, .font = FONT_SYSFIXED,
.drawmode = DRMODE_SOLID, .drawmode = DRMODE_SOLID,
.buffer = NULL, .buffer = &lcd_framebuffer_default,
.fg_pattern = LCD_DEFAULT_FG, .fg_pattern = LCD_DEFAULT_FG,
.bg_pattern = LCD_DEFAULT_BG .bg_pattern = LCD_DEFAULT_BG
}; };
struct viewport* lcd_current_viewport IBSS_ATTR; struct viewport* lcd_current_viewport IBSS_ATTR MEM_ALIGN_ATTR = NULL;
static unsigned fg_pattern IBSS_ATTR; static unsigned fg_pattern IBSS_ATTR;
static unsigned bg_pattern IBSS_ATTR; static unsigned bg_pattern IBSS_ATTR;
@ -93,7 +93,6 @@ void lcd_init(void)
{ {
/* Initialize the viewport */ /* Initialize the viewport */
lcd_set_viewport(NULL); lcd_set_viewport(NULL);
lcd_clear_display(); lcd_clear_display();
/* Call device specific init */ /* Call device specific init */
lcd_init_device(); lcd_init_device();

View file

@ -68,12 +68,12 @@ static struct viewport default_vp =
.height = LCD_HEIGHT, .height = LCD_HEIGHT,
.font = FONT_SYSFIXED, .font = FONT_SYSFIXED,
.drawmode = DRMODE_SOLID, .drawmode = DRMODE_SOLID,
.buffer = NULL, .buffer = &lcd_framebuffer_default,
.fg_pattern = LCD_DEFAULT_FG, .fg_pattern = LCD_DEFAULT_FG,
.bg_pattern = LCD_DEFAULT_BG .bg_pattern = LCD_DEFAULT_BG
}; };
struct viewport* lcd_current_viewport IBSS_ATTR; struct viewport* lcd_current_viewport IBSS_ATTR MEM_ALIGN_ATTR = NULL;
static unsigned fg_pattern IBSS_ATTR; static unsigned fg_pattern IBSS_ATTR;
static unsigned bg_pattern IBSS_ATTR; static unsigned bg_pattern IBSS_ATTR;

View file

@ -80,12 +80,12 @@ static struct viewport default_vp =
.height = LCDM(HEIGHT), .height = LCDM(HEIGHT),
.font = FONT_SYSFIXED, .font = FONT_SYSFIXED,
.drawmode = DRMODE_SOLID, .drawmode = DRMODE_SOLID,
.buffer = NULL, .buffer = &LCDFN(framebuffer_default),
.fg_pattern = LCDM(DEFAULT_FG), .fg_pattern = LCDM(DEFAULT_FG),
.bg_pattern = LCDM(DEFAULT_BG) .bg_pattern = LCDM(DEFAULT_BG)
}; };
struct viewport * CURRENT_VP IBSS_ATTR; struct viewport * CURRENT_VP IBSS_ATTR MEM_ALIGN_ATTR = NULL;
static unsigned fg_pattern IBSS_ATTR; static unsigned fg_pattern IBSS_ATTR;
static unsigned bg_pattern IBSS_ATTR; static unsigned bg_pattern IBSS_ATTR;

View file

@ -63,12 +63,12 @@ static struct viewport default_vp =
.height = LCD_HEIGHT, .height = LCD_HEIGHT,
.font = FONT_SYSFIXED, .font = FONT_SYSFIXED,
.drawmode = DRMODE_SOLID, .drawmode = DRMODE_SOLID,
.buffer = NULL, .buffer = &lcd_framebuffer_default,
.fg_pattern = LCD_DEFAULT_FG, .fg_pattern = LCD_DEFAULT_FG,
.bg_pattern = LCD_DEFAULT_BG, .bg_pattern = LCD_DEFAULT_BG,
}; };
struct viewport* lcd_current_viewport IDATA_ATTR; struct viewport* lcd_current_viewport IDATA_ATTR MEM_ALIGN_ATTR = NULL;
static void *lcd_frameaddress_default(int x, int y) static void *lcd_frameaddress_default(int x, int y)
{ {