News & Analysis
3Dlabs pushes programmable and embedded graphics
Rick Merritt
1/30/2002 12:19 PM EST
SUNNYVALE, Calif. High-end graphics designer 3Dlabs Inc. Ltd. is driving an effort to enable a new class of programmable graphics processors with an upgraded version of the OpenGL application programming interface in a chip it may introduce later this year. 3Dlabs is also spearheading a move to draft a version of OpenGL as an API for embedded systems.
3Dlabs has put forward proposals for OpenGL 2.0 that would simplify the high-end graphics interface, in effect turning it into a high-level, C-based graphics-programming language. The plan would enable software for a hybrid graphics architecture the company is designing that will meld pieces of a traditional hardwired graphics pipeline processor with programmable SIMD arrays in a device that could require 70 million transistors.
The chip, which could be announced at Siggraph in August, "is enabling technology," but won't help 3Dlabs break out of its niche of high-end workstation graphics, said Jon Peddie, principal of Jon Peddie Research (Tiburon, Calif.). "It's a breakaway development from the traditional linear graphics pipeline processors we all know and use," he said.
Separately, 3Dlabs has proposed a subset of the existing OpenGL 1.3 specification that could be the software basis for a simple set of 2-D, 3-D and imaging cores it would sell to embedded markets ranging from traditional avionics and automotive displays to potentially high-volume Web-enabled cell phones and handhelds.
"There's a real need for this," said Peddie. "Without this, graphics processing on handhelds has to be directed at the particular characteristics of the processor that is unique to that system."
Once in the vanguard of graphics, the OpenGL API has stagnated, losing steam to Microsoft Corp.'s Direct3D, part of that company's DirectX suite of multimedia APIs for Windows. "Direct3D is doing very well and has pulled ahead of OpenGL in certain features, such as programmability," said Peddie. "OpenGL needs to expose programmable functions."
"Future graphics chips will be more like visual processors," said Neil Trevett, vice president of marketing for 3Dlabs. "They will be less hardwired graphics pipeline accelerators and more like programmable CPUs." Graphics chip makers will also need to start developing good compilers to enable high-level languages like those envisioned for OpenGL 2.0, he added.
The OpenGL 2.0 proposal creates three classes of programmable processors inside the traditional graphics pipeline. Presumably, the programmable parts correspond to planned single-instruction, multiple-data arrays in 3Dlabs' upcoming chip architecture.
Programmable vertex processors will replace coordinate transformation and lighting engines and allow arbitrary per-vertex operations. Programmable fragment processors will replace texture mapping and fog engines and allow per-fragment operations, something that developers have long wanted, Peddie said. And programmable image formats also known as pack/unpack processors will replace fixed-format image-packing and unpacking operations. The goal of the pack/unpack operation is to convert so-called application pixels to a coherent stream of pixel groups, Peddie said.
Other features 3Dlabs has proposed include a more flexible frame buffer configuration, application control of texture memory, a unifying framework for OpenGL objects, and cleaner and more efficient synchronization mechanisms, according to a white paper written by Peddie.
Part of the idea is to replace the complex burden of extensions that exist for OpenGL today with a more manageable set of programmable capabilities. An initially backward-compatible version 2.0 would be followed by a "pure" OpenGL 2.0 that "would be significantly smaller than version 1.3," said Trevett.
The OpenGL Architecture Review Board (ARB) reviewed the proposal in September. Graphics leader Nvidia Corp. (Santa Clara, Calif.) has not given its OK to the concept. Trevett said he hopes the ARB will ratify a final spec at Siggraph.
Embedded API
Separately, an ad hoc industry association called the Khronos Group is reviewing 3Dlabs' proposal for a subset of OpenGL 1.3 for embedded systems. The group includes 3Dlabs, ATI Technologies, Intel, Nvidia, SGI and Sun. "You can't get good graphics in embedded devices, and one of the problems is there is no good API," said Trevett. "This could help define advanced graphics in the embedded community."
Microsoft already supplies a subset of its Direct3D APIs in its latest version of embedded Windows, called CE.Net. But other embedded-OS vendors lack a common graphics API. "We'd like to have a standard graphics API because it's a big challenge for us and our customers to get value without such a standard," said Christopher Zapf, a product manager for Wind River Systems Inc. (Alameda, Calif.), which sells the lion's share of commercial real-time operating systems for embedded. Zapf said Wind River will participate in defining embedded OpenGL.
The embedded OpenGL API could have as few as 50 function calls for its 2-D version and 100 for its 3-D subset, down from 350 for the entire version 1.3 of the API, according to the 3Dlabs proposal. Drivers should require less than 200 kbytes of memory, down from about 1 Mbyte for 1.3 drivers. The API will also conform to such embedded-system quality standards as the DO-178 spec.
The Khronos Group, previously a closed-door association, is opening its membership to anyone interested in being part of the work groups to define the embedded API. The group hopes to start signing up members in February. Trevett hopes the expanding group can ratify a final spec before the end of the year. The OpenGL ARB has indicated it will approve the group's work.



