THIS is why i hate developing for ati's drivers, consider this code for detecting weither or not their opengl implementation supports dxt compression, and enumerating compressed formats that it supports:

Code:
 candxt := findbuffer('GL_EXT_texture_compression_s3tc');
  if candxt = False then
    candxt := findbuffer('GL_S3_s3tc');

  if candxt = True then
  begin
    debug('EXT: Enumerating texture compression:');
    glGetIntegerv(GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB, @num);

    SetLength(valid_arb_compression, num);

    glGetIntegerv(GL_COMPRESSED_TEXTURE_FORMATS_ARB, @valid_arb_compression[0]);

    for i := 0 to num - 1 do
      debug(format('$%x', [valid_arb_compression[i]]));

  end;
It worked fine for last 5 years or so, and THIS is how the code looks now after their latest driver "update":

Code:
 candxt := findbuffer('GL_EXT_texture_compression_s3tc');
  if candxt = False then
    candxt := findbuffer('GL_S3_s3tc');

  if candxt = True then
  begin
    debug('EXT: Enumerating texture compression:');
    glGetIntegerv(GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB, @num);

    SetLength(valid_arb_compression, num);

    if num = 0 then // can use dxt but supports zero compressed formats... ati / amd screwed up their drivers again..
    begin
    debug('AMD CRAPPY BROKEN DRIVERS.');
    end else
    glGetIntegerv(GL_COMPRESSED_TEXTURE_FORMATS_ARB, @valid_arb_compression[0]);

    for i := 0 to num - 1 do
      debug(format('$%x', [valid_arb_compression[i]]));

  end;
They keep breaking their opengl implementation and are getting pretty good at it, good job AMD, i'm guaranteeing you my next gpu won't come from your fabrics for a looong time and i will actively tell people not to buy your crappy products.