summaryrefslogtreecommitdiffstats
path: root/make/config/jogl/glxext.cfg
diff options
context:
space:
mode:
Diffstat (limited to 'make/config/jogl/glxext.cfg')
-rw-r--r--make/config/jogl/glxext.cfg135
1 files changed, 135 insertions, 0 deletions
diff --git a/make/config/jogl/glxext.cfg b/make/config/jogl/glxext.cfg
new file mode 100644
index 000000000..aeed3af4e
--- /dev/null
+++ b/make/config/jogl/glxext.cfg
@@ -0,0 +1,135 @@
+# This .cfg file is used to generate the interface and implementing
+# class for the GLX extensions.
+JavaOutputDir gensrc/classes
+NativeOutputDir gensrc/native/jogl/X11
+
+Package com.jogamp.opengl.impl.x11.glx
+Style InterfaceAndImpl
+JavaClass GLXExt
+ImplPackage com.jogamp.opengl.impl.x11.glx
+ImplJavaClass GLXExtImpl
+
+ExtendedInterfaceSymbolsIgnore ../build-temp/gensrc/classes/com/jogamp/opengl/impl/x11/glx/GLX.java
+Include gl-common.cfg
+Include gl-desktop.cfg
+
+GLHeader GL/glx.h
+GLHeader GL/glxext.h
+
+EmitProcAddressTable true
+ProcAddressTableClassName GLXExtProcAddressTable
+GetProcAddressTableExpr _context.getGLXExtProcAddressTable()
+
+Import com.jogamp.nativewindow.impl.x11.*
+
+# Ignore everything that doesn't start with glX or GLX
+IgnoreNot ^(glX|GLX).+
+
+Include gl-headers.cfg
+Include ../intptr.cfg
+
+CustomCCode /* Provide Windows typedefs */
+CustomCCode typedef void* LPVOID;
+CustomCCode typedef unsigned int* PUINT;
+
+CustomJavaCode GLXExt public boolean isFunctionAvailable(String glFunctionName);
+CustomJavaCode GLXExt public boolean isExtensionAvailable(String glExtensionName);
+
+CustomJavaCode GLXExtImpl public GLXExtImpl(X11GLXContext context) {
+CustomJavaCode GLXExtImpl this._context = context;
+CustomJavaCode GLXExtImpl }
+
+CustomJavaCode GLXExtImpl public boolean isFunctionAvailable(String glFunctionName)
+CustomJavaCode GLXExtImpl {
+CustomJavaCode GLXExtImpl return _context.isFunctionAvailable(glFunctionName);
+CustomJavaCode GLXExtImpl }
+
+CustomJavaCode GLXExtImpl public boolean isExtensionAvailable(String glExtensionName)
+CustomJavaCode GLXExtImpl {
+CustomJavaCode GLXExtImpl return _context.isExtensionAvailable(glExtensionName);
+CustomJavaCode GLXExtImpl }
+
+CustomJavaCode GLXExtImpl private X11GLXContext _context;
+
+
+# These Ignores cause the core GLX routines to be ignored from the
+# GLXExt interface and GLXExtImpl implementing class.
+Ignore glXGetVisualFromFBConfig
+Ignore glXGetVisualFromFBConfigSGIX
+Ignore glXChooseFBConfig
+Ignore glXChooseVisual
+Ignore glXCreateContext
+Ignore glXDestroyContext
+Ignore glXMakeCurrent
+Ignore glXCopyContext
+Ignore glXSwapBuffers
+Ignore glXCreateGLXPixmap
+Ignore glXDestroyGLXPixmap
+Ignore glXQueryExtension
+Ignore glXQueryVersion
+Ignore glXIsDirect
+Ignore glXGetConfig
+Ignore glXGetCurrentContext
+Ignore glXGetCurrentDrawable
+Ignore glXWaitGL
+Ignore glXWaitX
+Ignore glXUseXFont
+Ignore glXQueryExtensionsString
+Ignore glXQueryServerString
+Ignore glXGetClientString
+Ignore glXGetCurrentDisplay
+Ignore glXChooseFBConfig
+Ignore glXGetFBConfigAttrib
+Ignore glXGetFBConfigs
+Ignore glXGetVisualFromFBConfig
+Ignore glXCreateWindow
+Ignore glXDestroyWindow
+Ignore glXCreatePixmap
+Ignore glXDestroyPixmap
+Ignore glXCreatePbuffer
+Ignore glXDestroyPbuffer
+Ignore glXQueryDrawable
+Ignore glXCreateNewContext
+Ignore glXMakeContextCurrent
+Ignore glXGetCurrentReadDrawable
+Ignore glXQueryContext
+Ignore glXSelectEvent
+Ignore glXGetSelectedEvent
+
+# Ignore a few extensions that bring in data types we don't want to
+# expose in the public API (and that are useless anyway without
+# exposing more of the implementation)
+Ignore glXGetFBConfigAttribSGIX
+Ignore glXChooseFBConfigSGIX
+Ignore glXCreateGLXPixmapWithConfigSGIX
+Ignore glXCreateContextWithConfigSGIX
+Ignore glXGetVisualFromFBConfigSGIX
+Ignore glXGetFBConfigFromVisualSGIX
+Ignore glXCreateGLXPbufferSGIX
+Ignore glXDestroyGLXPbufferSGIX
+Ignore glXQueryGLXPbufferSGIX
+Ignore glXSelectEventSGIX
+Ignore glXGetSelectedEventSGIX
+Ignore glXCreateGLXPixmapMESA
+
+Opaque long GLXFBConfig
+
+# Now we can ignore the GLXFBConfig and XVisualInfo data types
+# Ignore GLXFBConfig
+Ignore XVisualInfo
+
+# Ignore the SGI hyperpipe extension, which will require more GlueGen
+# work to expose the pipeName fields in the various structs
+Ignore glXQueryHyperpipeNetworkSGIX
+Ignore glXHyperpipeConfigSGIX
+Ignore glXQueryHyperpipeConfigSGIX
+Ignore glXDestroyHyperpipeConfigSGIX
+Ignore glXBindHyperpipeSGIX
+Ignore glXQueryHyperpipeBestAttribSGIX
+Ignore glXHyperpipeAttribSGIX
+Ignore glXQueryHyperpipeAttribSGIX
+Ignore GLXHyperpipeNetworkSGIX
+Ignore GLXHyperpipeConfigSGIX
+Ignore GLXPipeRect
+Ignore GLXPipeRectLimits
+