Section 3.0            Graphic Subsystem Architecture
 
The graphics subsystem in SkyWriter draws much from the architecture of its predecessor, the
PowerVision(tm) (VGX) line of graphics supercomputers. Like the VGX, its graphics subsystem
is pipelined, with several major subsystems responsible for performing the entire task of
generating the real-time 3D imagery.  Unlike the VGX, however, SkyWriter has two graphics
pipelines in each system, enabling the display of two full resolution (1280x 1024) screens
running at full performance independently of one another, yet being driven by the same set of
cpus.

The SkyWriter graphics subsystem has some other, very significant differences as well, mostly
pertaining to its ability to perform very fast, high quality texturemapping.  These changes
include both new hardware (two new boards, a new PROM, and 80 copies of a new custom
VLSI ASIC), and new microcode to support the newly designed ASIC.
 

3.1 Boards
 
Most parts of the two graphics pipelines in the SkyWriter graphics subsystem are identical
(pipeline 0 has the PMUX), so the following discussion will be apropos to both pipelines
except where explicit references are made to one pipeline or the other.

Each pipeline is composed of five printed circuit boards (PCBS) designed and manufactured by
Silicon Graphics.  These five boards include four unique board designs (there are two raster
subsystem boards) and ten custom VLSI ASIC designs.  The Major subsystems of the graphics
pipeline are generally divided across the board boundaries, but there are exceptions.

The process of dealing with the three dimensional graphics data includes a series of steps
progressing from geometric manipulations through video display.
 

3.2 Graphics Pipeline
 
The process begins with the Graphics Manager board, transferring graphics commands and
data from user memory across the MPlink bus to the graphics subsystem.  This data is then fed
into the appropriate graphics pipeline as determined by the DISPLAY variable designator
being used by the current process.  The DISPLAY variable designates which of the two
pipelines is currently active, pipeline 0 or pipeline 1.

Once the appropriate graphics pipe has the data, it is fed into the Geometry Engine(tm) which
distinguishes between graphics instructions and data and organizes the data for processing.
Parallel processors then step in to perform the geometric transformations to translate, scale,
rotate 3D objects and convert them from 3D world space coordinates to 2D screen space
coordinates.