Between version 1.0.0-RC2 and 1.0.0-RC4 the following lines were moved from the static block in OpenCLProbeLibrary to the static block in JavaCL:
BridJ.setNativeLibraryActualName("OpenCLProbe", "OpenCL");
BridJ.register();
In RC4 it's possible to call OpenCLProbeLibrary.isValid() before the static block is executed in JavaCL, meaning the call to isValid() will fail. Nothing in isValid() guarantees the initialization of JavaCL.
Can be reproduced by:
public class IsValidTest {
public static void main(String[] args) {
OpenCLProbeLibrary.isValid(); // Returns false
}
}
public class IsValidTest {
public static void main(String[] args) {
new JavaCL(); // Force the static initialization of JavaCL
OpenCLProbeLibrary.isValid(); // Returns true
}
}
Between version 1.0.0-RC2 and 1.0.0-RC4 the following lines were moved from the static block in
OpenCLProbeLibraryto the static block inJavaCL:In RC4 it's possible to call
OpenCLProbeLibrary.isValid()before the static block is executed inJavaCL, meaning the call toisValid()will fail. Nothing inisValid()guarantees the initialization ofJavaCL.Can be reproduced by: