display: add frame_incomplete to display_buffer_descriptor

Introduces support for double-buffered/latched displays.
Currently, every write has to be presented to the user immediately,
which negates the advantage of latched displays to prevent frame tearing.

Now, GUI managers can indicate whether the current `display_write` call
is the last call of the frame or not, allowing displays to group writes
to a single present.

Signed-off-by: Martin Stumpf <finomnis@gmail.com>
This commit is contained in:
Martin Stumpf 2024-10-16 16:42:15 +02:00 committed by Anas Nashif
parent 8b69b79279
commit 2bdffc6818
2 changed files with 6 additions and 0 deletions

View file

@ -92,6 +92,10 @@ Drivers and Sensors
* Display
* Added flag ``frame_incomplete`` to ``display_write`` that indicates whether a write is the last
write of the frame, allowing display drivers to implement double buffering / tearing enable
signal handling (:github:`81250`)
* Ethernet
* Flash

View file

@ -127,6 +127,8 @@ struct display_buffer_descriptor {
uint16_t height;
/** Number of pixels between consecutive rows in the data buffer */
uint16_t pitch;
/** Indicates that this is not the last write buffer of the frame */
bool frame_incomplete;
};
/**