summaryrefslogtreecommitdiffstats
path: root/src/com/jogamp/opencl/llb/impl/CLImpl.java
diff options
context:
space:
mode:
authorWade Walker <[email protected]>2014-03-02 14:02:25 -0600
committerWade Walker <[email protected]>2014-03-02 14:02:25 -0600
commit806f2902482af7c77c6a25ac3f9e4d4f73d56a54 (patch)
treefc9f1a04cb6a7d369ab51df9e5011dd720e92269 /src/com/jogamp/opencl/llb/impl/CLImpl.java
parenteb06798a7af0da8febbf31abd34e62e7100633aa (diff)
Pass function pointers into clEnqueueMapImage.
These pointers were showing up as uninitialized variables; on inspection they just weren't being passed in from the Java side or assigned on the C side. There are currently no tests of this function, which is how we didn't notice this omission.
Diffstat (limited to 'src/com/jogamp/opencl/llb/impl/CLImpl.java')
-rw-r--r--src/com/jogamp/opencl/llb/impl/CLImpl.java14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/com/jogamp/opencl/llb/impl/CLImpl.java b/src/com/jogamp/opencl/llb/impl/CLImpl.java
index ad89ff9f..57d45dfc 100644
--- a/src/com/jogamp/opencl/llb/impl/CLImpl.java
+++ b/src/com/jogamp/opencl/llb/impl/CLImpl.java
@@ -32,7 +32,6 @@
package com.jogamp.opencl.llb.impl;
import com.jogamp.common.nio.PointerBuffer;
-import com.jogamp.common.os.Platform;
import com.jogamp.common.util.LongLongHashMap;
import com.jogamp.opencl.CLErrorHandler;
import com.jogamp.opencl.CLException;
@@ -215,14 +214,14 @@ public class CLImpl extends CLAbstractImpl {
throw new CLException("Argument \"errcode_ret\" was not a direct buffer");
}
- final long mapImageAddress = addressTable._addressof_clEnqueueMapImage;
- if (mapImageAddress == 0) {
- throw new UnsupportedOperationException("Method not available");
- }
final long getImageInfoAddress = addressTable._addressof_clGetImageInfo;
if (getImageInfoAddress == 0) {
throw new UnsupportedOperationException("Method not available");
}
+ final long mapImageAddress = addressTable._addressof_clEnqueueMapImage;
+ if (mapImageAddress == 0) {
+ throw new UnsupportedOperationException("Method not available");
+ }
ByteBuffer _res;
_res = clEnqueueMapImage0(command_queue, image, blocking_map, map_flags, origin != null ? origin.getBuffer() : null,
getDirectBufferByteOffset(origin), range != null ? range.getBuffer() : null,
@@ -231,7 +230,7 @@ public class CLImpl extends CLAbstractImpl {
getDirectBufferByteOffset(image_slice_pitch), num_events_in_wait_list,
event_wait_list != null ? event_wait_list.getBuffer() : null, getDirectBufferByteOffset(event_wait_list),
event != null ? event.getBuffer() : null, getDirectBufferByteOffset(event), errcode_ret,
- getDirectBufferByteOffset(errcode_ret));
+ getDirectBufferByteOffset(errcode_ret), getImageInfoAddress, mapImageAddress);
if (_res == null) {
return null;
}
@@ -251,7 +250,8 @@ public class CLImpl extends CLAbstractImpl {
Object origin, int origin_byte_offset, Object range, int range_byte_offset, Object image_row_pitch,
int image_row_pitch_byte_offset, Object image_slice_pitch, int image_slice_pitch_byte_offset,
int num_events_in_wait_list, Object event_wait_list, int event_wait_list_byte_offset, Object event,
- int event_byte_offset, Object errcode_ret, int errcode_ret_byte_offset);
+ int event_byte_offset, Object errcode_ret, int errcode_ret_byte_offset,
+ long getImageInfoAddress, long mapImageAddress);
public CLProcAddressTable getAddressTable() {
return addressTable;