summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Make Primitive HashMap Benchmark test tolerant ~ 50%v2.0-rc1Sven Gothel2010-11-232-6/+10
|
* Buffers float/double conversion: Add arg for given destination buffer; Add ↵Sven Gothel2010-11-192-7/+239
| | | | back conversion; Add unit test for arrays
* print platform info (GlueGenVersion).Michael Bien2010-11-182-0/+9
|
* Version info debugging works now even without native libs.Michael Bien2010-11-184-71/+96
| | | | | | - Platform is now useable without gluegen-rt libs in library path. - JogampVersion: fixed equals, added Impl url to manifest. - VersionUtil: getManifest should be now more relieable and passed all manual tests, e.g java jar lib.jar without specified classpath.
* Add general purpose WriteCloneable interfaceSven Gothel2010-11-171-0/+42
|
* API Doc: Complete list of predefined typesSven Gothel2010-11-151-0/+7
|
* Fix API docSven Gothel2010-11-152-9/+13
|
* Fix size_t, uintptr_t and uint32_t, uint64_t: suppress 'unsigned' in ↵Sven Gothel2010-11-145-5/+66
| | | | | | | 'toString()' ; Added type tests. For size_t and uintptr_t this actually generated invalid C code. Added type tests for those.
* JogampVersion: StringBuffer getInfo(StringBuffer) -> StringBuffer ↵Sven Gothel2010-11-144-4/+7
| | | | toStringBuffer(StringBuffer) ; Add String toString() { ..}
* Don't printStackTrace if the exception shall be catched for later useSven Gothel2010-11-141-6/+2
|
* Adding missig GlueGenVersionSven Gothel2010-11-121-0/+60
|
* Add Extension NameSven Gothel2010-11-121-0/+3
|
* com.jogamp.common.util.GlueGenVersion -> com.jogamp.common.GlueGenVersionSven Gothel2010-11-124-59/+3
|
* New: JogampVersion, providing generic information for Jogamp JAR archives; ↵Sven Gothel2010-11-125-47/+233
| | | | | | | | | VersionInfo -> GlueGenVersion JogampVersion, providing generic information for Jogamp JAR archives Accessor to the Jogamp specific manifest additions, ie branch and commit. Also provides convenient attribute access and version dump methods.
* VersionInfo self containing (adding main)Sven Gothel2010-11-102-2/+4
|
* Add generic VersionUtil (Manifest and Platform) ; Add VersionInfoSven Gothel2010-11-104-0/+214
|
* Enhance API doc .. package description etcSven Gothel2010-11-098-50/+116
|
* Gluegen: Types (stddef/stdint), Header and Predefined Macro ChangeSven Gothel2010-11-097-16/+99
| | | | | | | | | | | | | Read API doc ad GlueGen.java New predefined types: wchar_t, intptr_t, uintptr_t New reusable headers for gluegen usage: make/stub_includes/gluegen for native usage: make/stub_includes/platform New predefined macro #define __GLUEGEN__ 2
* Changed license (-> BSD) and content (minimum tokens) of dynamic-linker.hSven Gothel2010-11-081-10/+4
|
* Reformated license tagSven Gothel2010-11-081-29/+28
|
* Clarified cgram license, ie TNode.javaSven Gothel2010-11-081-0/+38
|
* PCPP: Let '#error token' throw an exception with the message; Note: #warning ↵Sven Gothel2010-11-081-1/+1
| | | | needs to be quoted when having seperators
* Fix PCPP 'define' case; Keep PCPP output file if 'debug' ; GlueGen uses PCPP ↵Sven Gothel2010-11-073-15/+29
| | | | | | | | | | | | | | | | | | | | | | | | in same thread via File. Fix PCPP 'define' case ------------------------ A recursive define like: #define LALA ((int)1) #define LILI LALA was streamed out of PCPP, even though such 'macro defines' like #define LILI ((int)1) are disabled due to the parsers inability to digg those. Added test on macro definition for replaced values. GlueGen uses PCPP in same thread via File ------------------------------------------ To ease debugging we call PCPP from the same thread and use normal temp files as i/o. Keep PCPP output file if 'debug' --------------------------------- Keep temp outfile if debug is enabled
* PCPP: Add '# <line> <file>' pass through ; Fix NB antlr.jar referenceSven Gothel2010-11-071-1/+11
|
* Gluegen/PCPP: Refined PCPP if-elif-else-endif ; Add 'dumpCPP' option to ↵Sven Gothel2010-11-073-77/+125
| | | | direct PCPP to dump the output to stderr as well
* Fix PCPP encapsualted if/if blocksSven Gothel2010-11-071-17/+23
|
* PCPP: Add file and linenumber in exceptionsSven Gothel2010-11-071-3/+4
|
* PCPP: Fix ifdef/ifndef, if, elif and endif correct ; Enhanced PCPP testsSven Gothel2010-11-071-18/+37
|
* Relocation: GlueGen GL Parts to JoglSven Gothel2010-11-063-981/+0
|
* Renamed com.sun.gluegen -> com.jogamp.gluegenSven Gothel2010-11-0666-121/+142
|
* RELOCATION: GlueGen OpenGL parts back to JoglSven Gothel2010-11-067-2563/+0
|
* Avoid NPESven Gothel2010-11-063-5/+15
|
* Fixed benchmarking bugs in primitive HashMap test.Elijah C. Menifee2010-11-062-20/+29
| | | | | | | | | | | | | | | | | | | | | | Both IntIntHashMapTest and LongIntHashMapTest failed to reset test start time. The time values for intmapGetTime,mapGetTime,intmapRemoveTime,and mapRemoveTime all used the start time value from mapPutTime. This caused the following to be always/guarenteed to be true: mapPutTime < intmapGetTime < mapGetTime < intmapRemoveTime < mapRemoveTime thus not actually testing the following asserts: assertTrue("'get' too slow", intmapGetTime <= mapGetTime); assertTrue("'remove' too slow", intmapRemoveTime <= mapRemoveTime); In addition the results of the test were being printed before the actual test ran. Changed code to reset time to System.nanoTime() prior to each for loop, and moved time calculation and result output to below the test for loop. I also improved the output of the test info, by including the warmup status on benchmark start.
* 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.
* Adding 'containsSafe' .. allowing verification of hash codeSven Gothel2010-11-051-2/+18
|
* Updated list of OpenGL extension vendor suffixesSven Gothel2010-11-041-0/+6
|
* 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.
* TestRecursiveLock01: Reduce threads/loop, otherwise slow machines will time outSven Gothel2010-11-021-12/+12
|
* RecursiveLock: TRACE_LOCK: StackTrace -> err.printlnSven Gothel2010-10-291-2/+4
|
* ArrayHashSet: List toList() -> ArrayList toArrayList()Sven Gothel2010-10-261-7/+11
|
* ArrayHashSet: Add 'getOrAdd(key)' identity method to conveniently get the ↵Sven Gothel2010-10-232-5/+41
| | | | identity or add it, if not exist yet
* New jogamp.common.util.ArrayHashSet, providing O(1) queries/add and identity ↵Sven Gothel2010-10-234-19/+605
| | | | operations
* Moved locking to: com.jogamp.common.util.locks ; Better abstraction ; Misc ↵Sven Gothel2010-10-147-62/+290
| | | | changes
* Added TestRecursiveToolkitLock; junit.run: disable inner classes in batch runSven Gothel2010-10-091-0/+279
|
* RecursiveToolkitLock relocation to gluegen finishedSven Gothel2010-10-091-2/+3
|
* Fix RecursiveToolkitLock: Implement complete fair FIFO scheduler ↵Sven Gothel2010-10-091-30/+67
| | | | (wait-interrupt) using a LinkedList
* Fix: NativeWindow RecursiveToolkitLock, GLWindow lockSurface/unlockSurfaceSven Gothel2010-10-091-67/+101
| | | | | | | | | | | | Fix: NativeWindow RecursiveToolkitLock - Use notify(), instead of notifyAll(), so only one thread is being awakened for the single resource. Otherwise starvation and timeout happen, since the oldest thread might not get waken up (earlier than other threads) within timeout. - Inner class for all synchronized (flow/mem) fields for easier fine grained sync/lock. Fix: GLWindow lockSurface/unlockSurface - Enter locked surface block only if surface lock could be acquired
* RecursiveToolkitLock default TO 5sSven Gothel2010-10-091-1/+1
|
* NEWT: Fix Display/Window/Screen OO Identity, Reparenting and requestFocusSven Gothel2010-10-091-2/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NativeWindow: Interface NativeWindow changes: - Remove 'throws' qualifier in lockSurface(), since it is not - Adding convenient 'one call' isSurfaceLockedByOtherThread() - Adding getSurfaceLockOwner() NEWT Window/GLWindow: - Unclutter Window/GLWindow relationship - save Window's indentity GLWindow's role is a GLAutoDrawable implementation aggregating (maybe even compositioning) a Window. The previous implementation just derived from the Window implementation, overwriting methods and fields - impossible to ensure sanity / completness. It was also not ensured that the added functionality of GLWindow (setVisible, destroy, ..) has been issued in case of handling the aggregated Window alone (window callbacks, ..). To solve this issue in a 1st attempt without changing the GLWindow API, Window is just an interface, being implemented by their specializations, hence sanity is intrinsic. GLWindow's added functionality is ensured by a Window.LifecycleHook interfaced implementation, registered at the aggregated Window. - Screen and Window are interfaces now (new files) - Display is an abstract class. - Their (abstract) implementations resides in impl/<BaseName>Impl - GLWindow implements Window as well - Remove Screen reference handled by setScreen(Screen) method. - Lock native parentWindow if used (createNative/reparenting) - Move lockSurface/unlockSurface from unchecked override pattern to an callback style using abstract methods lockSurfaceImpl/... - Sorting all methods to semantic sections, abstract, superinterface, .. - Reparenting: Handling different reparenting situations: - Unchanged - No change - Native Reparenting - Compatible Display/Screen, try native reparenting - Native (Re)Creation - Use destroy/create pattern - Native Creation Pending - Create later - setUndecorated() calls reconfigure Window now, ie tries to change the window actually - Don't issue 'requestFocus()' directly from the native implementation anymore, call it from the Java code. - Window/GLWindow/NewtFactory: Constructor simplification Avoid explosion of constructor overloading, ie removing the 'undecorated' variant, since this is redundant due to the 'setUndecorated(boolean)' method. - Fixed/added API documentation