Computer graphics processing and selective visual display system – Computer graphics processing – Three-dimension
Reexamination Certificate
1998-10-02
2001-06-26
Zimmerman, Mark (Department: 2671)
Computer graphics processing and selective visual display system
Computer graphics processing
Three-dimension
C345S506000, C345S520000
Reexamination Certificate
active
06252600
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Technical Field
This invention relates to computer systems having a graphics interface, and more particularly to computer graphics systems, and more particularly to processing commands and data for graphics systems employing display windows with both 2D and 3D images.
2. Description of the Related Art
Computer graphics workstations are used to generate high-quality graphics images, often three-dimensional, and to run applications programs in a windowed environment. A windowed environment allows a display device to present the output from several applications on a single physical output medium, e.g., a CRT display or monitor. The output display of an application is typically presented in one or more “windows” in a windowed environment. One or more unique “contexts” may be associated with the application area of each window. The contexts define the properties and parameters of the window area for that application. Thus, context refers to the data used by a graphics system to control the rendering process, i.e., a process through which a displayable image is generated. To enhance performance, computer graphics systems are moving toward the use of multiple graphics threads, each thread potentially having its own graphics context.
Three dimensional (3D) clients are typically computationally intensive and demanding on system bus bandwidth, and the threads for 3D clients can run on multiple processors in an attempt to satisfy their requirement for host processing cycles. Whenever the graphics system switches between clients, the state information must be saved and restored at many places in the graphics pipeline.
Increasingly, computer graphics systems are supporting multiple 2D and 3D contexts. For example, a graphics system may have in one window a high quality rendering of an airplane being developed. In another window there may be an interactive dialog in which the designer can change the properties of the airplane or make inquiries about it. In yet another window there may be a clock, and in still another window an inter-office mailing application may be running. The X-Window System developed by M.I.T. is a well-known example of such a windowing system standard.
In a graphics system in which multiple 2D and 3D contexts must be supported, and quickly switched among, it is also important to maintain a high degree of user interactivity with minimum latency. All graphics pipelines experience pipeline latency, which is defined as the time required for a single primitive to traverse the pipeline. Previous graphics adapters provided only a single command store (e.g., a FIFO, see copending application Ser. No. 09/165,619) for 3D, 2D, and other host processes. This is not an efficient method to render the 2D and 3D processes as it requires the host to semaphore, and requires FIFO draining upon context switch. Also 2D and 3D processes use the FIFO differently; since 3D processes require large amounts of data to draw an object, they typically use DMA commands which cause the adapter to fetch data. On the other hand, 2D processes typically require small amounts of data, and so it is more efficient to use PIO graphics data, rather than use graphics data. But the single FIFO implementation requires that the host use a semaphore before dispatching PIO commands. The need for a host semaphore prior to dispatching PIO commands makes this a more expensive operation than a DMA. The single FIFO implementation also requires the host to explicitly manage the 3D-to-2D and 2D-to-3D context switch by effecting a context save and context restore.
The window operations which theoretically should be interactive with the user often force the user to wait while graphics primitives are being rendered. For example, the user may have to wait for a small window to pop up on the display while a high quality rendering of an airplane is being developed in another window. Since graphics pipelines and graphics systems are evolving to support more complex primitives and longer pipelines, pipeline latency now presents a prohibitive problem in the ongoing effort to increase pipeline throughput and efficiency. There is a long-felt need to reduce the need for complex host management, processor overhead, host semaphore, and FIFO draining. These needs have not been heretofore addressed satisfactorily by current implementations.
SUMMARY OF THE INVENTION
It is therefore one object of the present invention to provide an improved graphics display for a computer system, particularly an improved way of managing graphics state associated with multiple contexts, e.g., both 2D and 3D domains.
It is another object of the present invention to provide an improved computer graphics system involving context switching between 2D and 3D applications, with a minimum of pipeline latency associated with context switching.
It is yet another object of the present invention to provide a method of providing graphics context switching in a computer graphics system which allows optimum use of the host processor and fast graphics switches, with minimal overhead.
It is a further object of the invention to provide a graphics context switch arrangement which functions automatically, providing context saves and restores without intervention of the host processor.
The above as well as additional objects, features, and advantages of the present invention will become apparent in the following detailed written description.
According to one embodiment of the invention, a computer system has a graphics subsystem which employs a rasterizer and a frame buffer, with a digital-to-analog converter for producing drive signals to a video display. A bus interface acts as a gateway between a system bus such as a PCI bus and the graphics subsystem; this interface manages commands and DMAs passing between a host processor and various parts of the graphics subsystem. Within the interface, two command FIFOs are employed, one for storing commands/data sent from the host for 2D display (window management) and another for 3D applications. The use of two command FIFOs eliminates the need for host semaphore, FIFO draining, and the latency associated with these operations. Timers are provided in the interface, associated with the two command FIFOs, to manage and regulate the frequency with which the system automatically switches between 2D and 3D FIFO processing. To minimize host intervention and bus bandwidth use, a context macro store is provided for holding locally the sequences for context save and context restore which are used repeatedly.
REFERENCES:
patent: 4985855 (1991-01-01), Aldrich et al.
patent: 5010502 (1991-04-01), Diebel et al.
patent: 5297241 (1994-03-01), Hirr, Jr. et al.
patent: 5329615 (1994-07-01), Peaslee et al.
patent: 5371849 (1994-12-01), Peaslee et al.
patent: 5394524 (1995-02-01), Di Nicola et al.
patent: 5434966 (1995-07-01), Nakazawa et al.
patent: 5555366 (1996-09-01), Teig et al.
patent: 5649080 (1997-07-01), Minakata
patent: 5649230 (1997-07-01), Lentz
patent: 5701444 (1997-12-01), Baldwin
patent: 5805168 (1998-09-01), Minakata
patent: 5815165 (1998-09-01), Blixt
patent: 6011564 (2000-01-01), Furuhashi et al.
patent: 6028610 (2000-02-01), Deering
IBM Technical Disclosure Bulletin, vol. 33, No. 7, Dec. 1990, “Improved Dispatching in a Rendering Context Manager,” pp. 131-134.
IBM Technical Disclosure Bulletin, vol. 35, No. 1B, Jun. 1992, “Multiple FIFOs for Improved Context Switching in Graphics Adapters,” pp. 163-164.
Kohli Ashu
Koob Christopher Edward
Lanzoni Thomas P.
Pafumi James Anthony
Wall William Alan
Bracewell & Patterson L.L.P.
Cao Huedung X.
International Business Machines - Corporation
VanLeeuwen Leslie A.
Zimmerman Mark
LandOfFree
Computer graphics system with dual FIFO interface does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Computer graphics system with dual FIFO interface, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Computer graphics system with dual FIFO interface will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2511245