aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* http://www.jogamp.org/bugzilla/show_bug.cgi?id=389Sven Gothel2010-03-2817-513/+843
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mixed types in generated code are functioning now, even though not all permutations are generated - still. However, this patch merges the indirect object passing, wheather it is a primitive array or an indirect NIO buffer, incl. PointerBuffer. This allows the usage of only one JNI functions for all combinations. Only in case of NIODirectOnly, the simplified direct only '0' variation is created - otherwise the parametrized '1' variant. The junit tests proves the implementation and almost completes the gluegen junit tests coverage for JavaEmitter and ProcAddressEmitter. Impact/Result: - Working mixed array types - JOGL GL2 native library shrunk around 30% - Simplified gluegen code - Almost complete gluegen junit tests TODO: Complete permutations of array/NIO arguments, if desired. ++++ Misc changes: - NativeLibrary implements DynamicLookupHelper: lookupFunction() -> dynamicLookupFunction()
* Add coverage test (signatures and execution) ..Sven Gothel2010-03-272-63/+87
|
* http://www.jogamp.org/bugzilla/show_bug.cgi?id=390Sven Gothel2010-03-256-0/+294
| | | | | | | | | | | | | | | | | Adding 'plain' junit tests. Plain stands for the simple processing of: ant.junit.compile: gluegen -> java/c files, javac/cc, jar ant.junit.run: junit batch run Avoiding 'black magic', ie kicking off gluegen and ant-compilation from within the junit tests. Same methodology as the JOGL junit tests, junit test sources are under 'src/junit' This way, the migration to other platform tests might be easier, as well as the we don't need to pass through ant properties (ant - junit - ant), see 3a32650d4229f9b4ad1f527d9e30c24ddb69bb3f.
* seperated cli processing from main logic.Michael Bien2010-03-241-290/+301
|
* fixed regression in constant emission where a type suffix (e.g. 'f') was ↵Michael Bien2010-03-222-4/+14
| | | | | | illegally added after a closing bracket. added testcase.
* Drop PointerBuffer.wrapNative2Java(..)Sven Gothel2010-03-193-64/+40
| | | | | | in favor of a simple PointerBuffer.wrap(..), due to the new semantics, ie internal integer/long presentation. Fixed the javame code in this regard.
* fixed JavaEmitter to support unsigned defines.Michael Bien2010-03-121-1/+9
|
* PCPP supports now simple macros.Michael Bien2010-02-202-20/+34
| | | | fixed 'deprecated API' warnings in GlueGen.
* better exception handling in GlueGen.Michael Bien2010-02-202-127/+256
| | | | WIP: refactored PCPP to implement macros, next step is to replace StreamTokenizer with Scanner (we need a propper look ahead).
* junit test code cleanup and some build preperations for hudson.Michael Bien2010-02-121-1/+2
|
* added support for arrays in generated StructAccessors.Michael Bien2010-02-124-39/+198
| | | | | Specifying JavaClass or JavaImplClass is no longer a requirement. It is now possible to generate StructAccessors from c headers without emitting any other binding code (force with EmitStruct <name>).
* generated pointer variable names have now a more descriptive name.Michael Bien2010-02-031-47/+46
| | | | a few 'introduce variable' refactorings for argument names.
* PointerBuffer supports now 32bit architectures.Michael Bien2010-01-192-18/+39
|
* is32Bit field is now immutable to help hotspot with inlining.Michael Bien2010-01-181-41/+27
| | | | code cleanup.
* fixed off-by-one bug in put and get.Michael Bien2010-01-122-6/+24
| | | | | implemented method chaining pattern. added position(int pos) method.
* fixed emitted code for buffer-array mixing.Michael Bien2010-01-124-17/+27
| | | | | removed workaround in BufferFactory since it is no longer needed. small code cleanup (generator java 5 migration).
* continued with code cleanup in com.sun.gluegen.cgram and ↵Michael Bien2009-12-0218-563/+647
| | | | com.sun.gluegen.opengl packages.
* Code cleanup. Ported package com.sun.gluegen to java 5 language level.Michael Bien2009-12-0118-644/+624
|
* temporary workaround in BufferFactory.isDirect(). Changed behavior to return ↵Michael Bien2009-11-302-4/+4
| | | | | | false with null as parameter to workaround buffer/array mixing bug. Should be revisited to improve performance.
* modified JavaEmitter to generate struct accessor objects with better java ↵Michael Bien2009-11-111-69/+85
| | | | naming conventions.
* Add GL3bc to OpenGL composable pipelineAwayFromSunSven Gothel2009-10-181-0/+2
|
* String isEmpty() is Java 1.6 - replacedSven Gothel2009-10-131-1/+1
|
* defines with constant but more complex expressions are now no longer ignored ↵Michael Bien2009-10-083-35/+137
| | | | (e.g #define CL_FP_FMA (1 << 5)).
* gluegen.jar compiles now with source=1.5 classfile version (However, ↵Michael Bien2009-10-082-99/+103
| | | | | | gluegen-rt.jar still uses 1.4). generified classes in pcpp package and removed warnings (java 5 cleanup).
* Add <br> in commentOpenGL_3_2_ReadyMIPS_PORTSven Gothel2009-08-052-2/+2
|
* Fix: Remove PFD_ defines. Add GL Option: AllowNonGLExtensions <bool> to ↵Sven Gothel2009-08-054-21/+41
| | | | allow non GL extensions to be passed. Allow ifndef/define pattern to have any characters at the end
* Fix: Allow all constanst defined by enums; Add PFD_ defines.Sven Gothel2009-08-054-4/+18
|
* Fix: Add unsigned qualifier, CGL and GLUSven Gothel2009-08-051-4/+4
|
* Cleanup for a better OpenGL 3.2 integration,Sven Gothel2009-08-0518-116/+277
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for subsuming extensions: - Allow RenameExtensionIntoCore generate duplicate names, ie those will not be generated. - Add proper comment showing the extension of the symbol. - Fail if no 'GLHeader' is specified, but we are processing a GL/ProcAddress config - Fail if a GL function is not part of an extension MethodBinding, ConstantDefinition cleanup: - getName() returns the renamed name - getOrigName() returns the original - getAliasedNames() returns the aliased ones MethodBinding: - Change: equals() operates on renamed name - Add: hashCode() function - same criteria as equals() Impact: - All config options etc shall trigger with the renamed name, but ignore, rename etc. - Generated Java impl. uses the renamed base name as well Change: emitDefine() uses the ConstantDefinition Add: JavaConfiguration: dumpRenames() Change JavaConfiguration.shouldIgnoreInInterface/Impl(): - respect the renamed symbol name as well Change JavaEmitter.emitFunctions(): - only emit a generated MethodBinding once, therefor store emitted method bindings in a HashSet Fix BuildStaticGLInfo: - Allow white space at the end of #ifndef and #define - Trim strings - Allow 'const' qualifier in function pattern Fix GLEmitter: - Fail if no 'GLHeader' is specified, but a RenameIntoCore option .. - Don't emit marker defines, marking an extension (ie not part of an extension) Fix GLJavaMethodBindingEmitter: - Fail if a GL function is not part of an extension Fix PCPP: - Pass constant type qualifiers for hex-constants: 'l' 'L' ... Fix ProcAddressEmitter: - Operate on the aliased/renamed name for querying ProcAddress usage and generating code.
* OpenGL: Add comment: Part of <extension>Sven Gothel2009-08-023-3/+41
|
* Retain interface order in Custom PipelineSven Gothel2009-08-011-4/+18
|
* refine Trace/Debug outputSven Gothel2009-08-011-7/+7
|
* Fix array element type name and const qualifierSven Gothel2009-07-311-3/+25
|
* Add GL2GL3 synthetic methods for OpenGL Composable Pipelinesg2158892009-07-291-0/+2
|
* ExtendedInterfaceSymbols -> ExtendedInterfaceSymbolsIgnore; Allow cobination ↵sg2158892009-07-291-17/+17
| | | | of ExtendedInterfaceSymbolsIgnore and ExtendedInterfaceSymbolsOnly
* Fix: Native CPU 32/64 bit detection; Tested on CVM/J2SEsg2158892009-07-285-19/+28
|
* Fix: Add sun.arch.data.model to determine 32bit archsg2158892009-07-283-31/+65
|
* Tests [PointerBuffer,StructAccessor]: Add diagnosticsJOGL_CDCCVM_sgothelsg2158892009-07-152-1/+9
|
* Build CDC named JARs for CVM in default build, no more specialized build ↵sg2158892009-07-154-2/+72
| | | | necessary. Fix PointerBuffer allocateDirect()
* Cleanup PointerBuffer identificationsg2158892009-07-131-2/+3
|
* Add missing changessg2158892009-07-133-5/+20
|
* Add missing changes ..sg2158892009-07-135-122/+397
|
* Add: Extended support for CVM:sg2158892009-07-132-0/+141
| | | | | | | | | | | | | | | | - GLX, CGL, WGL - GL2ES12 desktop ES1 and ES2 common profile Add: BufferFactory: Determine the Buffer's Endianess Add: com.sun.gluegen.runtime.PointerBuffer - Solution for CDC/CVM (no LongBuffer), holds a buffer of pointer objects in native endian format and converts natively passed 32bit pointers to 64 bit. - supports a few Buffer mechanics, so the BufferFactory can easily use them. - behaves as an NIO Buffer, code generation - included a unit test Add: StructAccessor get/set long value, incl. endian check
* Copied JOGL_2_SANDBOX r145 on to trunk; JOGL_2_SANDBOX branch is now closedKenneth Russel2009-06-1592-0/+27084
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/gluegen/trunk@147 a78bb65f-1512-4460-ba86-f6dc96a7bf27
* Deleted obsolete source code in preparation for copying JOGL_2_SANDBOXKenneth Russel2009-06-1585-23714/+0
| | | | | | | on to trunk git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/gluegen/trunk@146 a78bb65f-1512-4460-ba86-f6dc96a7bf27
* Added debugging support via -Dgluegen.debug.ProcAddressHelper and Kenneth Russel2008-05-301-0/+44
| | | | | | | -Dgluegen.debug.ProcAddressHelper.prefix git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/gluegen/trunk@82 a78bb65f-1512-4460-ba86-f6dc96a7bf27
* Added Windows (CE) / ARM to the list of known OS/CPU combinationsKenneth Russel2008-05-301-0/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/gluegen/trunk@81 a78bb65f-1512-4460-ba86-f6dc96a7bf27
* Bug fixes to mangling of JNI method names when arrays of compound Kenneth Russel2008-05-291-4/+12
| | | | | | | types are present, and to the new CMethodBindingEmitter.isUTF8Type() git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/gluegen/trunk@80 a78bb65f-1512-4460-ba86-f6dc96a7bf27
* Changed implementation of ArgumentIsString to work with wide-character Kenneth Russel2008-05-276-96/+185
| | | | | | | | | | | | | | null-terminated strings on Windows. Changed Windows dynamic linker to use LoadLibraryW which is the only variant available on Windows CE. Changed GetProcAddress to explicitly named GetProcAddressA; this is implicitly the only variant available on Windows XP. Tested by compiling gluegen-rt.dll for both Windows XP and Windows CE. Also brought dynlink-unix-CustomJavaCode.java in line with modifications that were apparently hand made to the UnixDynamicLinkerImpl and MacOSXDynamicLinkerImpl classes. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/gluegen/trunk@79 a78bb65f-1512-4460-ba86-f6dc96a7bf27
* Added support for passing outgoing arrays of compound types, including Kenneth Russel2008-05-269-53/+193
| | | | | | | | | | | non-const arrays of compound types and the associated copies back to Java, in support of constructs like eglChooseConfig. Generated code has been compiled but not yet tested. Refactorings to allow generated glue code using StructAccessors to work on Java ME / CDC / FP + JSR-239 NIO, as well as Java SE. Bug fix to ForceProcAddressGen. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/gluegen/trunk@77 a78bb65f-1512-4460-ba86-f6dc96a7bf27