Added support for non-direct in glGet* style functions

This commit is contained in:
Elias Naur 2007-04-23 20:17:42 +00:00
parent 7ee398fe4e
commit b386d2185b
37 changed files with 446 additions and 167 deletions

View File

@ -67,6 +67,36 @@ public final class NondirectBufferWrapper {
return buffers; 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) { public static ByteBuffer wrapBuffer(ByteBuffer buf, int size) {
BufferChecks.checkBufferSize(buf, size); BufferChecks.checkBufferSize(buf, size);
return wrapDirect(buf); return wrapDirect(buf);
@ -133,8 +163,138 @@ public final class NondirectBufferWrapper {
return buffer; 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) { private static ByteBuffer doWrap(ByteBuffer buffer) {
ByteBuffer direct_buffer = getCachedBuffers(buffer.remaining()).byte_buffer; ByteBuffer direct_buffer = lookupBuffer(buffer);
direct_buffer.clear(); direct_buffer.clear();
int saved_position = buffer.position(); int saved_position = buffer.position();
direct_buffer.put(buffer); direct_buffer.put(buffer);
@ -143,9 +303,13 @@ public final class NondirectBufferWrapper {
return direct_buffer; 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) { private static ShortBuffer doWrap(ShortBuffer buffer) {
CachedBuffers buffers = getCachedBuffers(buffer.remaining()*2); ShortBuffer direct_buffer = lookupBuffer(buffer);
ShortBuffer direct_buffer = buffer.order() == ByteOrder.LITTLE_ENDIAN ? buffers.short_buffer_little : buffers.short_buffer_big;
direct_buffer.clear(); direct_buffer.clear();
int saved_position = buffer.position(); int saved_position = buffer.position();
direct_buffer.put(buffer); direct_buffer.put(buffer);
@ -154,9 +318,13 @@ public final class NondirectBufferWrapper {
return direct_buffer; 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) { private static FloatBuffer doWrap(FloatBuffer buffer) {
CachedBuffers buffers = getCachedBuffers(buffer.remaining()*4); FloatBuffer direct_buffer = lookupBuffer(buffer);
FloatBuffer direct_buffer = buffer.order() == ByteOrder.LITTLE_ENDIAN ? buffers.float_buffer_little : buffers.float_buffer_big;
direct_buffer.clear(); direct_buffer.clear();
int saved_position = buffer.position(); int saved_position = buffer.position();
direct_buffer.put(buffer); direct_buffer.put(buffer);
@ -165,9 +333,13 @@ public final class NondirectBufferWrapper {
return direct_buffer; 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) { private static IntBuffer doWrap(IntBuffer buffer) {
CachedBuffers buffers = getCachedBuffers(buffer.remaining()*4); IntBuffer direct_buffer = lookupBuffer(buffer);
IntBuffer direct_buffer = buffer.order() == ByteOrder.LITTLE_ENDIAN ? buffers.int_buffer_little : buffers.int_buffer_big;
direct_buffer.clear(); direct_buffer.clear();
int saved_position = buffer.position(); int saved_position = buffer.position();
direct_buffer.put(buffer); direct_buffer.put(buffer);
@ -176,9 +348,13 @@ public final class NondirectBufferWrapper {
return direct_buffer; 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) { private static LongBuffer doWrap(LongBuffer buffer) {
CachedBuffers buffers = getCachedBuffers(buffer.remaining()*8); LongBuffer direct_buffer = lookupBuffer(buffer);
LongBuffer direct_buffer = buffer.order() == ByteOrder.LITTLE_ENDIAN ? buffers.long_buffer_little : buffers.long_buffer_big;
direct_buffer.clear(); direct_buffer.clear();
int saved_position = buffer.position(); int saved_position = buffer.position();
direct_buffer.put(buffer); direct_buffer.put(buffer);
@ -187,9 +363,13 @@ public final class NondirectBufferWrapper {
return direct_buffer; return direct_buffer;
} }
private static DoubleBuffer doWrap(DoubleBuffer buffer) { private static DoubleBuffer lookupBuffer(DoubleBuffer buffer) {
CachedBuffers buffers = getCachedBuffers(buffer.remaining()*8); CachedBuffers buffers = getCachedBuffers(buffer.remaining()*8);
DoubleBuffer direct_buffer = buffer.order() == ByteOrder.LITTLE_ENDIAN ? buffers.double_buffer_little : buffers.double_buffer_big; return buffer.order() == ByteOrder.LITTLE_ENDIAN ? buffers.double_buffer_little : buffers.double_buffer_big;
}
private static DoubleBuffer doWrap(DoubleBuffer buffer) {
DoubleBuffer direct_buffer = lookupBuffer(buffer);
direct_buffer.clear(); direct_buffer.clear();
int saved_position = buffer.position(); int saved_position = buffer.position();
direct_buffer.put(buffer); direct_buffer.put(buffer);

View File

@ -50,6 +50,8 @@ import java.util.*;
import java.nio.*; import java.nio.*;
public class JavaMethodsGenerator { 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) { 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()) for (MethodDeclaration method : interface_decl.getMethods())
generateMethodJava(env, type_map, writer, interface_decl, method, generate_error_checks, context_specific); generateMethodJava(env, type_map, writer, interface_decl, method, generate_error_checks, context_specific);
@ -197,7 +199,7 @@ public class JavaMethodsGenerator {
if (code_annotation != null) if (code_annotation != null)
writer.println(code_annotation.value()); writer.println(code_annotation.value());
printBufferObjectChecks(writer, method, mode); printBufferObjectChecks(writer, method, mode);
printParameterChecks(writer, method, mode); printParameterChecks(writer, method, typeinfos_instance, mode);
printParameterCaching(writer, interface_decl, method, mode); printParameterCaching(writer, interface_decl, method, mode);
writer.print("\t\t"); writer.print("\t\t");
boolean has_result = !result_type.equals(env.getTypeUtils().getVoidType()); boolean has_result = !result_type.equals(env.getTypeUtils().getVoidType());
@ -218,6 +220,7 @@ public class JavaMethodsGenerator {
writer.println(");"); writer.println(");");
if (generate_error_checks && method.getAnnotation(NoErrorCheck.class) == null) if (generate_error_checks && method.getAnnotation(NoErrorCheck.class) == null)
writer.println("\t\t" + type_map.getErrorCheckMethodName() + ";"); writer.println("\t\t" + type_map.getErrorCheckMethodName() + ";");
printNondirectParameterCopies(writer, method, mode);
if (has_result) if (has_result)
writer.println("\t\treturn " + Utils.RESULT_VAR_NAME + ";"); writer.println("\t\treturn " + Utils.RESULT_VAR_NAME + ";");
writer.println("\t}"); writer.println("\t}");
@ -409,7 +412,23 @@ public class JavaMethodsGenerator {
} }
} }
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()) { for (ParameterDeclaration param : method.getParameters()) {
Class java_type = Utils.getJavaType(param.getType()); Class java_type = Utils.getJavaType(param.getType());
if (Utils.isAddressableType(java_type) && if (Utils.isAddressableType(java_type) &&
@ -426,7 +445,9 @@ public class JavaMethodsGenerator {
boolean null_terminated = param.getAnnotation(NullTerminated.class) != null; boolean null_terminated = param.getAnnotation(NullTerminated.class) != null;
if (Buffer.class.isAssignableFrom(java_type)) { if (Buffer.class.isAssignableFrom(java_type)) {
boolean indirect_buffer_allowed = param.getAnnotation(CachedReference.class) == null; 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)) { } else if (String.class.equals(java_type)) {
if (!can_be_null) if (!can_be_null)
writer.println("\t\tBufferChecks.checkNotNull(" + param.getSimpleName() + ");"); writer.println("\t\tBufferChecks.checkNotNull(" + param.getSimpleName() + ");");
@ -434,17 +455,22 @@ public class JavaMethodsGenerator {
} }
} }
if (method.getAnnotation(CachedResult.class) != null) 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) { if (can_be_null) {
writer.println("\t\tif (" + name + " != null)"); writer.println("\t\tif (" + name + " != null)");
writer.print("\t"); writer.print("\t");
} }
if (indirect_buffer_allowed) if (indirect_buffer_allowed) {
writer.print("\t\t" + name + " = NondirectBufferWrapper.wrap"); writer.print("\t\t" + name + " = NondirectBufferWrapper.wrap");
else if (out_parameter)
writer.print("NoCopy");
} else
writer.print("\t\tBufferChecks.check"); writer.print("\t\tBufferChecks.check");
if (check_value != null && !"".equals(check_value) ) { if (check_value != null && !"".equals(check_value) ) {
writer.print("Buffer(" + name + ", " + check_value); writer.print("Buffer(" + name + ", " + check_value);

View File

@ -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 <elias_naur@users.sourceforge.net>
* @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 {
}

View File

@ -480,7 +480,7 @@ public interface AL10 {
*/ */
@StripPostfix("data") @StripPostfix("data")
@ALvoid @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. * Like OpenGL, AL uses a simplified interface for querying global state.
@ -498,7 +498,7 @@ public interface AL10 {
*/ */
@StripPostfix("data") @StripPostfix("data")
@ALvoid @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. * Like OpenGL, AL uses a simplified interface for querying global state.
@ -516,7 +516,7 @@ public interface AL10 {
*/ */
@StripPostfix("data") @StripPostfix("data")
@ALvoid @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. * The application can retrieve state information global to the current AL Context.
@ -711,7 +711,7 @@ public interface AL10 {
// TODO: What's the real minimum number of elements? // TODO: What's the real minimum number of elements?
@StripPostfix("floatdata") @StripPostfix("floatdata")
@ALvoid @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. * The application requests a number of Sources using GenSources.
@ -827,7 +827,7 @@ public interface AL10 {
// TODO: What's the correct minimum value? // TODO: What's the correct minimum value?
@StripPostfix("floatdata") @StripPostfix("floatdata")
@ALvoid @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 * Play() applied to an AL_INITIAL Source will promote the Source to AL_PLAYING, thus

View File

@ -100,7 +100,7 @@ public interface AL11 {
// TODO: What's the real minimum number of elements? // TODO: What's the real minimum number of elements?
@StripPostfix("intdata") @StripPostfix("intdata")
@ALvoid @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 * Specifies the position and other properties as taken into account during
@ -229,7 +229,7 @@ public interface AL11 {
// TODO: What's the correct minimum value? // TODO: What's the correct minimum value?
@StripPostfix("values") @StripPostfix("values")
@ALvoid @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. * This function retrieves a floating point property of a buffer.
@ -254,7 +254,7 @@ public interface AL11 {
// TODO: What's the correct minimum value? // TODO: What's the correct minimum value?
@StripPostfix("values") @StripPostfix("values")
@ALvoid @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> * <p>

View File

@ -94,6 +94,7 @@ public interface ARB_buffer_object {
@GLdouble Buffer data); @GLdouble Buffer data);
void glGetBufferSubDataARB(@GLenum int target, @GLintptrARB long offset, @AutoSize("data") @GLsizeiptrARB long size, void glGetBufferSubDataARB(@GLenum int target, @GLintptrARB long offset, @AutoSize("data") @GLsizeiptrARB long size,
@OutParameter
@Check @Check
@GLbyte @GLbyte
@GLshort @GLshort
@ -121,7 +122,7 @@ public interface ARB_buffer_object {
boolean glUnmapBufferARB(@GLenum int target); boolean glUnmapBufferARB(@GLenum int target);
@StripPostfix("params") @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") @StripPostfix("pointer")
@AutoResultSize("GLChecks.getBufferObjectSizeARB(caps, target)") @AutoResultSize("GLChecks.getBufferObjectSizeARB(caps, target)")

View File

@ -150,6 +150,7 @@ public interface ARB_imaging {
void glCopyColorTable(@GLenum int target, @GLenum int internalformat, int x, int y, @GLsizei int width); 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, void glGetColorTable(@GLenum int target, @GLenum int format, @GLenum int type,
@OutParameter
@Check("256") @Check("256")
@GLbyte @GLbyte
@GLfloat @GLfloat
@ -170,6 +171,7 @@ public interface ARB_imaging {
void glResetHistogram(@GLenum int target); void glResetHistogram(@GLenum int target);
void glGetHistogram(@GLenum int target, boolean reset, @GLenum int format, @GLenum int type, void glGetHistogram(@GLenum int target, boolean reset, @GLenum int format, @GLenum int type,
@OutParameter
@BufferObject(BufferKind.PackPBO) @BufferObject(BufferKind.PackPBO)
@Check("256") @Check("256")
@GLbyte @GLbyte
@ -179,16 +181,17 @@ public interface ARB_imaging {
@GLdouble Buffer values); @GLdouble Buffer values);
@StripPostfix("params") @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") @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 glMinmax(@GLenum int target, @GLenum int internalformat, boolean sink);
void glResetMinmax(@GLenum int target); void glResetMinmax(@GLenum int target);
void glGetMinmax(@GLenum int target, boolean reset, @GLenum int format, @GLenum int types, void glGetMinmax(@GLenum int target, boolean reset, @GLenum int format, @GLenum int types,
@OutParameter
@BufferObject(BufferKind.PackPBO) @BufferObject(BufferKind.PackPBO)
@Check("4") @Check("4")
@GLbyte @GLbyte
@ -198,10 +201,10 @@ public interface ARB_imaging {
@GLdouble Buffer values); @GLdouble Buffer values);
@StripPostfix("params") @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") @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, void glConvolutionFilter1D(@GLenum int target, @GLenum int internalformat, @GLsizei int width, @GLenum int format, @GLenum int type,
@BufferObject(BufferKind.UnpackPBO) @BufferObject(BufferKind.UnpackPBO)
@ -237,6 +240,7 @@ public interface ARB_imaging {
// TODO: check buffer size valid // TODO: check buffer size valid
void glGetConvolutionFilter(@GLenum int target, @GLenum int format, @GLenum int type, void glGetConvolutionFilter(@GLenum int target, @GLenum int format, @GLenum int type,
@OutParameter
@BufferObject(BufferKind.PackPBO) @BufferObject(BufferKind.PackPBO)
@Check @Check
@GLbyte @GLbyte
@ -246,10 +250,10 @@ public interface ARB_imaging {
@GLdouble Buffer image); @GLdouble Buffer image);
@StripPostfix("params") @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") @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 // 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, void glSeparableFilter2D(@GLenum int target, @GLenum int internalformat, @GLsizei int width, @GLsizei int height, @GLenum int format, @GLenum int type,
@ -272,6 +276,7 @@ public interface ARB_imaging {
// TODO: check buffer size valid // TODO: check buffer size valid
void glGetSeparableFilter(@GLenum int target, @GLenum int format, @GLenum int type, void glGetSeparableFilter(@GLenum int target, @GLenum int format, @GLenum int type,
@OutParameter
@BufferObject(BufferKind.PackPBO) @BufferObject(BufferKind.PackPBO)
@Check @Check
@GLbyte @GLbyte
@ -291,4 +296,4 @@ public interface ARB_imaging {
@GLshort @GLshort
@GLint @GLint
@GLdouble Buffer span); @GLdouble Buffer span);
} }

View File

@ -67,11 +67,11 @@ public interface ARB_occlusion_query {
void glEndQueryARB(@GLenum int target); void glEndQueryARB(@GLenum int target);
@StripPostfix("params") @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") @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") @StripPostfix("params")
void glGetQueryObjectuivARB(@GLuint int id, @GLenum int pname, @Check("1") IntBuffer params); void glGetQueryObjectuivARB(@GLuint int id, @GLenum int pname, @OutParameter @Check("1") IntBuffer params);
} }

View File

@ -155,21 +155,21 @@ public interface ARB_program {
void glProgramLocalParameter4dvARB(@GLenum int target, @GLuint int index, @Check("4") @Const DoubleBuffer params); void glProgramLocalParameter4dvARB(@GLenum int target, @GLuint int index, @Check("4") @Const DoubleBuffer params);
@StripPostfix("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") @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") @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") @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") @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); boolean glIsProgramARB(@GLuint int program);
} }

View File

@ -177,17 +177,19 @@ public interface ARB_shader_objects {
void glUniformMatrix4fvARB(int location, @AutoSize(value = "matrices", expression = " >> 4") @GLsizei int count, boolean transpose, FloatBuffer matrices); void glUniformMatrix4fvARB(int location, @AutoSize(value = "matrices", expression = " >> 4") @GLsizei int count, boolean transpose, FloatBuffer matrices);
@StripPostfix("params") @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") @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, void glGetInfoLogARB(@GLhandleARB int obj, @AutoSize("infoLog") @GLsizei int maxLength,
@OutParameter
@Check(value = "1", canBeNull = true) @Check(value = "1", canBeNull = true)
@GLsizei IntBuffer length, @GLsizei IntBuffer length,
@GLcharARB ByteBuffer infoLog); @GLcharARB ByteBuffer infoLog);
void glGetAttachedObjectsARB(@GLhandleARB int containerObj, @AutoSize("obj") @GLsizei int maxCount, void glGetAttachedObjectsARB(@GLhandleARB int containerObj, @AutoSize("obj") @GLsizei int maxCount,
@OutParameter
@Check(value = "1", canBeNull = true) @Check(value = "1", canBeNull = true)
@GLsizei IntBuffer count, @GLsizei IntBuffer count,
@GLhandleARB IntBuffer obj); @GLhandleARB IntBuffer obj);
@ -201,6 +203,7 @@ public interface ARB_shader_objects {
int glGetUniformLocationARB(@GLhandleARB int programObj, @NullTerminated @Const @GLcharARB ByteBuffer name); int glGetUniformLocationARB(@GLhandleARB int programObj, @NullTerminated @Const @GLcharARB ByteBuffer name);
void glGetActiveUniformARB(@GLhandleARB int programObj, @GLuint int index, @AutoSize("name") @GLsizei int maxLength, void glGetActiveUniformARB(@GLhandleARB int programObj, @GLuint int index, @AutoSize("name") @GLsizei int maxLength,
@OutParameter
@Check(value = "1", canBeNull = true) @Check(value = "1", canBeNull = true)
@GLsizei IntBuffer length, @GLsizei IntBuffer length,
@Check("1") IntBuffer size, @Check("1") IntBuffer size,
@ -209,12 +212,13 @@ public interface ARB_shader_objects {
@GLcharARB ByteBuffer name); @GLcharARB ByteBuffer name);
@StripPostfix("params") @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") @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, void glGetShaderSourceARB(@GLhandleARB int obj, @AutoSize("source") @GLsizei int maxLength,
@OutParameter
@Check(value = "1", canBeNull = true) @Check(value = "1", canBeNull = true)
@GLsizei IntBuffer length, @GLsizei IntBuffer length,
@GLcharARB ByteBuffer source); @GLcharARB ByteBuffer source);

View File

@ -91,6 +91,7 @@ public interface ARB_texture_compression {
ByteBuffer pData); ByteBuffer pData);
void glGetCompressedTexImageARB(@GLenum int target, int lod, void glGetCompressedTexImageARB(@GLenum int target, int lod,
@OutParameter
@BufferObject(BufferKind.PackPBO) @BufferObject(BufferKind.PackPBO)
@Check @Check
@GLvoid @GLvoid

View File

@ -130,13 +130,13 @@ public interface ARB_vertex_program extends ARB_program {
void glDisableVertexAttribArrayARB(@GLuint int index); void glDisableVertexAttribArrayARB(@GLuint int index);
@StripPostfix("params") @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") @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") @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") @StripPostfix("result")
void glGetVertexAttribPointervARB(@GLuint int index, @GLenum int pname, @Result @GLvoid ByteBuffer result); void glGetVertexAttribPointervARB(@GLuint int index, @GLenum int pname, @Result @GLvoid ByteBuffer result);

View File

@ -144,23 +144,27 @@ public interface ARB_vertex_shader {
void glGetActiveAttribARB(@GLhandleARB int programObj, @GLuint int index, void glGetActiveAttribARB(@GLhandleARB int programObj, @GLuint int index,
@AutoSize("name") @AutoSize("name")
@GLsizei int maxLength, @GLsizei int maxLength,
@OutParameter
@Check(value = "1", canBeNull = true) @Check(value = "1", canBeNull = true)
@GLsizei IntBuffer length, @GLsizei IntBuffer length,
@OutParameter
@Check("1") IntBuffer size, @Check("1") IntBuffer size,
@OutParameter
@Check("1") @Check("1")
@GLenum IntBuffer type, @GLenum IntBuffer type,
@OutParameter
@GLcharARB ByteBuffer name); @GLcharARB ByteBuffer name);
int glGetAttribLocationARB(@GLhandleARB int programObj, @NullTerminated @Const @GLcharARB ByteBuffer name); int glGetAttribLocationARB(@GLhandleARB int programObj, @NullTerminated @Const @GLcharARB ByteBuffer name);
@StripPostfix("params") @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") @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") @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") @StripPostfix("result")
void glGetVertexAttribPointervARB(@GLuint int index, @GLenum int pname, @Result @GLvoid ByteBuffer result); void glGetVertexAttribPointervARB(@GLuint int index, @GLenum int pname, @Result @GLvoid ByteBuffer result);

View File

@ -52,8 +52,8 @@ public interface ATI_envmap_bumpmap {
void glTexBumpParameterivATI(@GLenum int pname, @Check("4") @Const IntBuffer param); void glTexBumpParameterivATI(@GLenum int pname, @Check("4") @Const IntBuffer param);
@StripPostfix("param") @StripPostfix("param")
void glGetTexBumpParameterfvATI(@GLenum int pname, @Check("4") FloatBuffer param); void glGetTexBumpParameterfvATI(@GLenum int pname, @OutParameter @Check("4") FloatBuffer param);
@StripPostfix("param") @StripPostfix("param")
void glGetTexBumpParameterivATI(@GLenum int pname, @Check("4") IntBuffer param); void glGetTexBumpParameterivATI(@GLenum int pname, @OutParameter @Check("4") IntBuffer param);
} }

View File

@ -66,26 +66,26 @@ public interface ATI_vertex_array_object {
@GLdouble Buffer pPointer, @GLenum int preserve); @GLdouble Buffer pPointer, @GLenum int preserve);
@StripPostfix("params") @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") @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 glFreeObjectBufferATI(@GLuint int buffer);
void glArrayObjectATI(@GLenum int array, int size, @GLenum int type, @GLsizei int stride, @GLuint int buffer, @GLuint int offset); void glArrayObjectATI(@GLenum int array, int size, @GLenum int type, @GLsizei int stride, @GLuint int buffer, @GLuint int offset);
@StripPostfix("params") @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") @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); void glVariantArrayObjectATI(@GLuint int id, @GLenum int type, @GLsizei int stride, @GLuint int buffer, @GLuint int offset);
@StripPostfix("params") @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") @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);
} }

View File

@ -39,8 +39,8 @@ public interface ATI_vertex_attrib_array_object {
void glVertexAttribArrayObjectATI(@GLuint int index, int size, @GLenum int type, boolean normalized, @GLsizei int stride, @GLuint int buffer, @GLuint int offset); void glVertexAttribArrayObjectATI(@GLuint int index, int size, @GLenum int type, boolean normalized, @GLsizei int stride, @GLuint int buffer, @GLuint int offset);
@StripPostfix("params") @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") @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);
} }

View File

@ -41,10 +41,10 @@ public interface EXT_draw_buffers2 {
void glColorMaskIndexedEXT(@GLuint int buf, boolean r, boolean g, boolean b, boolean a); void glColorMaskIndexedEXT(@GLuint int buf, boolean r, boolean g, boolean b, boolean a);
@StripPostfix("data") @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") @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); void glEnableIndexedEXT(@GLenum int target, @GLuint int index);
@ -52,4 +52,4 @@ public interface EXT_draw_buffers2 {
boolean glIsEnabledIndexedEXT(@GLenum int target, @GLuint int index); boolean glIsEnabledIndexedEXT(@GLenum int target, @GLuint int index);
} }

View File

@ -143,7 +143,7 @@ public interface EXT_framebuffer_object {
void glRenderbufferStorageEXT(@GLenum int target, @GLenum int internalformat, @GLsizei int width, @GLsizei int height); void glRenderbufferStorageEXT(@GLenum int target, @GLenum int internalformat, @GLsizei int width, @GLsizei int height);
@StripPostfix("params") @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); boolean glIsFramebufferEXT(@GLuint int framebuffer);
@ -165,7 +165,7 @@ public interface EXT_framebuffer_object {
void glFramebufferRenderbufferEXT(@GLenum int target, @GLenum int attachment, @GLenum int renderbuffertarget, @GLuint int renderbuffer); void glFramebufferRenderbufferEXT(@GLenum int target, @GLenum int attachment, @GLenum int renderbuffertarget, @GLuint int renderbuffer);
@StripPostfix("params") @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); void glGenerateMipmapEXT(@GLenum int target);
} }

View File

@ -148,10 +148,10 @@ public interface EXT_gpu_shader4 {
@GLuint Buffer buffer); @GLuint Buffer buffer);
@StripPostfix("params") @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") @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); void glUniform1uiEXT(int location, @GLuint int v0);
@ -174,10 +174,10 @@ public interface EXT_gpu_shader4 {
void glUniform4uivEXT(int location, @AutoSize(value = "value", expression = " >> 2") @GLsizei int count, @Const @GLuint IntBuffer value); void glUniform4uivEXT(int location, @AutoSize(value = "value", expression = " >> 2") @GLsizei int count, @Const @GLuint IntBuffer value);
@StripPostfix("params") @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); void glBindFragDataLocationEXT(@GLuint int program, @GLuint int colorNumber, @NullTerminated @Const @GLchar ByteBuffer name);
int glGetFragDataLocationEXT(@GLuint int program, @NullTerminated @Const @GLchar ByteBuffer name); int glGetFragDataLocationEXT(@GLuint int program, @NullTerminated @Const @GLchar ByteBuffer name);
} }

View File

@ -85,6 +85,7 @@ public interface EXT_paletted_texture {
@GLdouble Buffer data); @GLdouble Buffer data);
void glGetColorTableEXT(@GLenum int target, @GLenum int format, @GLenum int type, void glGetColorTableEXT(@GLenum int target, @GLenum int format, @GLenum int type,
@OutParameter
@Check @Check
@GLbyte @GLbyte
@GLshort @GLshort
@ -93,8 +94,8 @@ public interface EXT_paletted_texture {
@GLdouble Buffer data); @GLdouble Buffer data);
@StripPostfix("params") @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") @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);
} }

View File

@ -35,6 +35,7 @@ import org.lwjgl.util.generator.Check;
import org.lwjgl.util.generator.GLenum; import org.lwjgl.util.generator.GLenum;
import org.lwjgl.util.generator.GLuint; import org.lwjgl.util.generator.GLuint;
import org.lwjgl.util.generator.StripPostfix; import org.lwjgl.util.generator.StripPostfix;
import org.lwjgl.util.generator.OutParameter;
import java.nio.IntBuffer; import java.nio.IntBuffer;
@ -113,15 +114,15 @@ public interface EXT_texture_integer {
void glClearColorIuiEXT(@GLuint int r, @GLuint int g, @GLuint int b, @GLuint int a); void glClearColorIuiEXT(@GLuint int r, @GLuint int g, @GLuint int b, @GLuint int a);
@StripPostfix("params") @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") @StripPostfix("params")
void glTexParameterIuivEXT(@GLenum int target, @GLenum int pname, @Check("4") @GLuint IntBuffer params); void glTexParameterIuivEXT(@GLenum int target, @GLenum int pname, @Check("4") @GLuint IntBuffer params);
@StripPostfix("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") @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);
} }

View File

@ -44,9 +44,9 @@ public interface EXT_timer_query {
int GL_TIME_ELAPSED_EXT = 0x88BF; int GL_TIME_ELAPSED_EXT = 0x88BF;
@StripPostfix("params") @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") @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);
} }

View File

@ -259,32 +259,32 @@ public interface EXT_vertex_shader {
boolean glIsVariantEnabledEXT(@GLuint int id, @GLenum int cap); boolean glIsVariantEnabledEXT(@GLuint int id, @GLenum int cap);
@StripPostfix("pbData") @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") @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") @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") @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") @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") @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") @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") @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") @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") @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);
} }

View File

@ -886,51 +886,51 @@ public interface GL11 {
void glFeedbackBuffer(@AutoSize("buffer") @GLsizei int size, @GLenum int type, FloatBuffer buffer); void glFeedbackBuffer(@AutoSize("buffer") @GLsizei int size, @GLenum int type, FloatBuffer buffer);
@StripPostfix("values") @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") @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") @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") @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") @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") @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") @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") @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") @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") @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 @NoErrorCheck
int glGetError(); int glGetError();
void glGetClipPlane(@GLenum int plane, @Check("4") DoubleBuffer equation); void glGetClipPlane(@GLenum int plane, @OutParameter @Check("4") DoubleBuffer equation);
@StripPostfix("params") @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") @StripPostfix("params")
void glGetDoublev(@GLenum int pname, @Check("16") DoubleBuffer params); void glGetDoublev(@GLenum int pname, @OutParameter @Check("16") DoubleBuffer params);
@StripPostfix("params") @StripPostfix("params")
void glGetFloatv(@GLenum int pname, @Check("16") FloatBuffer params); void glGetFloatv(@GLenum int pname, @OutParameter @Check("16") FloatBuffer params);
@StripPostfix("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); void glGenTextures(@AutoSize("textures") @GLsizei int n, @GLuint IntBuffer textures);
@ -975,18 +975,19 @@ public interface GL11 {
void glHint(@GLenum int target, @GLenum int mode); void glHint(@GLenum int target, @GLenum int mode);
@StripPostfix("params") @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") @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") @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") @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, void glGetTexImage(@GLenum int target, int level, @GLenum int format, @GLenum int type,
@OutParameter
@BufferObject(BufferKind.PackPBO) @BufferObject(BufferKind.PackPBO)
@Check("GLChecks.calculateImageStorage(pixels, format, type, 1, 1, 1)") @Check("GLChecks.calculateImageStorage(pixels, format, type, 1, 1, 1)")
@GLbyte @GLbyte
@ -996,24 +997,24 @@ public interface GL11 {
@GLdouble Buffer pixels); @GLdouble Buffer pixels);
@StripPostfix("params") @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") @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") @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") @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") @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 @Const
String glGetString(int name); 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); boolean glIsList(@GLuint int list);

View File

@ -194,6 +194,7 @@ public interface GL13 {
// TODO: check buffer size valid // TODO: check buffer size valid
void glGetCompressedTexImage(@GLenum int target, int lod, void glGetCompressedTexImage(@GLenum int target, int lod,
@OutParameter
@BufferObject(BufferKind.PackPBO) @BufferObject(BufferKind.PackPBO)
@Check @Check
@GLbyte @GLbyte

View File

@ -99,6 +99,7 @@ public interface GL15 {
@GLdouble Buffer data); @GLdouble Buffer data);
void glGetBufferSubData(@GLenum int target, @GLintptr long offset, @AutoSize("data") @GLsizeiptr long size, void glGetBufferSubData(@GLenum int target, @GLintptr long offset, @AutoSize("data") @GLsizeiptr long size,
@OutParameter
@Check @Check
@GLbyte @GLbyte
@GLshort @GLshort
@ -128,11 +129,11 @@ public interface GL15 {
boolean glUnmapBuffer(@GLenum int target); boolean glUnmapBuffer(@GLenum int target);
@StripPostfix("params") @StripPostfix("params")
void glGetBufferParameteriv(@GLenum int target, @GLenum int pname, @Check("4") IntBuffer params); void glGetBufferParameteriv(@GLenum int target, @GLenum int pname, @OutParameter @Check("4") IntBuffer params);
@StripPostfix("pointer") @StripPostfix("pointer")
@AutoResultSize("GLChecks.getBufferObjectSize(caps, target)") @AutoResultSize("GLChecks.getBufferObjectSize(caps, target)")
void glGetBufferPointerv(@GLenum int target, @GLenum int pname, @Result @GLvoid ByteBuffer pointer); void glGetBufferPointerv(@GLenum int target, @GLenum int pname, @OutParameter @Result @GLvoid ByteBuffer pointer);
// ----------------------------------------------------------------- // -----------------------------------------------------------------
// ---------------------- ARB_occlusion_query ---------------------- // ---------------------- ARB_occlusion_query ----------------------
@ -168,11 +169,11 @@ public interface GL15 {
void glEndQuery(@GLenum int target); void glEndQuery(@GLenum int target);
@StripPostfix("params") @StripPostfix("params")
void glGetQueryiv(@GLenum int target, @GLenum int pname, @Check("1") IntBuffer params); void glGetQueryiv(@GLenum int target, @GLenum int pname, @OutParameter @Check("1") IntBuffer params);
@StripPostfix("params") @StripPostfix("params")
void glGetQueryObjectiv(@GLenum int id, @GLenum int pname, @Check("1") @GLint IntBuffer params); void glGetQueryObjectiv(@GLenum int id, @GLenum int pname, @OutParameter @Check("1") @GLint IntBuffer params);
@StripPostfix("params") @StripPostfix("params")
void glGetQueryObjectuiv(@GLenum int id, @GLenum int pname, @Check("1") @GLuint IntBuffer params); void glGetQueryObjectuiv(@GLenum int id, @GLenum int pname, @OutParameter @Check("1") @GLuint IntBuffer params);
} }

View File

@ -193,22 +193,25 @@ public interface GL20 {
boolean transpose, FloatBuffer matrices); boolean transpose, FloatBuffer matrices);
@StripPostfix("params") @StripPostfix("params")
void glGetShaderiv(@GLuint int shader, @GLenum int pname, @Check IntBuffer params); void glGetShaderiv(@GLuint int shader, @GLenum int pname, @OutParameter @Check IntBuffer params);
@StripPostfix("params") @StripPostfix("params")
void glGetProgramiv(@GLuint int program, @GLenum int pname, @Check IntBuffer params); void glGetProgramiv(@GLuint int program, @GLenum int pname, @OutParameter @Check IntBuffer params);
void glGetShaderInfoLog(@GLuint int shader, @AutoSize("infoLog") @GLsizei int maxLength, void glGetShaderInfoLog(@GLuint int shader, @AutoSize("infoLog") @GLsizei int maxLength,
@OutParameter
@GLsizei @GLsizei
@Check(value = "1", canBeNull = true) IntBuffer length, @Check(value = "1", canBeNull = true) IntBuffer length,
@GLchar ByteBuffer infoLog); @GLchar ByteBuffer infoLog);
void glGetProgramInfoLog(@GLuint int program, @AutoSize("infoLog") @GLsizei int maxLength, void glGetProgramInfoLog(@GLuint int program, @AutoSize("infoLog") @GLsizei int maxLength,
@OutParameter
@GLsizei @GLsizei
@Check(value = "1", canBeNull = true) IntBuffer length, @Check(value = "1", canBeNull = true) IntBuffer length,
@GLchar ByteBuffer infoLog); @GLchar ByteBuffer infoLog);
void glGetAttachedShaders(@GLuint int program, @AutoSize("shaders") @GLsizei int maxCount, void glGetAttachedShaders(@GLuint int program, @AutoSize("shaders") @GLsizei int maxCount,
@OutParameter
@GLsizei @GLsizei
@Check(value = "1", canBeNull = true) IntBuffer count, @Check(value = "1", canBeNull = true) IntBuffer count,
@GLuint IntBuffer shaders); @GLuint IntBuffer shaders);
@ -226,20 +229,20 @@ public interface GL20 {
void glGetActiveUniform(@GLuint int program, @GLuint int index, @AutoSize("name") @GLsizei int maxLength, void glGetActiveUniform(@GLuint int program, @GLuint int index, @AutoSize("name") @GLsizei int maxLength,
@Check(value = "1", canBeNull = true) @Check(value = "1", canBeNull = true)
@GLsizei IntBuffer length, @OutParameter @GLsizei IntBuffer length,
@Check @Check
@GLsizei IntBuffer size, @OutParameter @GLsizei IntBuffer size,
@Check @Check
@GLenum IntBuffer type, @OutParameter @GLenum IntBuffer type,
@GLchar ByteBuffer name); @OutParameter @GLchar ByteBuffer name);
@StripPostfix("params") @StripPostfix("params")
void glGetUniformfv(@GLuint int program, int location, @Check FloatBuffer params); void glGetUniformfv(@GLuint int program, int location, @OutParameter @Check FloatBuffer params);
@StripPostfix("params") @StripPostfix("params")
void glGetUniformiv(@GLuint int program, int location, @Check IntBuffer params); void glGetUniformiv(@GLuint int program, int location, @OutParameter @Check IntBuffer params);
void glGetShaderSource(@GLuint int shader, @AutoSize("source") @GLsizei int maxLength, void glGetShaderSource(@GLuint int shader, @OutParameter @AutoSize("source") @GLsizei int maxLength,
@Check(value = "1", canBeNull = true) @Check(value = "1", canBeNull = true)
@GLsizei IntBuffer length, @GLsizei IntBuffer length,
@GLchar ByteBuffer source); @GLchar ByteBuffer source);
@ -293,13 +296,13 @@ public interface GL20 {
void glDisableVertexAttribArray(@GLuint int index); void glDisableVertexAttribArray(@GLuint int index);
@StripPostfix("params") @StripPostfix("params")
void glGetVertexAttribfv(@GLuint int index, @GLenum int pname, @Check("4") FloatBuffer params); void glGetVertexAttribfv(@GLuint int index, @GLenum int pname, @OutParameter @Check("4") FloatBuffer params);
@StripPostfix("params") @StripPostfix("params")
void glGetVertexAttribdv(@GLuint int index, @GLenum int pname, @Check("4") DoubleBuffer params); void glGetVertexAttribdv(@GLuint int index, @GLenum int pname, @OutParameter @Check("4") DoubleBuffer params);
@StripPostfix("params") @StripPostfix("params")
void glGetVertexAttribiv(@GLuint int index, @GLenum int pname, @Check("4") IntBuffer params); void glGetVertexAttribiv(@GLuint int index, @GLenum int pname, @OutParameter @Check("4") IntBuffer params);
@StripPostfix("pointer") @StripPostfix("pointer")
void glGetVertexAttribPointerv(@GLuint int index, @GLenum int pname, @Result @GLvoid ByteBuffer pointer); void glGetVertexAttribPointerv(@GLuint int index, @GLenum int pname, @Result @GLvoid ByteBuffer pointer);
@ -352,6 +355,7 @@ public interface GL20 {
void glBindAttribLocation(@GLuint int program, @GLuint int index, @NullTerminated @Const @GLchar ByteBuffer name); void glBindAttribLocation(@GLuint int program, @GLuint int index, @NullTerminated @Const @GLchar ByteBuffer name);
void glGetActiveAttrib(@GLuint int program, @GLuint int index, @AutoSize("name") @GLsizei int maxLength, void glGetActiveAttrib(@GLuint int program, @GLuint int index, @AutoSize("name") @GLsizei int maxLength,
@OutParameter
@Check(value = "1", canBeNull = true) @Check(value = "1", canBeNull = true)
@GLsizei IntBuffer length, @GLsizei IntBuffer length,
@Check("1") IntBuffer size, @Check("1") IntBuffer size,

View File

@ -62,6 +62,7 @@ public interface NV_evaluators {
int GL_MAX_RATIONAL_EVAL_ORDER_NV = 0x86D7; int GL_MAX_RATIONAL_EVAL_ORDER_NV = 0x86D7;
void glGetMapControlPointsNV(@GLenum int target, @GLuint int index, @GLenum int type, @GLsizei int ustride, @GLsizei int vstride, boolean packed, void glGetMapControlPointsNV(@GLenum int target, @GLuint int index, @GLenum int type, @GLsizei int ustride, @GLsizei int vstride, boolean packed,
@OutParameter
@Check @Check
@Const @Const
@GLfloat Buffer pPoints); @GLfloat Buffer pPoints);
@ -75,16 +76,16 @@ public interface NV_evaluators {
void glMapParameterivNV(@GLenum int target, @GLenum int pname, @Check("4") @Const IntBuffer params); void glMapParameterivNV(@GLenum int target, @GLenum int pname, @Check("4") @Const IntBuffer params);
@StripPostfix("params") @StripPostfix("params")
void glGetMapParameterfvNV(@GLenum int target, @GLenum int pname, @Check("4") @Const FloatBuffer params); void glGetMapParameterfvNV(@GLenum int target, @GLenum int pname, @OutParameter @Check("4") @Const FloatBuffer params);
@StripPostfix("params") @StripPostfix("params")
void glGetMapParameterivNV(@GLenum int target, @GLenum int pname, @Check("4") @Const IntBuffer params); void glGetMapParameterivNV(@GLenum int target, @GLenum int pname, @OutParameter @Check("4") @Const IntBuffer params);
@StripPostfix("params") @StripPostfix("params")
void glGetMapAttribParameterfvNV(@GLenum int target, @GLuint int index, @GLenum int pname, @Check("4") FloatBuffer params); void glGetMapAttribParameterfvNV(@GLenum int target, @GLuint int index, @GLenum int pname, @OutParameter @Check("4") FloatBuffer params);
@StripPostfix("params") @StripPostfix("params")
void glGetMapAttribParameterivNV(@GLenum int target, @GLuint int index, @GLenum int pname, @Check("4") IntBuffer params); void glGetMapAttribParameterivNV(@GLenum int target, @GLuint int index, @GLenum int pname, @OutParameter @Check("4") IntBuffer params);
void glEvalMapsNV(@GLenum int target, @GLenum int mode); void glEvalMapsNV(@GLenum int target, @GLenum int mode);
} }

View File

@ -52,5 +52,5 @@ public interface NV_fence {
boolean glIsFenceNV(@GLuint int fence); boolean glIsFenceNV(@GLuint int fence);
void glGetFenceivNV(@GLuint int fence, @GLenum int pname, @Check("4") IntBuffer piParams); void glGetFenceivNV(@GLuint int fence, @GLenum int pname, @OutParameter @Check("4") IntBuffer piParams);
} }

View File

@ -61,9 +61,9 @@ public interface NV_fragment_program extends NV_program {
void glProgramNamedParameter4dNV(@GLuint int id, @AutoSize("name") @GLsizei int length, @Const @GLubyte ByteBuffer name, double x, double y, double z, double w); void glProgramNamedParameter4dNV(@GLuint int id, @AutoSize("name") @GLsizei int length, @Const @GLubyte ByteBuffer name, double x, double y, double z, double w);
@StripPostfix("params") @StripPostfix("params")
void glGetProgramNamedParameterfvNV(@GLuint int id, @AutoSize("name") @GLsizei int length, @Const @GLubyte ByteBuffer name, @Check("4") FloatBuffer params); void glGetProgramNamedParameterfvNV(@GLuint int id, @AutoSize("name") @GLsizei int length, @Const @GLubyte ByteBuffer name, @OutParameter @Check("4") FloatBuffer params);
@StripPostfix("params") @StripPostfix("params")
void glGetProgramNamedParameterdvNV(@GLuint int id, @AutoSize("name") @GLsizei int length, @Const @GLubyte ByteBuffer name, @Check("4") DoubleBuffer params); void glGetProgramNamedParameterdvNV(@GLuint int id, @AutoSize("name") @GLsizei int length, @Const @GLubyte ByteBuffer name, @OutParameter @Check("4") DoubleBuffer params);
} }

View File

@ -92,17 +92,17 @@ public interface NV_gpu_program4 {
// --- // ---
@StripPostfix("params") @StripPostfix("params")
void glGetProgramLocalParameterIivNV(@GLenum int target, @GLuint int index, @Check("4") IntBuffer params); void glGetProgramLocalParameterIivNV(@GLenum int target, @GLuint int index, @OutParameter @Check("4") IntBuffer params);
@StripPostfix("params") @StripPostfix("params")
void glGetProgramLocalParameterIuivNV(@GLenum int target, @GLuint int index, @Check("4") @GLuint IntBuffer params); void glGetProgramLocalParameterIuivNV(@GLenum int target, @GLuint int index, @OutParameter @Check("4") @GLuint IntBuffer params);
// --- // ---
@StripPostfix("params") @StripPostfix("params")
void glGetProgramEnvParameterIivNV(@GLenum int target, @GLuint int index, @Check("4")IntBuffer params); void glGetProgramEnvParameterIivNV(@GLenum int target, @GLuint int index, @OutParameter @Check("4")IntBuffer params);
@StripPostfix("params") @StripPostfix("params")
void glGetProgramEnvParameterIuivNV(@GLenum int target, @GLuint int index, @Check("4") @GLuint IntBuffer params); void glGetProgramEnvParameterIuivNV(@GLenum int target, @GLuint int index, @OutParameter @Check("4") @GLuint IntBuffer params);
} }

View File

@ -55,8 +55,8 @@ public interface NV_occlusion_query {
void glEndOcclusionQueryNV(); void glEndOcclusionQueryNV();
@StripPostfix("params") @StripPostfix("params")
void glGetOcclusionQueryuivNV(@GLuint int id, @GLenum int pname, @Check("1") @GLuint IntBuffer params); void glGetOcclusionQueryuivNV(@GLuint int id, @GLenum int pname, @OutParameter @Check("1") @GLuint IntBuffer params);
@StripPostfix("params") @StripPostfix("params")
void glGetOcclusionQueryivNV(@GLuint int id, @GLenum int pname, @Check("1") IntBuffer params); void glGetOcclusionQueryivNV(@GLuint int id, @GLenum int pname, @OutParameter @Check("1") IntBuffer params);
} }

View File

@ -70,9 +70,9 @@ public interface NV_program {
void glGenProgramsNV(@AutoSize("programs") @GLsizei int n, @GLuint IntBuffer programs); void glGenProgramsNV(@AutoSize("programs") @GLsizei int n, @GLuint IntBuffer programs);
@StripPostfix("params") @StripPostfix("params")
void glGetProgramivNV(@GLuint int programID, @GLenum int parameterName, @Check @GLint IntBuffer params); void glGetProgramivNV(@GLuint int programID, @GLenum int parameterName, @OutParameter @Check @GLint IntBuffer params);
void glGetProgramStringNV(@GLuint int programID, @GLenum int parameterName, @Check @GLubyte Buffer paramString); void glGetProgramStringNV(@GLuint int programID, @GLenum int parameterName, @OutParameter @Check @GLubyte Buffer paramString);
boolean glIsProgramNV(@GLuint int programID); boolean glIsProgramNV(@GLuint int programID);

View File

@ -105,20 +105,20 @@ public interface NV_register_combiners {
void glFinalCombinerInputNV(@GLenum int variable, @GLenum int input, @GLenum int mapping, @GLenum int componentUsage); void glFinalCombinerInputNV(@GLenum int variable, @GLenum int input, @GLenum int mapping, @GLenum int componentUsage);
@StripPostfix("params") @StripPostfix("params")
void glGetCombinerInputParameterfvNV(@GLenum int stage, @GLenum int portion, @GLenum int variable, @GLenum int pname, @Check("4") FloatBuffer params); void glGetCombinerInputParameterfvNV(@GLenum int stage, @GLenum int portion, @GLenum int variable, @GLenum int pname, @OutParameter @Check("4") FloatBuffer params);
@StripPostfix("params") @StripPostfix("params")
void glGetCombinerInputParameterivNV(@GLenum int stage, @GLenum int portion, @GLenum int variable, @GLenum int pname, @Check("4") IntBuffer params); void glGetCombinerInputParameterivNV(@GLenum int stage, @GLenum int portion, @GLenum int variable, @GLenum int pname, @OutParameter @Check("4") IntBuffer params);
@StripPostfix("params") @StripPostfix("params")
void glGetCombinerOutputParameterfvNV(@GLenum int stage, @GLenum int portion, @GLenum int pname, @Check("4") FloatBuffer params); void glGetCombinerOutputParameterfvNV(@GLenum int stage, @GLenum int portion, @GLenum int pname, @OutParameter @Check("4") FloatBuffer params);
@StripPostfix("params") @StripPostfix("params")
void glGetCombinerOutputParameterivNV(@GLenum int stage, @GLenum int portion, @GLenum int pname, @Check("4") IntBuffer params); void glGetCombinerOutputParameterivNV(@GLenum int stage, @GLenum int portion, @GLenum int pname, @OutParameter @Check("4") IntBuffer params);
@StripPostfix("params") @StripPostfix("params")
void glGetFinalCombinerInputParameterfvNV(@GLenum int variable, @GLenum int pname, @Check("4") FloatBuffer params); void glGetFinalCombinerInputParameterfvNV(@GLenum int variable, @GLenum int pname, @OutParameter @Check("4") FloatBuffer params);
@StripPostfix("params") @StripPostfix("params")
void glGetFinalCombinerInputParameterivNV(@GLenum int variable, @GLenum int pname, @Check("4") IntBuffer params); void glGetFinalCombinerInputParameterivNV(@GLenum int variable, @GLenum int pname, @OutParameter @Check("4") IntBuffer params);
} }

View File

@ -42,5 +42,5 @@ public interface NV_register_combiners2 {
void glCombinerStageParameterfvNV(@GLenum int stage, @GLenum int pname, @Const @Check("4") FloatBuffer params); void glCombinerStageParameterfvNV(@GLenum int stage, @GLenum int pname, @Const @Check("4") FloatBuffer params);
@StripPostfix("params") @StripPostfix("params")
void glGetCombinerStageParameterfvNV(@GLenum int stage, @GLenum int pname, @Check("4") FloatBuffer params); void glGetCombinerStageParameterfvNV(@GLenum int stage, @GLenum int pname, @OutParameter @Check("4") FloatBuffer params);
} }

View File

@ -128,12 +128,12 @@ public interface NV_transform_feedback {
int glGetVaryingLocationNV(@GLuint int program, @NullTerminated @Const @GLchar ByteBuffer name); int glGetVaryingLocationNV(@GLuint int program, @NullTerminated @Const @GLchar ByteBuffer name);
void glGetActiveVaryingNV(@GLuint int program, @GLuint int index, @AutoSize("name") @GLsizei int bufSize, void glGetActiveVaryingNV(@GLuint int program, @GLuint int index, @AutoSize("name") @GLsizei int bufSize,
@Check("1") @GLsizei IntBuffer length, @OutParameter @Check("1") @GLsizei IntBuffer length,
@Check("1") @GLsizei IntBuffer size, @OutParameter @Check("1") @GLsizei IntBuffer size,
@Check("1") @GLenum IntBuffer type, @GLchar ByteBuffer name); @OutParameter @Check("1") @GLenum IntBuffer type, @GLchar ByteBuffer name);
void glActiveVaryingNV(@GLuint int program, @NullTerminated @Const @GLchar ByteBuffer name); void glActiveVaryingNV(@GLuint int program, @NullTerminated @Const @GLchar ByteBuffer name);
void glGetTransformFeedbackVaryingNV(@GLuint int program, @GLuint int index, @Check("1") IntBuffer location); void glGetTransformFeedbackVaryingNV(@GLuint int program, @GLuint int index, @OutParameter @Check("1") IntBuffer location);
} }

View File

@ -193,22 +193,22 @@ public interface NV_vertex_program extends NV_program {
void glExecuteProgramNV(@GLenum int target, @GLuint int id, @Check("4") @Const FloatBuffer params); void glExecuteProgramNV(@GLenum int target, @GLuint int id, @Check("4") @Const FloatBuffer params);
@StripPostfix("params") @StripPostfix("params")
void glGetProgramParameterfvNV(@GLenum int target, @GLuint int index, @GLenum int parameterName, @Check("4") FloatBuffer params); void glGetProgramParameterfvNV(@GLenum int target, @GLuint int index, @GLenum int parameterName, @OutParameter @Check("4") FloatBuffer params);
@StripPostfix("params") @StripPostfix("params")
void glGetProgramParameterdvNV(@GLenum int target, @GLuint int index, @GLenum int parameterName, @Check("4") DoubleBuffer params); void glGetProgramParameterdvNV(@GLenum int target, @GLuint int index, @GLenum int parameterName, @OutParameter @Check("4") DoubleBuffer params);
@StripPostfix("params") @StripPostfix("params")
void glGetTrackMatrixivNV(@GLenum int target, @GLuint int address, @GLenum int parameterName, @Check("4") IntBuffer params); void glGetTrackMatrixivNV(@GLenum int target, @GLuint int address, @GLenum int parameterName, @OutParameter @Check("4") IntBuffer params);
@StripPostfix("params") @StripPostfix("params")
void glGetVertexAttribfvNV(@GLuint int index, @GLenum int parameterName, @Check("4") FloatBuffer params); void glGetVertexAttribfvNV(@GLuint int index, @GLenum int parameterName, @OutParameter @Check("4") FloatBuffer params);
@StripPostfix("params") @StripPostfix("params")
void glGetVertexAttribdvNV(@GLuint int index, @GLenum int parameterName, @Check("4") DoubleBuffer params); void glGetVertexAttribdvNV(@GLuint int index, @GLenum int parameterName, @OutParameter @Check("4") DoubleBuffer params);
@StripPostfix("params") @StripPostfix("params")
void glGetVertexAttribivNV(@GLuint int index, @GLenum int parameterName, @Check("4") IntBuffer params); void glGetVertexAttribivNV(@GLuint int index, @GLenum int parameterName, @OutParameter @Check("4") IntBuffer params);
@StripPostfix("pointer") @StripPostfix("pointer")
void glGetVertexAttribPointervNV(@GLuint int index, @GLenum int parameterName, @Result @GLvoid ByteBuffer pointer); void glGetVertexAttribPointervNV(@GLuint int index, @GLenum int parameterName, @Result @GLvoid ByteBuffer pointer);