| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
library path, support throughout DynamicLibraryBundle[Info]
|
|\ |
|
| |
| |
| |
| | |
direct buffer that the CLBuffer is being created for as this more closely represents the users intention about the buffer size.
|
| |
| |
| |
| | |
instead of capacity() in order to respect the user's desired buffer size in memory operations.
|
| |
| |
| |
| |
| | |
Added workgroup info functions for OpenCL 1.1, since that's the version
the CL Java objects currently wraps. Also added a test that shows how to
query values from version 1.2 and later.
|
| |
| |
| |
| | |
PointerBuffer.ELEMENT_SIZE -> AbstractBuffer.POINTER_SIZE
|
| | |
|
|\ \
| |/
|/| |
adding support for Android x86 platforms
|
| |
| |
| |
| |
| |
| | |
CL_DEVICE_TYPE_GPU (and not CL_DEVICE_TYPE_ALL).
That's the case with PowerVR OpenCL driver on Android devices.
|
| | |
|
| |
| |
| |
| |
| |
| | |
Added a couple of differences in test results for programs recreated
from binaries (the programs are executable and have binary length > 0),
and avoided the CL kernel creation test on a binary because it segfaults
like it does on AMD drivers.
|
| |
| |
| |
| |
| | |
The Intel OpenCL implementation calls the clBuildProgram notify function
on a different thread, so had to change a reentrant lock to a semaphore
to allow this.
|
| |
| |
| |
| |
| | |
This removes the last sub-interface that would have to be separately
versioned for future versions of OpenCL. After this, new OpenCL versions
will only create one new interface and one new implementation.
|
| |
| |
| |
| | |
This completes the removal of all CL*Binding interfaces; all tests pass
at this point.
|
| |
| |
| | |
In preparation for removing the interfaces themselves
|
| |
| |
| |
| |
| |
| | |
Added a CLPlatform method to return a CLImpl version specific to a
device. This lets the user get a CLImpl12 or CLImpl20 instance which
they could then cast to the right type and use to access newer CL
functions than those in the default CLImpl11 object.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Consolidated C custom code so common functions are only defined once in
the 1.1 version, then are called from the 1.2 and 2.0 version. Pulled
common code in CLImpl up into the autogenerated implementation class and
removed the hand-written implementation (since it was left empty).
Factored custom Java code out so there was as little duplication as
possible across the three CLImpl versions, with common code for all
three versions in clImplCustomCode.java.
|
| |
| |
| |
| |
| | |
This makes all three versions (1.1, 1.2, and 2.0) use the same naming
convention, and sets me up to use the unversioned name to factor out
code common to all three.
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
| |
isAvailable() simply shall return true if JOCL/OpenCL libs could be loaded.
- Promote CLAbstractImpl.isAvailable() to CLPlatform, public API.
- CLAbstractImpl.isAvailable() simply shall return true if JOCL/OpenCL libs could be loaded.
|
|
|
|
| |
Adapt to GlueGen commit f5c48efcf546ba4e08e197ccced6df83b57e1755
|
|
|
|
| |
46faa59d439ef235d7691fc64d56eedc600ffa1a
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
c47bc86ae2ee268a1f38c5580d11f93d7f8d6e74)
- Change non static accesses to static members using declaring type
- Change indirect accesses to static members to direct accesses (accesses through subtypes)
- Add final modifier to private fields
- Add final modifier to method parameters
- Add final modifier to local variables
- Remove unnecessary casts
- Remove unnecessary '$NON-NLS$' tags
- Remove trailing white spaces on all lines
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Fixed detection of compatible interoperability platforms (was silently
skipping platform because GL vendor was Nvidia, but CL vendor was
Apple). Also fixed CL kernel syntax error about signed-unsigned
comparison that ATI's driver on Windows didn't find, and fixed the CL
memory object to be write-only instead of read-only (which ATI's Windows
driver just ignored).
|
| |
| |
| |
| |
| | |
Make the test modify a GL texture with a CL kernel, then loop over the
texture afterwards to check each texel has the right value. Also make
the test loop over all platforms and devices that support sharing.
|
|/
|
|
| |
Fixes transposed arguments in CLCommandQueue:putCopyBufferRect.
|
|
|
|
|
|
|
|
|
|
|
| |
programBinariesTest() failure was due to AMD drivers crashing
in clCreateKernelsInProgram() when the program is not built yet,
instead of returning error code CL_INVALID_PROGRAM_EXECUTABLE as they
should.
lowLevelVectorAddTest() failure was apparently due to the AMD drivers
writing past the end of a direct byte buffer in such a way that it made
System.gc() crash when called during teardown (this crash didn't even
dump stack). Making the buffer larger solved the problem.
|
|
|
|
|
|
| |
Remove all Java lint warnings, by fixing the code if possible, and if
not possible then by inserting @SuppressWarnings. Some of these
@SuppressWarnings can be replaced later with @SafeVarargs if we
eventually drop support for Java 6.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
decorations to remove warnings.
Note 'static import' is evil .. :)
|
|
|
|
|
|
| |
to CLContext - Split CLBufferTest and use alignment.
See Bug 979 for remaining issues and discussion.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The 'clGetExtensionFunctionAddress' function pointer declaration was faulty,
i.e. using CL_API_ENTRY instead of CL_API_CALL.
CL_API_CALL on windows is defined as '__stdcall' which impacts Window 32bit platforms.
Fixed same issue w/:
- clCreateContext
- clBuildProgram
Same issue occurs with _all_ gluegen generated native function wrappers,
i.e. CL_API_CALL is missing in the function declarations!
I will follow-up w/ this fix in a bit ..
|
|
|
|
|
|
|
|
| |
This commit fixes bugs 959 (local work size set incorrectly),
960 (concurrencyTest() throws ConcurrentModificationException)
963 (programBinariesTest() causes SIGSEGV) and 964 (builderTest()
cases CL_INVALID_VALUE). After this commit, all JOCL tests should
pass on 64-bit Mac OS X.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
JoclVersionActivity
Cleanup Build:
- Move gluegen config files into make/config (cleanup)
- Move stub_includes into respective folder make/stub_includes
and keep resources 'clean'
JoclVersion:
- Analoge to JoglVersion, replaces JOCLVersion (deprecated for now)
- Added text based CL info dump.
JoclVersionActivity:
- Analog to JoclVersionActivity
- Added full launch .. tested on Android (but no OpenCL avail.)
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Use DynamicLibraryBundleInfo w/ alternative native library names,
drop manual coding of loading and binding, i.e. JOCLJNILibLoader.
After trying opencl native libs (and failing), try GL libs ..
We use a manual impl. to CL's 'clGetExtensionFunctionAddress' similar to JOAL, JOGL ...
|
|
|
|
|
|
|
|
|
|
|
|
| |
CLGLTexture2d.createFromGL*, CLGLTexture3d.createFromGL*, CLGLImage2d.createFromGL* and CLGLBuffer.createFromGL* - instead of returned 'id'
Thank you Johan & Daniel !
Using your original patch, I went through the other CLGL[Texture*|Image2d|Buffer] classes
and ensured all are handled the same.
Reported and 1st patch provided by: Johan <[email protected]>
Confirmed by: Daniel Balog <[email protected]>
|
|
|
|
| |
(Easy on ClassLoader)
|
|
|
|
| |
imageSlicePitch return values while always passing PointerBuffers (size_t*) for same values to clEnqueueMapImage(..)
|
|
|
|
| |
putCopyBuffer(..) impl. method
|
|
|
|
|
|
| |
CLGL.CL_CONTEXT_PROPERTY_USE_CGL_SHAREGROUP_APPLE and comment it's usage; Remove 'import static'
Note: JOCL impl. shall remove all 'import static' to remove hardhsip on ClassLoader ..
|
|
|
|
| |
with GLContext sharing.
|
|
|
|
| |
positioning to desired index of duplicated PointerBuffer
|
| |
|
| |
|
|
|
|
| |
ClassLoader to find JNI native libraries
|