aboutsummaryrefslogtreecommitdiffstats
path: root/src/classes/com/sun/gluegen
Commit message (Collapse)AuthorAgeFilesLines
* Fixed Issue 84: glReadPixels does not commit results Kenneth Russel2006-01-111-1/+1
| | | | | | | | | | Changed use of JNI_ABORT to 0 in ReleasePrimitiveArrayCritical calls. This should not change the behavior of the generated glue code in any way, at least on the HotSpot JVM, but is being done for completeness of the GlueGen tool. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@533 232f8b59-042b-4e1e-8c03-345bb8c30851
* Added checks on number of remaining elements and bytes for Buffers and Kenneth Russel2006-01-034-6/+198
| | | | | | | | | | 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 build problem with recent 64-bit changes. Now force enum types Kenneth Russel2006-01-021-1/+6
| | | | | | | | to be int instead of long. Neither is really correct but int is probably more correct and its behavior is easier to explain than long. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@508 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed build problems on X11 platforms after last checkinKenneth Russel2006-01-011-4/+5
| | | | git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@507 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed more problems related to recent restructuring of glue code Kenneth Russel2006-01-018-72/+42
| | | | | | | | | | | | generation to support simultaneous 32- and 64-bit ports. Now uses size() (on Java side) and sizeof (on C side) when creating direct Buffers for struct accessors rather than passing MachineDescription down to JavaMethodBindingEmitter and CMethodBindingEmitter. Now uses 64-bit MachineDescription when sizing outgoing arguments and return types for bound methods. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@506 232f8b59-042b-4e1e-8c03-345bb8c30851
* Fixed bugs in struct layout introduced during recent rewrite to Kenneth Russel2005-12-311-81/+96
| | | | | | | | | | | | support simultaneous 32/64-bit struct accessor generation. Generated code has been validated on 64-bit platforms only by visual inspection so far but now appears correct. Tested and verified 32-bit build on Windows. Reorganized build process to generate JAWT interface later to allow cross-platform testing of generation of window system-specific code. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@504 232f8b59-042b-4e1e-8c03-345bb8c30851
* Refactored glue code generation for APIs requiring run-time lookup of Kenneth Russel2005-12-2112-614/+1137
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | individual function pointers into generic ProcAddressEmitter. Removed all OpenGL-specific routines and names from this emitter. The new ProcAddressConfiguration is more generic than the GLConfiguration and supports mostly-arbitrary mappings from function names to function pointer typedefs via the new ProcAddressNameExpr directive. Refactored GLEmitter into thin layer on top of this ProcAddressEmitter providing only ignoring of extensions and checking for buffer object variants of functions. Made GLConfiguration a stand-alone class. Deleted ContextVariableName directive in favor of more generic GetProcAddressTableExpr command. Moved resetting of generated ProcAddressTables into GlueGen runtime class ProcAddressHelper; user provides the dynamic lookup function (dlsym, etc.) through new DynamicLookupHelper interface. Fixed bug in generation of Java epilogues for routines returning primitive values. Fixed bugs in AccessControl directive, in particular when generating interfaces. Made small changes to autogenerated comments for routines called through function pointers. These changes do not impact the public API of JOGL -- this has been verified by examining diffs between the current and new autogenerated code. They do make the GlueGen tool more generic and allow it to be easily applied to the task of autogenerating the JOAL API and implementation as well. Also verified by running JOGL demos and JOAL demos in new JOAL workspace. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@500 232f8b59-042b-4e1e-8c03-345bb8c30851
* Refactored computations of sizes of data types and offsets of fields Kenneth Russel2005-11-0924-239/+637
| | | | | | | | | | | | | | | | in data structures in GlueGen to be performed lazily via SizeThunks. The concrete size of primitive data types is computed only by passing a MachineDescription into one of these thunks. Changed generated glue code for struct accessors to delegate their instantiation and field access to specialized 32- or 64-bit versions. This should allow one jar file to support both 32-bit and 64-bit CPUs; the native code is of course still specialized for the processor and data model. Changed default build to generate both 32-bit and 64-bit accessors for all generated data structures. Tested on Windows; more testing, including build testing, is needed on other platforms. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@426 232f8b59-042b-4e1e-8c03-345bb8c30851
* Merged JSR-231 branch on to the main JOGL trunk. The main trunk now Kenneth Russel2005-10-2462-0/+19477
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