System for emulating graphics operations
First Claim
Patent Images
1. A method of creating an image, the method comprising:
- receiving a request to render a polygon comprising L pixels, the polygon represented by a programmable graphics processing unit (GPU) program, the programmable GPU program comprising a plurality of programmable GPU fragment programs, wherein the GPU program is represented as a plurality of nodes and a plurality of links, and wherein each of the plurality of nodes represents a programmable GPU fragment program and each of the plurality of links represents an intermediary result and storage necessary to hold the intermediary result;
converting the programmable GPU program into a central processing unit (CPU) program;
unrolling a loop in the CPU program such that the unrolled loop expresses N iterations of the loop; and
rendering the L pixels by executing, by a CPU, the unrolled loop L/N times.
0 Assignments
0 Petitions
Accused Products
Abstract
Disclosed is a system for producing images including emulation techniques using multiple processors. The system provides for emulation of graphics processing resources such that a central processing unit may provide graphics support. Disclosed embodiments include emulation of selected graphics calls as well as emulation of a programmable graphics processor for compatibility with systems having no compatible GPU. Embodiments also include optimization of graphics code for a particular kind of processor.
101 Citations
19 Claims
-
1. A method of creating an image, the method comprising:
-
receiving a request to render a polygon comprising L pixels, the polygon represented by a programmable graphics processing unit (GPU) program, the programmable GPU program comprising a plurality of programmable GPU fragment programs, wherein the GPU program is represented as a plurality of nodes and a plurality of links, and wherein each of the plurality of nodes represents a programmable GPU fragment program and each of the plurality of links represents an intermediary result and storage necessary to hold the intermediary result; converting the programmable GPU program into a central processing unit (CPU) program; unrolling a loop in the CPU program such that the unrolled loop expresses N iterations of the loop; and rendering the L pixels by executing, by a CPU, the unrolled loop L/N times. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method of creating an image, the method comprising:
-
receiving a request to render an image, the image comprising L pixels; creating an object in a memory representing the image, the object comprising a programmable graphics processing unit (GPU) program, the programmable GPU program including one or more programmable GPU fragment programs, wherein the GPU program is represented as a plurality of nodes and a plurality of links, and wherein each of the plurality of nodes represents a programmable GPU fragment program and each of the plurality of links represents an intermediary result and storage necessary to hold the intermediary result; compiling the programmable GPU program to generate a compiled program; and rendering the image by executing the compiled program using a virtual machine under control of a central processing unit (CPU). - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification