Exceeding maximum total texture handles?

I’m writing an application and it seems to be failing on an older quadro. I still haven’t entirely tracked it down, but it appears to only happen when I allocate many texture (around ~1250).

I know there are a limit to the number of FBO handles on cards (encountered this issue before), so I assume there is a limit. What is the expected behavior if a system runs out? I’m printing out the ID that glGenTex provides, and they are all non-zero.

Any ideas or input?

For additional information, when I make all these calls and run valgrind on the application I get invalid reads in libGL and gl-core, when I don’t make them those calls don’t appear.

Also, I may be using more texture memory than the card has, but I don’t generate any OpenGL errors.

What does glAreTexturesResident() tell you?

http://www.opengl.org/wiki/Common_Mistakes:_Deprecated#glAreTexturesResident_and_Video_Memory

I tried glAreTexturesResident() and they all report true, although, I’m not sure if that’s accurate, because the cards does not have enough memory to hold them all and GPU_MEMORY_INFO_EVICTION_COUNT_NVX returns a non-zero value (about 31 by the time I’m done).

I’m also concerned about the correctness of GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX, because it was growing by a number larger than GPU_MEMORY_INFO_EVICTED_MEMORY_NVX when an eviction would occur.

GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX: 524288
GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX : 524288
GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX : 2824
GPU_MEMORY_INFO_EVICTION_COUNT_NVX : 0
GPU_MEMORY_INFO_EVICTED_MEMORY_NVX : 0

GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX: 524288
GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX : 524288
GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX : 29448
GPU_MEMORY_INFO_EVICTION_COUNT_NVX : 3
GPU_MEMORY_INFO_EVICTED_MEMORY_NVX : 2048

There are two back to back calls after loading a texture. The available memory grows by more than the evicted memory. This seems to be in error?