Stereo Rendering Command Buffer with Device Masks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Programming multiple graphics processing units (GPUs) in parallel rendering schemes is inefficient due to high system resource allocation requirements, limiting the number of GPUs that can be used effectively, as existing methods require significant resources to manage common and specific rendering commands across multiple GPUs.
Innovation Solution
The solution involves using device masks to control the execution of commands across multiple GPUs, allowing a single command stream to be delivered to all GPUs, with specific masks designating subsets to execute different viewing transforms and rendering commands, thereby minimizing resource usage and optimizing parallel rendering.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If each GPU is programmed with separate rendering commands and data, then each GPU can execute specific rendering tasks, but system resource allocation increases significantly
Solution Approach 1:
The patent segments rendering commands into two types: common commands that apply to all GPUs and GPU-specific commands that apply to individual GPUs. This segmentation allows the system to minimize resource allocation by only distributing GPU-specific commands to relevant GPUs, rather than duplicating all commands for each GPU.
Solution Approach 2:
The patent introduces a command buffer as an intermediary mechanism between the CPU and GPUs. The command buffer stores both common and GPU-specific rendering commands, allowing efficient distribution to multiple GPUs without requiring separate programming for each GPU. This intermediary structure reduces system resource consumption while maintaining GPU-specific customization capability.
2Productivity
If multiple GPUs are programmed with different rendering commands, then parallel rendering capability increases, but programming overhead increases
Solution Approach 1:
The patent merges common rendering commands into a single command stream that is distributed to all GPUs simultaneously. This combining approach eliminates redundant programming overhead by ensuring that common commands are executed once and applied to all GPUs, rather than being programmed separately for each GPU.
Solution Approach 2:
The patent implements preliminary action by pre-defining common rendering commands that will be executed by all GPUs before distributing GPU-specific commands. This preliminary preparation reduces the overall programming overhead by establishing the common command framework once, which then serves as the basis for all subsequent GPU-specific rendering operations.
3Ease of operation
If a large allocation of system resources is made for each GPU, then each GPU can be fully programmed, but the total number of GPUs that can be used is limited
Solution Approach 1:
The patent applies partial action by providing only the necessary GPU-specific commands to each GPU rather than allocating complete programming resources to each GPU. Common rendering commands are shared across all GPUs, and only the minimal GPU-specific commands are distributed to each individual GPU, reducing the total system resource allocation while maintaining sufficient programming completeness.
Data Source
AI summary
Multiple graphics devices are operable in parallel to render stereo images using efficient programming techniques. The same command stream is delivered to each graphics device, and device masks are used to control the execution of commands by different graphics devices. A viewing transform command corresponding to a left-eye transform is executed by one device while a viewing transform command corresponding to a right-eye transform is executed another device. Other rendering commands are executed by both devices to render the same image from somewhat different viewpoints.


