|
From: <eli...@us...> - 2007-04-23 20:17:47
|
Revision: 2797
http://svn.sourceforge.net/java-game-lib/?rev=2797&view=rev
Author: elias_naur
Date: 2007-04-23 13:17:42 -0700 (Mon, 23 Apr 2007)
Log Message:
-----------
Added support for non-direct in glGet* style functions
Modified Paths:
--------------
trunk/LWJGL/src/java/org/lwjgl/NondirectBufferWrapper.java
trunk/LWJGL/src/java/org/lwjgl/util/generator/JavaMethodsGenerator.java
trunk/LWJGL/src/templates/org/lwjgl/openal/AL10.java
trunk/LWJGL/src/templates/org/lwjgl/openal/AL11.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_buffer_object.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_imaging.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_occlusion_query.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_program.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_shader_objects.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_texture_compression.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_vertex_program.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_vertex_shader.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/ATI_envmap_bumpmap.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/ATI_vertex_array_object.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/ATI_vertex_attrib_array_object.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/EXT_draw_buffers2.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/EXT_framebuffer_object.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/EXT_gpu_shader4.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/EXT_paletted_texture.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/EXT_texture_integer.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/EXT_timer_query.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/EXT_vertex_shader.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/GL11.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/GL13.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/GL15.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/GL20.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/NV_evaluators.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/NV_fence.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/NV_fragment_program.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/NV_gpu_program4.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/NV_occlusion_query.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/NV_program.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/NV_register_combiners.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/NV_register_combiners2.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/NV_transform_feedback.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/NV_vertex_program.java
Added Paths:
-----------
trunk/LWJGL/src/java/org/lwjgl/util/generator/OutParameter.java
Modified: trunk/LWJGL/src/java/org/lwjgl/NondirectBufferWrapper.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/NondirectBufferWrapper.java 2007-04-23 16:47:25 UTC (rev 2796)
+++ trunk/LWJGL/src/java/org/lwjgl/NondirectBufferWrapper.java 2007-04-23 20:17:42 UTC (rev 2797)
@@ -67,6 +67,36 @@
return buffers;
}
+ public static ByteBuffer wrapNoCopyBuffer(ByteBuffer buf, int size) {
+ BufferChecks.checkBufferSize(buf, size);
+ return wrapNoCopyDirect(buf);
+ }
+
+ public static ShortBuffer wrapNoCopyBuffer(ShortBuffer buf, int size) {
+ BufferChecks.checkBufferSize(buf, size);
+ return wrapNoCopyDirect(buf);
+ }
+
+ public static IntBuffer wrapNoCopyBuffer(IntBuffer buf, int size) {
+ BufferChecks.checkBufferSize(buf, size);
+ return wrapNoCopyDirect(buf);
+ }
+
+ public static LongBuffer wrapNoCopyBuffer(LongBuffer buf, int size) {
+ BufferChecks.checkBufferSize(buf, size);
+ return wrapNoCopyDirect(buf);
+ }
+
+ public static FloatBuffer wrapNoCopyBuffer(FloatBuffer buf, int size) {
+ BufferChecks.checkBufferSize(buf, size);
+ return wrapNoCopyDirect(buf);
+ }
+
+ public static DoubleBuffer wrapNoCopyBuffer(DoubleBuffer buf, int size) {
+ BufferChecks.checkBufferSize(buf, size);
+ return wrapNoCopyDirect(buf);
+ }
+
public static ByteBuffer wrapBuffer(ByteBuffer buf, int size) {
BufferChecks.checkBufferSize(buf, size);
return wrapDirect(buf);
@@ -133,8 +163,138 @@
return buffer;
}
+ public static ByteBuffer wrapNoCopyDirect(ByteBuffer buffer) {
+ if (!buffer.isDirect())
+ return doNoCopyWrap(buffer);
+ return buffer;
+ }
+
+ public static ShortBuffer wrapNoCopyDirect(ShortBuffer buffer) {
+ if (!buffer.isDirect())
+ return doNoCopyWrap(buffer);
+ return buffer;
+ }
+
+ public static FloatBuffer wrapNoCopyDirect(FloatBuffer buffer) {
+ if (!buffer.isDirect())
+ return doNoCopyWrap(buffer);
+ return buffer;
+ }
+
+ public static IntBuffer wrapNoCopyDirect(IntBuffer buffer) {
+ if (!buffer.isDirect())
+ return doNoCopyWrap(buffer);
+ return buffer;
+ }
+
+ public static LongBuffer wrapNoCopyDirect(LongBuffer buffer) {
+ if (!buffer.isDirect())
+ return doNoCopyWrap(buffer);
+ return buffer;
+ }
+
+ public static DoubleBuffer wrapNoCopyDirect(DoubleBuffer buffer) {
+ if (!buffer.isDirect())
+ return doNoCopyWrap(buffer);
+ return buffer;
+ }
+
+ public static void copy(ByteBuffer src, ByteBuffer dst) {
+ if (dst != null && !dst.isDirect()) {
+ int saved_position = dst.position();
+ dst.put(src);
+ dst.position(saved_position);
+ }
+ }
+
+ public static void copy(ShortBuffer src, ShortBuffer dst) {
+ if (dst != null && !dst.isDirect()) {
+ int saved_position = dst.position();
+ dst.put(src);
+ dst.position(saved_position);
+ }
+ }
+
+ public static void copy(IntBuffer src, IntBuffer dst) {
+ if (dst != null && !dst.isDirect()) {
+ int saved_position = dst.position();
+ dst.put(src);
+ dst.position(saved_position);
+ }
+ }
+
+ public static void copy(FloatBuffer src, FloatBuffer dst) {
+ if (dst != null && !dst.isDirect()) {
+ int saved_position = dst.position();
+ dst.put(src);
+ dst.position(saved_position);
+ }
+ }
+
+ public static void copy(LongBuffer src, LongBuffer dst) {
+ if (dst != null && !dst.isDirect()) {
+ int saved_position = dst.position();
+ dst.put(src);
+ dst.position(saved_position);
+ }
+ }
+
+ public static void copy(DoubleBuffer src, DoubleBuffer dst) {
+ if (dst != null && !dst.isDirect()) {
+ int saved_position = dst.position();
+ dst.put(src);
+ dst.position(saved_position);
+ }
+ }
+
+ private static ByteBuffer doNoCopyWrap(ByteBuffer buffer) {
+ ByteBuffer direct_buffer = lookupBuffer(buffer);
+ direct_buffer.limit(buffer.limit());
+ direct_buffer.position(buffer.position());
+ return direct_buffer;
+ }
+
+ private static ShortBuffer doNoCopyWrap(ShortBuffer buffer) {
+ ShortBuffer direct_buffer = lookupBuffer(buffer);
+ direct_buffer.limit(buffer.limit());
+ direct_buffer.position(buffer.position());
+ return direct_buffer;
+ }
+
+ private static IntBuffer doNoCopyWrap(IntBuffer buffer) {
+ IntBuffer direct_buffer = lookupBuffer(buffer);
+ direct_buffer.limit(buffer.limit());
+ direct_buffer.position(buffer.position());
+ return direct_buffer;
+ }
+
+ private static FloatBuffer doNoCopyWrap(FloatBuffer buffer) {
+ FloatBuffer direct_buffer = lookupBuffer(buffer);
+ direct_buffer.limit(buffer.limit());
+ direct_buffer.position(buffer.position());
+ return direct_buffer;
+ }
+
+ private static LongBuffer doNoCopyWrap(LongBuffer buffer) {
+ LongBuffer direct_buffer = lookupBuffer(buffer);
+ direct_buffer.limit(buffer.limit());
+ direct_buffer.position(buffer.position());
+ return direct_buffer;
+ }
+
+ private static DoubleBuffer doNoCopyWrap(DoubleBuffer buffer) {
+ DoubleBuffer direct_buffer = lookupBuffer(buffer);
+ direct_buffer.limit(buffer.limit());
+ direct_buffer.position(buffer.position());
+ return direct_buffer;
+ }
+
+ private static ByteBuffer lookupBuffer(ByteBuffer buffer) {
+ return getCachedBuffers(buffer.remaining()).byte_buffer;
+ }
+
private static ByteBuffer doWrap(ByteBuffer buffer) {
- ByteBuffer direct_buffer = getCachedBuffers(buffer.remaining()).byte_buffer;
+ ByteBuffer direct_buffer = lookupBuffer(buffer);
direct_buffer.clear();
int saved_position = buffer.position();
direct_buffer.put(buffer);
@@ -143,9 +303,13 @@
return direct_buffer;
}
+ private static ShortBuffer lookupBuffer(ShortBuffer buffer) {
+ CachedBuffers buffers = getCachedBuffers(buffer.remaining()*2);
+ return buffer.order() == ByteOrder.LITTLE_ENDIAN ? buffers.short_buffer_little : buffers.short_buffer_big;
+ }
+
private static ShortBuffer doWrap(ShortBuffer buffer) {
- CachedBuffers buffers = getCachedBuffers(buffer.remaining()*2);
- ShortBuffer direct_buffer = buffer.order() == ByteOrder.LITTLE_ENDIAN ? buffers.short_buffer_little : buffers.short_buffer_big;
+ ShortBuffer direct_buffer = lookupBuffer(buffer);
direct_buffer.clear();
int saved_position = buffer.position();
direct_buffer.put(buffer);
@@ -154,9 +318,13 @@
return direct_buffer;
}
+ private static FloatBuffer lookupBuffer(FloatBuffer buffer) {
+ CachedBuffers buffers = getCachedBuffers(buffer.remaining()*4);
+ return buffer.order() == ByteOrder.LITTLE_ENDIAN ? buffers.float_buffer_little : buffers.float_buffer_big;
+ }
+
private static FloatBuffer doWrap(FloatBuffer buffer) {
- CachedBuffers buffers = getCachedBuffers(buffer.remaining()*4);
- FloatBuffer direct_buffer = buffer.order() == ByteOrder.LITTLE_ENDIAN ? buffers.float_buffer_little : buffers.float_buffer_big;
+ FloatBuffer direct_buffer = lookupBuffer(buffer);
direct_buffer.clear();
int saved_position = buffer.position();
direct_buffer.put(buffer);
@@ -165,9 +333,13 @@
return direct_buffer;
}
+ private static IntBuffer lookupBuffer(IntBuffer buffer) {
+ CachedBuffers buffers = getCachedBuffers(buffer.remaining()*4);
+ return buffer.order() == ByteOrder.LITTLE_ENDIAN ? buffers.int_buffer_little : buffers.int_buffer_big;
+ }
+
private static IntBuffer doWrap(IntBuffer buffer) {
- CachedBuffers buffers = getCachedBuffers(buffer.remaining()*4);
- IntBuffer direct_buffer = buffer.order() == ByteOrder.LITTLE_ENDIAN ? buffers.int_buffer_little : buffers.int_buffer_big;
+ IntBuffer direct_buffer = lookupBuffer(buffer);
direct_buffer.clear();
int saved_position = buffer.position();
direct_buffer.put(buffer);
@@ -176,9 +348,13 @@
return direct_buffer;
}
+ private static LongBuffer lookupBuffer(LongBuffer buffer) {
+ CachedBuffers buffers = getCachedBuffers(buffer.remaining()*8);
+ return buffer.order() == ByteOrder.LITTLE_ENDIAN ? buffers.long_buffer_little : buffers.long_buffer_big;
+ }
+
private static LongBuffer doWrap(LongBuffer buffer) {
- CachedBuffers buffers = getCachedBuffers(buffer.remaining()*8);
- LongBuffer direct_buffer = buffer.order() == ByteOrder.LITTLE_ENDIAN ? buffers.long_buffer_little : buffers.long_buffer_big;
+ LongBuffer direct_buffer = lookupBuffer(buffer);
direct_buffer.clear();
int saved_position = buffer.position();
direct_buffer.put(buffer);
@@ -187,9 +363,13 @@
return direct_buffer;
}
+ private static DoubleBuffer lookupBuffer(DoubleBuffer buffer) {
+ CachedBuffers buffers = getCachedBuffers(buffer.remaining()*8);
+ return buffer.order() == ByteOrder.LITTLE_ENDIAN ? buffers.double_buffer_little : buffers.double_buffer_big;
+ }
+
private static DoubleBuffer doWrap(DoubleBuffer buffer) {
- CachedBuffers buffers = getCachedBuffers(buffer.remaining()*8);
- DoubleBuffer direct_buffer = buffer.order() == ByteOrder.LITTLE_ENDIAN ? buffers.double_buffer_little : buffers.double_buffer_big;
+ DoubleBuffer direct_buffer = lookupBuffer(buffer);
direct_buffer.clear();
int saved_position = buffer.position();
direct_buffer.put(buffer);
Modified: trunk/LWJGL/src/java/org/lwjgl/util/generator/JavaMethodsGenerator.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/util/generator/JavaMethodsGenerator.java 2007-04-23 16:47:25 UTC (rev 2796)
+++ trunk/LWJGL/src/java/org/lwjgl/util/generator/JavaMethodsGenerator.java 2007-04-23 20:17:42 UTC (rev 2797)
@@ -50,6 +50,8 @@
import java.nio.*;
public class JavaMethodsGenerator {
+ private final static String SAVED_PARAMETER_POSTFIX = "_saved";
+
public static void generateMethodsJava(AnnotationProcessorEnvironment env, TypeMap type_map, PrintWriter writer, InterfaceDeclaration interface_decl, boolean generate_error_checks, boolean context_specific) {
for (MethodDeclaration method : interface_decl.getMethods())
generateMethodJava(env, type_map, writer, interface_decl, method, generate_error_checks, context_specific);
@@ -197,7 +199,7 @@
if (code_annotation != null)
writer.println(code_annotation.value());
printBufferObjectChecks(writer, method, mode);
- printParameterChecks(writer, method, mode);
+ printParameterChecks(writer, method, typeinfos_instance, mode);
printParameterCaching(writer, interface_decl, method, mode);
writer.print("\t\t");
boolean has_result = !result_type.equals(env.getTypeUtils().getVoidType());
@@ -218,6 +220,7 @@
writer.println(");");
if (generate_error_checks && method.getAnnotation(NoErrorCheck.class) == null)
writer.println("\t\t" + type_map.getErrorCheckMethodName() + ";");
+ printNondirectParameterCopies(writer, method, mode);
if (has_result)
writer.println("\t\treturn " + Utils.RESULT_VAR_NAME + ";");
writer.println("\t}");
@@ -409,13 +412,29 @@
}
}
- private static void printParameterChecks(PrintWriter writer, MethodDeclaration method, Mode mode) {
+ private static void printNondirectParameterCopies(PrintWriter writer, MethodDeclaration method, Mode mode) {
for (ParameterDeclaration param : method.getParameters()) {
Class java_type = Utils.getJavaType(param.getType());
if (Utils.isAddressableType(java_type) &&
(mode != Mode.BUFFEROBJECT || param.getAnnotation(BufferObject.class) == null) &&
(mode != Mode.AUTOS || getAutoTypeParameter(method, param) == null) &&
param.getAnnotation(Result.class) == null) {
+ if (Buffer.class.isAssignableFrom(java_type)) {
+ boolean out_parameter = param.getAnnotation(OutParameter.class) != null;
+ if (out_parameter)
+ writer.println("\t\tNondirectBufferWrapper.copy(" + param.getSimpleName() + ", " + param.getSimpleName() + SAVED_PARAMETER_POSTFIX + ");");
+ }
+ }
+ }
+ }
+
+ private static void printParameterChecks(PrintWriter writer, MethodDeclaration method, Map<ParameterDeclaration, TypeInfo> typeinfos, Mode mode) {
+ for (ParameterDeclaration param : method.getParameters()) {
+ Class java_type = Utils.getJavaType(param.getType());
+ if (Utils.isAddressableType(java_type) &&
+ (mode != Mode.BUFFEROBJECT || param.getAnnotation(BufferObject.class) == null) &&
+ (mode != Mode.AUTOS || getAutoTypeParameter(method, param) == null) &&
+ param.getAnnotation(Result.class) == null) {
String check_value = null;
boolean can_be_null = false;
Check check_annotation = param.getAnnotation(Check.class);
@@ -426,7 +445,9 @@
boolean null_terminated = param.getAnnotation(NullTerminated.class) != null;
if (Buffer.class.isAssignableFrom(java_type)) {
boolean indirect_buffer_allowed = param.getAnnotation(CachedReference.class) == null;
- printParameterCheck(writer, param.getSimpleName(), check_value, can_be_null, null_terminated, indirect_buffer_allowed);
+ boolean out_parameter = param.getAnnotation(OutParameter.class) != null;
+ TypeInfo typeinfo = typeinfos.get(param);
+ printParameterCheck(writer, param.getSimpleName(), typeinfo.getType().getSimpleName(), check_value, can_be_null, null_terminated, indirect_buffer_allowed, out_parameter);
} else if (String.class.equals(java_type)) {
if (!can_be_null)
writer.println("\t\tBufferChecks.checkNotNull(" + param.getSimpleName() + ");");
@@ -434,17 +455,22 @@
}
}
if (method.getAnnotation(CachedResult.class) != null)
- printParameterCheck(writer, Utils.CACHED_BUFFER_NAME, null, true, false, false);
+ printParameterCheck(writer, Utils.CACHED_BUFFER_NAME, null, null, true, false, false, false);
}
- private static void printParameterCheck(PrintWriter writer, String name, String check_value, boolean can_be_null, boolean null_terminated, boolean indirect_buffer_allowed) {
+ private static void printParameterCheck(PrintWriter writer, String name, String type, String check_value, boolean can_be_null, boolean null_terminated, boolean indirect_buffer_allowed, boolean out_parameter) {
+ if (indirect_buffer_allowed && out_parameter) {
+ writer.println("\t\t" + type + " " + name + SAVED_PARAMETER_POSTFIX + " = " + name + ";");
+ }
if (can_be_null) {
writer.println("\t\tif (" + name + " != null)");
writer.print("\t");
}
- if (indirect_buffer_allowed)
+ if (indirect_buffer_allowed) {
writer.print("\t\t" + name + " = NondirectBufferWrapper.wrap");
- else
+ if (out_parameter)
+ writer.print("NoCopy");
+ } else
writer.print("\t\tBufferChecks.check");
if (check_value != null && !"".equals(check_value) ) {
writer.print("Buffer(" + name + ", " + check_value);
Added: trunk/LWJGL/src/java/org/lwjgl/util/generator/OutParameter.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/util/generator/OutParameter.java (rev 0)
+++ trunk/LWJGL/src/java/org/lwjgl/util/generator/OutParameter.java 2007-04-23 20:17:42 UTC (rev 2797)
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2002-2004 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.util.generator;
+
+/**
+ * This annotation indicates that a parameter is written,
+ * not read.
+ *
+ * @author elias_naur <eli...@us...>
+ * @version $Revision: 2286 $
+ * $Id: Check.java 2286 2006-03-23 19:32:21Z matzon $
+ */
+
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+@Target(ElementType.PARAMETER)
+public @interface OutParameter {
+}
Modified: trunk/LWJGL/src/templates/org/lwjgl/openal/AL10.java
===================================================================
--- trunk/LWJGL/src/templates/org/lwjgl/openal/AL10.java 2007-04-23 16:47:25 UTC (rev 2796)
+++ trunk/LWJGL/src/templates/org/lwjgl/openal/AL10.java 2007-04-23 20:17:42 UTC (rev 2797)
@@ -480,7 +480,7 @@
*/
@StripPostfix("data")
@ALvoid
- void alGetIntegerv(@ALenum int pname, @Check("1") IntBuffer data);
+ void alGetIntegerv(@ALenum int pname, @OutParameter @Check("1") IntBuffer data);
/**
* Like OpenGL, AL uses a simplified interface for querying global state.
@@ -498,7 +498,7 @@
*/
@StripPostfix("data")
@ALvoid
- void alGetFloatv(@ALenum int pname, @Check("1") FloatBuffer data);
+ void alGetFloatv(@ALenum int pname, @OutParameter @Check("1") FloatBuffer data);
/**
* Like OpenGL, AL uses a simplified interface for querying global state.
@@ -516,7 +516,7 @@
*/
@StripPostfix("data")
@ALvoid
- void alGetDoublev(@ALenum int pname, @Check("1") DoubleBuffer data);
+ void alGetDoublev(@ALenum int pname, @OutParameter @Check("1") DoubleBuffer data);
/**
* The application can retrieve state information global to the current AL Context.
@@ -711,7 +711,7 @@
// TODO: What's the real minimum number of elements?
@StripPostfix("floatdata")
@ALvoid
- void alGetListenerfv(@ALenum int pname, @Check("1") FloatBuffer floatdata);
+ void alGetListenerfv(@ALenum int pname, @OutParameter @Check("1") FloatBuffer floatdata);
/**
* The application requests a number of Sources using GenSources.
@@ -827,7 +827,7 @@
// TODO: What's the correct minimum value?
@StripPostfix("floatdata")
@ALvoid
- void alGetSourcefv(@ALuint int source, @ALenum int pname, @Check("1") FloatBuffer floatdata);
+ void alGetSourcefv(@ALuint int source, @ALenum int pname, @OutParameter @Check("1") FloatBuffer floatdata);
/**
* Play() applied to an AL_INITIAL Source will promote the Source to AL_PLAYING, thus
Modified: trunk/LWJGL/src/templates/org/lwjgl/openal/AL11.java
===================================================================
--- trunk/LWJGL/src/templates/org/lwjgl/openal/AL11.java 2007-04-23 16:47:25 UTC (rev 2796)
+++ trunk/LWJGL/src/templates/org/lwjgl/openal/AL11.java 2007-04-23 20:17:42 UTC (rev 2797)
@@ -100,7 +100,7 @@
// TODO: What's the real minimum number of elements?
@StripPostfix("intdata")
@ALvoid
- void alGetListeneriv(@ALenum int pname, @Check("1") FloatBuffer intdata);
+ void alGetListeneriv(@ALenum int pname, @OutParameter @Check("1") FloatBuffer intdata);
/**
* Specifies the position and other properties as taken into account during
@@ -229,7 +229,7 @@
// TODO: What's the correct minimum value?
@StripPostfix("values")
@ALvoid
- void alGetBufferiv(@ALuint int buffer, @ALenum int pname, @Check("1") IntBuffer values);
+ void alGetBufferiv(@ALuint int buffer, @ALenum int pname, @OutParameter @Check("1") IntBuffer values);
/**
* This function retrieves a floating point property of a buffer.
@@ -254,7 +254,7 @@
// TODO: What's the correct minimum value?
@StripPostfix("values")
@ALvoid
- void alGetBufferfv(@ALuint int buffer, @ALenum int pname, @Check("1") FloatBuffer values);
+ void alGetBufferfv(@ALuint int buffer, @ALenum int pname, @OutParameter @Check("1") FloatBuffer values);
/**
* <p>
Modified: trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_buffer_object.java
===================================================================
--- trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_buffer_object.java 2007-04-23 16:47:25 UTC (rev 2796)
+++ trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_buffer_object.java 2007-04-23 20:17:42 UTC (rev 2797)
@@ -94,6 +94,7 @@
@GLdouble Buffer data);
void glGetBufferSubDataARB(@GLenum int target, @GLintptrARB long offset, @AutoSize("data") @GLsizeiptrARB long size,
+ @OutParameter
@Check
@GLbyte
@GLshort
@@ -121,7 +122,7 @@
boolean glUnmapBufferARB(@GLenum int target);
@StripPostfix("params")
- void glGetBufferParameterivARB(@GLenum int target, @GLenum int pname, @Check("4") IntBuffer params);
+ void glGetBufferParameterivARB(@GLenum int target, @GLenum int pname, @OutParameter @Check("4") IntBuffer params);
@StripPostfix("pointer")
@AutoResultSize("GLChecks.getBufferObjectSizeARB(caps, target)")
Modified: trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_imaging.java
===================================================================
--- trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_imaging.java 2007-04-23 16:47:25 UTC (rev 2796)
+++ trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_imaging.java 2007-04-23 20:17:42 UTC (rev 2797)
@@ -150,6 +150,7 @@
void glCopyColorTable(@GLenum int target, @GLenum int internalformat, int x, int y, @GLsizei int width);
void glGetColorTable(@GLenum int target, @GLenum int format, @GLenum int type,
+ @OutParameter
@Check("256")
@GLbyte
@GLfloat
@@ -170,6 +171,7 @@
void glResetHistogram(@GLenum int target);
void glGetHistogram(@GLenum int target, boolean reset, @GLenum int format, @GLenum int type,
+ @OutParameter
@BufferObject(BufferKind.PackPBO)
@Check("256")
@GLbyte
@@ -179,16 +181,17 @@
@GLdouble Buffer values);
@StripPostfix("params")
- void glGetHistogramParameterfv(@GLenum int target, @GLenum int pname, @Check("256") FloatBuffer params);
+ void glGetHistogramParameterfv(@GLenum int target, @GLenum int pname, @OutParameter @Check("256") FloatBuffer params);
@StripPostfix("params")
- void glGetHistogramParameteriv(@GLenum int target, @GLenum int pname, @Check("256") IntBuffer params);
+ void glGetHistogramParameteriv(@GLenum int target, @GLenum int pname, @OutParameter @Check("256") IntBuffer params);
void glMinmax(@GLenum int target, @GLenum int internalformat, boolean sink);
void glResetMinmax(@GLenum int target);
void glGetMinmax(@GLenum int target, boolean reset, @GLenum int format, @GLenum int types,
+ @OutParameter
@BufferObject(BufferKind.PackPBO)
@Check("4")
@GLbyte
@@ -198,10 +201,10 @@
@GLdouble Buffer values);
@StripPostfix("params")
- void glGetMinmaxParameterfv(@GLenum int target, @GLenum int pname, @Check("4") FloatBuffer params);
+ void glGetMinmaxParameterfv(@GLenum int target, @GLenum int pname, @OutParameter @Check("4") FloatBuffer params);
@StripPostfix("params")
- void glGetMinmaxParameteriv(@GLenum int target, @GLenum int pname, @Check("4") IntBuffer params);
+ void glGetMinmaxParameteriv(@GLenum int target, @GLenum int pname, @OutParameter @Check("4") IntBuffer params);
void glConvolutionFilter1D(@GLenum int target, @GLenum int internalformat, @GLsizei int width, @GLenum int format, @GLenum int type,
@BufferObject(BufferKind.UnpackPBO)
@@ -237,6 +240,7 @@
// TODO: check buffer size valid
void glGetConvolutionFilter(@GLenum int target, @GLenum int format, @GLenum int type,
+ @OutParameter
@BufferObject(BufferKind.PackPBO)
@Check
@GLbyte
@@ -246,10 +250,10 @@
@GLdouble Buffer image);
@StripPostfix("params")
- void glGetConvolutionParameterfv(@GLenum int target, @GLenum int pname, @Check("4") FloatBuffer params);
+ void glGetConvolutionParameterfv(@GLenum int target, @GLenum int pname, @OutParameter @Check("4") FloatBuffer params);
@StripPostfix("params")
- void glGetConvolutionParameteriv(@GLenum int target, @GLenum int pname, @Check("4") IntBuffer params);
+ void glGetConvolutionParameteriv(@GLenum int target, @GLenum int pname, @OutParameter @Check("4") IntBuffer params);
// TODO: check buffer size valid
void glSeparableFilter2D(@GLenum int target, @GLenum int internalformat, @GLsizei int width, @GLsizei int height, @GLenum int format, @GLenum int type,
@@ -272,6 +276,7 @@
// TODO: check buffer size valid
void glGetSeparableFilter(@GLenum int target, @GLenum int format, @GLenum int type,
+ @OutParameter
@BufferObject(BufferKind.PackPBO)
@Check
@GLbyte
@@ -291,4 +296,4 @@
@GLshort
@GLint
@GLdouble Buffer span);
-}
\ No newline at end of file
+}
Modified: trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_occlusion_query.java
===================================================================
--- trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_occlusion_query.java 2007-04-23 16:47:25 UTC (rev 2796)
+++ trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_occlusion_query.java 2007-04-23 20:17:42 UTC (rev 2797)
@@ -67,11 +67,11 @@
void glEndQueryARB(@GLenum int target);
@StripPostfix("params")
- void glGetQueryivARB(@GLenum int target, @GLenum int pname, @Check("1") IntBuffer params);
+ void glGetQueryivARB(@GLenum int target, @GLenum int pname, @OutParameter @Check("1") IntBuffer params);
@StripPostfix("params")
- void glGetQueryObjectivARB(@GLuint int id, @GLenum int pname, @Check("1") IntBuffer params);
+ void glGetQueryObjectivARB(@GLuint int id, @GLenum int pname, @OutParameter @Check("1") IntBuffer params);
@StripPostfix("params")
- void glGetQueryObjectuivARB(@GLuint int id, @GLenum int pname, @Check("1") IntBuffer params);
-}
\ No newline at end of file
+ void glGetQueryObjectuivARB(@GLuint int id, @GLenum int pname, @OutParameter @Check("1") IntBuffer params);
+}
Modified: trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_program.java
===================================================================
--- trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_program.java 2007-04-23 16:47:25 UTC (rev 2796)
+++ trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_program.java 2007-04-23 20:17:42 UTC (rev 2797)
@@ -155,21 +155,21 @@
void glProgramLocalParameter4dvARB(@GLenum int target, @GLuint int index, @Check("4") @Const DoubleBuffer params);
@StripPostfix("params")
- void glGetProgramEnvParameterfvARB(@GLenum int target, @GLuint int index, @Check("4") FloatBuffer params);
+ void glGetProgramEnvParameterfvARB(@GLenum int target, @GLuint int index, @OutParameter @Check("4") FloatBuffer params);
@StripPostfix("params")
- void glGetProgramEnvParameterdvARB(@GLenum int target, @GLuint int index, @Check("4") DoubleBuffer params);
+ void glGetProgramEnvParameterdvARB(@GLenum int target, @GLuint int index, @OutParameter @Check("4") DoubleBuffer params);
@StripPostfix("params")
- void glGetProgramLocalParameterfvARB(@GLenum int target, @GLuint int index, @Check("4") FloatBuffer params);
+ void glGetProgramLocalParameterfvARB(@GLenum int target, @GLuint int index, @OutParameter @Check("4") FloatBuffer params);
@StripPostfix("params")
- void glGetProgramLocalParameterdvARB(@GLenum int target, @GLuint int index, @Check("4") DoubleBuffer params);
+ void glGetProgramLocalParameterdvARB(@GLenum int target, @GLuint int index, @OutParameter @Check("4") DoubleBuffer params);
@StripPostfix("params")
- void glGetProgramivARB(@GLenum int target, @GLenum int parameterName, @Check("4") IntBuffer params);
+ void glGetProgramivARB(@GLenum int target, @GLenum int parameterName, @OutParameter @Check("4") IntBuffer params);
- void glGetProgramStringARB(@GLenum int target, @GLenum int parameterName, @Check @GLbyte Buffer paramString);
+ void glGetProgramStringARB(@GLenum int target, @GLenum int parameterName, @OutParameter @Check @GLbyte Buffer paramString);
boolean glIsProgramARB(@GLuint int program);
}
Modified: trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_shader_objects.java
===================================================================
--- trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_shader_objects.java 2007-04-23 16:47:25 UTC (rev 2796)
+++ trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_shader_objects.java 2007-04-23 20:17:42 UTC (rev 2797)
@@ -177,17 +177,19 @@
void glUniformMatrix4fvARB(int location, @AutoSize(value = "matrices", expression = " >> 4") @GLsizei int count, boolean transpose, FloatBuffer matrices);
@StripPostfix("params")
- void glGetObjectParameterfvARB(@GLhandleARB int obj, @GLenum int pname, @Check FloatBuffer params);
+ void glGetObjectParameterfvARB(@GLhandleARB int obj, @GLenum int pname, @OutParameter @Check FloatBuffer params);
@StripPostfix("params")
- void glGetObjectParameterivARB(@GLhandleARB int obj, @GLenum int pname, @Check IntBuffer params);
+ void glGetObjectParameterivARB(@GLhandleARB int obj, @GLenum int pname, @OutParameter @Check IntBuffer params);
void glGetInfoLogARB(@GLhandleARB int obj, @AutoSize("infoLog") @GLsizei int maxLength,
+ @OutParameter
@Check(value = "1", canBeNull = true)
@GLsizei IntBuffer length,
@GLcharARB ByteBuffer infoLog);
void glGetAttachedObjectsARB(@GLhandleARB int containerObj, @AutoSize("obj") @GLsizei int maxCount,
+ @OutParameter
@Check(value = "1", canBeNull = true)
@GLsizei IntBuffer count,
@GLhandleARB IntBuffer obj);
@@ -201,6 +203,7 @@
int glGetUniformLocationARB(@GLhandleARB int programObj, @NullTerminated @Const @GLcharARB ByteBuffer name);
void glGetActiveUniformARB(@GLhandleARB int programObj, @GLuint int index, @AutoSize("name") @GLsizei int maxLength,
+ @OutParameter
@Check(value = "1", canBeNull = true)
@GLsizei IntBuffer length,
@Check("1") IntBuffer size,
@@ -209,12 +212,13 @@
@GLcharARB ByteBuffer name);
@StripPostfix("params")
- void glGetUniformfvARB(@GLhandleARB int programObj, int location, @Check FloatBuffer params);
+ void glGetUniformfvARB(@GLhandleARB int programObj, int location, @OutParameter @Check FloatBuffer params);
@StripPostfix("params")
- void glGetUniformivARB(@GLhandleARB int programObj, int location, @Check IntBuffer params);
+ void glGetUniformivARB(@GLhandleARB int programObj, int location, @OutParameter @Check IntBuffer params);
void glGetShaderSourceARB(@GLhandleARB int obj, @AutoSize("source") @GLsizei int maxLength,
+ @OutParameter
@Check(value = "1", canBeNull = true)
@GLsizei IntBuffer length,
@GLcharARB ByteBuffer source);
Modified: trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_texture_compression.java
===================================================================
--- trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_texture_compression.java 2007-04-23 16:47:25 UTC (rev 2796)
+++ trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_texture_compression.java 2007-04-23 20:17:42 UTC (rev 2797)
@@ -91,6 +91,7 @@
ByteBuffer pData);
void glGetCompressedTexImageARB(@GLenum int target, int lod,
+ @OutParameter
@BufferObject(BufferKind.PackPBO)
@Check
@GLvoid
Modified: trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_vertex_program.java
===================================================================
--- trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_vertex_program.java 2007-04-23 16:47:25 UTC (rev 2796)
+++ trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_vertex_program.java 2007-04-23 20:17:42 UTC (rev 2797)
@@ -130,13 +130,13 @@
void glDisableVertexAttribArrayARB(@GLuint int index);
@StripPostfix("params")
- void glGetVertexAttribfvARB(@GLuint int index, @GLenum int pname, @Check FloatBuffer params);
+ void glGetVertexAttribfvARB(@GLuint int index, @GLenum int pname, @OutParameter @Check FloatBuffer params);
@StripPostfix("params")
- void glGetVertexAttribdvARB(@GLuint int index, @GLenum int pname, @Check DoubleBuffer params);
+ void glGetVertexAttribdvARB(@GLuint int index, @GLenum int pname, @OutParameter @Check DoubleBuffer params);
@StripPostfix("params")
- void glGetVertexAttribivARB(@GLuint int index, @GLenum int pname, @Check IntBuffer params);
+ void glGetVertexAttribivARB(@GLuint int index, @GLenum int pname, @OutParameter @Check IntBuffer params);
@StripPostfix("result")
void glGetVertexAttribPointervARB(@GLuint int index, @GLenum int pname, @Result @GLvoid ByteBuffer result);
Modified: trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_vertex_shader.java
===================================================================
--- trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_vertex_shader.java 2007-04-23 16:47:25 UTC (rev 2796)
+++ trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_vertex_shader.java 2007-04-23 20:17:42 UTC (rev 2797)
@@ -144,23 +144,27 @@
void glGetActiveAttribARB(@GLhandleARB int programObj, @GLuint int index,
@AutoSize("name")
@GLsizei int maxLength,
+ @OutParameter
@Check(value = "1", canBeNull = true)
@GLsizei IntBuffer length,
+ @OutParameter
@Check("1") IntBuffer size,
+ @OutParameter
@Check("1")
@GLenum IntBuffer type,
+ @OutParameter
@GLcharARB ByteBuffer name);
int glGetAttribLocationARB(@GLhandleARB int programObj, @NullTerminated @Const @GLcharARB ByteBuffer name);
@StripPostfix("params")
- void glGetVertexAttribfvARB(@GLuint int index, @GLenum int pname, @Check FloatBuffer params);
+ void glGetVertexAttribfvARB(@GLuint int index, @GLenum int pname, @OutParameter @Check FloatBuffer params);
@StripPostfix("params")
- void glGetVertexAttribdvARB(@GLuint int index, @GLenum int pname, @Check DoubleBuffer params);
+ void glGetVertexAttribdvARB(@GLuint int index, @GLenum int pname, @OutParameter @Check DoubleBuffer params);
@StripPostfix("params")
- void glGetVertexAttribivARB(@GLuint int index, @GLenum int pname, @Check IntBuffer params);
+ void glGetVertexAttribivARB(@GLuint int index, @GLenum int pname, @OutParameter @Check IntBuffer params);
@StripPostfix("result")
void glGetVertexAttribPointervARB(@GLuint int index, @GLenum int pname, @Result @GLvoid ByteBuffer result);
Modified: trunk/LWJGL/src/templates/org/lwjgl/opengl/ATI_envmap_bumpmap.java
===================================================================
--- trunk/LWJGL/src/templates/org/lwjgl/opengl/ATI_envmap_bumpmap.java 2007-04-23 16:47:25 UTC (rev 2796)
+++ trunk/LWJGL/src/templates/org/lwjgl/opengl/ATI_envmap_bumpmap.java 2007-04-23 20:17:42 UTC (rev 2797)
@@ -52,8 +52,8 @@
void glTexBumpParameterivATI(@GLenum int pname, @Check("4") @Const IntBuffer param);
@StripPostfix("param")
- void glGetTexBumpParameterfvATI(@GLenum int pname, @Check("4") FloatBuffer param);
+ void glGetTexBumpParameterfvATI(@GLenum int pname, @OutParameter @Check("4") FloatBuffer param);
@StripPostfix("param")
- void glGetTexBumpParameterivATI(@GLenum int pname, @Check("4") IntBuffer param);
+ void glGetTexBumpParameterivATI(@GLenum int pname, @OutParameter @Check("4") IntBuffer param);
}
Modified: trunk/LWJGL/src/templates/org/lwjgl/opengl/ATI_vertex_array_object.java
===================================================================
--- trunk/LWJGL/src/templates/org/lwjgl/opengl/ATI_vertex_array_object.java 2007-04-23 16:47:25 UTC (rev 2796)
+++ trunk/LWJGL/src/templates/org/lwjgl/opengl/ATI_vertex_array_object.java 2007-04-23 20:17:42 UTC (rev 2797)
@@ -66,26 +66,26 @@
@GLdouble Buffer pPointer, @GLenum int preserve);
@StripPostfix("params")
- void glGetObjectBufferfvATI(@GLuint int buffer, @GLenum int pname, @Check FloatBuffer params);
+ void glGetObjectBufferfvATI(@GLuint int buffer, @GLenum int pname, @OutParameter @Check FloatBuffer params);
@StripPostfix("params")
- void glGetObjectBufferivATI(@GLuint int buffer, @GLenum int pname, @Check IntBuffer params);
+ void glGetObjectBufferivATI(@GLuint int buffer, @GLenum int pname, @OutParameter @Check IntBuffer params);
void glFreeObjectBufferATI(@GLuint int buffer);
void glArrayObjectATI(@GLenum int array, int size, @GLenum int type, @GLsizei int stride, @GLuint int buffer, @GLuint int offset);
@StripPostfix("params")
- void glGetArrayObjectfvATI(@GLenum int array, @GLenum int pname, @Check("4") FloatBuffer params);
+ void glGetArrayObjectfvATI(@GLenum int array, @GLenum int pname, @OutParameter @Check("4") FloatBuffer params);
@StripPostfix("params")
- void glGetArrayObjectivATI(@GLenum int array, @GLenum int pname, @Check("4") IntBuffer params);
+ void glGetArrayObjectivATI(@GLenum int array, @GLenum int pname, @OutParameter @Check("4") IntBuffer params);
void glVariantArrayObjectATI(@GLuint int id, @GLenum int type, @GLsizei int stride, @GLuint int buffer, @GLuint int offset);
@StripPostfix("params")
- void glGetVariantArrayObjectfvATI(@GLuint int id, @GLenum int pname, @Check("4") FloatBuffer params);
+ void glGetVariantArrayObjectfvATI(@GLuint int id, @GLenum int pname, @OutParameter @Check("4") FloatBuffer params);
@StripPostfix("params")
- void glGetVariantArrayObjectivATI(@GLuint int id, @GLenum int pname, @Check("4") IntBuffer params);
+ void glGetVariantArrayObjectivATI(@GLuint int id, @GLenum int pname, @OutParameter @Check("4") IntBuffer params);
}
Modified: trunk/LWJGL/src/templates/org/lwjgl/opengl/ATI_vertex_attrib_array_object.java
===================================================================
--- trunk/LWJGL/src/templates/org/lwjgl/opengl/ATI_vertex_attrib_array_object.java 2007-04-23 16:47:25 UTC (rev 2796)
+++ trunk/LWJGL/src/templates/org/lwjgl/opengl/ATI_vertex_attrib_array_object.java 2007-04-23 20:17:42 UTC (rev 2797)
@@ -39,8 +39,8 @@
void glVertexAttribArrayObjectATI(@GLuint int index, int size, @GLenum int type, boolean normalized, @GLsizei int stride, @GLuint int buffer, @GLuint int offset);
@StripPostfix("params")
- void glGetVertexAttribArrayObjectfvATI(@GLuint int index, @GLenum int pname, @Check("4") FloatBuffer params);
+ void glGetVertexAttribArrayObjectfvATI(@GLuint int index, @GLenum int pname, @OutParameter @Check("4") FloatBuffer params);
@StripPostfix("params")
- void glGetVertexAttribArrayObjectivATI(@GLuint int index, @GLenum int pname, @Check("4") IntBuffer params);
+ void glGetVertexAttribArrayObjectivATI(@GLuint int index, @GLenum int pname, @OutParameter @Check("4") IntBuffer params);
}
Modified: trunk/LWJGL/src/templates/org/lwjgl/opengl/EXT_draw_buffers2.java
===================================================================
--- trunk/LWJGL/src/templates/org/lwjgl/opengl/EXT_draw_buffers2.java 2007-04-23 16:47:25 UTC (rev 2796)
+++ trunk/LWJGL/src/templates/org/lwjgl/opengl/EXT_draw_buffers2.java 2007-04-23 20:17:42 UTC (rev 2797)
@@ -41,10 +41,10 @@
void glColorMaskIndexedEXT(@GLuint int buf, boolean r, boolean g, boolean b, boolean a);
@StripPostfix("data")
- void glGetBooleanIndexedvEXT(@GLenum int value, @GLuint int index, @Check("4") @GLboolean ByteBuffer data);
+ void glGetBooleanIndexedvEXT(@GLenum int value, @GLuint int index, @OutParameter @Check("4") @GLboolean ByteBuffer data);
@StripPostfix("data")
- void glGetIntegerIndexedvEXT(@GLenum int value, @GLuint int index, @Check("4") IntBuffer data);
+ void glGetIntegerIndexedvEXT(@GLenum int value, @GLuint int index, @OutParameter @Check("4") IntBuffer data);
void glEnableIndexedEXT(@GLenum int target, @GLuint int index);
@@ -52,4 +52,4 @@
boolean glIsEnabledIndexedEXT(@GLenum int target, @GLuint int index);
-}
\ No newline at end of file
+}
Modified: trunk/LWJGL/src/templates/org/lwjgl/opengl/EXT_framebuffer_object.java
===================================================================
--- trunk/LWJGL/src/templates/org/lwjgl/opengl/EXT_framebuffer_object.java 2007-04-23 16:47:25 UTC (rev 2796)
+++ trunk/LWJGL/src/templates/org/lwjgl/opengl/EXT_framebuffer_object.java 2007-04-23 20:17:42 UTC (rev 2797)
@@ -143,7 +143,7 @@
void glRenderbufferStorageEXT(@GLenum int target, @GLenum int internalformat, @GLsizei int width, @GLsizei int height);
@StripPostfix("params")
- void glGetRenderbufferParameterivEXT(@GLenum int target, @GLenum int pname, @Check("4") IntBuffer params);
+ void glGetRenderbufferParameterivEXT(@GLenum int target, @GLenum int pname, @OutParameter @Check("4") IntBuffer params);
boolean glIsFramebufferEXT(@GLuint int framebuffer);
@@ -165,7 +165,7 @@
void glFramebufferRenderbufferEXT(@GLenum int target, @GLenum int attachment, @GLenum int renderbuffertarget, @GLuint int renderbuffer);
@StripPostfix("params")
- void glGetFramebufferAttachmentParameterivEXT(@GLenum int target, @GLenum int attachment, @GLenum int pname, @Check("4") IntBuffer params);
+ void glGetFramebufferAttachmentParameterivEXT(@GLenum int target, @GLenum int attachment, @GLenum int pname, @OutParameter @Check("4") IntBuffer params);
void glGenerateMipmapEXT(@GLenum int target);
}
Modified: trunk/LWJGL/src/templates/org/lwjgl/opengl/EXT_gpu_shader4.java
===================================================================
--- trunk/LWJGL/src/templates/org/lwjgl/opengl/EXT_gpu_shader4.java 2007-04-23 16:47:25 UTC (rev 2796)
+++ trunk/LWJGL/src/templates/org/lwjgl/opengl/EXT_gpu_shader4.java 2007-04-23 20:17:42 UTC (rev 2797)
@@ -148,10 +148,10 @@
@GLuint Buffer buffer);
@StripPostfix("params")
- void glGetVertexAttribIivEXT(@GLuint int index, @GLenum int pname, @Check("4")IntBuffer params);
+ void glGetVertexAttribIivEXT(@GLuint int index, @GLenum int pname, @OutParameter @Check("4")IntBuffer params);
@StripPostfix("params")
- void glGetVertexAttribIuivEXT(@GLuint int index, @GLenum int pname, @Check("4") @GLuint IntBuffer params);
+ void glGetVertexAttribIuivEXT(@GLuint int index, @GLenum int pname, @OutParameter @Check("4") @GLuint IntBuffer params);
void glUniform1uiEXT(int location, @GLuint int v0);
@@ -174,10 +174,10 @@
void glUniform4uivEXT(int location, @AutoSize(value = "value", expression = " >> 2") @GLsizei int count, @Const @GLuint IntBuffer value);
@StripPostfix("params")
- void glGetUniformuivEXT(@GLuint int program, int location, @Check @GLuint IntBuffer params);
+ void glGetUniformuivEXT(@GLuint int program, int location, @OutParameter @Check @GLuint IntBuffer params);
void glBindFragDataLocationEXT(@GLuint int program, @GLuint int colorNumber, @NullTerminated @Const @GLchar ByteBuffer name);
int glGetFragDataLocationEXT(@GLuint int program, @NullTerminated @Const @GLchar ByteBuffer name);
-}
\ No newline at end of file
+}
Modified: trunk/LWJGL/src/templates/org/lwjgl/opengl/EXT_paletted_texture.java
===================================================================
--- trunk/LWJGL/src/templates/org/lwjgl/opengl/EXT_paletted_texture.java 2007-04-23 16:47:25 UTC (rev 2796)
+++ trunk/LWJGL/src/templates/org/lwjgl/opengl/EXT_paletted_texture.java 2007-04-23 20:17:42 UTC (rev 2797)
@@ -85,6 +85,7 @@
@GLdouble Buffer data);
void glGetColorTableEXT(@GLenum int target, @GLenum int format, @GLenum int type,
+ @OutParameter
@Check
@GLbyte
@GLshort
@@ -93,8 +94,8 @@
@GLdouble Buffer data);
@StripPostfix("params")
- void glGetColorTableParameterivEXT(@GLenum int target, @GLenum int pname, @Check("4") IntBuffer params);
+ void glGetColorTableParameterivEXT(@GLenum int target, @GLenum int pname, @OutParameter @Check("4") IntBuffer params);
@StripPostfix("params")
- void glGetColorTableParameterfvEXT(@GLenum int target, @GLenum int pname, @Check("4") FloatBuffer params);
+ void glGetColorTableParameterfvEXT(@GLenum int target, @GLenum int pname, @OutParameter @Check("4") FloatBuffer params);
}
Modified: trunk/LWJGL/src/templates/org/lwjgl/opengl/EXT_texture_integer.java
===================================================================
--- trunk/LWJGL/src/templates/org/lwjgl/opengl/EXT_texture_integer.java 2007-04-23 16:47:25 UTC (rev 2796)
+++ trunk/LWJGL/src/templates/org/lwjgl/opengl/EXT_texture_integer.java 2007-04-23 20:17:42 UTC (rev 2797)
@@ -35,6 +35,7 @@
import org.lwjgl.util.generator.GLenum;
import org.lwjgl.util.generator.GLuint;
import org.lwjgl.util.generator.StripPostfix;
+import org.lwjgl.util.generator.OutParameter;
import java.nio.IntBuffer;
@@ -113,15 +114,15 @@
void glClearColorIuiEXT(@GLuint int r, @GLuint int g, @GLuint int b, @GLuint int a);
@StripPostfix("params")
- void glTexParameterIivEXT(@GLenum int target, @GLenum int pname, @Check("4")IntBuffer params);
+ void glTexParameterIivEXT(@GLenum int target, @GLenum int pname, @Check("4") IntBuffer params);
@StripPostfix("params")
void glTexParameterIuivEXT(@GLenum int target, @GLenum int pname, @Check("4") @GLuint IntBuffer params);
@StripPostfix("params")
- void glGetTexParameterIivEXT(@GLenum int target, @GLenum int pname, @Check("4")IntBuffer params);
+ void glGetTexParameterIivEXT(@GLenum int target, @GLenum int pname, @OutParameter @Check("4") IntBuffer params);
@StripPostfix("params")
- void glGetTexParameterIuivEXT(@GLenum int target, @GLenum int pname, @Check("4") @GLuint IntBuffer params);
+ void glGetTexParameterIuivEXT(@GLenum int target, @GLenum int pname, @OutParameter @Check("4") @GLuint IntBuffer params);
-}
\ No newline at end of file
+}
Modified: trunk/LWJGL/src/templates/org/lwjgl/opengl/EXT_timer_query.java
===================================================================
--- trunk/LWJGL/src/templates/org/lwjgl/opengl/EXT_timer_query.java 2007-04-23 16:47:25 UTC (rev 2796)
+++ trunk/LWJGL/src/templates/org/lwjgl/opengl/EXT_timer_query.java 2007-04-23 20:17:42 UTC (rev 2797)
@@ -44,9 +44,9 @@
int GL_TIME_ELAPSED_EXT = 0x88BF;
@StripPostfix("params")
- void glGetQueryObjecti64vEXT(@GLuint int id, @GLenum int pname, @Check("1") @GLint64EXT LongBuffer params);
+ void glGetQueryObjecti64vEXT(@GLuint int id, @GLenum int pname, @OutParameter @Check("1") @GLint64EXT LongBuffer params);
@StripPostfix("params")
- void glGetQueryObjectui64vEXT(@GLuint int id, @GLenum int pname, @Check("1") @GLuint64EXT LongBuffer params);
+ void glGetQueryObjectui64vEXT(@GLuint int id, @GLenum int pname, @OutParameter @Check("1") @GLuint64EXT LongBuffer params);
-}
\ No newline at end of file
+}
Modified: trunk/LWJGL/src/templates/org/lwjgl/opengl/EXT_vertex_shader.java
===================================================================
--- trunk/LWJGL/src/templates/org/lwjgl/opengl/EXT_vertex_shader.java 2007-04-23 16:47:25 UTC (rev 2796)
+++ trunk/LWJGL/src/templates/org/lwjgl/opengl/EXT_vertex_shader.java 2007-04-23 20:17:42 UTC (rev 2797)
@@ -259,32 +259,32 @@
boolean glIsVariantEnabledEXT(@GLuint int id, @GLenum int cap);
@StripPostfix("pbData")
- void glGetVariantBooleanvEXT(@GLuint int id, @GLenum int value, @Check("4") ByteBuffer pbData);
+ void glGetVariantBooleanvEXT(@GLuint int id, @GLenum int value, @OutParameter @Check("4") ByteBuffer pbData);
@StripPostfix("pbData")
- void glGetVariantIntegervEXT(@GLuint int id, @GLenum int value, @Check("4") IntBuffer pbData);
+ void glGetVariantIntegervEXT(@GLuint int id, @GLenum int value, @OutParameter @Check("4") IntBuffer pbData);
@StripPostfix("pbData")
- void glGetVariantFloatvEXT(@GLuint int id, @GLenum int value, @Check("4") FloatBuffer pbData);
+ void glGetVariantFloatvEXT(@GLuint int id, @GLenum int value, @OutParameter @Check("4") FloatBuffer pbData);
@StripPostfix("pbData")
- void glGetVariantPointervEXT(@GLuint int id, @GLenum int value, @Result @GLvoid ByteBuffer pbData);
+ void glGetVariantPointervEXT(@GLuint int id, @GLenum int value, @OutParameter @Result @GLvoid ByteBuffer pbData);
@StripPostfix("pbData")
- void glGetInvariantBooleanvEXT(@GLuint int id, @GLenum int value, @Check("4") ByteBuffer pbData);
+ void glGetInvariantBooleanvEXT(@GLuint int id, @GLenum int value, @OutParameter @Check("4") ByteBuffer pbData);
@StripPostfix("pbData")
- void glGetInvariantIntegervEXT(@GLuint int id, @GLenum int value, @Check("4") IntBuffer pbData);
+ void glGetInvariantIntegervEXT(@GLuint int id, @GLenum int value, @OutParameter @Check("4") IntBuffer pbData);
@StripPostfix("pbData")
- void glGetInvariantFloatvEXT(@GLuint int id, @GLenum int value, @Check("4") FloatBuffer pbData);
+ void glGetInvariantFloatvEXT(@GLuint int id, @GLenum int value, @OutParameter @Check("4") FloatBuffer pbData);
@StripPostfix("pbData")
- void glGetLocalConstantBooleanvEXT(@GLuint int id, @GLenum int value, @Check("4") ByteBuffer pbData);
+ void glGetLocalConstantBooleanvEXT(@GLuint int id, @GLenum int value, @OutParameter @Check("4") ByteBuffer pbData);
@StripPostfix("pbData")
- void glGetLocalConstantIntegervEXT(@GLuint int id, @GLenum int value, @Check("4") IntBuffer pbData);
+ void glGetLocalConstantIntegervEXT(@GLuint int id, @GLenum int value, @OutParameter @Check("4") IntBuffer pbData);
@StripPostfix("pbData")
- void glGetLocalConstantFloatvEXT(@GLuint int id, @GLenum int value, @Check("4") FloatBuffer pbData);
+ void glGetLocalConstantFloatvEXT(@GLuint int id, @GLenum int value, @OutParameter @Check("4") FloatBuffer pbData);
}
Modified: trunk/LWJGL/src/templates/org/lwjgl/opengl/GL11.java
===================================================================
--- trunk/LWJGL/src/templates/org/lwjgl/opengl/GL11.java 2007-04-23 16:47:25 UTC (rev 2796)
+++ trunk/LWJGL/src/templates/org/lwjgl/opengl/GL11.java 2007-04-23 20:17:42 UTC (rev 2797)
@@ -886,51 +886,51 @@
void glFeedbackBuffer(@AutoSize("buffer") @GLsizei int size, @GLenum int type, FloatBuffer buffer);
@StripPostfix("values")
- void glGetPixelMapfv(@GLenum int map, @Check("256") @BufferObject(BufferKind.PackPBO) FloatBuffer values);
+ void glGetPixelMapfv(@GLenum int map, @OutParameter @Check("256") @BufferObject(BufferKind.PackPBO) FloatBuffer values);
@StripPostfix("values")
- void glGetPixelMapuiv(@GLenum int map, @Check("256") @BufferObject(BufferKind.PackPBO) @GLuint IntBuffer values);
+ void glGetPixelMapuiv(@GLenum int map, @OutParameter @Check("256") @BufferObject(BufferKind.PackPBO) @GLuint IntBuffer values);
@StripPostfix("values")
- void glGetPixelMapusv(@GLenum int map, @Check("256") @BufferObject(BufferKind.PackPBO) @GLushort ShortBuffer values);
+ void glGetPixelMapusv(@GLenum int map, @OutParameter @Check("256") @BufferObject(BufferKind.PackPBO) @GLushort ShortBuffer values);
@StripPostfix("params")
- void glGetMaterialfv(@GLenum int face, @GLenum int pname, @Check("4") FloatBuffer params);
+ void glGetMaterialfv(@GLenum int face, @GLenum int pname, @OutParameter @Check("4") FloatBuffer params);
@StripPostfix("params")
- void glGetMaterialiv(@GLenum int face, @GLenum int pname, @Check("4") IntBuffer params);
+ void glGetMaterialiv(@GLenum int face, @GLenum int pname, @OutParameter @Check("4") IntBuffer params);
@StripPostfix("v")
- void glGetMapfv(@GLenum int target, @GLenum int query, @Check("256") FloatBuffer v);
+ void glGetMapfv(@GLenum int target, @GLenum int query, @OutParameter @Check("256") FloatBuffer v);
@StripPostfix("v")
- void glGetMapdv(@GLenum int target, @GLenum int query, @Check("256") DoubleBuffer v);
+ void glGetMapdv(@GLenum int target, @GLenum int query, @OutParameter @Check("256") DoubleBuffer v);
@StripPostfix("v")
- void glGetMapiv(@GLenum int target, @GLenum int query, @Check("256") IntBuffer v);
+ void glGetMapiv(@GLenum int target, @GLenum int query, @OutParameter @Check("256") IntBuffer v);
@StripPostfix("params")
- void glGetLightfv(@GLenum int light, @GLenum int pname, @Check("4") FloatBuffer params);
+ void glGetLightfv(@GLenum int light, @GLenum int pname, @OutParameter @Check("4") FloatBuffer params);
@StripPostfix("params")
- void glGetLightiv(@GLenum int light, @GLenum int pname, @Check("4") IntBuffer params);
+ void glGetLightiv(@GLenum int light, @GLenum int pname, @OutParameter @Check("4") IntBuffer params);
@NoErrorCheck
int glGetError();
- void glGetClipPlane(@GLenum int plane, @Check("4") DoubleBuffer equation);
+ void glGetClipPlane(@GLenum int plane, @OutParameter @Check("4") DoubleBuffer equation);
@StripPostfix("params")
- void glGetBooleanv(@GLenum int pname, @Check("16") @GLboolean ByteBuffer params);
+ void glGetBooleanv(@GLenum int pname, @OutParameter @Check("16") @GLboolean ByteBuffer params);
@StripPostfix("params")
- void glGetDoublev(@GLenum int pname, @Check("16") DoubleBuffer params);
+ void glGetDoublev(@GLenum int pname, @OutParameter @Check("16") DoubleBuffer params);
@StripPostfix("params")
- void glGetFloatv(@GLenum int pname, @Check("16") FloatBuffer params);
+ void glGetFloatv(@GLenum int pname, @OutParameter @Check("16") FloatBuffer params);
@StripPostfix("params")
- void glGetIntegerv(@GLenum int pname, @Check("16") IntBuffer params);
+ void glGetIntegerv(@GLenum int pname, @OutParameter @Check("16") IntBuffer params);
void glGenTextures(@AutoSize("textures") @GLsizei int n, @GLuint IntBuffer textures);
@@ -975,18 +975,19 @@
void glHint(@GLenum int target, @GLenum int mode);
@StripPostfix("params")
- void glGetTexParameterfv(@GLenum int target, @GLenum int pname, @Check("4") FloatBuffer params);
+ void glGetTexParameterfv(@GLenum int target, @GLenum int pname, @OutParameter @Check("4") FloatBuffer params);
@StripPostfix("params")
- void glGetTexParameteriv(@GLenum int target, @GLenum int pname, @Check("4") IntBuffer params);
+ void glGetTexParameteriv(@GLenum int target, @GLenum int pname, @OutParameter @Check("4") IntBuffer params);
@StripPostfix("params")
- void glGetTexLevelParameterfv(@GLenum int target, int level, @GLenum int pname, @Check("4") FloatBuffer params);
+ void glGetTexLevelParameterfv(@GLenum int target, int level, @GLenum int pname, @OutParameter @Check("4") FloatBuffer params);
@StripPostfix("params")
- void glGetTexLevelParameteriv(@GLenum int target, int level, @GLenum int pname, @Check("4") IntBuffer params);
+ void glGetTexLevelParameteriv(@GLenum int target, int level, @GLenum int pname, @OutParameter @Check("4") IntBuffer params);
void glGetTexImage(@GLenum int target, int level, @GLenum int format, @GLenum int type,
+ @OutParameter
@BufferObject(BufferKind.PackPBO)
@Check("GLChecks.calculateImageStorage(pixels, format, type, 1, 1, 1)")
@GLbyte
@@ -996,24 +997,24 @@
@GLdouble Buffer pixels);
@StripPostfix("params")
- void glGetTexGeniv(@GLenum int coord, @GLenum int pname, @Check("4") IntBuffer params);
+ void glGetTexGeniv(@GLenum int coord, @GLenum int pname, @OutParameter @Check("4") IntBuffer params);
@StripPostfix("params")
- void glGetTexGenfv(@GLenum int coord, @GLenum int pname, @Check("4") FloatBuffer params);
+ void glGetTexGenfv(@GLenum int coord, @GLenum int pname, @OutParameter @Check("4") FloatBuffer params);
@StripPostfix("params")
- void glGetTexGendv(@GLenum int coord, @GLenum int pname, @Check("4") DoubleBuffer params);
+ void glGetTexGendv(@GLenum int coord, @GLenum int pname, @OutParameter @Check("4") DoubleBuffer params);
@StripPostfix("params")
- void glGetTexEnviv(@GLenum int coord, @GLenum int pname, @Check("4") IntBuffer params);
+ void glGetTexEnviv(@GLenum int coord, @GLenum int pname, @OutParameter @Check("4") IntBuffer params);
@StripPostfix("params")
- void glGetTexEnvfv(@GLenum int coord, @GLenum int pname, @Check("4") FloatBuffer params);
+ void glGetTexEnvfv(@GLenum int coord, @GLenum int pname, @OutParameter @Check("4") FloatBuffer params);
@Const
String glGetString(int name);
- void glGetPolygonStipple(@BufferObject(BufferKind.PackPBO) @Check("1024") @GLubyte ByteBuffer mask);
+ void glGetPolygonStipple(@OutParameter @BufferObject(BufferKind.PackPBO) @Check("1024") @GLubyte ByteBuffer mask);
boolean glIsList(@GLuint int list);
Modified: trunk/LWJGL/src/templates/org/lwjgl/opengl/GL13.java
===================================================================
--- trunk/LWJGL/src/templates/org/lwjgl/opengl/GL13.java 2007-04-23 16:47:25 UTC (rev 2796)
+++ trunk/LWJGL/src/templates/org/lwjgl/opengl/GL13.java 2007-04-23 20:17:42 UTC (rev 2797)
@@ -194,6 +194,7 @@
// TODO: check buffer size valid
void glGetCompressedTexImage(@GLenum int target, int lod,
+ ...
[truncated message content] |