Computer graphics processing and selective visual display system – Computer graphic processing system – Graphic command processing
Reexamination Certificate
1998-04-27
2001-02-06
Tung, Kee M. (Department: 2671)
Computer graphics processing and selective visual display system
Computer graphic processing system
Graphic command processing
C345S519000, C345S519000
Reexamination Certificate
active
06184908
ABSTRACT:
TECHNICAL FIELD OF THE INVENTION
The present invention relates generally to computers system and more particularly to co-processing video graphics data within computer systems.
BACKGROUND OF THE INVENTION
A computer is known to include a central processing unit, system memory, video graphics circuitry, audio processing circuitry, and peripheral ports. In such a computer, the central processing unit functions as a host processor while the video graphics circuit functions as a loosely coupled co-processor. In general, the host processor executes application programs and, during execution, calls upon the co-processor to execute its particular function. For example, if the host central processing unit requires a drawing operation to be done, it requests, via a command through a command delivery system, the video graphics processor to perform the drawing function.
Graphics processors, in general, are designed to efficiently render graphic images consisting of a mosaic of triangular areas. The graphics processor receives the characteristics of the image at the vertices of the triangle, and thereafter fills in the triangular area by an interpolation of these characteristics. Conventionally, the CPU prepares the data for execution by the graphics processor and then submits a command and the associated data to the processor for execution. The commands and data generally consist of a series of “draw-triangle” commands, followed by, or preceded by, the data associated with each vertex of the triangle. In this manner, the CPU is able to create and manipulate complex images without computing the details associated with each picture element (pixel) of the displayed image.
During the execution of an application program, the CPU stores the graphics information that is generated by the application program in memory. For efficient programming and execution of the application program, this graphics information is not necessarily stored in memory in the same order or format as required by the graphics processor. There may be information stored in memory that is required by the application program, but irrelevant to the graphics processor, or unnecessary for a particular graphics command. For example, a user may request a display of an image in draft form, without texturing or other realism effects, to speed the process while editing the image. In this example, the CPU formulates the appropriate draw-triangle command and provides the graphics processor only the information required to render the image in the draft form. This process requires CPU processing time, as well as additional memory, to extract and prepare the data that is to be transferred to the graphics processor.
In preparing the data for execution by the graphics processor, the CPU often transforms the data from the format suitable for processing by the application program into the format suitable for processing by the graphics processor; for example, from a floating point format to an integer format. Because such conversion is commonly required, software drivers are generally provided to perform these conversions. The CPU provides the data in a first format to the software driver, receives the data in a second format, then formulates the command and data sequence required by the graphics processor. This sequence of data processing introduces latencies in the overall processing of graphics information as one process waits for another process to be completed. It also introduces a significant overhead in CPU processing, because the CPU must either wait for each process to complete its task, or provide for a polling or interrupt scheme to allow multiple processes to operate in parallel while still maintaining the required sequential ordering of the data processing.
Therefore, a need exists for a method and apparatus for processing video graphics data that minimizes the latencies associated with graphics command and data processing, minimizes the processing and memory requirements associated with the transfer of information to the graphics processor, and also minimizes the overhead burden on the CPU.
REFERENCES:
patent: 5138561 (1992-08-01), Crowe
patent: 5485559 (1996-01-01), Sakaibara et al.
patent: 5794016 (1998-08-01), Kelleher
patent: 5796413 (1998-08-01), Shipp et al.
patent: 5861893 (1999-01-01), Sturgess
patent: 5999196 (1999-12-01), Storm et al.
Aleksic Milivoje
Asaro Antonio
Chan Jason CK
Doyle James
Laksono Indra
ATI Technologies Inc.
Markison & Reckamp, P.C.
Tung Kee M.
LandOfFree
Method and apparatus for co-processing video graphics data does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and apparatus for co-processing video graphics data, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for co-processing video graphics data will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2615877