summaryrefslogtreecommitdiffstats
path: root/src/net/java/games/gluegen
Commit message (Collapse)AuthorAgeFilesLines
* Fixed Issue 151: starting up the Animator before the GLJPanel has been shown ↵Kenneth Russel2005-05-071-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | result in an error The root cause of this error was the fact that WindowsPbufferGLContext.destroyImpl() uses WGL extensions to clean up resources associated with the pbuffer. Because these extensions are in the public WGL interface, they are wrapped by the DebugGL. However, an OpenGL context is not current at the time these routines are called, and it is illegal to call glGetError() at those points. The DebugGL pipeline was implicitly calling glGetError() after each of those calls, leading to the failure. This bug unmasked a couple of others. The code in the DebugGL needed a recursion count to make sure that glGetError() didn't get called in an infinite loop. Also, as a side effect of the fix for Issue 160, calling getGL() on the GLJPanel outside of GLEventListener.init() was causing a NullPointerException to be thrown. The GLJPanel has been fixed to return null in this case, and the specification of GLDrawable.getGL() has been improved. In order to make the behavior between the GLCanvas and GLJPanel similar, the GL object is now reset in the GLDrawable each time the underlying OpenGL context is recreated. This allows end users to set up e.g. the DebugGL unconditionally in their GLEventListener.init() method. The JOGL demos have been changed to reflect this. The test case in the bug report will be updated with code similar to the originally submitted test case (i.e., the Animator is started early) but which now works. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@264 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 156: Patch to add linux.ia64 target Kenneth Russel2005-04-242-1/+3
| | | | | | | Applied patch from submitter. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@261 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 154: Patches for build problems Kenneth Russel2005-04-042-6/+7
| | | | | | | | | | | | | | Submitted patches had a couple of problems. First, the removal of the (incorrect) cast to const char* in the CMethodBindingEmitter caused build warnings on other platforms. Fixed these by making the const declarations correct for the conversion case of String[] -> char**. Second, addition of comparison of hashCodes in CompoundType.equals() seemed like too much of a hack. Fixed this by correcting potential problems in equals() and hashCode() methods; not sure whether this will solve the submitter's original problem, though. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@254 232f8b59-042b-4e1e-8c03-345bb8c30851
* Hooked in GKW's Java port of the GLU library's mipmap and image Kenneth Russel2005-02-071-1/+17
| | | | | | | | | | | | | | | | | scaling operations. Added new ForceProcAddressGen directive to GlueGen to force the addresses of the C routines to be fetched even though the functions were being ignored by the core JavaEmitter. Cut down on the number of variants of gluScaleImage and associated routines. Changed the Java signatures of the affected methods to take Buffer again instead of ByteBuffer (as was done during prototyping) to attempt to maintain binary compatibility with current JOGL programs. Fixed bug / problem in gluScaleImage implementation where incorrect scaling of pixel values was being applied in Image.empty_image(); there may be additional problems here for other pixel types. Put debugging code in BuildMipmap under jogl.debug.BuildMipmap System property. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@215 232f8b59-042b-4e1e-8c03-345bb8c30851
* Merged in changes from Blackbird branch: refactoring and rewriting of Kenneth Russel2005-02-028-75/+171
| | | | | | | | | portions of GlueGen for more flexibility. Also fixed source-level problems associated with making GLCapabilities' clone() not throw CloneNotSupportedException. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@202 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 126: Patch to allow building native driver on BSD Kenneth Russel2005-01-281-2/+3
| | | | | | | | Incorporated patch, slightly modified to not perturb the Linux build in any way. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@194 232f8b59-042b-4e1e-8c03-345bb8c30851
* Partial fix for Issue 88: Add Linux amd64 support to JOGLKenneth Russel2005-01-273-1/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The stub_includes headers and GlueGen config files have been changed to make X identifiers and similar values appear to Java to be 64-bit values on all platforms, rather than changing between 32-bit and 64-bit values depending on the architecture. This allows the shared Java code in the JOGL X11 implementation to work on both 32- and 64-bit architectures, which is an important step toward having complete 64-bit support in JOGL. Compared to the suggested patch, there is no longer a need to duplicate the sources in net.java.games.jogl.impl.x11 because the Java sources are now 64-bit clean. The change to use dlsym on Linux/AMD64 instead of glXGetProcAddressARB has been conditionalized under a run-time flag. Most of the build.xml and all of the GlueGen changes were incorporated unchanged. Thanks to the original authors of the patch for this work. At this point "ant linux.amd64" should build a working JOGL. However, it can not yet be incorporated into the distribution's platform- independent jogl.jar; in order to do this, the generation of the StructAccessors for the JAWT and some other X11 data structures by GlueGen will need to be conditionalized depending on the platform so that the 32-bit versions go in one directory, the 64-bit versions in another, and a run-time check is done to determine which version to instantiate. There are also a few remaining cleanups to generated glue code such as net.java.games.jogl.impl.x11.GLX.XGetVisualInfo(), which needs to be made platform-independent by calling the XVisualInfo.size() accessor rather than hardwiring in the size of the data structure (although the real solution will probably need to be more complicated since there will probably be two XVisualInfo implementations in the jar file). git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@190 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 123: Use of "enum" as variable name should be eliminated in JOGLKenneth Russel2004-12-071-3/+3
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@179 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 119: Dual-head problems on Windows XP Kenneth Russel2004-11-151-3/+2
| | | | | | | | | Added needed synchronization around creation of dummy windows for wglChoosePixelFormatARB calls. Fixed race condition in StaticGLInfo initialization. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@170 232f8b59-042b-4e1e-8c03-345bb8c30851
* Removed hacks from cg.h and cgGL.h that are no longer necessary now Kenneth Russel2004-10-221-1/+2
| | | | | | | | that GlueGen understands typedefs more completely. Upgraded cgGL.h to Cg 1.3 beta 2 header; missed in last checkin. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@158 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 71: glMultiDrawElements() is missing Kenneth Russel2004-10-047-125/+230
| | | | | | | | | | | | | | | Added support to GlueGen to handle pointer-to-pointer types for primitive types, like void** and int**. These are exposed as arrays of appropriately-typed direct java.nio Buffers for simplicity. Checks for whether the buffers are direct are performed and null checks for the individual Buffer objects are done as well. Fixed an existing bug in the conversion of outgoing char** arguments in C to String[] in Java where null checks were missing; this showed up as crashes in glShaderSourceARB. Exposed glMultiDrawElements and several other less-common entry points taking void** arguments. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@154 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 86: code generation problemKenneth Russel2004-07-151-20/+25
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@139 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed lurking bug in native array copying code generation if more thanKenneth Russel2004-04-231-0/+7
| | | | | | | one array needed to be copied git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@122 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added OpenGL 1.5 support. Updated glext.h, wglext.h, and glxext.h from Kenneth Russel2004-04-223-100/+160
| | | | | | | | | | extension registry; these now include only very few changes relative to the master version. Fixed bugs in GlueGen and PCPP to make it parse the verbatim headers and to emit correct glue code for some newly-exercised constructs like char**. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@115 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed problems in WindowsGLContext and TraceGL pointed out by jonmeyer Kenneth Russel2004-04-221-0/+1
| | | | | | | on JOGL forums git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@114 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 28: All functions that take arrays as parameters should also ↵Kenneth Russel2004-04-214-65/+357
| | | | | | | | | take buffers Fixed Issue 36: glSelectBuffer/glFeedbackBuffer need direct buffers git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@112 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 68: Window system-specific JAWT classes must implement ↵Kenneth Russel2004-03-152-6/+57
| | | | | | JAWT_PlatformInfo git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@90 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Mac OS X build after recent JAWT changes in 10.3 (which areKenneth Russel2003-08-241-0/+1
| | | | | | | | | | apparently going to be brought back to the 10.2 Java on OS X as well). Renamed host.properties to jogl.properties and changed build to look for this file in user's home directory to avoid needing to always change a file that is in the repository. Updated build documentation. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@58 232f8b59-042b-4e1e-8c03-345bb8c30851
* Changed glMapBufferARB's implementation to return the same ByteBufferKenneth Russel2003-08-075-17/+37
| | | | | | | | | | | | | | | | | if the address and capacity of the underlying buffer object haven't changed. This saves applications the cost of re-slicing the returned buffer each frame and avoids allocation of one or more finalizable objects per frame. Moved GlueGen's checking of whether a passed buffer is direct up into Java from C to be able to handle buffers that wrap the NULL pointer (needed for the "buffer offsets" used by ARB_vertex_buffer_object). Ported the VertexArrayRange demo to VertexBufferObject. Currently slower than VertexArrayRange but needs to be updated to triangulate the geometry more efficiently (currently the triangle strips are only 48 vertices long) and to move the indices into fast RAM. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@47 232f8b59-042b-4e1e-8c03-345bb8c30851
* Changed behavior of ManuallyImplement to not emit GLEmitter's dispatchKenneth Russel2003-08-062-28/+32
| | | | | | | | | | routine, but to still emit entry in proc address table. Added first implementation of glMapBufferARB; may need to reimplement due to creation of finalizable direct ByteBuffer objects each time this routine is called (which will be every frame). git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@45 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed bug pointed out by [email protected] where impl classesKenneth Russel2003-07-311-1/+1
| | | | | | | weren't obeying the Imports .cfg file directive git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@42 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added ContextVariableName configuration option to GLEmitter because ofKenneth Russel2003-07-151-2/+14
| | | | | | | namespace conflicts with some argument names on X11. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@33 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed issue 13: Readable names for function argumentsKenneth Russel2003-07-153-3/+20
| | | | | | | Applied patches submitted by [email protected]. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@32 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed issue 12: Better tracing outputKenneth Russel2003-07-151-2/+59
| | | | | | | | | Applied patches submitted by [email protected]. Added better dependence information for BuildComposablePipeline. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@31 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed bugs in Solaris build.Kenneth Russel2003-07-141-1/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@26 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added Ant build support, contributed by Rob Grzywinski and ArturKenneth Russel2003-07-146-6/+802
| | | | | | | | | | | | | | | Biesiadowski. Modified their original build.xml to understand dependencies between build phases (to avoid full rebuilds each time) and to invoke the C compiler without requiring an external Makefile. At this point the old Makefile/Makefile2 pair is obsolete and will be deleted shortly, as soon as the Ant build has been tested on Linux and Mac OS X. Additionally, Cygwin is no longer needed for the build; the documentation will be updated to reflect this. Refactored some of the stub_includes files to be common between platforms, yielding a build process cleanup. Fixed bugs in Javadocs. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@19 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added pbuffer support to JOGL on X11; HWShadowmapsSimple andKenneth Russel2003-07-0317-116/+491
| | | | | | | | | | | | | | | | | | ProceduralTexturePhysics demos are now working on Linux with the appropriate hardware. Moved core GLX routines out of the public GLX interface; this allowed XVisualInfo (and the new GLXFBConfig) to be removed from the public API. Added support to GlueGen for returning arrays of pointers as arrays of StructAccessors in Java and for choosing the typedef name for a pointer-to-struct if the struct itself does not have a typedef name. Added support to GLEmitter to emit ProcAddressTables under arbitrary names and to support arbitrary mechanisms for fetching those tables. Made GLU (on all platforms) and GLX (on X11) be dynamically linked. Refactored ProcAddressTable filling to be mostly shared code. Tested changes on Linux, Mac OS X and Windows. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@17 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed a bug where insideBeginEndPair was not being checked within ↵ckline2003-06-221-0/+4
| | | | | | checkGLGetError(). This is a bugfix by kbr that was not accidentally not merged from the Jungle codebase to the Jogl codebase. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@9 232f8b59-042b-4e1e-8c03-345bb8c30851
* Initial revisiondjp2003-06-0860-0/+16472
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@3 232f8b59-042b-4e1e-8c03-345bb8c30851