Browse Prior Art Database

Efficient Command/Data Interface Protocol for Graphics

IP.com Disclosure Number: IPCOM000105787D
Original Publication Date: 1993-Sep-01
Included in the Prior Art Database: 2005-Mar-20
Document File: 6 page(s) / 167K

Publishing Venue

IBM

Related People

Aranda, MA: AUTHOR [+12]

Abstract

An efficient means for transferring commands and data is disclosed. More particularly, the transfer mechanism is designed for data associated with a graphics processing system.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 43% of the total text.

Efficient Command/Data Interface Protocol for Graphics

      An efficient means for transferring commands and data is
disclosed.  More particularly, the transfer mechanism is designed for
data associated with a graphics processing system.

      In many graphics systems, graphics commands and data are
generated by a front-end geometry processing sub-system and then
passed down a pipeline to a rasterization sub-system.  In order to
achieve the best possible performance, it is very important that no
more data than is absolutely necessary be passed from the geometry
sub-system to the rasterization sub-system (hereinafter
"rasterizer").

      For instance, in order to specify a polygon in its more general
form, it may be necessary to specify a large number of words of data
for each vertex (X, Y, and Z for position; R, G, B, and Alpha for
color; U, V, and W for texture mapping; and so on), while many times
it would be sufficient to specify a polygon with only six pieces of
data (X, Y, Z, R, G, and B) for each vertex.

      The rasterizer datastream disclosed herein provides for
variable amounts of data per vertex or pixel.  This allows the
datastream to be flexible enough to support the most demanding cases,
while at the same time requiring that no more data than necessary
need be transmitted.

      The rasterizer datastream consists of commands and data, with
each command determining how the data that follows it will be
interpreted.  Command words and data words are 32 bits wide, with
commands being identified by the presence of a B'1' in the most
significant bit.

      In order to achieve the flexibility/compactness objectives
described above, the rasterizer datastream has two kinds of commands:

o   Command/data pairs, in which a command word is followed by a
    single data word; and
o   Data streaming commands, in which a command word is followed by a
    stream of data words, a field in the command word itself
    indicating which kinds of data words will follow the command.
o   Each of these types of commands is now described.

COMMAND/DATA PAIRS - Command/data pairs allow individual registers in
the rasterization sub-system to be loaded and provide for the
specification of a single 32-bit data word of 31 bits may be used.  A
diagram of a command/data pair is shown in Fig. 1.

The first word, the command word, has five control fields:

1.  The first control field, bit 0, is the command/data word
    identifier.  When bit 0 is a B'1', then the entire word is
    identified as a command word.
2.  The second control field, bit 1, is reserved for future expansion
    and must be set to a B'0'.
3.  The third control field, I(.2..5.), is the interrupt control
    field.  Placing a B'1' in the I(.2.) or I(.3.) causes a hardware
    interrupt in the rasterization sub-system.  The remaining bits in
    the control field, I(.4...5.), are reserved for future
    expandability.
4. ...