Re: CL_DEVICE_NOT_AVAILABLE when creating CLContext with 64-bit Java on GTX 970
Posted by
Wade Walker on
Apr 02, 2016; 12:33am
URL: https://forum.jogamp.org/CL-DEVICE-NOT-AVAILABLE-when-creating-CLContext-with-64-bit-Java-on-GTX-970-tp4036560p4036581.html
SuspiciousDroid wrote
The only real difference that the non-working version is missing some DLLs, all of which I think are related me including JOGL in the working one.
Well, the missing DLLs include pretty much all the Jogamp DLLs, so I can see why it wouldn't work :) Question is, why are they missing? The initSingleton() call is supposed to be optional -- it gets called when you try to create a context, if you haven't already called it. So for some reason it must be failing when you create your context, but working if you call it earlier.
If you look inside the code for those initSingleton() calls, you can see that in some places it's swallowing exceptions silently. So perhaps that's why we're not seeing an error message. So one possibility is, you could try running against a debug version of Jogamp, and trace through the execution of initSingleton() to see where the error is happening :) I hesitate to suggest this, but you seem pretty hardcore, since you've already compiled the demos and installed the C toolchain :) Or if you don't want to wrestle with the build, I can supply you with a debug build and source zips, if you'd like to try this. Otherwise, you could just use the workaround you've found, though that is a bit unsatisfying.
SuspiciousDroid wrote
On a side note: Why does JOGL load DLLs used for HTTP and Windows Remote Desktop sessions?
That, I don't know. This must be some indirect dependency of the DLLs. You could probably take a look with Windows Dependency Walker and see who's pulling those in:
http://www.dependencywalker.com/