Replies: 3 comments
-
A problem with suggested solution is that it is not clear what buffer size, pitch etc |
Beta Was this translation helpful? Give feedback.
-
No, that depends on the pixel format, and you can draw a line with very small buffer sufficient for minimum addressable unit that a display controller supports, for example 3 bytes for one RGB_888 pixel, a buffer multiple of 3 makes it faster to draw a line but is not required.
CFB was designed before display controller driver API, it can be changed to use smaller buffer to render the characters. It is not designed to render graphic primitives, there was no need, although this can also be changed too.
Not really sure what do you mean by "framebuffer form the driver", rather cfb can be optimized to use smaller buffers.
That also does not make sense. |
Beta Was this translation helpful? Give feedback.
-
Thank you for the input @jfischer-no! Sorry if I was a bit unclear! |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Problem
Most drivers do not provide a framebuffer but the display interface seems to assume a framebuffer is used. (Example drawing a horizontal line 64 pixels might require 64 bytes of buffer).
This is probably why cfb allocates it's own framebuffer. However this is a problem as the buffer can not be used for other things like drawing a line or add a logo next to the rendered text. Having separate buffers is not a option as most(?) drivers do not support write of individual pixels.. It is also a waste of memory to have multiple framebuffers if not needed.
Solution (suggestion)
CONFIG_DISPLAY_DRIVER_FRAMEBUFFER
that requires the drivers to allocate a framebuffer at compile time?Beta Was this translation helpful? Give feedback.
All reactions