Patent ID: 8671411

Claim:
An apparatus for supporting scheduling of tasks for processing by a coprocessor, comprising: a graphics coprocessor; one or more applications that generate rendering tasks for processing by the coprocessor, wherein the rendering tasks are first stored in a user mode command buffer, and wherein the rendering tasks are stored in a per-application context in the user mode command buffer; and a scheduler process that: determines an order in which the rendering tasks are processed, wherein the order accounts for any relative priority among a first application context relating to a first set of rendering tasks and one or more other application contexts relating to additional rendering tasks, wherein the order accounts for a corresponding amount of processing time to which the first application and the one or more other applications are entitled, and wherein the order is determined solely by the scheduler process; and determines that there is insufficient supplemental memory to process a first rendering task from among the rendering tasks, and, in response splits a buffer comprising rendering commands associated with the first rendering task by storing a first subset of a plurality of memory resources associated with the first rendering task in a first buffer and storing a second subset of the plurality of memory resources associated with the first rendering task in a second buffer.