aboutsummaryrefslogtreecommitdiffstats
path: root/make/config/jogl/glx-x11.cfg
diff options
context:
space:
mode:
Diffstat (limited to 'make/config/jogl/glx-x11.cfg')
-rw-r--r--make/config/jogl/glx-x11.cfg32
1 files changed, 22 insertions, 10 deletions
diff --git a/make/config/jogl/glx-x11.cfg b/make/config/jogl/glx-x11.cfg
index f451fa7f3..dee1d015f 100644
--- a/make/config/jogl/glx-x11.cfg
+++ b/make/config/jogl/glx-x11.cfg
@@ -5,7 +5,7 @@ NativeOutputDir gensrc/native/jogl/X11
Package com.jogamp.opengl.impl.x11.glx
JavaClass GLX
-Style allstatic
+Style AllStatic
Include gl-common.cfg
Include gl-common-extensions.cfg
Include gl-desktop.cfg
@@ -13,16 +13,17 @@ Include gl-desktop.cfg
GLHeader GL/glx.h
GLHeader GL/glxext.h
+ForceProcAddressGen __ALL__
+LocalProcAddressCallingConvention __ALL__ APIENTRY
+
+AllowNonGLExtensions true
EmitProcAddressTable true
ProcAddressTableClassName GLXProcAddressTable
GetProcAddressTableExpr glxProcAddressTable
-# This must be present for bootstrapping
-SkipProcAddressGen glXGetProcAddressARB
Import com.jogamp.nativewindow.impl.x11.*
Import com.jogamp.gluegen.runtime.opengl.GLProcAddressResolver
-
CustomJavaCode GLX private static GLXProcAddressTable glxProcAddressTable = new GLXProcAddressTable(new GLProcAddressResolver());
CustomJavaCode GLX public static GLXProcAddressTable getGLXProcAddressTable() { return glxProcAddressTable; }
@@ -36,13 +37,16 @@ Opaque long GLXFBConfig
Ignore glXCreateContextAttribsARB
#
-# We have Custom code for the following
-Ignore glXGetVisualFromFBConfig
+# We have manual code for the following (copying the return values)
Ignore glXGetVisualFromFBConfigSGIX
-Ignore glXChooseFBConfig
-Ignore glXChooseVisual
-
-# Ignore everything not in the GLX core (up through GLX 1.4) aside from glXGetProcAddress
+ManuallyImplement glXGetVisualFromFBConfig
+ManuallyImplement glXChooseFBConfig
+ManuallyImplement glXChooseVisual
+ForceProcAddressGen glXGetVisualFromFBConfig
+ForceProcAddressGen glXChooseFBConfig
+ForceProcAddressGen glXChooseVisual
+
+# Ignore everything not in the GLX core (up through GLX 1.4)
# FIXME: this needs to be kept in sync with the stub headers more than usual
Ignore glXFreeContextEXT
Ignore glXGetContextIDEXT
@@ -86,3 +90,11 @@ Ignore GLXHyperpipeConfigSGIX
Ignore GLXPipeRect
Ignore GLXPipeRectLimits
+CustomJavaCode GLX protected static long glXGetProcAddress(long glXGetProcAddressHandle, java.lang.String procname)
+CustomJavaCode GLX {
+CustomJavaCode GLX if (glXGetProcAddressHandle == 0) {
+CustomJavaCode GLX throw new GLException("Passed null pointer for method \"glXGetProcAddress\"");
+CustomJavaCode GLX }
+CustomJavaCode GLX return dispatch_glXGetProcAddress1(procname, glXGetProcAddressHandle);
+CustomJavaCode GLX }
+