# 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 #GLSemHeader GL/gl.h #GLSemHeader GL/glext-supplement.h #GLSemHeader GL/glext.h GLSemHeader gl-types.h GLSemHeader GL/glx.h GLSemHeader GL/glxext.h Package jogamp.opengl.x11.glx JavaClass GLX Style AllStatic Include gl-common.cfg Include gl-desktop.cfg # Only NIO direct function, no arrays .. NIOOnly __ALL__ NIODirectOnly __ALL__ ForceProcAddressGen __ALL__ LocalProcAddressCallingConvention __ALL__ APIENTRY 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 Include glx-headers.cfg IncludeAs CustomCCode glx-CustomCCode.c ForceStaticInitCode GLX 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 glXGetFBConfigs ManuallyImplement glXChooseVisual ForceProcAddressGen glXGetVisualFromFBConfig ForceProcAddressGen glXChooseFBConfig ForceProcAddressGen glXGetFBConfigs 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.+ IgnoreExtension GLX_EXT_texture_from_pixmap IgnoreExtension GLX_OML_sync_control IgnoreExtension GLX_OML_swap_method 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 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_glXGetProcAddress0(procname, glXGetProcAddressHandle); CustomJavaCode GLX }