Display Class Architecture
Design considerations:
- Important for independent display hardware to be 'coordinated' with Services PowerVR Rogue class GPUs
- Third party Display Class API provides a consistent interface between Services and third-party display device drivers
- Abstracts control of display hardware via the Display Class API
- Provides maximum performance while maintaining the order of operations on shared resources.
- Client Application: It has a Services Client component built into it which provides the Services API and the Display Class client API. This is often a window manager that directly or indirectly interfaces to other rendering applications.
- Services Server: The ‘kernel mode’ Services component implementing the Display Class logic and initiates calls into the third-party Display Class Component.
- Third Party Display Device Driver: This is a device driver for controlling the display hardware.
‘Interfacing code’ is added to the driver allowing the display device driver to be
integrated with Services. There are two sub-components:
- Display Driver (light green): This contains device specific code necessary to drive the display. This source code is outside of the GPU.
- Display Class Component (dark green): This contains display device specific code to implement the Display Class callback functions invoked by the Services Server and the code calling exported functions from the Services Server.