diff options
Diffstat (limited to 'make/config/jogl/eglext.cfg')
-rwxr-xr-x | make/config/jogl/eglext.cfg | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/make/config/jogl/eglext.cfg b/make/config/jogl/eglext.cfg new file mode 100755 index 000000000..bdd9a3655 --- /dev/null +++ b/make/config/jogl/eglext.cfg @@ -0,0 +1,126 @@ +# This .cfg file is used to generate the interface to the EGL routines +# used internally by the EGLContext implementation. +JavaOutputDir gensrc/classes +NativeOutputDir gensrc/native/jogl/egl + +Package com.sun.opengl.impl.egl +Style InterfaceAndImpl +JavaClass EGLExt +ImplPackage com.sun.opengl.impl.egl +ImplJavaClass EGLExtImpl +# Shouldn't matter which one of these we pick up + +ExtendedInterfaceSymbols ../build-temp/gensrc/classes/com/sun/opengl/impl/egl/EGL.java +HierarchicalNativeOutput false +Include gl-common.cfg + +# Use a ProcAddressTable so we dynamically look up the routines +EmitProcAddressTable true +ProcAddressTableClassName EGLExtProcAddressTable +GetProcAddressTableExpr _context.getEGLExtProcAddressTable() + +# Translate EGLBoolean as Java boolean +Opaque boolean EGLBoolean + +# Implement the first argument to eglGetProcAddress as String instead +# of byte[] +ArgumentIsString eglGetProcAddress 0 +ReturnsString eglQueryString + +# Make eglGetProcAddress return an opaque long +Opaque long __EGLFuncPtr + +# Force all of the methods to be emitted using dynamic linking so we +# don't need to link against any emulation library on the desktop or +# depend on the presence of an import library for a particular device +ForceProcAddressGen __ALL__ + +# Also force the calling conventions of the locally generated function +# pointer typedefs for these routines to EGLAPIENTRY +LocalProcAddressCallingConvention __ALL__ EGLAPIENTRY + +# Treat all of the EGL types as opaque longs +# Opaque long EGLConfig +Opaque long EGLContext +Opaque long EGLDisplay +Opaque long EGLSurface +Opaque long EGLNativeDisplayType +Opaque long EGLNativeWindowType +Opaque long EGLNativePixmapType +Opaque long EGLClientBuffer +Opaque long EGLImageKHR +#Opaque long EGLPerfMonitorNV +#Opaque long EGLPerfCounterNV +#Opaque long EGLPerfMarkerNV +Opaque long EGLSyncKHR +Opaque long NativeSyncKHR + +# Opaque long EGLClientBuffer + +CustomCCode /* Define EGL_EGLEXT_PROTOTYPES so that the EGL extension prototypes in +CustomCCode "eglext.h" are parsed. */ +CustomCCode #define EGL_EGLEXT_PROTOTYPES +CustomCCode +CustomCCode #include <EGL/eglext.h> + +Include ../intptr.cfg + +# There are some #defines in eglext.h that GlueGen and PCPP don't currently handle +CustomJavaCode EGLExt public static final long EGL_NO_IMAGE = 0; +CustomJavaCode EGLExt public static final long EGL_NO_PERFMONITOR = 0; +CustomJavaCode EGLExt public static final long EGL_DEFAULT_PERFMARKER = 0; +CustomJavaCode EGLExt public boolean isFunctionAvailable(String glFunctionName); +CustomJavaCode EGLExt public boolean isExtensionAvailable(String glExtensionName); + +CustomJavaCode EGLExtImpl public EGLExtImpl(EGLContext context) { +CustomJavaCode EGLExtImpl this._context = context; +CustomJavaCode EGLExtImpl } + +CustomJavaCode EGLExtImpl public boolean isFunctionAvailable(String glFunctionName) +CustomJavaCode EGLExtImpl { +CustomJavaCode EGLExtImpl return _context.isFunctionAvailable(glFunctionName); +CustomJavaCode EGLExtImpl } + +CustomJavaCode EGLExtImpl public boolean isExtensionAvailable(String glExtensionName) +CustomJavaCode EGLExtImpl { +CustomJavaCode EGLExtImpl return _context.isExtensionAvailable(glExtensionName); +CustomJavaCode EGLExtImpl } + +CustomJavaCode EGLExtImpl private EGLContext _context; + +# These Ignores cause the core EGL routines to be ignored from the +# EGLExt interface and EGLExtImpl implementing class. +Ignore eglBindAPI +Ignore eglBindTexImage +Ignore eglChooseConfig +Ignore eglCopyBuffers +Ignore eglCreateContext +Ignore eglCreatePbufferFromClientBuffer +Ignore eglCreatePbufferSurface +Ignore eglCreatePixmapSurface +Ignore eglCreateWindowSurface +Ignore eglDestroyContext +Ignore eglDestroySurface +Ignore eglGetConfigAttrib +Ignore eglGetConfigs +Ignore eglGetCurrentContext +Ignore eglGetCurrentDisplay +Ignore eglGetCurrentSurface +Ignore eglGetDisplay +Ignore eglGetError +Ignore eglGetProcAddress +Ignore eglInitialize +Ignore eglMakeCurrent +Ignore eglQueryAPI +Ignore eglQueryContext +Ignore eglQueryString +Ignore eglQuerySurface +Ignore eglReleaseTexImage +Ignore eglReleaseThread +Ignore eglSurfaceAttrib +Ignore eglSwapBuffers +Ignore eglSwapInterval +Ignore eglTerminate +Ignore eglWaitClient +Ignore eglWaitGL +Ignore eglWaitNative |