summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Continue moving javax.media.nwi -> javax.media.nativewindowKenneth Russel2010-04-191-0/+0
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1880 232f8b59-042b-4e1e-8c03-345bb8c30851
* Start moving javax.media.nwi -> javax.media.nativewindowKenneth Russel2010-04-191-0/+0
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1879 232f8b59-042b-4e1e-8c03-345bb8c30851
* JOGL refactoring: Refactored JOGL into 3 independent components.Sven Gothel2010-04-191-8/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1 NWI - Native windowing interface Abstracts the the general NativeWindow interface and it's factory, incl the basic JAWT and Xlib toolkit. The latter was motivated to clean up the JOGL workspace, and to allow other to reuse this part. The generic core is nwi.core.jar, the AWT add-on is nwi.awt.jar. 2 JOGL - The OpenGL mapping Further cleanup of the SPEC. All non OpenGL toolkits are relocated to NWI and NEWT. There is still openmax and the windows audio layer .. Another cleanup of the fixed function pipeline emulation. Moved utilities and implementations where they belong .. Removed GLUnsupportedException. Misc .. changes 3 NEWT - The new windowing toolkit The generic NEWT, newt.core.jar. The JOGL and AWT modules are seperate, newt.ogl.jar newt.awt.jar. Their build can be switched off. The modules source and builds resides in their own directory. Because of their nature, they share the stub_includes, etc. Each module has it's own ant build script - build-nwi.xml - build-jogl.xml - build-newt.xml They can be build at once using build.xml as ususal, which just invokes the seperate build tasks. if rootrel.build=build, then the build location is jogl/build-nwi jogl/build-jogl jogl/build-newt and the sources are under jogl/src/nwi jogl/src/jogl jogl/src/newt Tested: jogl-demos, d4; Linux, MacOsX; Nvidia git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1868 232f8b59-042b-4e1e-8c03-345bb8c30851
* - Fixed rootrel.build usage, this works properly through gluegen, jogl-demos ↵Sven Gothel2010-04-191-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and this build. You can say -Drootrel.build=build-x86_64 for example. - Fixed jogl-demos in regard to this changeset - Gluegen - Fixed gluegen BuildComposablePipeline's 'getGL*' methods. Now they return 'this', otherwise the pipeline would be broken/removed. - Add BuildComposablePipeline CustomPipeline, which allows customized class composition with an interface (to be wrapped), prolog class and the downstream class. - Add GlueGen (incl. ant task) 'outputRootDir' to be able to set a top output root dir via ant / commandline. - GL fixed function - Package 'javax.media.opengl.sub.fixed.*' defines some fixed function interfaces. This allows partitioning of custom implementation. - Using gluegen's new CustomPipeline to compose a GLFixedFuncIf implementation, using a GL downstream and a GLFixedFuncHookIf prolog. The latter implements the fixed functionality. Example is the GLFixedFuncImpl. gl.getContext().setGL( new GLFixedFuncImpl(gl, new FixedFuncHook(gl.getGL2ES2())) ) ; or gl.getContext().setGL( new GLFixedFuncImpl(gl, gl.getGL2ES1()) ) ; - The example GLFixedFuncHookIf impl FixedFuncPipeline/ can be instantiated with custom shader code. - ES2 and all other interfaces only contain the original functionality, besides minor convenient data access methods. - Fix: GL2ES2 createCompileShader() and createLoadShader() is moved to ShaderCode util class. - Updated PMVMatrix - Add: GLAutoDrawable.setContext() .. and all it's implementations Necessary to set a new GLContext. - Add: GLContext getAttachedObject(int) and putAttachedObject(int, Object), to allow the user to attach application specific and TLS sensitive objects to the GLContext. - git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1856 232f8b59-042b-4e1e-8c03-345bb8c30851
* - New profile GL2ES12 (desktop) - Intersection of GL2 + GLES1 + GLES2 - ↵Sven Gothel2010-04-191-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Common set of GLES1 + GLES2 - Utilized new 'ExtendedInterfaceSymbolsOnly' gluegen config - DroppingUniqVendorExtension + 3DFX + APPLE - Some APPLE enumerates are manually provided! - Removing of 'jogl.oswin.jar' - since it is redundant now! - Proper partitioning of 'jogl.gl2' and 'jogl.gl2es12' for - x11, win and osx - Profile selection/trial for e.g. GL2ES1 is now in the following order: 1) GLES1 2) GL2ES12 3) GL2 - Footprint for all profiles below 1/2 MB, NEWT: ES1: 284 kB ES2: 280 kB GL2ES12: 332 kB GL2: 456 kB git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1729 232f8b59-042b-4e1e-8c03-345bb8c30851
* Cleanup and partitioning of GLUSven Gothel2010-04-191-2/+12
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1728 232f8b59-042b-4e1e-8c03-345bb8c30851
* - Using new config feature: 'IgnoreExtendedInterfaceSymbols <java class ↵Sven Gothel2010-04-191-2/+2
| | | | | | | | | | | | | | | | | | | | | source file>' and get rid of manual 'Ignore' configs for common stuff in the base interfaces. - Add: GLUnsupportedException: - Using new config feature 'UnsupportedExceptionType GLUnsupportedException' - GLUnsupportedException is used for anything 'UnsupportedOperationException' - GLU: - GLU itself is no more abstract - GLU contains the tesselator implementation - name, return type, modifiers and arguments - createGLU(..) - operated by profile name now. - GLU itself will be used for GLES2 - Cleanup: - gluegen/GL configs .. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1725 232f8b59-042b-4e1e-8c03-345bb8c30851
* 3rd round cdcfp - compile clean.Sven Gothel2010-04-191-7/+23
| | | | | | | | | | | | | | | | | | | | | | | Re-adding cdcfp: com/sun/opengl/impl/glu/mipmap/* com/sun/opengl/impl/GLPbufferImpl.java Using 'BufferUtil.nativeOrder(ByteBuffer)' to set up the native byte order. 'BufferUtil.nativeOrder' is now public. GLDrawableFactory: - removed 'hardcoded' awt attribute. Cleanup NEWT's AWT wrapping implementation. - NativeWindowFactory incooperates with the wrapping property. Bugs on X11/NEWT/AWT: - no events - deadlock at shutdown - deadlock if EGLDrawable with AWT get's locked git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1700 232f8b59-042b-4e1e-8c03-345bb8c30851
* Auto GL profile selection; New GLReflection (refactoring of common ↵Sven Gothel2010-04-191-0/+114
| | | | | | relfections); Fixes git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1684 232f8b59-042b-4e1e-8c03-345bb8c30851
* Add emitting is|get GL4|GL4bcSven Gothel2010-04-151-0/+4
|
* merged LongInt with IntIntHashMap.Michael Bien2010-04-152-206/+21
| | | | IntIntHashMap is now the single template used for all other maps.
* added Simon Goller to @author list in LongIntHashMap und LongIntHashMapTest.Michael Bien2010-04-121-0/+3
|
* IntIntHashMap changed to LongIntHashMap.Simon Goller2010-04-121-0/+196
|
* Merge branch 'master' of github.com:mbien/gluegenSven Gothel2010-04-101-19/+20
|\
| * annotated certain token in IntIntHashMap for text substitution.Michael Bien2010-04-081-19/+20
| | | | | | | | build generates now via text substitution IntLong- and IntObjectHashmap in the pre-build phase.
* | *** Now Using Apache-Ant-1.8.0 ***Sven Gothel2010-04-101-6/+0
|/ | | | | | | | Adding ant-contrib-1.0b3.jar for loops and mutable properties. Cleanup: - Adding Javac includeAntRuntime argument (false whenever possible) - Clear junit results folder before testing - Move deprecated stuff from lib to lib/archive
* initial import of IntIntHashmap + JUnitTest including a benchmark.Michael Bien2010-04-081-0/+195
|
* Merge branch 'master' of github.com:mbien/gluegenVALID_BUILDS_01Sven Gothel2010-04-084-72/+83
|\
| * 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
| |
* | http://jogamp.org/bugzilla/show_bug.cgi?id=393Sven Gothel2010-04-085-31/+71
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed junit test: test1 - Create seperate native libraries to reflect a real world example: test1 - the library to bind to (no more declaring __stdcall @nn functions) BindingTest1p1 - the dynamic fixed linkage binding test1p1, references dynamic library test1 at linktime. BindingTest1p2 - the dynamic runtime linkage binding test1p2, loads dynamic library test1 at runtime. Generic: - gluegen-cpptasks-base.xml - target 'gluegen.cpptasks.detect.os' Set new property 'system.env.library.path' DYLD_LIBRARY_PATH (macosx) LD_LIBRARY_PATH (unix) PATH (windows) - target 'gluegen.cpptasks.striplibs' Strips the symbols out of the native libraries in case c.compiler.debug is false. Maybe configured with the properties: c.strip.tool, c.strip.args - Using system.env.library.path in junit call to find the test1 library in case of runtime linkage and lookup (test1p2). - Use gluegen.cpptasks.striplibs for all native libs .. - Added macosx32 in analogy to macosx64, both defaults to true now - com.jogamp.common.os.WindowsDynamicLinkerImpl:lookupSymbol() - Added lookup for __stdcall @nn (stepping alignment 4, max-args: 12) in case no undecorated __cdecl symbol is found. Fixed Windows platform: - Use proper path.seperator on Windows. - test1.dll needs proper soname inside for fixed linkage (test1p1) hence the output name must be test1.dll, not libtest1.so +++ http://jogamp.org/bugzilla/show_bug.cgi?id=394 Fix MacOsX platform: The commit of cpptasks.jar, git hash 129e783741d91e9ee5cd7da5d5c962c32ec96b0b, broke the universal binary build on MacOSX. The above change used cpptasks-1.05b with a few patches in regards to crosscompilation, but missed one, which accepts the '-arch' argument for GccLinker undecorated. The new cpptasks.jar is vanilla 1.05b + cpptasks-1.0b5-darwin-patch.diff, the latter a more refined one. This version accepts the '-arch' argument undecorated on the darwin platform. +++
* Merge branch 'master' of github.com:mbien/gluegenMichael Bien2010-04-016-6/+6
|\
| * Fix 32bit masking / testsSven Gothel2010-04-015-5/+6
| |
| * Fix build ..Sven Gothel2010-04-011-1/+0
| |
* | 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-3150-3022/+3084
|\
| * introduced com.jogamp.common.{nio,os} packages and moved some classes.Michael Bien2010-03-3132-73/+86
| |
| * 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
| |
| * introduced internal NativeBuffer interface, this can be made public as soon ↵Michael Bien2010-03-303-2/+50
| | | | | | | | | | | | we move to java language level 5. removed accidentally commited verbose javac property in build-junit.xml.
* | Buffer heritage added. Migrated old runtime tests.Sven Gothel2010-03-3124-341/+414
|/
* http://www.jogamp.org/bugzilla/show_bug.cgi?id=392Sven Gothel2010-03-304-2/+106
| | | | | | | | | | | | | | | | | | 32bit/64bit values and arrays are misrepresented - PointerBuffer: Adding methods PointeRBuffer referenceBuffer(int index, Buffer data) PointeRBuffer referenceBuffer(Buffer data) Buffer getReferencedBuffer(int index) Buffer getReferencedBuffer() Adding a reference of a given direct Buffer to this pointer buffer, and retrieving a previously referenced direct Buffer. This allows a more convenient handling of PointerBuffer with the user API's ..
* Merge branch 'master' of github.com:mbien/gluegenSven Gothel2010-03-301-5/+30
|\
| * added sizeOfBufferElem(Buffer buf) to Buffers.Michael Bien2010-03-291-4/+29
| |
| * made conctructor protected.Michael Bien2010-03-291-1/+1
| |
* | http://www.jogamp.org/bugzilla/show_bug.cgi?id=389Sven Gothel2010-03-309-23/+290
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-2917-71/+405
|\|
| * renamed BufferFactory into Buffers.Michael Bien2010-03-2912-56/+56
| |
| * moved several common utility methods from JOGL's BufferUtil to GlueGen's ↵Michael Bien2010-03-295-11/+345
| | | | | | | | BufferFactory.
* | New Int64Buffer type, which is being used for gluegen 'long *'Sven Gothel2010-03-2911-65/+487
| |
* | Merge CPU to PlatformSven Gothel2010-03-2811-122/+77
|/
* (part2) merged all cdc_fp special cases into one common superclass for each ↵Michael Bien2010-03-2810-1223/+949
| | | | | | | special case. introduced Platform as utility for querying platform information. special cdc build with cdc_fp bootclasspath temporary dissabled.
* (part 1) merged all cdc_fp special cases into one common superclass for each ↵Michael Bien2010-03-283-0/+0
| | | | | | | special case. introduced Platform as utility for querying platform information. special cdc build with cdc_fp bootclasspath temporary dissabled.
* Merge with mbien's 2ea8c93d5fd27207872b97c964e3f8af5ac850c6Sven Gothel2010-03-2836-83/+79
|\
| * com.sun.opengl -> com.jogamp.opengl.Michael Bien2010-03-271-1/+1
| |
| * Merge branch 'master' of [email protected]:mbien/gluegenMichael Bien2010-03-272-68/+92
| |\ | | | | | | | | | | | | Conflicts: src/junit/com/jogamp/gluegen/test/junit/Test1.java
| * | renamed com.sun.gluegen.runtime -> com.jogamp.gluegen.runtime.Michael Bien2010-03-2733-75/+71
| | |
* | | 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()