summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenneth Russel <[email protected]>2005-11-13 06:42:16 +0000
committerKenneth Russel <[email protected]>2005-11-13 06:42:16 +0000
commit21329712dd03066ede7b9f7dd5975f11bcd9ccac (patch)
treec9b91b4ef8f1cc3ff65a7ebb1681919da708e2bd
parent0f6b7600e0b236cd5d42750ebd1421dcf76ca1ae (diff)
Added workaround for problem on Mac OS X 10.4.3 where could not share
textures and display lists between a pbuffer and an on-screen OpenGL context; now specify pbuffer support for all created contexts. Tested on 10.3.9 and 10.4.3. See 4129317 on Apple's Bug Reporter for first report of this bug. Added workaround for older OpenGL version strings being reported with older graphics cards on OS X; now attempt to parse vendor-specific version string. Added workaround for ProceduralTexturePhysics demo on OS X where pbuffer's rendering results were not being flushed each frame; this demo is now working properly on 10.4.3 with recent hardware. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@148 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
-rw-r--r--src/demos/proceduralTexturePhysics/Water.java3
-rw-r--r--src/demos/vertexProgRefract/VertexProgRefract.java6
2 files changed, 7 insertions, 2 deletions
diff --git a/src/demos/proceduralTexturePhysics/Water.java b/src/demos/proceduralTexturePhysics/Water.java
index 701a10f..4bf8f14 100644
--- a/src/demos/proceduralTexturePhysics/Water.java
+++ b/src/demos/proceduralTexturePhysics/Water.java
@@ -453,6 +453,9 @@ public class Water {
singleStep = false;
}
+ // Force rendering to pbuffer to complete
+ gl.glFlush();
+
if (slow && (slowDelay > 0) ) {
try {
Thread.sleep(slowDelay);
diff --git a/src/demos/vertexProgRefract/VertexProgRefract.java b/src/demos/vertexProgRefract/VertexProgRefract.java
index 8663d39..a01a5d7 100644
--- a/src/demos/vertexProgRefract/VertexProgRefract.java
+++ b/src/demos/vertexProgRefract/VertexProgRefract.java
@@ -453,8 +453,10 @@ public class VertexProgRefract extends Demo {
// Internals only below this point
//
public void shutdownDemo() {
- ManipManager.getManipManager().unregisterWindow(drawable);
- drawable.removeGLEventListener(this);
+ if (drawable != null) {
+ ManipManager.getManipManager().unregisterWindow(drawable);
+ drawable.removeGLEventListener(this);
+ }
super.shutdownDemo();
}