PDA

View Full Version : Exceeding maximum total texture handles?



Rhawk187
12-10-2011, 06:04 PM
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?

Rhawk187
12-10-2011, 06:07 PM
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.

tksuoran
12-11-2011, 12:53 AM
What does glAreTexturesResident() tell you?

V-man
12-11-2011, 04:36 AM
http://www.opengl.org/wiki/Common_Mistakes:_Deprecated#glAreTexturesResident_ and_Video_Memory

Rhawk187
12-11-2011, 09:37 AM
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.

Rhawk187
12-11-2011, 10:03 AM
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?