Intel 915 Graphics: Graphics Media Accelerator 900by Derek Wilson on August 2, 2004 10:03 AM EST
- Posted in
Inside Graphics Media Accelerator 900There are plenty of new and improved features in GMA900 that deserve some in-depth explanation, but before we get to that, here is the specification list as provided by Intel on the Graphics Media Accelerator 900:
Third-generation Graphics Core
- 256-bit graphics core
- 8/16/32 bpp
- Up to 8.5 GB/sec memory bandwidth
- 1.3 GP/sec and 1.3 GT/sec fill rate
- 224MB maximum video memory
- 2048x1536 at 85 Hz maximum resolution
- Dynamic Display Modes for flat-panel and wide-screen support
- Operating systems supported: Microsoft Windows XP, Windows 2000, Linux-compatible (Xfree86 source available)
- Up to 4 pixels per clock rendering
- Microsoft DirectX 9 Hardware Acceleration Features:
- Pixel Shader 2.0
- Volumetric Textures
- Shadow Maps
- Slope Scale Depth Bias
- Two-Sided Stencil
- Microsoft DirectX 9 Vertex Shader 2.0 and Transform and Lighting supported in software through highly optimized Processor Specific Geometry Pipeline (PSGP)
- DirectX Texture Decompression
- OpenGL 1.4 support
- 400 MHz DAC frequency for up to 2048x1526 resolution for both analog and digital displays
- Two Serial Digital Video Out (SDVO) ports for flat-panel monitors and/or TV-out support via Advanced Digital Display 2 (ADD2) cards
- Multiple display types (LVDS, DVI-I, DVI-D, HDTV, TV-out, CRT) for dual monitor capabilities
- Hardware motion compensation support for DVD playback
- HDTV 720p and 1080i display resolution support
- 16x9 Aspect Ratio for wide screen displays
- Up and Down Scaling of Video Content
- High Definition Content Decode
- 5x3 Overlay Filtering
- Hardware Motion Compensation support for DVD playback
There are a couple of reasons why we feel Intel lacks a hardware vertex shader and T&L. The first thing that came to mind was that Intel wants to sell higher powered processors h to those who want better geometry performance. Intel says that the performance increase wasn't worth the increase in cost and die size of their part. Both of these are return on investment issues, and Intel's choice does make sense from this perspective.
Of course, the flip side is that implementing hardware geometry and T&L has historically been difficult to implement alongside Intel's internal architecture. What makes Intel's architecture so different from everyone else's? We're glad that you asked.
Intel has a licensing agreement with STMicroelectronics. If that name sounds familiar, it's because STMicro was the company behind the Kyro and Kyro II. Those who've been following the graphics industry for a while will already have guessed that Intel is using their own flavor of STMicro's tile based rendering technology.
The main difference between immediate mode rendering (what most other GPUs implement) and tile based rendering is that tile based rendering eliminates the z-buffer and the need for framebuffer blending.
For every textured, lighted, and shaded object in a 3D scene, immediate mode rendering will start processing it as soon as possible: geometry lighting will be processed and pixels are assigned zbuffer values and textured, which are then rastered to the screen. Obviously, sometimes objects occlude other objects. In these cases, the zbuffer is used to determine what pixels is "closest" to the viewer and needs to be displayed.
Under tile based rendering, all geometry and lighting data is processed first and projected triangles are generated. The entire scene is sectioned off into tiles, and these tiles are successively rendered and drawn to the frame buffer. Having already processed all the geometry, a tile based renderer has all the information it needs to avoid drawing overlapping pixels (saving memory bandwidth) from triangles in the tile. Also, blending effects can be done easily before a pixel is written out to memory, saving still more memory bandwidth.
Working in tiles keeps the amount of data small enough to remain on the chip until all processing is done, which keeps the transistors busy, actually doing work rather than waiting for data to load from memory. This is especially important when working with a 6-8GB/s memory bus that's shared with the rest of the system. Modern add on graphics cards have over 30GB/s of memory bandwidth available to them in order to support all the reads and writes that are necessary in immediate mode rendering.
Of course, bandwidth is a commodity in immediate mode rendering as well, and Early and Hierarchical Z algorithms have helped NVIDIA and ATI perform similar large scale occluded pixel elimination by looking at tiles of geometry as output from the vertex shader before all the pixels on every object are sent to the pixel engine. But the efficiency of this is dependant on overlapping triangles being "near" each other in the vertex engine as all geometry is not present by the time triangles start hitting the pixel pipelines.
Our previous reviews of thePowerVR Kyro and the Kyro II have in-depth explanations of immediate mode and tile based rendering for those interested.
Other than DX9, the GMA900 has a 400MHz DAC, which supports higher resolutions on analog displays than previous generation Intel graphics. This is more beneficial in 2D applications, as pushing 3D games into the 1024x768 and beyond range is simply an exercise in frustration.