Choosing a strategy
Comparison of approaches
- The physical display can be shared across multiple operating systems or major functional units of a single operating system.
- Hardware Compositor block provides multiple layers that can be assigned to different functional units. The hardware then combines (composites) them to create the final display buffer.
- The Compositor hardware block is typically close to or part of the Display Unit hardware block.
- The different systems do not need to know about each other.
- No need to have protocols to pass graphics between operating systems.
- Little to no impact for the content producer (depends on implementation)
- Integration in existing graphics systems is possible with reasonable effort
- The content of individual graphical applications can be shared
- Bandwidth efficient (for certain cases)
- Offloads rendering effort to receiver
- Flexible, while the controller has detailed control over results
- Potential API complexity – needing synchronized software/API updates
Shared State Independent Rendering
- Low inter-domain data channel bandwidth usage
- Applicability to mid/low performant SoC
- Operating System - agnostic approach
- Access to the GPU hardware from several OS's: cost saving.
- safety concerns: force preemption needs to implemented to ensure safety use cases
Hardware may provide additional features that enhance isolation of the different functional units... characteristics of each - trade-offs, ... "dry data"