aboutsummaryrefslogtreecommitdiffstats
path: root/make/config
Commit message (Collapse)AuthorAgeFilesLines
* Fix OS X 32-bit builds for OpenCL 1.2 and 2.0Wade Walker2015-11-082-4/+4
| | | | | | 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.
* Add versioned interfaces for CL 1.1, 1.2, and 2.0Wade Walker2015-11-083-9/+20
| | | Now all three derive from CL, which is currently 1.1.
* Remove CLGL interfaceWade Walker2015-11-085-35/+12
| | | | | 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.
* Remove creation and all references to CL*Binding interfacesWade Walker2015-11-0812-190/+29
| | | | This completes the removal of all CL*Binding interfaces; all tests pass at this point.
* Factor out common custom C and Java code to reduce duplicationWade Walker2015-11-0811-782/+398
| | | | | | | | | 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.
* Add explicit version number to original CL impl classes.Wade Walker2015-11-083-23/+23
| | | | | 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.
* Add OpenCL 1.2 and 2.0 headers and CLImpl classesWade Walker2015-11-088-1/+1011
| | | | | | | 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.
* Remove copy of generated Java files to build-temp directoryWade Walker2015-11-081-11/+11
| | | | 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.
* Upgrade OpenCL headers to standard Khronos version 1.1Wade Walker2015-11-081-0/+1
| | | | | 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.
* Include Khronos derived glcorearb.h before cl_gl.h, avoiding typedef ↵Sven Gothel2015-07-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Remove stub includes that are duplicates of gluegen's and jogl'sWade Walker2015-07-121-1/+1
| | | | | | 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.
* Adapt to GlueGen commit 5ca2db226e23c61339943f981a3f46300818cb9a (Use ↵v2.3.1Sven Gothel2015-03-271-2/+2
| | | | containingJTypeName for struct config)
* Adapt to GlueGen commit 454fac44efd1728d8f5c09ed4abd4041f6187e44: ↵v2.3.0Sven Gothel2015-03-111-2/+2
| | | | RenameJavaMethod -> RenameJavaSymbol
* Add System.err log if CL/JNI library could not be loadedSven Gothel2014-06-251-3/+3
|
* Adapt to GlueGen commit 9ee44e1a289ecbac024662dd5a2ffc42e8add023 (Bug 1025)Sven Gothel2014-06-251-2/+2
|
* Adapt to GlueGen commit 2f6586292cd298bbc19d8acda0f7cf303c82078b (compount ↵Sven Gothel2014-06-182-2/+3
| | | | | | call-by-value extension) - initializeImpl() is no more required, since it's not forced .. uncomment in manual static initializer
* Adapt to GlueGen commit c3054a01990e55ab35756ea23ab7d7c05f24dd37 (compount ↵Sven Gothel2014-06-172-0/+4
| | | | call-by-value extension)
* Remove unnamed struct emission warnings.Wade Walker2014-03-051-1/+12
| | | | Uses the new augmentation of gluegen's Ignore keyword.
* Pass function pointers into clEnqueueMapImage.Wade Walker2014-03-021-2/+2
| | | | | | | 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.
* Fix C build warnings.Wade Walker2014-03-021-2/+2
| | | | | | 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.
* Merge pull request #5 from WadeWalker/bug_978_fix_solaris_testsWade Walker2014-02-242-13/+15
|\ | | | | Fix OpenCL test failures on Solaris for bug 978.
| * Fix OpenCL test failures on Solaris.Wade Walker2014-02-232-13/+15
| | | | | | | | | | | | | | | | | | | | 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.
* | build.xml: Don't re-generate source (gluegen) if CLAbstractImpl_JNI.c ↵Sven Gothel2014-02-171-1/+1
| | | | | | | | uptodate (use java.generate.skip); Put native code on gensrc/native/jocl
* | Fix Bug 920 - JOCL does not work on windows with 32 bit vm (2/2)Sven Gothel2014-02-171-0/+3
| | | | | | | | | | | | | | | | | | | | | | 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!
* | Fix Bug 920 - JOCL does not work on windows with 32 bit vm (1/2)Sven Gothel2014-02-171-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 build.xml: Remove gluegen config dependency on ../build using build-tempSven Gothel2014-02-171-11/+11
|/ | | | | | | | 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}.
* Cleanup Build: GlueGen config files, stub_includes; Add JoclVersion, Android ↵Sven Gothel2014-01-2619-0/+1043
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.)