Search Images Maps Play YouTube News Gmail Drive More »
Advanced Patent Search | Page images | Web History | Sign in

Patents

  

United States Patent im

Celi, Jr. et al.

I

US005687376A [li] Patent Number: [45] Date of Patent:

5,687,376 Nov. 11, 1997

[blocks in formation]
[blocks in formation]

Disclosed is a support architecture that facilitates use of display device drivers containing a minimum of hardwarespecific software code. A driver need support only a relatively few common functions, which act as building blocks for the larger, more complex operations typically requested by graphics engines. In order to mediate between the limited-instruction-set device driver and the various higherlevel graphics engines, the invention includes a series of translation modules that simplify engine-originated instructions into simpler graphic components. A video manager supervises routing of instructions to the specific drivers they designate, and serializes access to hardware components so that graphic commands execute atomically (i.e., without interruption). The invention also includes a graphics library containing device-level instruction sets, as well as the on-board capability to execute those commands, for a broad range of graphic operations, and one or more filter module interposed between the video manager and each device driver. The filter modules can enhance driver functionality without the need to rewrite or risk corruption of driver code; preprocess parameter information or instructions from the video manager before they reach the driver; intercept function calls or data before they reach a device driver for purposes of modification, analysis or mere viewing (e.g., for debugging purposes); or adapt device drivers to the environment of the present invention.

17 Claims, 2 Drawing Sheets

[table][merged small][merged small][merged small][merged small]
[merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][table]
[merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][table][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][table]

1 2

SYSTEM FOR MONITORING Far example, GUI environments such as that supplied

PERFORMANCE OF ADVANCED GRAPHICS with the OS/2® operating system, available from Interna

DRIVER INCLUDING FDLTER MODULES tional Business Machines Corp., permit the user to perform

FOR PASSING SUPPORTED COMMANDS various operations in separate rectangular screen windows.

ASSOCIATED WITH FUNCTION CALLS 5 The windows have characteristic appearances (colors,

AND RECORDING TASK EXECUTION TIME bottlers, shading, etc.), and must also exist alongside other

FOR GRAPHIC OPERATION windows and screen artifacts. In order to spare designers of

applications intended for use on such a GUI from rewriting

Lilt T\ rrp XTTP TNVP1S]'11 IO"NT

ric^u urinu ... tne copious graphics instructions associated with windows

This invention relates to graphics drivers, and in particu- 10 rendering and management each time these operations

lar to an architecture for supporting different graphics sub- become necessary, the API packages these into high-level

systems and the various drivers usable therewith. commands. Thus, the designer need only enter a WinDraw

BACKGROUND OF THE INVENTION Border instruction (along with appropriate parameters such

as window size) in order to give the application the ability

Today even relatively modest personal computer systems 15 t0 a window border. The API maintains a library of

have graphics subsystems that facilitate display of elaborate graphics instructions associated with each high-level

graphic patterns on a video or flat-panel display. The pro- command, and imports these into the application program

liferation of applications generating such sophisticated when it is compiled or run.

graphics has engendered changes in the way computational ^ GUI must ^ te compatibie witn numerous availresponsibility for their actual rendering is allocated. In older 20 able hardware platforms and graphics adapters. This is systems, the main processor would perform all graphics facmtated by interposing a device driver, which directly processing (through a display controller) according to com- controls the graphics hardware, between that hardware and mands supported by the operating system-the software the Mcs engine Deyice Myels m a common expedient module responsible for managing the processing and trans- in current computer systems, and contain processing logic fer of information among various system resources. The 25 for controlling the low-level or device-specific components desire for greater resolution and rendering capabilities even- of a particular computer resource. Each hardware configutually began to impose an excessive computational burden ration is ^ a mNerA &aphics MytT capable of on the main processor, limiting overall speed and ultimately translating the common set of graphics-engine commands, making this simple architecture obsolete. OT "primitives," mto signals specific to the graphics hardSystem designers therefore began transferring graphics- 30 ware. This arrangement provides consistency at the operatprocessing tasks to separate graphics hardware boards, jng SyStem and GUI level

called "graphics adapters." These boards contain circuitry Mafters ... iicated, however, in systems that

dedicated exclusively to drawing graphic patterns on fee applications written for different GUIs. For

display, and support both high speed and fine resolution. The e k ^ QS/2 0^^ systein accepts «native« com.

fartmatmeirfunctionalreperto^^ 35 mands from applications written specifically for OS/2 as

prove limiting, since board capabilities were matched to the weU as llforeicommands {EaCted toward ^ Wmdows

commands recognized by the main operating system. Apph- Qm uaAtta& b Microsoft Corp. This versatility is ordi

cation programs requiring graphics operations passed task ^ implemented by the simultaneous presence, in com

commands to the operating system, which executed them putef mem^ of me subsystems associated with

through the graphics hardware. 40 each of ths supported GTJIs ^ ^ &lipidcs Mveis with

The recent advent of graphical user interfaces ("GUIs") wnich ^ ^ ordinarily paired.

haslargelyrenderedtMsarrangementobsoleteaswell GUIs ... modification, each driver would operate

provide a visual metaphor of a real-world scene such as a ^ ^ ^ ^ under &e a tion mat & <w> me

desktop, featuring icons that the user can manipulate with a Mcs ... (and & tQ ^ foct ^ o±er

pointing device such as a mouse. GUIs operate at a hierar- 45 ^ ^ ... ^ m and might suddenly become

chical level above the operating system but below ... Unfortunatel modifying a driver to cooperate with

applications, from which they accept functional commands ... nts a ^sk, not only because

that include requests for graphics operations. GUIs offer the rf ^ complexity of graphics drivers, but also due

user a colorful graphic environment that is preserved across to ^ ^ J ^^ for Me[_Mve[

apphcations designed for the GUI; they also impose sub- 50 eratjon

stantial graphics-processing demands, typically requiring A _' x. , ,.

sophisticated graphics subsystems that include an A ^al comphcation occurs when graphics boards are

application-program interface ("API") and a graphics up^ed These hardware devices are frequently produced by

engine. The API layer translates application commands, independent vendors, which sell them to computer rnanu

which are written in a high-level language, to the high-level 55 fr^stallation on an ongmal-eqmpmentmanufac

drawing commands supported by the graphics engine, a *TM <TM> bausis-ff ^^hardware is to run the full repertoire

specialized component of the operating system. The graph- of graphics subsystem functions associated with every sup

ics engine, in turn, processes the high-level drawing com- P01**1 GUI' ^ must ordinarily be rewritten with

mands into lower-level drawing commands supported by a each new equipment release,

graphics device driver. The device driver, finally, processes 60 DESCRIPTION OF THE INVENTION the lower-level drawing commands into output signals that

drive the graphics adapter, which performs the actual draw- Advantages of the Invention ing operations on the display. (Typically, the instantaneous An advantage the present invention is simultaneous supappearance of the display is determined by the bitwise or port of a plurality of graphics device drivers, any of which bytewise contents of a display or frame buffer; the graphics 65 may be selected for immediate implementation of a desired adapter draws patterns on the display by modifying bits in graphics function and without special programming to prethe buffer.) vent unwanted interaction.

« PreviousContinue »