Advanced graphics port (AGP) display driver with restricted...

Computer graphics processing and selective visual display system – Computer graphics processing – Three-dimension

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C345S440000

Reexamination Certificate

active

06295068

ABSTRACT:

FIELD OF THE INVENTION
This invention relates to graphics systems, and more particularly to software drivers for 3D texture memory.
BACKGROUND OF THE INVENTION
Computer graphics for portable personal computers (PCs) has been greatly improved over the last few years. Embedded dynamic-random-access memory (DRAM) graphics memory has significantly increased the graphics bandwidth, enabling higher resolutions and 3D graphics. See Puar et al., “Graphics Controller Integrated Circuit Without Memory Interface”, U.S. Pat. Nos. 5,650,955 and 5,703,806, assigned to NeoMagic Corp. These embedded-DRAM graphics controllers have been used predominantly for portable PC's such as laptop and notebook PCs.
Another attempt to increase graphics bandwidth is a high-speed graphics bus developed by Intel Corp. of Santa Clara, Calif. and others. This bus is known as the accelerated graphics port (AGP). See U.S. Pat. No. 5,859,989 by Olarig et al., and assigned to Compaq Computer Corp.
FIG. 1
is a diagram of a PC with an AGP bus and a 3D graphics accelerator. A microprocessor or central processing unit (CPU)
10
reads and writes main memory
12
through system-logic chip set
16
. Peripherals such as disk
18
can be accessed over peripheral component interconnect (PCI) bus
28
.
AGP bus
26
is a high-speed expansion bus, typically with only one expansion connector or slot, thus limiting bus loading and increasing speed. Signals on AGP bus
26
are generated by system-logic chip set
16
when CPU
10
accesses graphics accelerator
20
that is plugged into AGP bus
26
. Graphics accelerator
20
drives pixels to display
30
and for higher-performance systems may include a three-dimensional 3D graphics engine. These pixels are stored in frame buffer
22
on the graphic card.
The AGP model includes several modes of operation. A portion of main memory
12
may be set aside as AGP memory
14
. Textures and Z-buffer data or off-screen surfaces may be stored in AGP memory
14
for use by the graphics system. In particular, 3D surface textures may be stored in AGP memory
14
and later transferred to temporary texture memory
23
on the graphics controller card.
One AGP model, known as the AGP Execute model, has 3D graphics accelerator
20
accessing textures and other surfaces from AGP memory
14
through system-logic chip set
16
, over AGP bus
26
. The use of the textures from AGP memory
14
is transparent to high-level applications such as 3D computer games. Texture use from AGP memory is just like the use of the texture from local video memory.
Unfortunately, 3D graphics accelerator
20
must have additional hardware to directly access textures from AGP memory
14
. This extra hardware adds to the expense and complexity of 3D graphics accelerator
20
and is thus undesirable.
Another AGP model is known as the AGP DMA model. This model does not require the 3D graphics engine to directly access the AGP texture memory. It only has the capability to move the textures from AGP memory
14
to temporary texture memory
23
using a high-speed DMA transfer and the ability to access/render textures in local video memory. Using the DMA hardware through the 3D driver, the high-level application program must perform additional steps to transfer textures from AGP memory
14
. Most high-level application programs do not include such steps and thus cannot take advantage of temporary texture memory
23
. Only newer application programs that are specifically written for AGP can take advantage of the AGP DMA model.
High Level Applications Complicated by AGP DMA Model—FIG.
2
FIG. 2
is an interface diagram of a high-level application transferring a texture from the AGP memory to the temporary texture memory in the local video memory. Application program
40
is a high-level user program such as a 3D game or animation. Application program
40
must perform low-level AGP tasks such as creating and moving textures from AGP memory
14
to temporary texture memory
23
. In the AGP DMA model, the 3D graphics hardware is not capable of directly rendering textures in AGP memory
14
.
Instead, application program
40
makes a series of calls to 3D graphics driver
42
to perform a series of steps to define or create textures in each memory
14
,
24
and then to transfer the texture data to graphics memory
24
. Since graphics memory
24
is on the graphics accelerator card while AGP memory
14
is part of the main system memory, graphics memory
24
is closer to the display pipeline and thus is accessed more quickly by the graphics accelerator. However, the size of graphics memory
24
is limited while the main memory is typically 10 or more times larger in capacity.
First, application program
40
makes call
52
to create a texture in AGP memory
14
. This call
52
is passed through 3D graphics driver
42
to AGP memory
14
, where a portion of the memory space is set aside as AGP texture
46
. Next, application program
40
makes call
54
to 3D graphics driver
42
to create a temporary texture in graphics memory
24
. This temporary texture is in temporary texture memory
23
, which is an off-screen portion of graphics memory
24
that is not used as the frame buffer.
Once the texture has been defined in both memories
14
,
24
, application program
40
makes call
56
to 3D graphics driver
42
to perform a bit-block transfer (BLT). The 3D graphics driver uses an AGP-DMA engine to transfer the texture from AGP memory
14
to graphics memory
24
, so that AGP texture
46
is copied to temporary texture memory
23
.
Finally, application program
40
makes call
58
to 3D graphics driver
42
, initiating the 3D engine to render the texture. 3D graphics driver
42
programs the 3D engine's hardware registers with the starting address of the texture in temporary texture memory
23
within graphics memory
24
. The 3D engine then uses the texture in the local video graphics memory
24
to render pixels in a triangle in a 3D space being rendered. Pixels within the triangle being rendered by the 3D engine are modified or modulated to show the texture.
Application program
40
must know about graphics memory
24
as well as AGP memory
14
to perform the transfer. Application program
40
must keep track of handles or identifiers of each texture in either AGP memory
14
or in graphics memory
24
. A rather complex interface between application program
40
and 3D graphics driver
42
is thus required when the AGP DMA model is used. To avoid redundant transfers, the application also needs to keep track of AGP textures already available in the temporary texture memory (cache management).
FIG. 3
is a structure chart of a high-level application performing under the AGP DMA model. Application program
70
must perform a variety of lower-level tasks to manage the textures when the AGP DMA model is used. Application program
70
sends a memory size for the texture to create-texture process
72
, which returns an identifier or handle for the texture to application program
70
. Create-texture process
72
then calls processes
78
,
80
,
82
, depending on whether the application requested that a texture be created in the graphics, AGP, or main system memory, respectively, depending on memory availability. For each process
78
,
80
,
82
, create-texture process
72
sends a memory-size parameter to the sub-process, while the sub-process returns a texture handle. These sub-processes
72
,
78
,
80
,
82
are applications-programming interface (API) functions in Microsoft Corporation's DirectX API.
Once the texture has been created in the graphics memory and AGP memory, application program
70
calls handle AGP texture process
74
. The handle for the AGP texture is sent by application program
70
to handle AGP texture process
74
. These texture handles must be stored in a table or otherwise stored and organized by application program
70
. The temporary texture within the local texture memory can be defined by create-texture process
84
, which returns a handle to the created texture.
When handle AGP texture pro

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Advanced graphics port (AGP) display driver with restricted... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Advanced graphics port (AGP) display driver with restricted..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Advanced graphics port (AGP) display driver with restricted... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2467314

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.