Link copied to clipboard!

Programming EVE – Display list

Table of Contents

    Why display list makes sense

    From an engineering point of view, the display list (DL) is what makes EVE-based displays both elegant and efficient.
    Instead of continuously sending pixels or updating screen regions – which would overload the MCU and SPI bus – the host microcontroller sends a compact sequence of drawing commands describing what should appear on screen.
    This means the EVE graphics controller takes care of rendering, freeing the MCU to focus on the application logic.
    The result: smooth graphics, minimal CPU load, and deterministic refresh timing – the same commands always produce the same frame.

    This architecture is used in all Riverdi smart displays with Bridgetek’s EVE technology – from EVE2 and EVE3, through EVE4, and soon in the upcoming EVE5 series.
    No matter the screen size or interface (SPI, QSPI, or RiBUS), every Riverdi EVE display builds its visuals using a display list mechanism.

    What is a display list?

    A display list is a sequence of GPU commands that defines one complete frame.
    Each command tells the EVE graphics engine what to draw (background color, shapes, text, images, widgets, etc.) and in what order.
    Once the list is complete, a single instruction – DLSWAP_FRAME – makes it visible on the display.

    Instead of transmitting every pixel, you send the recipe for the entire frame.
    This approach makes rendering predictable, flicker-free, and optimized for embedded systems with limited processing power.

    How it works

    Each frame goes through three clear stages:

    1. Build – The MCU prepares a list of drawing commands in RAM.
    2. Flush – The list is transferred to EVE’s internal memory (RAM_DL).
    3. Swap – The DLSWAP_FRAME command swaps the current visible list with the new one.

    Because EVE renders one display list while the MCU prepares the next, your UI stays fluid – even with complex layouts or animations.

    Example

    CLEAR_COLOR_RGB(0, 0, 255);   // blue background

    CLEAR(1, 1, 1);

    COLOR_RGB(255, 255, 255);

    BEGIN(RECTS);

    VERTEX2F(100*16, 100*16);

    VERTEX2F(300*16, 200*16);

    DISPLAY();

    HAL_DLSwap(host, DLSWAP_FRAME);

    This short code builds a display list that draws a blue background and a white rectangle.
    When swapped, it instantly becomes the new visible frame – with no tearing or flicker.

    EVE Screen Editor

    Using EVE Screen Editor you can create designs just by dragging blocks to the screen. Everything that is added to the display list that way is visible also in form of DL commands that are generated below the preview – in the Coprocessor window. Thanks to that, the process of designing the view can be quicker.

    Why engineers love it

    Using display lists gives EVE-based Riverdi displays several clear advantages:

    • Deterministic rendering – one list = one frame
    • Efficient communication – fewer SPI transfers
    • Minimal MCU workload – EVE handles graphics
    • No flicker or partial updates
    • Consistent performance across all EVE generations

    Once you master Display Lists, you’ll unlock the full potential of Riverdi’s EVE displays – from simple color changes to advanced GUIs with widgets, animations, and dynamic touch responses.

    DISCOVER OUR

    Whitepaper

    Achieve the perfect user-display interaction with the right Touch Sensor IC. Ever faced issues with phantom touch events or certification? Boost your R&D like a pro with our Whitepaper!

    Save by quality

    Go to our product catalog and see how you can save by quality, not on quality.

    Contact us now, save with quality, not on quality.