From 286d1ba590c385994ece2d897f1e57e2504d3090 Mon Sep 17 00:00:00 2001 From: Kenneth Russel Date: Mon, 26 May 2008 18:44:56 +0000 Subject: Added glue code generation for the EGL class when building either the OpenGL ES 1 or OpenGL ES 2 binding. Required changes to GlueGen to support the outgoing EGLConfig* array in eglChooseConfig, and to the EGL headers to produce StructAccessor types for the EGLConfig and other types. (At some point, should upgrade GlueGen's type system and code generation to support treating these types as opaque longs.) Changed generation for EGL, OpenGL ES 1 and OpenGL ES 2 to use dynamic function lookup exclusively so that either an emulation library on the desktop or an import library for a particular device is not needed to compile the generated code. Generated code compiles but will not run yet; needs hookup to dynamically-opened OpenGL ES libraries. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/branches/JOGL_2_SANDBOX@1641 232f8b59-042b-4e1e-8c03-345bb8c30851 --- make/gl-desktop.cfg | 66 +++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 61 insertions(+), 5 deletions(-) (limited to 'make/gl-desktop.cfg') diff --git a/make/gl-desktop.cfg b/make/gl-desktop.cfg index 808f02f94..c2e713d69 100755 --- a/make/gl-desktop.cfg +++ b/make/gl-desktop.cfg @@ -6,11 +6,6 @@ GLHeader GL/gl.h GLHeader GL/glext.h -# Right now the implementations for these don't work on the embedded -# OpenGL variants (FIXME) -JavaEpilogue glBufferData bufferSizeTracker.setBufferSize(bufferStateTracker, {0}, this, {1}); -JavaEpilogue glBufferDataARB bufferSizeTracker.setBufferSize(bufferStateTracker, {0}, this, {1}); - # There are no PBOs in the embedded OpenGL variants right now BufferObjectKind UnpackPixel glBitmap BufferObjectKind UnpackPixel glColorTable @@ -99,3 +94,64 @@ JavaEpilogue glDeleteShader if (tracker != null) tracker.removeShade JavaEpilogue glDeleteTextures if (tracker != null) tracker.removeTextures({0}, {1}); JavaEpilogue glDeleteVertexArraysAPPLE if (tracker != null) tracker.removeVertexArraysAPPLE({0}, {1}); JavaEpilogue glDeleteVertexShaderEXT if (tracker != null) tracker.removeVertexShaderEXT({0}); + +# +# Directives needed when processing wglext.h on Windows and other platforms +# +Opaque boolean BOOL +ReturnsString wglGetExtensionsStringARB +ReturnsString wglGetExtensionsStringEXT +Opaque long HANDLE +Opaque long HBITMAP +Opaque long HDC +Opaque long HGDIOBJ +Opaque long HGLRC +Opaque long HPBUFFERARB +Opaque long HPBUFFEREXT +Opaque boolean BOOL +Opaque long PROC +Opaque long void ** + +# +# Directives needed when processing cglext.h on MacOSX and other platforms +# +Opaque long CGContextRef +Opaque long void ** +# Implement the first argument to cglGetProcAddress as String instead +# of byte[] +ArgumentIsString cglGetProcAddress 0 + +# +# Directives needed when processing glxext.h on X11 and other platforms +# +Opaque long __GLXextFuncPtr +Opaque boolean Bool +Opaque long Display * +Opaque long GLXContext +Opaque long Visual * +# Ignore the empty Display and Visual data structures (though made +# opaque, the references from XVisualInfo and elsewhere are still +# traversed) +Ignore Display +Ignore Visual +# Implement the first argument to glXGetProcAddress as String instead +# of byte[] +ArgumentIsString glXGetProcAddress 0 +ArgumentIsString glXGetProcAddressARB 0 +ReturnsString glXQueryExtensionsString +ReturnsString glXQueryServerString +ReturnsString glXGetClientString +TemporaryCVariableDeclaration glXChooseFBConfig int count; +TemporaryCVariableAssignment glXChooseFBConfig count = _ptr3[0]; +ReturnValueLength glXChooseFBConfig count +TemporaryCVariableDeclaration glXChooseFBConfigSGIX int count; +TemporaryCVariableAssignment glXChooseFBConfigSGIX count = _ptr3[0]; +ReturnValueLength glXChooseFBConfigSGIX count +TemporaryCVariableDeclaration glXGetFBConfigs int count; +TemporaryCVariableAssignment glXGetFBConfigs count = _ptr2[0]; +ReturnValueLength glXGetFBConfigs count + +# Right now the implementations for these don't work on the embedded +# OpenGL variants (FIXME) +JavaEpilogue glBufferData bufferSizeTracker.setBufferSize(bufferStateTracker, {0}, this, {1}); +JavaEpilogue glBufferDataARB bufferSizeTracker.setBufferSize(bufferStateTracker, {0}, this, {1}); -- cgit v1.2.3