From bc4e1521cc2ccc91a033998847dc35e1a8c8687b Mon Sep 17 00:00:00 2001 From: Michael Bien <mbien@fh-landshut.de> Date: Thu, 2 Sep 2010 23:45:05 +0200 Subject: CLMemObjectDestructorCallback for HLB and LLB. --- src/com/jogamp/opencl/CLMemory.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/com/jogamp/opencl/CLMemory.java') diff --git a/src/com/jogamp/opencl/CLMemory.java b/src/com/jogamp/opencl/CLMemory.java index d66db3c8..416b8019 100644 --- a/src/com/jogamp/opencl/CLMemory.java +++ b/src/com/jogamp/opencl/CLMemory.java @@ -3,6 +3,7 @@ package com.jogamp.opencl; import com.jogamp.opencl.gl.CLGLI; import com.jogamp.common.nio.Buffers; import com.jogamp.common.nio.PointerBuffer; +import com.jogamp.opencl.impl.CLMemObjectDestructorCallback; import java.nio.Buffer; import java.nio.ByteBuffer; import java.nio.DoubleBuffer; @@ -72,6 +73,18 @@ public abstract class CLMemory <B extends Buffer> extends CLObject implements CL return context.cl; } + /** + * Registers a callback which will be called by the OpenCL implementation + * when the memory object is released. + */ + public void registerDestructorCallback(final CLMemObjectListener listener) { + cl.clSetMemObjectDestructorCallback(ID, new CLMemObjectDestructorCallback() { + public void memoryDeallocated(long memObjID) { + listener.memoryDeallocated(CLMemory.this); + } + }); + } + /** * Returns a new instance of CLMemory pointing to the same CLResource but using a different Buffer. */ -- cgit v1.2.3