From 8759b67f66d2e58299ba2af4d32d5a735c61c1db Mon Sep 17 00:00:00 2001 From: Tobias Jakobi Date: Mon, 24 Feb 2014 22:19:50 +0100 Subject: [PATCH 1/2] video_lima: align width/height of font tex to 16 (Mali block size) --- gfx/lima_gfx.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gfx/lima_gfx.c b/gfx/lima_gfx.c index 1222d0d8f8..a7fda150c3 100644 --- a/gfx/lima_gfx.c +++ b/gfx/lima_gfx.c @@ -597,8 +597,8 @@ static void *lima_gfx_init(const video_info_t *video, const input_driver_t **inp lima->screen_aspect = get_screen_aspect(lima->state); - lima->font_height = 360; - lima->font_width = align_common((unsigned)(lima->screen_aspect * (float)lima->font_height), 4); + lima->font_height = 368; + lima->font_width = align_common((unsigned)(lima->screen_aspect * (float)lima->font_height), 16); lima->upload_format = video->rgb32 ? LIMA_TEXEL_FORMAT_RGBA_8888 : LIMA_TEXEL_FORMAT_BGR_565; From 49bc4f226f9bacb61367211d7173922d5f5adbcb Mon Sep 17 00:00:00 2001 From: Tobias Jakobi Date: Tue, 4 Mar 2014 20:25:39 +0100 Subject: [PATCH 2/2] video_lima: increase alignment of allocated memory to 128-bit This works better for the NEON asm in limare. --- gfx/lima_gfx.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gfx/lima_gfx.c b/gfx/lima_gfx.c index a7fda150c3..2ec59866c6 100644 --- a/gfx/lima_gfx.c +++ b/gfx/lima_gfx.c @@ -289,12 +289,12 @@ static const void *make_contiguous(limare_data_t *pdata, /* Enlarge our buffer, if it is currently too small. */ if (pdata->buffer_size < full_pitch * height) { - const unsigned aligned_size = align_common(full_pitch * height, 4); + const unsigned aligned_size = align_common(full_pitch * height, 16); free(pdata->buffer); pdata->buffer = NULL; - posix_memalign(&pdata->buffer, 4, aligned_size); + posix_memalign(&pdata->buffer, 16, aligned_size); if (pdata->buffer == NULL) { RARCH_ERR("video_lima: failed to allocate buffer to make pixel data contiguous\n"); return NULL; @@ -507,12 +507,12 @@ static void lima_render_msg(lima_video_t *vid, const char *msg) { req_size = lima->font_width * lima->font_height * 2; if (lima->buffer_size < req_size) { - const unsigned aligned_size = align_common(req_size, 4); + const unsigned aligned_size = align_common(req_size, 16); free(lima->buffer); lima->buffer = NULL; - posix_memalign(&lima->buffer, 4, aligned_size); + posix_memalign(&lima->buffer, 16, aligned_size); if (lima->buffer == NULL) { RARCH_ERR("video_lima: failed to allocate buffer to render fonts\n"); return;