diff options
author | Sven Gothel <[email protected]> | 2010-06-04 05:21:32 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2010-06-04 05:21:32 +0200 |
commit | 4512900ddcb9ce9a498411d257b1b6d6010ec006 (patch) | |
tree | ae9878c82cda41920f46ea639178f7d951d5af8f /make/config/jogl | |
parent | 6bbf70d2f4a06b8aa0b100d83ed9aca6dd80040e (diff) |
JOGL: Unify library loading (impl and binding), incl. lookup ; GLAutoDrawable: dispose() calls only with created context.
- Using the EGL approach of DynamicLookupHelper,
now generalized in abstract GLDynamicLookupHelper,
DesktopGLDynamicLookupHelper and EGLGLDynamicLookupHelper.
The implementation of these are self contained.
- Sharing common code.
- Unifying implementation and binding loading,
as well as the function lookup within the impl libs.
- Removed DRIHack, since its no more required
due to the new DesktopGLDynamicLookupHelper.
- Removed compile time link to GL and GLU libs
- Removed redundant library OS functions from X11/WGL
bindings, GlueGen's common code is being used now.
- GLAutoDrawable: dispose() calls only with created context.
This cleans up stack traces in case of eventual bugs,
where context creation is not successful.
Diffstat (limited to 'make/config/jogl')
-rw-r--r-- | make/config/jogl/glu-CustomJavaCode-gl2.java | 15 | ||||
-rwxr-xr-x | make/config/jogl/glu-CustomJavaCode-gl2es1.java | 27 | ||||
-rw-r--r-- | make/config/jogl/wgl-win32.cfg | 2 |
3 files changed, 3 insertions, 41 deletions
diff --git a/make/config/jogl/glu-CustomJavaCode-gl2.java b/make/config/jogl/glu-CustomJavaCode-gl2.java index 690e0acfa..3367b2f69 100644 --- a/make/config/jogl/glu-CustomJavaCode-gl2.java +++ b/make/config/jogl/glu-CustomJavaCode-gl2.java @@ -536,27 +536,18 @@ public final void gluEndCurve(GLUnurbs r) { // private static GLUgl2ProcAddressTable gluProcAddressTable; -private static volatile boolean gluLibraryLoaded; private static final GLUgl2ProcAddressTable getGLUProcAddressTable() { - if (!gluLibraryLoaded) { - loadGLULibrary(); - } if (gluProcAddressTable == null) { GLContext curContext = GLContext.getCurrent(); if (curContext == null) { throw new GLException("No OpenGL context current on this thread"); } + GLDynamicLookupHelper glLookupHelper = ((GLDrawableImpl) curContext.getGLDrawable()).getGLDynamicLookupHelper(); + glLookupHelper.loadGLULibrary(); GLUgl2ProcAddressTable tmp = new GLUgl2ProcAddressTable(new GLProcAddressResolver()); - tmp.reset(((GLDrawableImpl)curContext.getGLDrawable()).getDynamicLookupHelper()); + tmp.reset(glLookupHelper); gluProcAddressTable = tmp; } return gluProcAddressTable; } - -private static final synchronized void loadGLULibrary() { - if (!gluLibraryLoaded) { - GLDrawableFactoryImpl.getFactoryImpl(null).loadGLULibrary(); - gluLibraryLoaded = true; - } -} diff --git a/make/config/jogl/glu-CustomJavaCode-gl2es1.java b/make/config/jogl/glu-CustomJavaCode-gl2es1.java index eb4bcc718..d3c8ab3d1 100755 --- a/make/config/jogl/glu-CustomJavaCode-gl2es1.java +++ b/make/config/jogl/glu-CustomJavaCode-gl2es1.java @@ -225,30 +225,3 @@ public final int gluBuild3DMipmaps( int target, int internalFormat, int width, depth, format, type, buffer ) ); } -//---------------------------------------------------------------------- -// GLUProcAddressTable handling -// - -/* -private static GLUProcAddressTable gluProcAddressTable; -private static volatile boolean gluLibraryLoaded; - -private static GLUProcAddressTable getGLUProcAddressTable() { - if (!gluLibraryLoaded) { - loadGLULibrary(); - } - if (gluProcAddressTable == null) { - GLUProcAddressTable tmp = new GLUProcAddressTable(new GLProcAddressResolver()); - tmp.reset(GLDrawableFactoryImpl.getFactoryImpl()); - gluProcAddressTable = tmp; - } - return gluProcAddressTable; -} - -private static synchronized void loadGLULibrary() { - if (!gluLibraryLoaded) { - GLDrawableFactoryImpl.getFactoryImpl().loadGLULibrary(); - gluLibraryLoaded = true; - } -} -*/ diff --git a/make/config/jogl/wgl-win32.cfg b/make/config/jogl/wgl-win32.cfg index 2a69290a4..69f8c75fa 100644 --- a/make/config/jogl/wgl-win32.cfg +++ b/make/config/jogl/wgl-win32.cfg @@ -18,8 +18,6 @@ GLHeader GL/wglext.h # Implement the first argument to wglGetProcAddress as String instead # of byte[] ArgumentIsString wglGetProcAddress 0 -ArgumentIsString LoadLibraryA 0 -ArgumentIsString GetProcAddress 1 CustomCCode #define WIN32_LEAN_AND_MEAN CustomCCode #include <windows.h> |