diff --git a/gfx/lima_gfx.c b/gfx/lima_gfx.c index 4983c81bc4..f5dd73fa71 100644 --- a/gfx/lima_gfx.c +++ b/gfx/lima_gfx.c @@ -152,8 +152,8 @@ static inline void put_pixel_rgba4444(uint16_t *p, unsigned r, unsigned g, unsig *p = (a >> 4) | ((b >> 4) << 4) | ((g >> 4) << 8) | ((r >> 4) << 12); } -static inline unsigned align4(unsigned i) { - return (i + 3) & ~0x3; +static inline unsigned align_common(unsigned i, unsigned j) { + return (i + j - 1) & ~(j - 1); } static float get_screen_aspect(limare_state_t *state) { @@ -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 aligned_size = align4(full_pitch * height); + const unsigned aligned_size = align_common(full_pitch * height, 4); free(pdata->buffer); pdata->buffer = NULL; - pdata->buffer = aligned_alloc(4, aligned_size); + posix_memalign(&pdata->buffer, 4, 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 aligned_size = align4(req_size); + const unsigned aligned_size = align_common(req_size, 4); free(lima->buffer); lima->buffer = NULL; - lima->buffer = aligned_alloc(4, aligned_size); + posix_memalign(&lima->buffer, 4, aligned_size); if (lima->buffer == NULL) { RARCH_ERR("video_lima: failed to allocate buffer to render fonts\n"); return; @@ -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 = 480; - lima->font_width = align4((unsigned)(lima->screen_aspect * (float)lima->font_height)); + lima->font_height = 360; + lima->font_width = align_common((unsigned)(lima->screen_aspect * (float)lima->font_height), 4); lima->upload_format = video->rgb32 ? LIMA_TEXEL_FORMAT_RGBA_8888 : LIMA_TEXEL_FORMAT_BGR_565;