| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
The include files were getting the OS X framework files from OpenCL/*.h,
instead of the local stub files from CL/*.h, which meant that OpenCL
2.x-related things were undefined. Changed OpenCL 2.x stub files to
refer to local .h files only. Maybe later change 1.x also, but leaving
it for now to minimize disruption to working code.
|
|
|
|
|
|
| |
Fixed the dependency check for generated files; previously we were
looking at the wrong path, and always regenerating all files. Also
removed some include paths that don't contain any files, and renamed
some filesets so it's more clear what they contain.
|
|
|
|
|
|
|
|
| |
Removed header file downloader task which was no longer used (and not
really possible to use, given the amount of manual tweaking needed to
get gluegen to run on a new set of header files). Removed some
commented-out lines that were obsolete. Fixed some formatting. Removed
some ARMv6-related stuff that made no sense for JOCL (was inherited from
JOAL). Added some forgotten dependency paths.
|
| |
|
|
|
| |
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.
|
|
|
|
|
| |
This originally held definitions that hadn't been finalized before the
release of OpenGL 1.1, but later those were put in the normal set of
header files, making this file redundant.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The OpenCL headers on OS X include gltypes.h, which defines
GLhandleARB as void *, but the stub headers gl3.h and glext.h
in JOCL were defining it as unsigned int. Put in a typedef
to match how Khronos fixes the problem. See
http://sourceforge.net/p/glew/bugs/206/,
https://bitbucket.org/alfonse/glloadgen/issue/33/mac-compilation-error,
https://www.opengl.org/registry/api/GL/glext.h, and
https://www.khronos.org/bugzilla/show_bug.cgi?id=762 for more
information.
|
|
|
|
| |
containingJTypeName for struct config)
|
|
|
|
| |
RenameJavaMethod -> RenameJavaSymbol
|
|
|
|
| |
(GlueGen commit d8dff4c9f2186749b167195eeb339c33f56864e8)
|
|
|
|
| |
commit 3b43a223253176731567c6d8b7a67c9a6110782b
|
| |
|
|
|
|
| |
(build/install scripts only)
|
|
|
|
| |
>= 10d
|
|
|
|
|
|
|
|
| |
Graphics 4600
- Properly enforce test order (alphanumeric)
- Split builderTest() to synchronized and async tests
|
| |
|
| |
|
|
|
|
| |
Adapt to GlueGen commit f5c48efcf546ba4e08e197ccced6df83b57e1755
|
|
|
|
| |
to non-native-jar aliasing
|
| |
|
| |
|
|
|
|
|
|
| |
call-by-value extension)
- initializeImpl() is no more required, since it's not forced .. uncomment in manual static initializer
|
|
|
|
| |
call-by-value extension)
|
| |
|
|
|
|
|
|
|
| |
Removed warnings due to memoryMaximumSize being ignored when javac isn't
forked. Turned on all linting. Changed the arguments of
uncomment-function-params so it will run from within Eclipse properly
(using basedir instead of user.dir, since only the former will be
properly set both inside Eclipse and on the command line).
|
|
|
|
|
|
|
|
| |
Turns off the warning about CL_ALIGNED not being
defined for the current compiler, but only inside
the gluegen preprocessor. If CL_ALIGNED isn't
defined for the real C compiler on the platform,
the warning will still show up during C compilation.
|
|
|
|
| |
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.
|
|
|
|
| |
This lets us build with debug information turned on.
|
|
|
|
|
|
| |
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.
|
| |
| |
| |
| |
| |
| | |
generate.jdk7.autocloseable' in java.generate.impl
Regression of commit 46cc6ebfb2f53daebceb9a36b553ff01af56999f
|
| |
| |
| |
| | |
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}.
|
| | |
|