| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Copies changes from Sven's commit f7c50fca34df0b5d393ffab0da09bce19ddfba64
into the two new config files for OpenCL 1.2 and 2.0, so the fix will be
present in all three versions.
|
|
|
| |
Now all three derive from CL, which is currently 1.1.
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
Added stub includes for OpenCL 1.2 and 2.0. Added new CLImpl versions for
1.2 and 2.0 to the build, but left them unused for now. The CL bindings
used by JOCL are still generated from OpenCL 1.1, so the existing Java
code will be able to stay mostly unchanged in the future.
|
|
|
|
| |
This build step doesn't seem to be needed; can just read the files where
they're created in the build directory and everything works the same.
|
|
|
|
|
| |
They were previously a pre-release version of 1.1 that had some manual
changes and upgrades. This moves to the canonical versions downloaded
from khronos.org.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
mismatch w/ APPLE's GL
LLVM's clang reports a typedef mismatch of GLintptr and GLsizeiptr
between the Khronos derived glcorearb.h (from JOGL) and APPLE's gltypes.h when producing 32bit builds.
+++
In file included from /usr/local/projects/jogamp/jocl/build-macosx-java6/gensrc/native/jocl/CLAbstractImpl_JNI.c:15:
/usr/local/projects/jogamp/jogl/make/stub_includes/opengl/GL/glcorearb.h:604:19: error: typedef redefinition with different types
('ptrdiff_t' (aka 'int') vs 'intptr_t' (aka 'long'))
typedef ptrdiff_t GLintptr;
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gltypes.h:51:18: note:
previous definition is here
typedef intptr_t GLintptr;
+++
I.e. Khronos uses ptrdiff_t (aka 'int' on 32bit), where APPLE uses intptr_t (aka 'long' on 32bit).
On OSX 32bit both ('int' and 'long') have the same sizeof value, i.e. 4 bytes,
see below, hence the ABI is compatible!
However, clang produces a typedef mismatch.
Fix includes the Khronos derived (JOGL) glcorearb.h before cl_gl.h,
hence favors the former 'canonical' definition.
+++
OSX 10.10 32bit:
sizeof int: 4
sizeof long: 4
sizeof long long: 8
sizeof intptr_t: 4
sizeof uintptr_t: 4
sizeof ptrdiff_t: 4
sizeof size_t: 4
sizeof float: 4
sizeof double: 8
sizeof long double: 16
OSX 10.10 64bit:
sizeof int: 4
sizeof long: 8
sizeof long long: 8
sizeof intptr_t: 8
sizeof uintptr_t: 8
sizeof ptrdiff_t: 8
sizeof size_t: 8
sizeof float: 4
sizeof double: 8
sizeof long double: 16
|
|
|
|
|
|
| |
Removes jocl stub includes that are already defined in gluegen and jogl,
and refers to those in gluegen and jogl instead. Requires the
literalInclude parameter to the gluegen Ant task, since it must now
refer to files outside the jocl project.
|
|
|
|
| |
containingJTypeName for struct config)
|
|
|
|
| |
RenameJavaMethod -> RenameJavaSymbol
|
| |
|
| |
|
|
|
|
|
|
| |
call-by-value extension)
- initializeImpl() is no more required, since it's not forced .. uncomment in manual static initializer
|
|
|
|
| |
call-by-value extension)
|
|
|
|
| |
Uses the new augmentation of gluegen's Ignore keyword.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Fixes -fno-rtti and implicit cast warnings. After this commit,
all C warnings are gone except for one due to gluegen emitting
char pointers instead of unsigned char pointers.
|
|\
| |
| | |
Fix OpenCL test failures on Solaris for bug 978.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since nobody currently makes an OpenCL driver for Solaris, all the
tests used to fail, which told us nothing. This commit adds code
to check whether OpenCL is unavailable and the OS is Solaris, in
which case the test contents are skipped. If an OpenCL driver ever
appears for Solaris, or if we start testing on another platform
with no OpenCL driver, there's now one single place to add or remove
checks that will allow for this.
|
| |
| |
| |
| | |
uptodate (use java.generate.skip); Put native code on gensrc/native/jocl
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
All gluegen generated native function wrappers,
miss CL_API_CALL in the function declarations
similar to commit 569726132f622e290bebc5d40c96f8115dbcb5da.
Adding gluegen calling convention to cl-impl.cfg:
LocalProcAddressCallingConvention __ALL__ CL_API_CALL
All tests passed on windows 32bit now!
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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 ..
|
|/
|
|
|
|
|
|
| |
Fix copy2temp target and issue it before gluegen of cl-if.cfg.
Note: ${project.root}/build cannot be a hard-dependency since
${rootrel.build} is configurable hence
${project.root}/${rootrel.build}.
|
|
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.)
|