aboutsummaryrefslogtreecommitdiffstats
path: root/src/com/mbien/opencl/demos/joglinterop/GLCLInteroperabilityDemo.java
diff options
context:
space:
mode:
authorMichael Bien <[email protected]>2010-03-16 23:27:53 +0100
committerMichael Bien <[email protected]>2010-03-16 23:27:53 +0100
commit2c230d8e774653c68905b5817c935c405ba1b548 (patch)
tree85e69536a60e78ad78a6d7804845fbdcba77ebfd /src/com/mbien/opencl/demos/joglinterop/GLCLInteroperabilityDemo.java
parentdf1138e7ffad1f5b1d34d3923ee9a089656031e7 (diff)
made sure to flush gl/cl pipelines correctly (-> fixed rare segmentation fault).
Diffstat (limited to 'src/com/mbien/opencl/demos/joglinterop/GLCLInteroperabilityDemo.java')
-rw-r--r--src/com/mbien/opencl/demos/joglinterop/GLCLInteroperabilityDemo.java9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/com/mbien/opencl/demos/joglinterop/GLCLInteroperabilityDemo.java b/src/com/mbien/opencl/demos/joglinterop/GLCLInteroperabilityDemo.java
index 8c53dd2..067e113 100644
--- a/src/com/mbien/opencl/demos/joglinterop/GLCLInteroperabilityDemo.java
+++ b/src/com/mbien/opencl/demos/joglinterop/GLCLInteroperabilityDemo.java
@@ -179,10 +179,13 @@ public class GLCLInteroperabilityDemo implements GLEventListener {
public void display(GLAutoDrawable drawable) {
- computeHeightfield();
-
GL2 gl = drawable.getGL().getGL2();
+ // ensure pipeline is clean before doing cl work
+ gl.glFinish();
+
+ computeHeightfield();
+
gl.glClear(GL2.GL_COLOR_BUFFER_BIT | GL2.GL_DEPTH_BUFFER_BIT);
gl.glLoadIdentity();
@@ -199,8 +202,6 @@ public class GLCLInteroperabilityDemo implements GLEventListener {
gl.glDisableClientState(GL2.GL_VERTEX_ARRAY);
// gl.glBindBuffer(GL2.GL_ARRAY_BUFFER, 0);
-
- gl.glFinish();
}