# This .cfg file is used to generate the interface to the GLX routines # used internally by the X11GLContext implementation. JavaOutputDir gensrc/classes NativeOutputDir gensrc/native/jogl/X11 Package jogamp.opengl.x11.glx JavaClass GLX Style AllStatic Include gl-common.cfg Include gl-common-extensions.cfg 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 Import jogamp.nativewindow.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; } IncludeAs CustomJavaCode GLX glx-CustomJavaCode.java IncludeAs CustomCCode glx-CustomCCode.c ArgumentIsString XOpenDisplay 0 Opaque long GLXFBConfig Ignore glXCreateContextAttribsARB # # We have manual code for the following (copying the return values) Ignore glXGetVisualFromFBConfigSGIX 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 Ignore glXGetCurrentDisplayEXT Ignore glXImportContextEXT Ignore glXQueryContextInfoEXT Ignore glXGetSyncValues Ignore glXGetMscRate Ignore glXSwapBuffersMsc Ignore glXWaitForMsc Ignore glXWaitForSbc # Ignore non-GLX GL routines and constants Ignore ^GL_.+ Ignore TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB Ignore CLAMP_TO_EDGE_EXT Ignore ^gl[^X].+ Ignore ^X.+ Ignore ^Visual.+ DropUniqVendorExtensions AMD # We need GL_APPLE_float_pixels for our pbuffer implementation # DropUniqVendorExtensions APPLE DropUniqVendorExtensions ATI DropUniqVendorExtensions HP DropUniqVendorExtensions IBM DropUniqVendorExtensions MESA DropUniqVendorExtensions MESAX DropUniqVendorExtensions NV DropUniqVendorExtensions SGI DropUniqVendorExtensions SGIS DropUniqVendorExtensions SGIX DropUniqVendorExtensions SUN DropUniqVendorExtensions WIN # Ignore the SGI hyperpipe extension, which will require more GlueGen # work to expose the pipeName fields in the various structs Ignore GLXHyperpipeNetworkSGIX 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 }