# Display - [Introduction](#section11660541593) - [Directory Structure](#section161941989596) - [Available APIs](#section1551164914237) - [Usage](#section129654513264) - [Repositories Involved](#section1371113476307) ## Introduction This repository defines and implements the following Hardware Driver Interfaces \(HDIs\) of the display module. The HDIs are classified into the following types: - DisplayLayer: manages display layers, including creating layers, setting display attributes, and filling and flushing layers. - DisplayGralloc: manages memory of the display module, including memory application, release, and mapping. - DisplayGfx: implements hardware acceleration, including the initialization of the hardware acceleration module, bit blit, and regular graphics drawing and filling. **Figure 1** HDI architecture of the display module ![](figures/hdi-architecture-of-the-display-module.png "hdi-architecture-of-the-display-module") ## Directory Structure The source code directory structure is as follows: ``` /drivers/peripheral/display ├── hal # HAL code │ └── default # Default HDI implementation ├── interfaces # Driver capability APIs provided for upper-layer services │ └── include # APIs exposed externally ├── test # Test code │ └── unittest # Unit test code ``` ### Available APIs The display driver provides the Window Manager Service \(WMS\) with driver capability APIs that can be classified into the **DisplayLayer**, **DisplayGralloc**, and **DisplayGfx** types. By calling these APIs, you can create or destroy a layer, set layer attributes, allocate, release, map, and buffer memory, fill in rectangles, and blit bitmaps. [Table 1](#table1513255710559) describes major HDIs provided by the display module. **Table 1** Major HDIs of the display module