| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
----------------------
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
- 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
|
| |
| |
| |
| | |
TODO consider making this configurable.
|
|/ |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
- ProcAddressTable is now the common superclass for all tables
- Removed ProcAddressHelpers and added FunctionAddressResolver extension mechanism
|
| |
|
|
|
|
| |
FQCN in emitted files.
|
| |
|
|
|
|
|
|
|
| |
hudson build 42.
Object local PrintWriter was used instead of method local after an attempt to prevent the
very same bug...
|
| |
|
|\ |
|
| | |
|
| | |
|
| | |
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|\ |
|
| | |
|
| |
| |
| |
| | |
BufferFactory.
|
| | |
|
|/ |
|
|\ |
|
| | |
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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()
|
| |
|
|
|
|
|
|
| |
illegally added after a closing bracket.
added testcase.
|
|
|
|
|
|
| |
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 'deprecated API' warnings in GlueGen.
|
|
|
|
| |
WIP: refactored PCPP to implement macros, next step is to replace StreamTokenizer with Scanner (we need a propper look ahead).
|
| |
|
|
|
|
|
| |
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>).
|
|
|
|
| |
a few 'introduce variable' refactorings for argument names.
|
| |
|
|
|
|
| |
code cleanup.
|
|
|
|
|
| |
implemented method chaining pattern.
added position(int pos) method.
|
|
|
|
|
| |
removed workaround in BufferFactory since it is no longer needed.
small code cleanup (generator java 5 migration).
|
|
|
|
| |
com.sun.gluegen.opengl packages.
|