Sunday, March 02, 2008

The Greatest 24 Pages Ever

(Okay, that might be a slight exaggeration but...)

Everything you wanted to know about the Radeon 9500 - X1900 but were afraid to ask. (PDF)

The reason I love this document so much is the scope it covers: exactly how the hardware is different from the specs. One of the tricky aspects of programming advanced OpenGL applications these days is that a lot of the fine print can't be expressed in terms of the extensions. For example:
  • The R300/R400 (X100-X850) GPUs will render to floating point bufferers, but do not provide alpha testing, alpha blending, or fog on the back end of the frame buffer.
  • The R500 GPUs (X1000-X1900) will render floating point buffers with alpha and blending but only if the floating point buffer is 16 bitgs, not 32 bits. Fog is still not an option.
If you violate these constraints the GL will fall back to software rendering, which is usually not what you want. You can discover all of these things in beta and slowly work up a profile of supported hardware (there are "only" 8 distinct revisions of pixel-shader-capable graphics cards out there between nVidia and ATI) but when a document comes along and spells out all the fine print (including stuff you might not otherwise know), well, that's a gift!!!

One thing I learned that I would never have figured out: glClear gives better fill rate than simply over-painting the Z buffer on the R300.

The document even discusses internal precisions. (Hey X-Plane users...this is why your water looks "square" and "pixelated" on pre-X1000 Radeons; lower internal floating point precision and other R300/R400 hardware limititations.)

As far as I know, this is the closest thing by nVidia.

1 comment:

  1. I came across your blog while searching for OpenGL performance, and it's simply great!

    Have you seen this talk:
    Blender conference 2006

    It's very insightful, and some of the things that ATI told us not to do where already commented by Eskil Steenberg.