I did a test application that opens a form with 12 instances of my OpenGL control,.
Each one creates its FBO of 4096x4096 with associated depth texture for shadowmapping.
On the ATI Radeon 5450, with the latest Catalyst 12.6, after I’ve created 6 or 7 instances of the OpenGL control, I get an Access Violation Exception (“Attempted to read or write protected memory. This is often an indication that other memory is corrupt.”) when I do this call:
[FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2][COLOR=#2b91af]glC[/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2]heckFramebufferStatusEXT(GL_[/SIZE][/FONT][FONT=Courier New][SIZE=2]FRAMEBUFFER_EXT);
[/SIZE][/FONT]
[FONT=Courier New][SIZE=2]
after the creation of the FBO.[/SIZE][/FONT]
Each OpenGL viewport has its own graphics context.
I check the glGetError() before doing that call, but I get GL_NO_ERROR.
Is it going out of graphics memory?
Why does it crash instead of giving a GL_OUT_OF_MEMORY error?
How can I avoid this crash?
The card has 1GB of VRam.
On an ATI FirePro V3750 with 256MB of VRam it doesn’t crash and can initialize all the 12 viewports successfully…