aboutsummaryrefslogtreecommitdiffstats
path: root/src/java/com/sun/gluegen
Commit message (Collapse)AuthorAgeFilesLines
* Renamed com.sun.gluegen -> com.jogamp.gluegenSven Gothel2010-11-0666-22663/+0
|
* RELOCATION: GlueGen OpenGL parts back to JoglSven Gothel2010-11-065-2308/+0
|
* Avoid NPESven Gothel2010-11-063-5/+15
|
* removed ancient GL4Java file (ConvertFromGL4Java).Michael Bien2010-11-061-91/+0
|
* Fix native type representation; Retain typedef declName in resulting Type ↵Sven Gothel2010-11-0620-104/+237
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for variables; Misc Fix native type representation ---------------------------------- The following custom types were previously build-in: __int32, __int64 Adding the following native build-in types (necessary): ptrdiff_t, size_t These compiler/platform specific types shall not be typedef'ed via header files. Hence we provide proper typing for such, as the compiler would do. Adding the following native build-in types (convenience): int32_t, uint32_t, int64_t, uint64_t These are provided due to their lack of support on certain platforms, and probable source of bugs, when defined by the user. Retain typedef declName in resulting Type for variables. -------------------------------------------------------- Adding Clonable to all cgram Type derivations. Assume use case: typedef khronos_ssize_t GLsizeiptr typedef size_t khronos_ssize_t The previous code picked a one level depth type in the dictionary if exists. Hence it made khronos_ssize_t visible in the javadoc and native code. It is our believe that the generated native code, as well as the javadoc comments shall reflect the original GlueGen'ed API and it's types. Also, aliasing or reducing native types via GlueGen could result in plattorm dependencies and in worst cases, incompatible native types. This patch clones the 1 level depth Type (typedef), clones it and sets the declName, so it's visible to the GlueGen layers. Misc ------- GlueGen's debug flag is passed to HeaderParser, where it traces misc information.
* Fix PCPP 'elif' case; Adding PCPP #error/#warning; Adding debug mode.Sven Gothel2010-11-043-13/+72
| | | | | | | | | | | | | | | | | | Fix PCPP 'elif' case ---------------------- Use the evaluated expression after the 'elif' statement as well. This was always true for 'if'. Otherwise the file obviously won't get parsed correctly, ie it was always assuming 'true'. Adding PCPP #error/#warning ---------------------------- LOG all occurence of #error and #warning CPP directives Adding debug mode. ---------------------- Add '--debug' commandline flag and 'debug' property for ant task, which enables debug mode of PCPP.
* LICENSE.txt changes:Sven Gothel2010-09-141-25/+26
| | | | | | | | | | | | | - Added JogAmp Community and common denominator: New BSD 3-clause license - Added note to make/lib binary file (source and license) Added source and license text for external binaries used in build process (make/lib folder). Changed 'Sven Gothel' and 'Michael Bien' New BSD 3-clause license to 'JogAmp Community' Simplified BSD 2-clause license.
* Merge branch 'master' of git://github.com/mbien/gluegen into freebsd-fixesMark Rothwell2010-06-262-60/+20
|\
| * another round of ProcAddressTable refactoring.Michael Bien2010-06-201-58/+18
| | | | | | | | | | | | | | - moved getAddressFor() from generated table to ProcAddressTable - added initEntry() to e.g. eagerly initialize one single entry (e.g. clGetExtensionFunctionAddress which must be available first) - several utility methods mostly usefull for debugging - cleanup
| * added 'intptr_t' to the list of PointerBuffer candidates.Michael Bien2010-06-181-2/+2
| | | | | | | | TODO consider making this configurable.
* | Add FreeBSD amd64 struct layoutMark Rothwell2010-06-261-0/+1
|/
* fixed handling of size_t which was broken since the introduction of Int64Buffer.Michael Bien2010-05-311-0/+4
|
* Refactored JavaType to use enums.Michael Bien2010-05-301-34/+30
|
* Fix: Prepare CMethodBindingEmitter for struct methods as wellSven Gothel2010-05-252-26/+23
|
* Refactored ProcAddressTable generation.Michael Bien2010-04-242-9/+16
| | | | | - ProcAddressTable is now the common superclass for all tables - Removed ProcAddressHelpers and added FunctionAddressResolver extension mechanism
* Add emitting is|get GL4|GL4bcSven Gothel2010-04-151-0/+4
|
* gluegen imports now com.jogamp.common.nio.* and java.nio.* instead of using ↵Michael Bien2010-04-083-38/+45
| | | | FQCN in emitted files.
* StringBuffer -> StringBuilder in MethodbindingMichael Bien2010-04-081-34/+38
|
* fixed a bug introduced in commit 2fe517b9a2e1a680b50c7e1273897495800c5350 / ↵Michael Bien2010-04-011-7/+8
| | | | | | | hudson build 42. Object local PrintWriter was used instead of method local after an attempt to prevent the very same bug...
* fixed generated imports rudimentary (not DRY).. cleanup in work.Michael Bien2010-03-313-103/+105
|
* Merged with latest of mbienSven Gothel2010-03-3118-2953/+2949
|\
| * introduced com.jogamp.common.{nio,os} packages and moved some classes.Michael Bien2010-03-314-9/+15
| |
| * refactoring and code cleanup in gluegen.opengl and gluegen.procaddress package.Michael Bien2010-03-3112-2784/+2716
| |
| * replaced int-flags with enums + code cleanup.Michael Bien2010-03-312-84/+54
| |
| * implemented better logging using java.util.logging.Michael Bien2010-03-315-86/+176
| |
* | Buffer heritage added. Migrated old runtime tests.Sven Gothel2010-03-312-82/+0
|/
* http://www.jogamp.org/bugzilla/show_bug.cgi?id=389Sven Gothel2010-03-303-13/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 32bit/64bit values and arrays are misrepresented - PointerBuffer is used to map 64bit integer values, which is illegal due to the latest PointerBuffer changes, where the underlying ByteBuffer is either 32bit wide or 64bit wide (in respect to the pointer size). The PointerBuffer semantic itself is correct, but no more suitable to represent 64bit values and arrays. A Int64Buffer (LongBuffer does not exist in CDC/CVM patch) should be used instead. - Determine use of Int64Buffer and PointerBuffer Assuming the 1st step being solved, it has to determined for which cases gluegen shall map a type to a PointerBuffer. All pointer pointer types, regardless of a Opaque mapping, ie: +++ typedef struct __MYAPIConfig * MYAPIConfig; Opaque long MYAPIConfig void foo(MYAPIConfig * ptrarray); +++ The argument 'ptrarray' must be represented as a PointerBuffer otherwise data is misrepresented in case: - 32bit machines _and_ - array semantics - more than one value is being used Impl: java/com/sun/gluegen/JavaEmitter.java: - Checks ptr-ptr for Opaque values - Returns PointerBuffer mapping for ptr-ptr types - Allow PointerBuffer being mapped as String[] Very elaborated tests .. :) ++++++++++++ Misc Changes: - Added <Type>.put(<Type>Buffer src) for Int64Buffer/PointerBuffer
* Resolved conflictsSven Gothel2010-03-297-46/+46
|\
| * renamed BufferFactory into Buffers.Michael Bien2010-03-296-44/+44
| |
| * moved several common utility methods from JOGL's BufferUtil to GlueGen's ↵Michael Bien2010-03-292-2/+2
| | | | | | | | BufferFactory.
* | New Int64Buffer type, which is being used for gluegen 'long *'Sven Gothel2010-03-293-12/+26
| |
* | Merge CPU to PlatformSven Gothel2010-03-285-9/+9
|/
* Merge with mbien's 2ea8c93d5fd27207872b97c964e3f8af5ac850c6Sven Gothel2010-03-2828-2899/+21
|\
| * com.sun.opengl -> com.jogamp.opengl.Michael Bien2010-03-271-1/+1
| |
| * renamed com.sun.gluegen.runtime -> com.jogamp.gluegen.runtime.Michael Bien2010-03-2728-2898/+20
| |
* | http://www.jogamp.org/bugzilla/show_bug.cgi?id=389Sven Gothel2010-03-287-320/+163
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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()
* 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.