ATI 5.8: glGenQueriesARB() & glIsQueryARB()

The following snippet of code fails with ATIs 5.8 driver on my X800:

GLuint id[1] = { 0 };
glGenQueriesARB( 1, id );
assert( glIsQueryARB( id[0] ) );

Driver bug or misunderstanding of usage pattern?

@mods: wouldn’t it be useful to have a separate forum for discussing potential driver bugs, fixes and workarounds?

GLuint id[1] = { 0 };
glGenQueriesARB( 1, id );
assert( glIsQueryARB( id[0] ) ); // *WILL* assert because query object not yet created.
void GenQueriesARB(sizei n, uint *ids);

    returns <n> previously unused query object names in <ids>.  These
    names are marked as used, but no object is associated with them until
    the first time they are used by BeginQueryARB.

It isn’t a querry object until after you issue the command BeginQuery. This is similar to (but different from) texture objects where GenTextures marks the name used but doesn’t create an object until a subsequent BindTexture.

-mr. bill