aboutsummaryrefslogtreecommitdiffstats
path: root/make/config/jogl
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2010-06-04 05:21:32 +0200
committerSven Gothel <[email protected]>2010-06-04 05:21:32 +0200
commit4512900ddcb9ce9a498411d257b1b6d6010ec006 (patch)
treeae9878c82cda41920f46ea639178f7d951d5af8f /make/config/jogl
parent6bbf70d2f4a06b8aa0b100d83ed9aca6dd80040e (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.java15
-rwxr-xr-xmake/config/jogl/glu-CustomJavaCode-gl2es1.java27
-rw-r--r--make/config/jogl/wgl-win32.cfg2
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>