summaryrefslogtreecommitdiffstats
path: root/make
diff options
context:
space:
mode:
Diffstat (limited to 'make')
-rw-r--r--make/config/cl-impl.cfg1
-rw-r--r--make/config/clImplCustomCode.java27
2 files changed, 15 insertions, 13 deletions
diff --git a/make/config/cl-impl.cfg b/make/config/cl-impl.cfg
index c2aff892..4beb22b3 100644
--- a/make/config/cl-impl.cfg
+++ b/make/config/cl-impl.cfg
@@ -3,7 +3,6 @@ Include cl-common.cfg
Style ImplOnly
#imports for all generated java files
-Import com.jogamp.opencl.llb.*
Import com.jogamp.opencl.llb.gl.CLGL
Import java.security.AccessController
Import java.security.PrivilegedAction
diff --git a/make/config/clImplCustomCode.java b/make/config/clImplCustomCode.java
index bee53425..6c407110 100644
--- a/make/config/clImplCustomCode.java
+++ b/make/config/clImplCustomCode.java
@@ -1,30 +1,33 @@
+ /** If null, OpenCL is not available on this machine. */
static final DynamicLibraryBundle dynamicLookupHelper;
protected static final CLProcAddressTable addressTable;
static {
- addressTable = new CLProcAddressTable();
- if(null==addressTable) {
- throw new RuntimeException("Couldn't instantiate ALProcAddressTable");
- }
-
- dynamicLookupHelper = AccessController.doPrivileged(new PrivilegedAction<DynamicLibraryBundle>() {
+ addressTable = new CLProcAddressTable();
+ dynamicLookupHelper = AccessController.doPrivileged(new PrivilegedAction<DynamicLibraryBundle>() {
public DynamicLibraryBundle run() {
- final DynamicLibraryBundle bundle = new DynamicLibraryBundle(new CLDynamicLibraryBundleInfo());
- if(null==bundle) {
- throw new RuntimeException("Null CLDynamicLookupHelper");
- }
+ final DynamicLibraryBundle bundle = new DynamicLibraryBundle(new CLDynamicLibraryBundleInfo());
if(!bundle.isToolLibLoaded()) {
- throw new RuntimeException("Couln't load native CL library");
+ // couldn't load native CL library
+ // TODO: log this?
+ return null;
}
if(!bundle.isLibComplete()) {
- throw new RuntimeException("Couln't load native CL/JNI glue library");
+ // couldn't load native CL/JNI glue library
+ // TODO: log this?
+ return null;
}
addressTable.reset(bundle);
return bundle;
} } );
}
+ /**
+ * Accessor.
+ * @returns true if OpenCL is available on this machine.
+ */
+ public static boolean isAvailable() { return dynamicLookupHelper != null; }
public static CLProcAddressTable getCLProcAddressTable() { return addressTable; }
static long clGetExtensionFunctionAddress(long clGetExtensionFunctionAddressHandle, java.lang.String procname)