summaryrefslogtreecommitdiffstats
path: root/make/gl-impl-CustomJavaCode.java
Commit message (Collapse)AuthorAgeFilesLines
* Fixed another performance problem related to buffer objects pointed Kenneth Russel2006-11-261-95/+24
| | | | | | | | | | | | | out by John Burkey. glGetBufferParameterivARB call in glMapBuffer was too expensive at least with Apple's multithreaded OpenGL implementation. Now track both bound buffer state (refactored into GLBufferStateTracker) as well as cache created buffers' sizes (expressed in GLBufferSizeTracker) and query the cache instead of OpenGL directly. Verified with VertexBufferObject demo that now no glGet queries are made at run-time. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@1003 232f8b59-042b-4e1e-8c03-345bb8c30851
* Optimized buffer binding checks for glVertexPointer and similar calls Kenneth Russel2006-11-241-4/+90
| | | | | | | | | | | | | | on request from John Burkey. Now caches the buffer binding for GL_ARRAY_BUFFER, etc. upon glBindBuffer calls and invalidates this cache upon glPushClientAttrib / glPopClientAttrib calls, refreshing the state only when necessary using the glGetIntegerv call. Fixed knowledge of available OpenGL versions to support OpenGL 2.1 (and future minor version updates). Fixed breakage of GL_NV_vertex_array_range support after recent upgrade of wglext.h and glxext.h headers. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@994 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added position(0) call to returned Buffers from glMapBuffer and Kenneth Russel2006-03-141-0/+2
| | | | | | | glMapBufferARB on suggestion of John Burkey git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@663 232f8b59-042b-4e1e-8c03-345bb8c30851
* Optimized VBO/PBO checking routines in GLImpl. Now cache availability Kenneth Russel2006-02-241-20/+43
| | | | | | | of extensions in booleans rather than querying table each time. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@636 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added checking of whether the correct GLContext is current to the Kenneth Russel2006-02-121-0/+6
| | | | | | | | | DebugGL pipeline. Fixed dependencies in JOGL and JOAL build.xml files so that generated code gets automatically rebuilt if GlueGen is updated. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@603 232f8b59-042b-4e1e-8c03-345bb8c30851
* Intermediate checkin for FBO support in Java2D/JOGL bridge. Needed to Kenneth Russel2006-02-051-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | keep track of server-side OpenGL objects, like textures and display lists, created by the end user to preserve the illusion of independent contexts even though they will all share textures and display lists with the Java2D OpenGL context in order to access its FBO. Added GLObjectTracker class to track creation and destruction of these objects and to support cleanup when the last referring context has been destroyed. Modified GLContextShareSet to create and install GLObjectTrackers when necessary and GLContext to ref and unref tracker appropriately. Changed GlueGen's JavaPrologue and JavaEpilogue directives (and their documentation) to perform argument name substitution. Wrote documentation section on argument name substitution and specified behavior for primitive arrays (converts to string "array_name, array_name_offset" in substitution). Rephrased GlueGen's RangeCheck directives in terms of JavaPrologue directives and deleted old specialized code. Fixed bug in handling of VBO support in GLConfiguration when JavaPrologue was present for affected functions. Added JavaPrologue and JavaEpilogue directives to all existing OpenGL routines creating server-side objects (though it's possible some were missed) to call GLObjectTracker when necessary. Added RangeCheck directives for these routines as well. Worked around bug in JOGL demos where shutdownDemo() was being called more than once. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@584 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added checks on number of remaining elements and bytes for Buffers and Kenneth Russel2006-01-031-0/+96
| | | | | | | | | | arrays passed to certain APIs. Default is to not emit such range checks. The checks are currently most fully implemented for image- and texture-related APIs. Verified with debugging code and with demos that all textures used in demos are properly checked. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@509 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed Issue 180: Improve garbage generationKenneth Russel2005-11-101-4/+4
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@432 232f8b59-042b-4e1e-8c03-345bb8c30851
* Merged JSR-231 branch on to the main JOGL trunk. The main trunk now Kenneth Russel2005-10-241-2/+134
| | | | | | | | contains the evolving JSR-231 Reference Implementation and the JSR-231 branch is permanently closed. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@401 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added OpenGL 1.5 support. Updated glext.h, wglext.h, and glxext.h from Kenneth Russel2004-04-221-0/+26
| | | | | | | | | | 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 bug abies pointed out in ARBVBOKey where it was necessary toKenneth Russel2003-08-071-0/+13
| | | | | | | | override hashCode() and therefore equals(). Added caching of BufferUtils.bufferOffset() buffers. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@48 232f8b59-042b-4e1e-8c03-345bb8c30851
* Changed glMapBufferARB's implementation to return the same ByteBufferKenneth Russel2003-08-071-5/+28
| | | | | | | | | | | | | | | | | 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
* Fixed (?) build problem on X11 and Mac OS XKenneth Russel2003-08-061-1/+1
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@46 232f8b59-042b-4e1e-8c03-345bb8c30851
* Changed behavior of ManuallyImplement to not emit GLEmitter's dispatchKenneth Russel2003-08-061-0/+16
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