summaryrefslogtreecommitdiffstats
path: root/src/com/jogamp/opencl/impl
diff options
context:
space:
mode:
authorMichael Bien <[email protected]>2010-09-02 23:45:05 +0200
committerMichael Bien <[email protected]>2010-09-02 23:45:05 +0200
commitbc4e1521cc2ccc91a033998847dc35e1a8c8687b (patch)
treeebd2a6e94b69519afc5aed07ebf49b03b80fbaea /src/com/jogamp/opencl/impl
parent048f09aafe49e4eaddfe25ec4b302268510bc27b (diff)
CLMemObjectDestructorCallback for HLB and LLB.
Diffstat (limited to 'src/com/jogamp/opencl/impl')
-rw-r--r--src/com/jogamp/opencl/impl/CLImpl.java12
-rw-r--r--src/com/jogamp/opencl/impl/CLMemObjectDestructorCallback.java19
2 files changed, 31 insertions, 0 deletions
diff --git a/src/com/jogamp/opencl/impl/CLImpl.java b/src/com/jogamp/opencl/impl/CLImpl.java
index b9dd9835..98db94ea 100644
--- a/src/com/jogamp/opencl/impl/CLImpl.java
+++ b/src/com/jogamp/opencl/impl/CLImpl.java
@@ -134,6 +134,18 @@ public class CLImpl extends CLAbstractImpl {
private native int clSetEventCallback0(long event, int type, CLEventCallback cb, long address);
+
+ public int clSetMemObjectDestructorCallback(long memObjID, CLMemObjectDestructorCallback cb) {
+ final long address = addressTable._addressof_clSetMemObjectDestructorCallback;
+ if (address == 0) {
+ throw new UnsupportedOperationException("Method not available");
+ }
+ return clSetMemObjectDestructorCallback0(memObjID, cb, address);
+ }
+
+ private native int clSetMemObjectDestructorCallback0(long memObjID, CLMemObjectDestructorCallback cb, long address);
+
+
/** Interface to C language function: <br> <code> void * {@native clEnqueueMapImage}(cl_command_queue command_queue, cl_mem image, uint32_t blocking_map, uint64_t map_flags, const size_t * , const size_t * , size_t * image_row_pitch, size_t * image_slice_pitch, uint32_t num_events_in_wait_list, cl_event * event_wait_list, cl_event * event, int32_t * errcode_ret); </code>
@param origin a direct {@link com.jogamp.common.nio.PointerBuffer}
@param range a direct {@link com.jogamp.common.nio.PointerBuffer}
diff --git a/src/com/jogamp/opencl/impl/CLMemObjectDestructorCallback.java b/src/com/jogamp/opencl/impl/CLMemObjectDestructorCallback.java
new file mode 100644
index 00000000..df6f18f6
--- /dev/null
+++ b/src/com/jogamp/opencl/impl/CLMemObjectDestructorCallback.java
@@ -0,0 +1,19 @@
+/*
+ * Created on Thursday, September 02 2010 23:09
+ */
+
+package com.jogamp.opencl.impl;
+
+/**
+ * A callback which is invoked by the OpenCL implementation when the memory
+ * object is deleted and its resources freed.
+ * @author Michael Bien
+ */
+public interface CLMemObjectDestructorCallback {
+
+ /**
+ *
+ */
+ public void memoryDeallocated(long memObjID);
+
+}