Patent ID: 7577762

Claim:
A computer-implemented method for managing the processing of a plurality of command streams, wherein each command stream in the plurality of command streams includes a sequence of commands that configure a different one of a plurality of consumers to perform specific operations associated with the command stream, the method comprising: allocating a time slice to each of the plurality of consumers for receiving one or more commands associated with one or more of the command streams; determining a first consumer configured to process commands included in a first command stream; identifying an execution command included in the first command stream; determining that a yield command should be inserted into the first command stream based on pre-configured characteristics associated with the first consumer that indicate a number of clock cycles needed to process the execution command; inserting the yield command into the first command stream after the execution command; causing the first command stream to be parsed into one or more commands transmitted to the first consumer; causing the parsing of the first command stream to be stopped based on the yield command; causing a second command stream to be parsed into one or more commands transmitted to a second consumer based on the yield command; and yielding any remaining time in a first time slice assigned to the first consumer to the second consumer.