aboutsummaryrefslogtreecommitdiffstats
path: root/src/jogl/classes/com/jogamp
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2012-10-06 07:19:37 +0200
committerSven Gothel <[email protected]>2012-10-06 07:19:37 +0200
commit630d43be7a8cccf28632fc1f7542bb484382d775 (patch)
treeab551fddfc020f4e0a079e127098a944a114e1ac /src/jogl/classes/com/jogamp
parentd3033e42faa909f6c1055f5ba3c7925766a3e583 (diff)
Fix Bug 617 (part2): Workaround buggy GPU driver where FBO reattachment of Colorbuffer w/ diff size leads to GL_FRAMEBUFFER_UNSUPPORTED.
This occured at least on: - OS X 10.6.8 - GL_RENDERER NVIDIA GeForce 7300 GT OpenGL Engine - GL_VERSION 2.1 NVIDIA-1.6.36 Remedy is to catch the exception @ GLFBODrawableImpl.reset(..) and switch over to fallback 'reset' method: FBO reattachment -> FBO complete recreation Of course, the FBO recreation is noticable slower, but at least it seems to work on the offending system. Not tested on the offending system, but manually provoked GLException on FBOObject to trigger fallback, which is working here.
Diffstat (limited to 'src/jogl/classes/com/jogamp')
-rw-r--r--src/jogl/classes/com/jogamp/opengl/FBObject.java5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/jogl/classes/com/jogamp/opengl/FBObject.java b/src/jogl/classes/com/jogamp/opengl/FBObject.java
index 922225207..f40d44ff5 100644
--- a/src/jogl/classes/com/jogamp/opengl/FBObject.java
+++ b/src/jogl/classes/com/jogamp/opengl/FBObject.java
@@ -1869,7 +1869,10 @@ public class FBObject {
detachRenderbufferImpl(gl, Attachment.Type.DEPTH_STENCIL, recreate ? DetachAction.RECREATE : DetachAction.DISPOSE);
}
if(ignoreStatus) { // post validate
- updateStatus(gl);
+ /* if(true) {
+ throw new GLException("Simulating bug 617, reset FBO failure");
+ } */
+ updateStatus(gl);
if(!isStatusValid()) {
throw new GLException("detachAllImpl failed "+getStatusString()+", "+this);
}