From: <sp...@us...> - 2009-03-26 11:08:49
|
Revision: 3191 http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3191&view=rev Author: spasi Date: 2009-03-26 11:08:43 +0000 (Thu, 26 Mar 2009) Log Message: ----------- Force forward compatible mode when we have GL3.1+ but miss ARB_compatibility. Added support for ARB_framebuffer_object. Added support for GLX_ARB_create_context. (WIP) Improved postfix stripping in the generator. Modified Paths: -------------- trunk/LWJGL/src/java/org/lwjgl/opengl/ContextAttribs.java trunk/LWJGL/src/java/org/lwjgl/util/generator/ContextCapabilitiesGenerator.java trunk/LWJGL/src/java/org/lwjgl/util/generator/JavaMethodsGenerator.java trunk/LWJGL/src/java/org/lwjgl/util/generator/StripPostfix.java trunk/LWJGL/src/native/linux/extgl_glx.c trunk/LWJGL/src/native/linux/extgl_glx.h trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_uniform_buffer_object.java trunk/LWJGL/src/templates/org/lwjgl/opengl/NV_explicit_multisample.java Added Paths: ----------- trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_framebuffer_object.java Property Changed: ---------------- trunk/LWJGL/src/native/ Modified: trunk/LWJGL/src/java/org/lwjgl/opengl/ContextAttribs.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/opengl/ContextAttribs.java 2009-03-25 17:43:56 UTC (rev 3190) +++ trunk/LWJGL/src/java/org/lwjgl/opengl/ContextAttribs.java 2009-03-26 11:08:43 UTC (rev 3191) @@ -187,4 +187,16 @@ return attribs; } + public String toString() { + StringBuffer sb = new StringBuffer(32); + + sb.append("ContextAttribs:"); + sb.append(" Version=").append(majorVersion).append('.').append(minorVersion); + sb.append(" - Layer=").append(layerPlane); + sb.append(" - Debug=").append(debug); + sb.append(" - ForwardCompatible=").append(forwardCompatible); + + return sb.toString(); + } + } \ No newline at end of file Modified: trunk/LWJGL/src/java/org/lwjgl/util/generator/ContextCapabilitiesGenerator.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/util/generator/ContextCapabilitiesGenerator.java 2009-03-25 17:43:56 UTC (rev 3190) +++ trunk/LWJGL/src/java/org/lwjgl/util/generator/ContextCapabilitiesGenerator.java 2009-03-26 11:08:43 UTC (rev 3191) @@ -37,7 +37,6 @@ import java.util.Collection; import java.util.EnumSet; import java.util.Iterator; -import java.lang.annotation.Annotation; import com.sun.mirror.declaration.InterfaceDeclaration; import com.sun.mirror.declaration.MethodDeclaration; @@ -117,6 +116,23 @@ public static void generateInitStubsPrologue(PrintWriter writer, boolean context_specific) { writer.println("\tprivate Set " + ALL_INIT_METHOD_NAME + "(boolean forwardCompatible) throws LWJGLException {"); + + // Load the basic pointers we need to detect OpenGL version and supported extensions. + writer.println("\t\tGL11_glGetString_pointer = GLContext.getFunctionAddress(\"glGetString\");"); + + // Initialize GL11.glGetIntegerv and GL30.glGetStringi here, in case we have created an OpenGL 3.0 context. + // (they will be used in GLContext.getSupportedExtensions) + writer.println("\t\tGL11_glGetIntegerv_pointer = GLContext.getFunctionAddress(\"glGetIntegerv\");"); + writer.println("\t\tGL30_glGetStringi_pointer = GLContext.getFunctionAddress(\"glGetStringi\");"); + + // Get the supported extensions set. + writer.println("\t\tGLContext.setCapabilities(this);"); + writer.println("\t\tSet " + CACHED_EXTS_VAR_NAME + " = GLContext.getSupportedExtensions();"); + + // Force forward compatible mode when OpenGL version is 3.1 or higher and ARB_compatibility is not available. + writer.println("\t\tif ( supported_extensions.contains(\"OpenGL31\") && !supported_extensions.contains(\"GL_ARB_compatibility\") )"); + writer.println("\t\t\tforwardCompatible = true;"); + if ( !context_specific ) { writer.println("\t\tif (" + STUBS_LOADED_NAME + ")"); writer.println("\t\t\treturn GLContext.getSupportedExtensions();"); @@ -125,11 +141,6 @@ writer.println("\t\tif (!" + getAddressesInitializerName("GL11") + "(forwardCompatible))"); writer.println("\t\t\tthrow new LWJGLException(\"GL11 not supported\");"); } - // Try to initialize GL30.glGetStringi here, in case we have created an OpenGL 3.0 context - // (it will be used in GLContext.getSupportedExtensions) - writer.println("\t\tGL30_glGetStringi_pointer = GLContext.getFunctionAddress(\"glGetStringi\");"); - writer.println("\t\tGLContext.setCapabilities(this);"); - writer.println("\t\tSet " + CACHED_EXTS_VAR_NAME + " = GLContext.getSupportedExtensions();"); } public static void generateInitStubsEpilogue(PrintWriter writer, boolean context_specific) { Modified: trunk/LWJGL/src/java/org/lwjgl/util/generator/JavaMethodsGenerator.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/util/generator/JavaMethodsGenerator.java 2009-03-25 17:43:56 UTC (rev 3190) +++ trunk/LWJGL/src/java/org/lwjgl/util/generator/JavaMethodsGenerator.java 2009-03-26 11:08:43 UTC (rev 3191) @@ -277,7 +277,7 @@ postfix_parameter.getType().accept(translator); String postfix = translator.getSignature(); String method_name = method.getSimpleName(); - String extension_postfix = getExtensionPostfix(interface_decl); + String extension_postfix = "NULL".equals(strip_annotation.extension()) ? getExtensionPostfix(interface_decl) : strip_annotation.extension(); String result; if (method_name.endsWith(postfix + "v" + extension_postfix)) result = method_name.substring(0, method_name.length() - (postfix.length() + 1 + extension_postfix.length())); Modified: trunk/LWJGL/src/java/org/lwjgl/util/generator/StripPostfix.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/util/generator/StripPostfix.java 2009-03-25 17:43:56 UTC (rev 3190) +++ trunk/LWJGL/src/java/org/lwjgl/util/generator/StripPostfix.java 2009-03-26 11:08:43 UTC (rev 3191) @@ -47,4 +47,5 @@ @Target(ElementType.METHOD) public @interface StripPostfix { String value(); // The parameter to deduce the postfix from + String extension() default "NULL"; } Property changes on: trunk/LWJGL/src/native ___________________________________________________________________ Added: svn:ignore + generated Modified: trunk/LWJGL/src/native/linux/extgl_glx.c =================================================================== --- trunk/LWJGL/src/native/linux/extgl_glx.c 2009-03-25 17:43:56 UTC (rev 3190) +++ trunk/LWJGL/src/native/linux/extgl_glx.c 2009-03-26 11:08:43 UTC (rev 3191) @@ -74,6 +74,9 @@ /* GLX_SGI_swap_control */ glXSwapIntervalSGIPROC lwjgl_glXSwapIntervalSGI = NULL; +/* GLX_ARB_create_context */ +glXCreateContextAttribsARBPROC lwjgl_glXCreateContextAttribsARB = NULL; + static void * lib_gl_handle = NULL; typedef void * (APIENTRY * glXGetProcAddressARBPROC) (const GLubyte *procName); @@ -142,6 +145,12 @@ symbols_flags.GLX_SGI_swap_control = extgl_InitializeFunctions(sizeof(functions)/sizeof(ExtFunction), functions); } +static void extgl_InitGLXARBCreateContext() { + ExtFunction functions[] = { + {"glXCreateContextAttribsARB", (void*)&lwjgl_glXCreateContextAttribsARB}}; + symbols_flags.GLX_ARB_create_context = extgl_InitializeFunctions(sizeof(functions)/sizeof(ExtFunction), functions); +} + static void extgl_InitGLXSupportedExtensions(Display *disp, int screen, GLXExtensions *extension_flags) { /* extension_flags.GLX_EXT_visual_info = GLXQueryExtension(disp, screen, "GLX_EXT_visual_info"); extension_flags.GLX_EXT_visual_rating = GLXQueryExtension(disp, screen, "GLX_EXT_visual_rating");*/ @@ -150,6 +159,7 @@ extension_flags->GLX_ARB_fbconfig_float = GLXQueryExtension(disp, screen, "GLX_ARB_fbconfig_float"); extension_flags->GLX_EXT_fbconfig_packed_float = GLXQueryExtension(disp, screen, "GLX_EXT_fbconfig_packed_float"); extension_flags->GLX_ARB_framebuffer_sRGB = GLXQueryExtension(disp, screen, "GLX_ARB_framebuffer_sRGB") || GLXQueryExtension(disp, screen, "GLX_EXT_framebuffer_sRGB"); + extension_flags->GLX_ARB_create_context = GLXQueryExtension(disp, screen, "GLX_ARB_create_context"); } bool extgl_Open(JNIEnv *env) { @@ -181,6 +191,7 @@ extgl_InitGLX12(); extgl_InitGLX13(); extgl_InitGLXSGISwapControl(); + extgl_InitGLXARBCreateContext(); return true; } @@ -214,6 +225,7 @@ return false; extension_flags->GLX12 = glx12; extension_flags->GLX13 = major > 1 || (major == 1 && minor >= 3); + extension_flags->GLX14 = major > 1 || (major == 1 && minor >= 4); extgl_InitGLXSupportedExtensions(disp, screen, extension_flags); return true; } Modified: trunk/LWJGL/src/native/linux/extgl_glx.h =================================================================== --- trunk/LWJGL/src/native/linux/extgl_glx.h 2009-03-25 17:43:56 UTC (rev 3190) +++ trunk/LWJGL/src/native/linux/extgl_glx.h 2009-03-26 11:08:43 UTC (rev 3191) @@ -323,9 +323,13 @@ /* GLX_SGI_swap_control */ typedef void (APIENTRY * glXSwapIntervalSGIPROC)(int interval); +/* GLX_ARB_create_context */ +typedef GLXContext (APIENTRY * glXCreateContextAttribsARBPROC) (Display *dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list); + typedef struct { bool GLX12; bool GLX13; + bool GLX14; /* bool GLX_EXT_visual_info; bool GLX_EXT_visual_rating;*/ bool GLX_SGI_swap_control; @@ -333,6 +337,7 @@ bool GLX_ARB_fbconfig_float; bool GLX_EXT_fbconfig_packed_float; bool GLX_ARB_framebuffer_sRGB; + bool GLX_ARB_create_context; } GLXExtensions; /* Add _ to global symbols to avoid symbol clash with the OpenGL library */ @@ -378,6 +383,8 @@ extern glXSwapIntervalSGIPROC lwjgl_glXSwapIntervalSGI; +extern glXCreateContextAttribsARBPROC lwjgl_glXCreateContextAttribsARB; + extern bool extgl_InitGLX(Display *disp, int screen, GLXExtensions *extension_flags); #endif Added: trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_framebuffer_object.java =================================================================== --- trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_framebuffer_object.java (rev 0) +++ trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_framebuffer_object.java 2009-03-26 11:08:43 UTC (rev 3191) @@ -0,0 +1,242 @@ +/* + * Copyright (c) 2002-2008 LWJGL Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of 'LWJGL' nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.lwjgl.opengl; + +import org.lwjgl.util.generator.*; + +import java.nio.IntBuffer; + +@Extension(postfix = "") +public interface ARB_framebuffer_object { + + /** + * Accepted by the <target> parameter of BindFramebuffer, + * CheckFramebufferStatus, FramebufferTexture{1D|2D|3D}, + * FramebufferRenderbuffer, and + * GetFramebufferAttachmentParameteriv: + */ + int GL_FRAMEBUFFER = 0x8D40; + int GL_READ_FRAMEBUFFER = 0x8CA8; + int GL_DRAW_FRAMEBUFFER = 0x8CA9; + + /** + * Accepted by the <target> parameter of BindRenderbuffer, + * RenderbufferStorage, and GetRenderbufferParameteriv, and + * returned by GetFramebufferAttachmentParameteriv: + */ + int GL_RENDERBUFFER = 0x8D41; + + /** + * Accepted by the <internalformat> parameter of + * RenderbufferStorage: + */ + int GL_STENCIL_INDEX1 = 0x8D46; + int GL_STENCIL_INDEX4 = 0x8D47; + int GL_STENCIL_INDEX8 = 0x8D48; + int GL_STENCIL_INDEX16 = 0x8D49; + + /** Accepted by the <pname> parameter of GetRenderbufferParameteriv: */ + int GL_RENDERBUFFER_WIDTH = 0x8D42; + int GL_RENDERBUFFER_HEIGHT = 0x8D43; + int GL_RENDERBUFFER_INTERNAL_FORMAT = 0x8D44; + int GL_RENDERBUFFER_RED_SIZE = 0x8D50; + int GL_RENDERBUFFER_GREEN_SIZE = 0x8D51; + int GL_RENDERBUFFER_BLUE_SIZE = 0x8D52; + int GL_RENDERBUFFER_ALPHA_SIZE = 0x8D53; + int GL_RENDERBUFFER_DEPTH_SIZE = 0x8D54; + int GL_RENDERBUFFER_STENCIL_SIZE = 0x8D55; + int GL_RENDERBUFFER_SAMPLES = 0x8CAB; + + /** + * Accepted by the <pname> parameter of + * GetFramebufferAttachmentParameteriv: + */ + int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0; + int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1; + int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2; + int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3; + int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4; + int GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210; + int GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 0x8211; + int GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE = 0x8212; + int GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 0x8213; + int GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 0x8214; + int GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 0x8215; + int GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 0x8216; + int GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 0x8217; + + /** Returned in <params> by GetFramebufferAttachmentParameteriv: */ + int GL_SRGB = 0x8C40; + int GL_UNSIGNED_NORMALIZED = 0x8C17; + int GL_FRAMEBUFFER_DEFAULT = 0x8218; + int GL_INDEX = 0x8222; + + /** + * Accepted by the <attachment> parameter of + * FramebufferTexture{1D|2D|3D}, FramebufferRenderbuffer, and + * GetFramebufferAttachmentParameteriv + */ + int GL_COLOR_ATTACHMENT0 = 0x8CE0; + int GL_COLOR_ATTACHMENT1 = 0x8CE1; + int GL_COLOR_ATTACHMENT2 = 0x8CE2; + int GL_COLOR_ATTACHMENT3 = 0x8CE3; + int GL_COLOR_ATTACHMENT4 = 0x8CE4; + int GL_COLOR_ATTACHMENT5 = 0x8CE5; + int GL_COLOR_ATTACHMENT6 = 0x8CE6; + int GL_COLOR_ATTACHMENT7 = 0x8CE7; + int GL_COLOR_ATTACHMENT8 = 0x8CE8; + int GL_COLOR_ATTACHMENT9 = 0x8CE9; + int GL_COLOR_ATTACHMENT10 = 0x8CEA; + int GL_COLOR_ATTACHMENT11 = 0x8CEB; + int GL_COLOR_ATTACHMENT12 = 0x8CEC; + int GL_COLOR_ATTACHMENT13 = 0x8CED; + int GL_COLOR_ATTACHMENT14 = 0x8CEE; + int GL_COLOR_ATTACHMENT15 = 0x8CEF; + int GL_DEPTH_ATTACHMENT = 0x8D00; + int GL_STENCIL_ATTACHMENT = 0x8D20; + int GL_DEPTH_STENCIL_ATTACHMENT = 0x821A; + + /** + * Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, + * GetFloatv, and GetDoublev: + */ + int GL_MAX_SAMPLES = 0x8D57; + + /** Returned by CheckFramebufferStatus(): */ + int GL_FRAMEBUFFER_COMPLETE = 0x8CD5; + int GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6; + int GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7; + int GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = 0x8CDB; + int GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER = 0x8CDC; + int GL_FRAMEBUFFER_UNSUPPORTED = 0x8CDD; + int GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56; + int GL_FRAMEBUFFER_UNDEFINED = 0x8219; + + /** + * Accepted by the <pname> parameters of GetIntegerv, GetFloatv, + * and GetDoublev: + */ + int GL_FRAMEBUFFER_BINDING = 0x8CA6; // alias DRAW_FRAMEBUFFER_BINDING + int GL_DRAW_FRAMEBUFFER_BINDING = 0x8CA6; + int GL_READ_FRAMEBUFFER_BINDING = 0x8CAA; + int GL_RENDERBUFFER_BINDING = 0x8CA7; + int GL_MAX_COLOR_ATTACHMENTS = 0x8CDF; + int GL_MAX_RENDERBUFFER_SIZE = 0x84E8; + + /** Returned by GetError(): */ + int GL_INVALID_FRAMEBUFFER_OPERATION = 0x0506; + + /** + * Accepted by the <format> parameter of DrawPixels, ReadPixels, + * TexImage1D, TexImage2D, TexImage3D, TexSubImage1D, TexSubImage2D, + * TexSubImage3D, and GetTexImage, by the <type> parameter of + * CopyPixels, by the <internalformat> parameter of TexImage1D, + * TexImage2D, TexImage3D, CopyTexImage1D, CopyTexImage2D, and + * RenderbufferStorage, and returned in the <data> parameter of + * GetTexLevelParameter and GetRenderbufferParameteriv: + */ + int GL_DEPTH_STENCIL = 0x84F9; + + /** + * Accepted by the <type> parameter of DrawPixels, ReadPixels, + * TexImage1D, TexImage2D, TexImage3D, TexSubImage1D, TexSubImage2D, + * TexSubImage3D, and GetTexImage: + */ + int GL_UNSIGNED_INT_24_8 = 0x84FA; + + /** + * Accepted by the <internalformat> parameter of TexImage1D, + * TexImage2D, TexImage3D, CopyTexImage1D, CopyTexImage2D, and + * RenderbufferStorage, and returned in the <data> parameter of + * GetTexLevelParameter and GetRenderbufferParameteriv: + */ + int GL_DEPTH24_STENCIL8 = 0x88F0; + + /** Accepted by the <value> parameter of GetTexLevelParameter: */ + int GL_TEXTURE_STENCIL_SIZE = 0x88F1; + + boolean glIsRenderbuffer(@GLuint int renderbuffer); + + void glBindRenderbuffer(@GLenum int target, @GLuint int renderbuffer); + + void glDeleteRenderbuffers(@AutoSize("renderbuffers") @GLsizei int n, @Const @GLuint IntBuffer renderbuffers); + + void glGenRenderbuffers(@AutoSize("renderbuffers") @GLsizei int n, @OutParameter @GLuint IntBuffer renderbuffers); + + void glRenderbufferStorage(@GLenum int target, @GLenum int internalformat, + @GLsizei int width, @GLsizei int height); + + void glRenderbufferStorageMultisample(@GLenum int target, @GLsizei int samples, + @GLenum int internalformat, + @GLsizei int width, @GLsizei int height); + + @StripPostfix("params") + void glGetRenderbufferParameteriv(@GLenum int target, @GLenum int pname, @Check("4") @OutParameter IntBuffer params); + + boolean glIsFramebuffer(@GLuint int framebuffer); + + void glBindFramebuffer(@GLenum int target, @GLuint int framebuffer); + + void glDeleteFramebuffers(@AutoSize("framebuffers") @GLsizei int n, @Const @GLuint IntBuffer framebuffers); + + void glGenFramebuffers(@AutoSize("framebuffers") @GLsizei int n, @OutParameter @GLuint IntBuffer framebuffers); + + @GLenum + int glCheckFramebufferStatus(@GLenum int target); + + void glFramebufferTexture1D(@GLenum int target, @GLenum int attachment, + @GLenum int textarget, @GLuint int texture, int level); + + void glFramebufferTexture2D(@GLenum int target, @GLenum int attachment, + @GLenum int textarget, @GLuint int texture, int level); + + void glFramebufferTexture3D(@GLenum int target, @GLenum int attachment, + @GLenum int textarget, @GLuint int texture, + int level, int layer); + + void glFramebufferTextureLayer(@GLenum int target, @GLenum int attachment, + @GLuint int texture, int level, int layer); + + void glFramebufferRenderbuffer(@GLenum int target, @GLenum int attachment, + @GLenum int renderbuffertarget, @GLuint int renderbuffer); + + @StripPostfix("params") + void glGetFramebufferAttachmentParameteriv(@GLenum int target, @GLenum int attachment, + @GLenum int pname, @Check("4") @OutParameter IntBuffer params); + + void glBlitFramebuffer(int srcX0, int srcY0, int srcX1, int srcY1, + int dstX0, int dstY0, int dstX1, int dstY1, + @GLbitfield int mask, @GLenum int filter); + + void glGenerateMipmap(@GLenum int target); + +} \ No newline at end of file Modified: trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_uniform_buffer_object.java =================================================================== --- trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_uniform_buffer_object.java 2009-03-25 17:43:56 UTC (rev 3190) +++ trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_uniform_buffer_object.java 2009-03-26 11:08:43 UTC (rev 3191) @@ -126,6 +126,7 @@ void glBindBufferBase(@GLenum int target, @GLuint int index, @GLuint int buffer); + @StripPostfix(value = "data", extension = "") void glGetIntegeri_v(@GLenum int value, @GLuint int index, @OutParameter @Check("4")IntBuffer data); void glUniformBlockBindingARB(@GLuint int program, @GLuint int uniformBlockIndex, @GLuint int uniformBlockBinding); Modified: trunk/LWJGL/src/templates/org/lwjgl/opengl/NV_explicit_multisample.java =================================================================== --- trunk/LWJGL/src/templates/org/lwjgl/opengl/NV_explicit_multisample.java 2009-03-25 17:43:56 UTC (rev 3190) +++ trunk/LWJGL/src/templates/org/lwjgl/opengl/NV_explicit_multisample.java 2009-03-26 11:08:43 UTC (rev 3191) @@ -33,7 +33,9 @@ import org.lwjgl.util.generator.*; -import java.nio.*; +import java.nio.ByteBuffer; +import java.nio.FloatBuffer; +import java.nio.IntBuffer; public interface NV_explicit_multisample { @@ -73,8 +75,10 @@ int GL_INT_SAMPLER_RENDERBUFFER_NV = 0x8E57; int GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV = 0x8E58; + @StripPostfix(value = "data", extension = "EXT") void glGetBooleanIndexedvEXT(@GLenum int pname, @GLuint int index, @OutParameter @Check("16") @GLboolean ByteBuffer data); + @StripPostfix(value = "data", extension = "EXT") void glGetIntegerIndexedvEXT(@GLenum int pname, @GLuint int index, @OutParameter @Check("16") IntBuffer data); @StripPostfix("val") This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |