The current GraphicsV API specifies that the top byte of R4 is used to specify the display number, with 0 being the default. However, no method is defined (or implemented) for enumerating the list of available displays, notifying the system of display addition/removal, etc.
To rectify this, the following changes are proposed:
The primary aim of this change is to provide support for the features of the OMAP3 display subsystem. Thus, the new GraphicsV must support multiple hardware overlays, each with differing restrictions on available buffer formats, and the ability for programs to alter the display order of overlays (where the hardware supports it)
To add support for hardware overlays, the following changes are proposed:
GraphicsV already has some support for this via call 15. However that call only allows one head to be active at once; what’s needed instead is a way of supporing multiple active heads at once.
Proposal: