Scalable Graphics Architectures: Interface & Texture

Homan Igehy, Ph.D. dissertation, Stanford University, May 2000.


With today's technology, it is possible to place a significant amount graphics processing power on a single chip. While this allows computers to render very impressive imagery, many interactive graphics applications require several orders of magnitude more in processing power. Parallelism is one way of achieving increased power, and scalable solutions achieve parallelism through the replication of a basic unit. In this dissertation, we discuss scalable graphics architectures and present novel techniques for scaling two important aspects of graphics architectures that have not been addressed by the literature: interface and texture. First, we analyze parallelism in the graphics pipeline. By looking at the virtual machine defined by the graphics API and analyzing its dependencies, we are able to examine the sources of parallelism. We define the metrics of scalability and analyze the extent to which existing graphics architectures are able to scale. Second, we present a novel parallel graphics interface that allows for scalable input rates. This interface allows multiple graphics contexts to simultaneously submit commands to the graphics system while explicitly ordering the drawing of graphics primitives. Even with scenes that require a total order, fully scalable submission and rendering are demonstrated. Finally, we present a scalable texture architecture based on a shared texture memory. In order to tolerate the high and variable latencies of a shared texture memory, a novel texture prefetching architecture is described. The effects of parallel texture caching are examined in detail, demonstrating the applicability of such an approach across a wide variety of rasterization architectures.