Automatic load balancing of a 3d graphics pipeline
AssigneeQUALCOMM Incorporated
InventorsJian Wei, James M. Brown, David Wu
Life of this patent
Estimating the term…
Abstract
A device has a processor for processing a vertex processing stage, a sub-screen dividing stage and a pixel rendering stage of a three-dimensional (3D) graphics pipeline. The processor includes processing threads which balance the work load of the 3D graphics pipeline by prioritizing processing for the pixel rendering stage over other stages. Each processing thread, operating in parallel and independently, checks a level of tasks in a Task list of sub-screen tasks. If the level is below a threshold value, empty or the sub-screen tasks are all locked, the processing thread loops to the vertex processing stage. Otherwise, the processing thread processes a sub-screen task during the pixel rendering stage.
Claims36
A processor comprising:
- a plurality of processing threads each prioritizing pixel rendering operations of a three-dimensional graphics pipeline over vertex processing operations when data is available for the pixel rendering operations.
A processor comprising:
- a plurality of processing threads each determining whether a sub-screen task for pixel rendering operations is available in a task list, performing the pixel rendering operations on the sub-screen task if the sub-screen task is available, and performing a vertex processing operation if the sub-screen task is not available, thereby balancing a work load of a three-dimensional (3D) graphics pipeline.
A wireless device comprising:
- a processor having a plurality of processing threads, each processing thread determining whether a sub-screen task for pixel rendering operations is available in a task list, performing the pixel rendering operations on the sub-screen task if the sub-screen task is available, and performing a vertex processing operation if the sub-screen task is not available, thereby balancing a work load of a three-dimensional (3D) graphics pipeline;
- and
- a memory coupled to the processor for storing the task list.
A wireless device comprising:
- a processor having a plurality of processing threads, each processing thread prioritizing pixel rendering operations of a three-dimensional graphics pipeline over vertex processing operations when data is available for the pixel rendering operations;
- and
- a memory coupled to the processor.
A computer program product including a computer readable medium having instructions for causing a computer to execute:
- a first sequence of instructions for determining whether a sub-screen task for pixel rendering operations is available in a task list;
- a second sequence of instructions for performing the pixel rendering operations on the sub-screen task, if the sub-screen task is available;
- and
- a third sequence of instructions for performing a vertex processing operation, if the sub-screen task is not available, for balancing a work load of a three-dimensional (3D) graphics pipeline.
A method comprising:
- determining by a processing thread whether a sub-screen task for pixel rendering operations is available in a task list;
- performing the pixel rendering operations on the sub-screen task by the processing thread if the sub-screen task is available;
- and
- performing a vertex processing operation by the processing thread if the sub-screen task is not available to thereby balance a work load of a three-dimensional (3D) graphics pipeline.
Dependencies are inferred from the claim text.