System for emulating graphics operations
First Claim
Patent Images
1. A method of creating an image in a computer system, the method comprising:
- receiving, by a first process executing from a memory in a first computer system, a request to render a polygon, the request associated with a graphics processing unit (GPU) program representing the polygon;
converting the GPU program into a central processing unit (CPU) program;
dividing the CPU program into two or more portions, at least one portion representing a section of the polygon;
selecting the at least one portion for rendering;
selecting a first scan line in the at least one portion for rendering, the first scan line comprising a plurality of pixels;
rendering, by a CPU, at least a portion of the scan line in increments of L pixels; and
interpolating, by the CPU, texture values for at least some of the pixels,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.
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.
-
Citations
28 Claims
-
1. A method of creating an image in a computer system, the method comprising:
-
receiving, by a first process executing from a memory in a first computer system, a request to render a polygon, the request associated with a graphics processing unit (GPU) program representing the polygon; converting the GPU program into a central processing unit (CPU) program; dividing the CPU program into two or more portions, at least one portion representing a section of the polygon; selecting the at least one portion for rendering; selecting a first scan line in the at least one portion for rendering, the first scan line comprising a plurality of pixels; rendering, by a CPU, at least a portion of the scan line in increments of L pixels; and interpolating, by the CPU, texture values for at least some of the pixels, 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A method of creating a result image, the method comprising:
-
receiving a request to render a result image; creating an object in a memory representing the result image, the object comprising one or more programmable graphics processing unit (GPU) fragment programs for applying at least one filter to at least one image; and executing, by a central processing unit (CPU) emulating a programmable GPU, the object to render the result image, wherein the object 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. - View Dependent Claims (23, 24, 25, 26, 27, 28)
-
Specification