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.
Figure 1. Display Class Architecture
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.