diff options
Diffstat (limited to 'make/config/jogl/glx-x11.cfg')
-rw-r--r-- | make/config/jogl/glx-x11.cfg | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/make/config/jogl/glx-x11.cfg b/make/config/jogl/glx-x11.cfg new file mode 100644 index 000000000..4daa78b84 --- /dev/null +++ b/make/config/jogl/glx-x11.cfg @@ -0,0 +1,100 @@ +# 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 } + |