Merge pull request #2600 from openmv/draw_cache_fix

imlib/draw: Fix fb_alloc aligned size.
This commit is contained in:
Ibrahim Abdelkader 2025-02-09 10:31:26 +02:00 committed by GitHub
commit baad6e133c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -3135,14 +3135,11 @@ void imlib_draw_image(image_t *dst_img,
t_src_img.data = src_img->data;
}
// Query available on-chip RAM.
uint32_t size;
void *data = fb_alloc_all(&size, FB_ALLOC_PREFER_SPEED | FB_ALLOC_CACHE_ALIGN);
fb_free();
// Allocate a buffer to hold chunks of the transposed image while not using all of the on-chip RAM.
// Allocate a buffer to hold chunks of the transposed image.
size_t size = fb_avail();
size = (size & ~(OMV_ALLOC_ALIGNMENT - 1)) - OMV_ALLOC_ALIGNMENT;
size = IM_MIN(size, image_size(&t_src_img));
data = fb_alloc(size, FB_ALLOC_PREFER_SPEED | FB_ALLOC_CACHE_ALIGN);
void *data = fb_alloc(size, FB_ALLOC_PREFER_SPEED | FB_ALLOC_CACHE_ALIGN);
// line_num stores how many lines we can do at a time with on-chip RAM.
image_t temp = {.w = t_roi.w, .h = t_roi.h, .pixfmt = t_src_img.pixfmt};