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.
Figure 1. Display Class Architecture
  1. 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.
  2. Services Server: The ‘kernel mode’ Services component implementing the Display Class logic and initiates calls into the third-party Display Class Component.
  3. 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.