diff --git a/src/java/org/lwjgl/opengl/ContextAttribs.java b/src/java/org/lwjgl/opengl/ContextAttribs.java index 1654b67a..59d951f5 100644 --- a/src/java/org/lwjgl/opengl/ContextAttribs.java +++ b/src/java/org/lwjgl/opengl/ContextAttribs.java @@ -48,7 +48,7 @@ import java.nio.IntBuffer; * implementation. Developers may encounter debug contexts being the same as non-debug contexts or forward compatible * contexts having support for deprecated functionality. *

- * Warning: This functionality is currently available on the Windows platform only. However, if the forwardCompatible + * If the forwardCompatible * attribute is used, LWJGL will not load the deprecated functionality (as defined in the OpenGL 3.0 specification). This * means that developers can start working on cleaning up their applications without an OpenGL 3.0 complaint driver. * @@ -64,6 +64,9 @@ public final class ContextAttribs { private boolean debug; private boolean forwardCompatible; + private boolean profileCore; + private boolean profileCompatibility; + public ContextAttribs() { this(1, 0); } @@ -72,7 +75,7 @@ public final class ContextAttribs { if ( majorVersion < 0 || 3 < majorVersion || minorVersion < 0 || - (majorVersion == 3 && 1 < minorVersion) || + (majorVersion == 3 && 2 < minorVersion) || (majorVersion == 2 && 1 < minorVersion) || (majorVersion == 1 && 5 < minorVersion) ) throw new IllegalArgumentException("Invalid OpenGL version specified: " + majorVersion + '.' + minorVersion); @@ -84,6 +87,9 @@ public final class ContextAttribs { this.debug = false; this.forwardCompatible = false; + + this.profileCore = 3 < majorVersion || (majorVersion == 3 && 2 <= minorVersion) ? true : false; + this.profileCompatibility = false; } private ContextAttribs(final ContextAttribs attribs) { @@ -94,6 +100,9 @@ public final class ContextAttribs { this.debug = attribs.debug; this.forwardCompatible = attribs.forwardCompatible; + + this.profileCore = attribs.profileCore; + this.profileCompatibility = attribs.profileCompatibility; } public int getMajorVersion() { @@ -116,27 +125,74 @@ public final class ContextAttribs { return forwardCompatible; } + public boolean isProfileCore() { + return profileCore; + } + + public boolean isProfileCompatibility() { + return profileCompatibility; + } + public ContextAttribs withLayer(final int layerPlane) { if ( layerPlane < 0 ) throw new IllegalArgumentException("Invalid layer plane specified: " + layerPlane); + if ( layerPlane == this.layerPlane ) + return this; + final ContextAttribs attribs = new ContextAttribs(this); attribs.layerPlane = layerPlane; return attribs; } public ContextAttribs withDebug(final boolean debug) { + if ( debug == this.debug ) + return this; + final ContextAttribs attribs = new ContextAttribs(this); attribs.debug = debug; return attribs; } public ContextAttribs withForwardCompatible(final boolean forwardCompatible) { + if ( forwardCompatible == this.forwardCompatible ) + return this; + final ContextAttribs attribs = new ContextAttribs(this); attribs.forwardCompatible = forwardCompatible; return attribs; } + public ContextAttribs withProfileCore(final boolean profileCore) { + if ( majorVersion < 3 || (majorVersion == 3 && minorVersion < 2) ) + throw new IllegalArgumentException("Profiles are only supported on OpenGL version 3.2 or higher."); + + if ( profileCore == this.profileCore ) + return this; + + final ContextAttribs attribs = new ContextAttribs(this); + attribs.profileCore = profileCore; + if ( profileCore ) + attribs.profileCompatibility = false; + + return attribs; + } + + public ContextAttribs withProfileCompatibility(final boolean profileCompatibility) { + if ( majorVersion < 3 || (majorVersion == 3 && minorVersion < 2) ) + throw new IllegalArgumentException("Profiles are only supported on OpenGL version 3.2 or higher."); + + if ( profileCompatibility == this.profileCompatibility ) + return this; + + final ContextAttribs attribs = new ContextAttribs(this); + attribs.profileCompatibility = profileCompatibility; + if ( profileCompatibility ) + attribs.profileCore = false; + + return attribs; + } + private static ContextAttribsImplementation getImplementation() { switch ( LWJGLUtil.getPlatform() ) { case LWJGLUtil.PLATFORM_LINUX: @@ -168,6 +224,14 @@ public final class ContextAttribs { if ( 0 < flags ) attribCount++; + int profileMask = 0; + if ( profileCore ) + profileMask |= implementation.getProfileCoreBit(); + else if ( profileCompatibility ) + profileMask |= implementation.getProfileCompatibilityBit(); + if ( 0 < profileMask ) + attribCount++; + if ( attribCount == 0 ) return null; @@ -181,6 +245,8 @@ public final class ContextAttribs { attribs.put(implementation.getLayerPlaneAttrib()).put(layerPlane); if ( 0 < flags ) attribs.put(implementation.getFlagsAttrib()).put(flags); + if ( 0 < profileMask ) + attribs.put(implementation.getProfileMaskAttrib()).put(profileMask); attribs.put(0); attribs.rewind(); @@ -195,6 +261,13 @@ public final class ContextAttribs { sb.append(" - Layer=").append(layerPlane); sb.append(" - Debug=").append(debug); sb.append(" - ForwardCompatible=").append(forwardCompatible); + sb.append(" - Profile="); + if ( profileCore ) + sb.append("Core"); + else if ( profileCompatibility ) + sb.append("Compatibility"); + else + sb.append("None"); return sb.toString(); } diff --git a/src/java/org/lwjgl/opengl/ContextAttribsImplementation.java b/src/java/org/lwjgl/opengl/ContextAttribsImplementation.java index c7ff7f41..44c320db 100644 --- a/src/java/org/lwjgl/opengl/ContextAttribsImplementation.java +++ b/src/java/org/lwjgl/opengl/ContextAttribsImplementation.java @@ -47,4 +47,10 @@ interface ContextAttribsImplementation { int getForwardCompatibleBit(); + int getProfileMaskAttrib(); + + int getProfileCoreBit(); + + int getProfileCompatibilityBit(); + } \ No newline at end of file diff --git a/src/java/org/lwjgl/opengl/GLContext.java b/src/java/org/lwjgl/opengl/GLContext.java index 686b888d..130aa0c8 100644 --- a/src/java/org/lwjgl/opengl/GLContext.java +++ b/src/java/org/lwjgl/opengl/GLContext.java @@ -200,6 +200,8 @@ public final class GLContext { } // ----------------------[ 3.X ]---------------------- + if ( 3 < majorVersion || (3 == majorVersion && 2 <= minorVersion) ) + supported_extensions.add("OpenGL32"); if ( 3 < majorVersion || (3 == majorVersion && 1 <= minorVersion) ) supported_extensions.add("OpenGL31"); if ( 3 <= majorVersion ) diff --git a/src/java/org/lwjgl/opengl/LinuxContextAttribs.java b/src/java/org/lwjgl/opengl/LinuxContextAttribs.java index 061b59e2..d8fa015f 100644 --- a/src/java/org/lwjgl/opengl/LinuxContextAttribs.java +++ b/src/java/org/lwjgl/opengl/LinuxContextAttribs.java @@ -44,10 +44,14 @@ final class LinuxContextAttribs implements ContextAttribsImplementation { private static final int GLX_CONTEXT_MINOR_VERSION_ARB = 0x2092; private static final int GLX_CONTEXT_LAYER_PLANE_ARB = 0x2093; private static final int GLX_CONTEXT_FLAGS_ARB = 0x2094; + private static final int GLX_CONTEXT_PROFILE_MASK_ARB = 0x9126; private static final int GLX_CONTEXT_DEBUG_BIT_ARB = 0x0001; private static final int GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB = 0x0002; + private static final int GLX_CONTEXT_CORE_PROFILE_BIT_ARB = 0x00000001; + private static final int GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB = 0x00000002; + LinuxContextAttribs() { } @@ -75,4 +79,16 @@ final class LinuxContextAttribs implements ContextAttribsImplementation { return GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB; } + public int getProfileMaskAttrib() { + return GLX_CONTEXT_PROFILE_MASK_ARB; + } + + public int getProfileCoreBit() { + return GLX_CONTEXT_CORE_PROFILE_BIT_ARB; + } + + public int getProfileCompatibilityBit() { + return GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB; + } + } \ No newline at end of file diff --git a/src/java/org/lwjgl/opengl/MacOSXContextAttribs.java b/src/java/org/lwjgl/opengl/MacOSXContextAttribs.java index dd7de803..01a5c5a4 100644 --- a/src/java/org/lwjgl/opengl/MacOSXContextAttribs.java +++ b/src/java/org/lwjgl/opengl/MacOSXContextAttribs.java @@ -44,10 +44,14 @@ final class MacOSXContextAttribs implements ContextAttribsImplementation { private static final int XGL_CONTEXT_MINOR_VERSION_ARB = 0x2092; private static final int XGL_CONTEXT_LAYER_PLANE_ARB = 0x2093; private static final int XGL_CONTEXT_FLAGS_ARB = 0x2094; + private static final int XGL_CONTEXT_PROFILE_MASK_ARB = 0x9126; private static final int XGL_CONTEXT_DEBUG_BIT_ARB = 0x0001; private static final int XGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB = 0x0002; + private static final int XGL_CONTEXT_CORE_PROFILE_BIT_ARB = 0x00000001; + private static final int XGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB = 0x00000002; + MacOSXContextAttribs() { } @@ -75,4 +79,16 @@ final class MacOSXContextAttribs implements ContextAttribsImplementation { return XGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB; } + public int getProfileMaskAttrib() { + return XGL_CONTEXT_PROFILE_MASK_ARB; + } + + public int getProfileCoreBit() { + return XGL_CONTEXT_CORE_PROFILE_BIT_ARB; + } + + public int getProfileCompatibilityBit() { + return XGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB; + } + } \ No newline at end of file diff --git a/src/java/org/lwjgl/opengl/WindowsContextAttribs.java b/src/java/org/lwjgl/opengl/WindowsContextAttribs.java index 6aea35d2..3273144b 100644 --- a/src/java/org/lwjgl/opengl/WindowsContextAttribs.java +++ b/src/java/org/lwjgl/opengl/WindowsContextAttribs.java @@ -42,10 +42,14 @@ final class WindowsContextAttribs implements ContextAttribsImplementation { private static final int WGL_CONTEXT_MINOR_VERSION_ARB = 0x2092; private static final int WGL_CONTEXT_LAYER_PLANE_ARB = 0x2093; private static final int WGL_CONTEXT_FLAGS_ARB = 0x2094; + private static final int WGL_CONTEXT_PROFILE_MASK_ARB = 0x9126; private static final int WGL_CONTEXT_DEBUG_BIT_ARB = 0x0001; private static final int WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB = 0x0002; + private static final int WGL_CONTEXT_CORE_PROFILE_BIT_ARB = 0x00000001; + private static final int WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB = 0x00000002; + WindowsContextAttribs() { } @@ -73,4 +77,16 @@ final class WindowsContextAttribs implements ContextAttribsImplementation { return WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB; } + public int getProfileMaskAttrib() { + return WGL_CONTEXT_PROFILE_MASK_ARB; + } + + public int getProfileCoreBit() { + return WGL_CONTEXT_CORE_PROFILE_BIT_ARB; + } + + public int getProfileCompatibilityBit() { + return WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB; + } + } \ No newline at end of file diff --git a/src/java/org/lwjgl/util/generator/FieldsGenerator.java b/src/java/org/lwjgl/util/generator/FieldsGenerator.java index a37cf2db..689390be 100644 --- a/src/java/org/lwjgl/util/generator/FieldsGenerator.java +++ b/src/java/org/lwjgl/util/generator/FieldsGenerator.java @@ -48,17 +48,23 @@ public class FieldsGenerator { if (!(field_type instanceof PrimitiveType)) throw new RuntimeException("Field " + field.getSimpleName() + " is not a primitive type"); PrimitiveType field_type_prim = (PrimitiveType)field_type; - if (field_type_prim.getKind() != PrimitiveType.Kind.INT) - throw new RuntimeException("Field " + field.getSimpleName() + " is not of type 'int'"); - Integer field_value = (Integer)field.getConstantValue(); + if (field_type_prim.getKind() != PrimitiveType.Kind.INT && field_type_prim.getKind() != PrimitiveType.Kind.LONG) + throw new RuntimeException("Field " + field.getSimpleName() + " is not of type 'int' or 'long'"); + Object field_value = field.getConstantValue(); if (field_value == null) throw new RuntimeException("Field " + field.getSimpleName() + " has no initial value"); } private static void generateField(PrintWriter writer, FieldDeclaration field) { - Integer field_value = (Integer)field.getConstantValue(); validateField(field); - String field_value_string = Integer.toHexString(field_value); + + Object value = field.getConstantValue(); + String field_value_string; + if ( value.getClass().equals(Integer.class) ) + field_value_string = Integer.toHexString((Integer)field.getConstantValue()); + else + field_value_string = Long.toHexString((Long)field.getConstantValue()) + 'l'; + Utils.printDocComment(writer, field); // Print field declaration writer.println("\tpublic static final " + field.getType().toString() + " " + field.getSimpleName() + " = 0x" + field_value_string + ";"); diff --git a/src/java/org/lwjgl/util/generator/GLTypeMap.java b/src/java/org/lwjgl/util/generator/GLTypeMap.java index ed2f0889..69a531a8 100644 --- a/src/java/org/lwjgl/util/generator/GLTypeMap.java +++ b/src/java/org/lwjgl/util/generator/GLTypeMap.java @@ -41,14 +41,16 @@ package org.lwjgl.util.generator; * $Id$ */ -import com.sun.mirror.declaration.*; -import com.sun.mirror.type.*; - -import java.io.*; -import java.util.*; +import java.io.PrintWriter; import java.nio.*; +import java.util.HashMap; +import java.util.Map; + +import com.sun.mirror.declaration.AnnotationMirror; +import com.sun.mirror.type.PrimitiveType; public class GLTypeMap implements TypeMap { + private static final Map native_types_to_primitive; static { @@ -78,11 +80,14 @@ public class GLTypeMap implements TypeMap { native_types_to_primitive.put(GLvoid.class, PrimitiveType.Kind.BYTE); native_types_to_primitive.put(GLint64EXT.class, PrimitiveType.Kind.LONG); native_types_to_primitive.put(GLuint64EXT.class, PrimitiveType.Kind.LONG); + native_types_to_primitive.put(GLint64.class, PrimitiveType.Kind.LONG); + native_types_to_primitive.put(GLuint64.class, PrimitiveType.Kind.LONG); + native_types_to_primitive.put(GLsync.class, PrimitiveType.Kind.LONG); } public PrimitiveType.Kind getPrimitiveTypeFromNativeType(Class native_type) { PrimitiveType.Kind kind = native_types_to_primitive.get(native_type); - if (kind == null) + if ( kind == null ) throw new RuntimeException("Unsupported type " + native_type); return kind; } @@ -96,50 +101,46 @@ public class GLTypeMap implements TypeMap { } public Signedness getSignednessFromType(Class type) { - if (GLuint.class.equals(type)) + if ( GLuint.class.equals(type) ) return Signedness.UNSIGNED; - else if (GLint.class.equals(type)) + else if ( GLint.class.equals(type) ) return Signedness.SIGNED; - else if (GLushort.class.equals(type)) + else if ( GLushort.class.equals(type) ) return Signedness.UNSIGNED; - else if (GLshort.class.equals(type)) + else if ( GLshort.class.equals(type) ) return Signedness.SIGNED; - else if (GLubyte.class.equals(type)) + else if ( GLubyte.class.equals(type) ) return Signedness.UNSIGNED; - else if (GLbyte.class.equals(type)) + else if ( GLbyte.class.equals(type) ) return Signedness.SIGNED; - else if (GLuint64EXT.class.equals(type)) + else if ( GLuint64EXT.class.equals(type) ) return Signedness.UNSIGNED; - else if (GLint64EXT.class.equals(type)) + else if ( GLint64EXT.class.equals(type) ) + return Signedness.SIGNED; + else if ( GLuint64.class.equals(type) ) + return Signedness.UNSIGNED; + else if ( GLint64.class.equals(type) ) return Signedness.SIGNED; else return Signedness.NONE; } public String translateAnnotation(Class annotation_type) { - if (annotation_type.equals(GLuint.class)) + if ( annotation_type.equals(GLuint.class) || annotation_type.equals(GLint.class) ) return "i"; - else if (annotation_type.equals(GLint.class)) - return "i"; - else if (annotation_type.equals(GLushort.class)) - return"s"; - else if (annotation_type.equals(GLshort.class)) + else if ( annotation_type.equals(GLushort.class) || annotation_type.equals(GLshort.class) ) return "s"; - else if (annotation_type.equals(GLubyte.class)) + else if ( annotation_type.equals(GLubyte.class) || annotation_type.equals(GLbyte.class) ) return "b"; - else if (annotation_type.equals(GLbyte.class)) - return "b"; - else if (annotation_type.equals(GLfloat.class)) + else if ( annotation_type.equals(GLfloat.class) ) return "f"; - else if (annotation_type.equals(GLdouble.class)) + else if ( annotation_type.equals(GLdouble.class) ) return "d"; - else if (annotation_type.equals(GLhalf.class)) + else if ( annotation_type.equals(GLhalf.class) ) return "h"; - else if (annotation_type.equals(GLuint64EXT.class)) + else if ( annotation_type.equals(GLuint64EXT.class) || annotation_type.equals(GLint64EXT.class) || annotation_type.equals(GLuint64.class) || annotation_type.equals(GLint64.class) ) return "i64"; - else if (annotation_type.equals(GLint64EXT.class)) - return "i64"; - else if (annotation_type.equals(GLboolean.class) || annotation_type.equals(GLvoid.class)) + else if ( annotation_type.equals(GLboolean.class) || annotation_type.equals(GLvoid.class) ) return ""; else throw new RuntimeException(annotation_type + " is not allowed"); @@ -147,7 +148,7 @@ public class GLTypeMap implements TypeMap { public Class getNativeTypeFromPrimitiveType(PrimitiveType.Kind kind) { Class type; - switch (kind) { + switch ( kind ) { case INT: type = GLint.class; break; @@ -184,43 +185,43 @@ public class GLTypeMap implements TypeMap { } private static Class[] getValidBufferTypes(Class type) { - if (type.equals(IntBuffer.class)) - return new Class[]{GLbitfield.class, GLenum.class, GLhandleARB.class, GLint.class, - GLsizei.class, GLuint.class}; - else if (type.equals(FloatBuffer.class)) - return new Class[]{GLclampf.class, GLfloat.class}; - else if (type.equals(ByteBuffer.class)) - return new Class[]{GLboolean.class, GLbyte.class, GLcharARB.class, GLchar.class, GLubyte.class, GLvoid.class}; - else if (type.equals(ShortBuffer.class)) - return new Class[]{GLhalf.class, GLshort.class, GLushort.class}; - else if (type.equals(DoubleBuffer.class)) - return new Class[]{GLclampd.class, GLdouble.class}; - else if (type.equals(LongBuffer.class)) - return new Class[]{GLint64EXT.class, GLuint64EXT.class}; + if ( type.equals(IntBuffer.class) ) + return new Class[] { GLbitfield.class, GLenum.class, GLhandleARB.class, GLint.class, + GLsizei.class, GLuint.class }; + else if ( type.equals(FloatBuffer.class) ) + return new Class[] { GLclampf.class, GLfloat.class }; + else if ( type.equals(ByteBuffer.class) ) + return new Class[] { GLboolean.class, GLbyte.class, GLcharARB.class, GLchar.class, GLubyte.class, GLvoid.class }; + else if ( type.equals(ShortBuffer.class) ) + return new Class[] { GLhalf.class, GLshort.class, GLushort.class }; + else if ( type.equals(DoubleBuffer.class) ) + return new Class[] { GLclampd.class, GLdouble.class }; + else if ( type.equals(LongBuffer.class) ) + return new Class[] { GLint64EXT.class, GLuint64EXT.class, GLint64.class, GLuint64.class, GLsync.class }; else - return new Class[]{}; + return new Class[] { }; } private static Class[] getValidPrimitiveTypes(Class type) { - if (type.equals(long.class)) - return new Class[]{GLintptrARB.class, GLuint.class, GLintptr.class, GLsizeiptrARB.class, GLsizeiptr.class, GLint64EXT.class, GLuint64EXT.class}; - else if (type.equals(int.class)) - return new Class[]{GLbitfield.class, GLenum.class, GLhandleARB.class, GLint.class, GLuint.class, - GLsizei.class}; - else if (type.equals(double.class)) - return new Class[]{GLclampd.class, GLdouble.class}; - else if (type.equals(float.class)) - return new Class[]{GLclampf.class, GLfloat.class}; - else if (type.equals(short.class)) - return new Class[]{GLhalf.class, GLshort.class, GLushort.class}; - else if (type.equals(byte.class)) - return new Class[]{GLbyte.class, GLcharARB.class, GLchar.class, GLubyte.class}; - else if (type.equals(boolean.class)) - return new Class[]{GLboolean.class}; - else if (type.equals(void.class)) - return new Class[]{GLvoid.class}; + if ( type.equals(long.class) ) + return new Class[] { GLintptrARB.class, GLuint.class, GLintptr.class, GLsizeiptrARB.class, GLsizeiptr.class, GLint64EXT.class, GLuint64EXT.class, GLint64.class, GLuint64.class, GLsync.class }; + else if ( type.equals(int.class) ) + return new Class[] { GLbitfield.class, GLenum.class, GLhandleARB.class, GLint.class, GLuint.class, + GLsizei.class }; + else if ( type.equals(double.class) ) + return new Class[] { GLclampd.class, GLdouble.class }; + else if ( type.equals(float.class) ) + return new Class[] { GLclampf.class, GLfloat.class }; + else if ( type.equals(short.class) ) + return new Class[] { GLhalf.class, GLshort.class, GLushort.class }; + else if ( type.equals(byte.class) ) + return new Class[] { GLbyte.class, GLcharARB.class, GLchar.class, GLubyte.class }; + else if ( type.equals(boolean.class) ) + return new Class[] { GLboolean.class }; + else if ( type.equals(void.class) ) + return new Class[] { GLvoid.class }; else - return new Class[]{}; + return new Class[] { }; } public String getTypedefPrefix() { @@ -233,55 +234,59 @@ public class GLTypeMap implements TypeMap { public Class[] getValidAnnotationTypes(Class type) { Class[] valid_types; - if (Buffer.class.isAssignableFrom(type)) + if ( Buffer.class.isAssignableFrom(type) ) valid_types = getValidBufferTypes(type); - else if (type.isPrimitive()) + else if ( type.isPrimitive() ) valid_types = getValidPrimitiveTypes(type); - else if (String.class.equals(type)) - valid_types = new Class[]{GLubyte.class}; + else if ( String.class.equals(type) ) + valid_types = new Class[] { GLubyte.class }; else - valid_types = new Class[]{}; + valid_types = new Class[] { }; return valid_types; } public Class getInverseType(Class type) { - if (GLuint.class.equals(type)) + if ( GLuint.class.equals(type) ) return GLint.class; - else if (GLint.class.equals(type)) + else if ( GLint.class.equals(type) ) return GLuint.class; - else if (GLushort.class.equals(type)) + else if ( GLushort.class.equals(type) ) return GLshort.class; - else if (GLshort.class.equals(type)) + else if ( GLshort.class.equals(type) ) return GLushort.class; - else if (GLubyte.class.equals(type)) + else if ( GLubyte.class.equals(type) ) return GLbyte.class; - else if (GLbyte.class.equals(type)) + else if ( GLbyte.class.equals(type) ) return GLubyte.class; - else if (GLuint64EXT.class.equals(type)) + else if ( GLuint64EXT.class.equals(type) ) return GLint64EXT.class; - else if (GLint64EXT.class.equals(type)) + else if ( GLint64EXT.class.equals(type) ) return GLuint64EXT.class; + else if ( GLuint64.class.equals(type) ) + return GLint64.class; + else if ( GLint64.class.equals(type) ) + return GLuint64.class; else return null; } public String getAutoTypeFromAnnotation(AnnotationMirror annotation) { Class annotation_class = NativeTypeTranslator.getClassFromType(annotation.getAnnotationType()); - if (annotation_class.equals(GLint.class)) + if ( annotation_class.equals(GLint.class) ) return "GL11.GL_INT"; - else if (annotation_class.equals(GLbyte.class)) + else if ( annotation_class.equals(GLbyte.class) ) return "GL11.GL_BYTE"; - else if (annotation_class.equals(GLshort.class)) + else if ( annotation_class.equals(GLshort.class) ) return "GL11.GL_SHORT"; - if (annotation_class.equals(GLuint.class)) + if ( annotation_class.equals(GLuint.class) ) return "GL11.GL_UNSIGNED_INT"; - else if (annotation_class.equals(GLubyte.class)) + else if ( annotation_class.equals(GLubyte.class) ) return "GL11.GL_UNSIGNED_BYTE"; - else if (annotation_class.equals(GLushort.class)) + else if ( annotation_class.equals(GLushort.class) ) return "GL11.GL_UNSIGNED_SHORT"; - else if (annotation_class.equals(GLfloat.class)) + else if ( annotation_class.equals(GLfloat.class) ) return "GL11.GL_FLOAT"; - else if (annotation_class.equals(GLdouble.class)) + else if ( annotation_class.equals(GLdouble.class) ) return "GL11.GL_DOUBLE"; else return null; diff --git a/src/native/common/extgl.h b/src/native/common/extgl.h index 02826aa6..b26b92bd 100644 --- a/src/native/common/extgl.h +++ b/src/native/common/extgl.h @@ -129,6 +129,9 @@ typedef unsigned short GLhalfNV; typedef unsigned short GLhalf; typedef int64_t GLint64EXT; typedef uint64_t GLuint64EXT; +typedef int64_t GLint64; +typedef uint64_t GLuint64; +typedef struct __GLsync *GLsync; /* helper stuff */ diff --git a/src/templates/org/lwjgl/opengl/AMD_draw_buffers_blend.java b/src/templates/org/lwjgl/opengl/AMD_draw_buffers_blend.java new file mode 100644 index 00000000..9786cfa3 --- /dev/null +++ b/src/templates/org/lwjgl/opengl/AMD_draw_buffers_blend.java @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2002-2008 LWJGL Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of 'LWJGL' nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.lwjgl.opengl; + +import org.lwjgl.util.generator.GLenum; +import org.lwjgl.util.generator.GLuint; + +public interface AMD_draw_buffers_blend { + + void glBlendFuncIndexedAMD(@GLuint int buf, @GLenum int src, @GLenum int dst); + + void glBlendFuncSeparateIndexedAMD(@GLuint int buf, @GLenum int srcRGB, @GLenum int dstRGB, + @GLenum int srcAlpha, @GLenum int dstAlpha); + + void glBlendEquationIndexedAMD(@GLuint int buf, @GLenum int mode); + + void glBlendEquationSeparateIndexedAMD(@GLuint int buf, @GLenum int modeRGB, + @GLenum int modeAlpha); + +} \ No newline at end of file diff --git a/src/templates/org/lwjgl/opengl/ARB_depth_clamp.java b/src/templates/org/lwjgl/opengl/ARB_depth_clamp.java new file mode 100644 index 00000000..c81bf962 --- /dev/null +++ b/src/templates/org/lwjgl/opengl/ARB_depth_clamp.java @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2002-2008 LWJGL Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of 'LWJGL' nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.lwjgl.opengl; + +public interface ARB_depth_clamp { + + /** + * Accepted by the <cap> parameter of Enable, Disable, and IsEnabled, + * and by the <pname> parameter of GetBooleanv, GetIntegerv, + * GetFloatv, and GetDoublev: + */ + int GL_DEPTH_CLAMP = 0x864F; + +} \ No newline at end of file diff --git a/src/templates/org/lwjgl/opengl/ARB_draw_buffers_blend.java b/src/templates/org/lwjgl/opengl/ARB_draw_buffers_blend.java new file mode 100644 index 00000000..d45400c8 --- /dev/null +++ b/src/templates/org/lwjgl/opengl/ARB_draw_buffers_blend.java @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2002-2008 LWJGL Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of 'LWJGL' nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.lwjgl.opengl; + +import org.lwjgl.util.generator.GLenum; +import org.lwjgl.util.generator.GLuint; + +public interface ARB_draw_buffers_blend { + + void glBlendEquationiARB(@GLuint int buf, @GLenum int mode); + + void glBlendEquationSeparateiARB(@GLuint int buf, @GLenum int modeRGB, @GLenum int modeAlpha); + + void glBlendFunciARB(@GLuint int buf, @GLenum int src, @GLenum int dst); + + void glBlendFuncSeparateiARB(@GLuint int buf, @GLenum int srcRGB, @GLenum int dstRGB, @GLenum int srcAlpha, @GLenum int dstAlpha); + +} \ No newline at end of file diff --git a/src/templates/org/lwjgl/opengl/ARB_draw_elements_base_vertex.java b/src/templates/org/lwjgl/opengl/ARB_draw_elements_base_vertex.java new file mode 100644 index 00000000..0024d956 --- /dev/null +++ b/src/templates/org/lwjgl/opengl/ARB_draw_elements_base_vertex.java @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2002-2008 LWJGL Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of 'LWJGL' nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.lwjgl.opengl; + +import org.lwjgl.util.generator.*; + +import java.nio.Buffer; + +public interface ARB_draw_elements_base_vertex { + + void glDrawElementsBaseVertex(@GLenum int mode, @AutoSize("indices") @GLsizei int count, @AutoType("indices") @GLenum int type, + @BufferObject(BufferKind.ElementVBO) + @Const + @GLubyte + @GLushort + @GLuint Buffer indices, int basevertex); + + void glDrawRangeElementsBaseVertex(@GLenum int mode, @GLuint int start, @GLuint int end, @AutoSize("indices") @GLsizei int count, @AutoType("indices") @GLenum int type, + @BufferObject(BufferKind.ElementVBO) + @Const + @GLubyte + @GLushort + @GLuint Buffer indices, int basevertex); + + void glDrawElementsInstancedBaseVertex(@GLenum int mode, @AutoSize("indices") @GLsizei int count, @AutoType("indices") @GLenum int type, + @BufferObject(BufferKind.ElementVBO) + @Const + @GLubyte + @GLushort + @GLuint Buffer indices, @GLsizei int primcount, int basevertex); + + //void glMultiDrawElementsBaseVertex(@GLenum int mode, @GLsizei*count, @GLenum int type, void**indices, @GLsizei int primcount, int*basevertex) + +} \ No newline at end of file diff --git a/src/templates/org/lwjgl/opengl/ARB_fragment_coord_conventions.java b/src/templates/org/lwjgl/opengl/ARB_fragment_coord_conventions.java new file mode 100644 index 00000000..d4eedabc --- /dev/null +++ b/src/templates/org/lwjgl/opengl/ARB_fragment_coord_conventions.java @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2002-2008 LWJGL Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of 'LWJGL' nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.lwjgl.opengl; + +public interface ARB_fragment_coord_conventions { +} \ No newline at end of file diff --git a/src/templates/org/lwjgl/opengl/ARB_provoking_vertex.java b/src/templates/org/lwjgl/opengl/ARB_provoking_vertex.java new file mode 100644 index 00000000..0bf26e78 --- /dev/null +++ b/src/templates/org/lwjgl/opengl/ARB_provoking_vertex.java @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2002-2008 LWJGL Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of 'LWJGL' nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.lwjgl.opengl; + +import org.lwjgl.util.generator.GLenum; + +public interface ARB_provoking_vertex { + + /** Accepted by the <mode> parameter of ProvokingVertex: */ + int GL_FIRST_VERTEX_CONVENTION = 0x8E4D; + int GL_LAST_VERTEX_CONVENTION = 0x8E4E; + + /** + * Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, + * GetFloatv, and GetDoublev: + */ + int GL_PROVOKING_VERTEX = 0x8E4F; + int GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = 0x8E4C; + + void glProvokingVertex(@GLenum int mode); + +} \ No newline at end of file diff --git a/src/templates/org/lwjgl/opengl/ARB_sample_shading.java b/src/templates/org/lwjgl/opengl/ARB_sample_shading.java new file mode 100644 index 00000000..543ef6c1 --- /dev/null +++ b/src/templates/org/lwjgl/opengl/ARB_sample_shading.java @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2002-2008 LWJGL Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of 'LWJGL' nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.lwjgl.opengl; + +import org.lwjgl.util.generator.GLclampf; + +public interface ARB_sample_shading { + + /** + * Accepted by the <cap> parameter of Enable, Disable, and IsEnabled, + * and by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, + * and GetDoublev: + */ + int GL_SAMPLE_SHADING_ARB = 0x8C36; + + /** + * Accepted by the <pname> parameter of GetBooleanv, GetDoublev, + * GetIntegerv, and GetFloatv: + */ + int GL_MIN_SAMPLE_SHADING_VALUE_ARB = 0x8C37; + + void glMinSampleShadingARB(@GLclampf float value); + +} \ No newline at end of file diff --git a/src/templates/org/lwjgl/opengl/ARB_seamless_cube_map.java b/src/templates/org/lwjgl/opengl/ARB_seamless_cube_map.java new file mode 100644 index 00000000..0a58ffbf --- /dev/null +++ b/src/templates/org/lwjgl/opengl/ARB_seamless_cube_map.java @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2002-2008 LWJGL Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of 'LWJGL' nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.lwjgl.opengl; + +public interface ARB_seamless_cube_map { + + /** + * Accepted by the <cap> parameter of Enable, Disable and IsEnabled, + * and by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv + * and GetDoublev: + */ + int GL_TEXTURE_CUBE_MAP_SEAMLESS = 0x884F; + +} \ No newline at end of file diff --git a/src/templates/org/lwjgl/opengl/ARB_shader_texture_lod.java b/src/templates/org/lwjgl/opengl/ARB_shader_texture_lod.java new file mode 100644 index 00000000..e646deac --- /dev/null +++ b/src/templates/org/lwjgl/opengl/ARB_shader_texture_lod.java @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2002-2008 LWJGL Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of 'LWJGL' nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.lwjgl.opengl; + +public interface ARB_shader_texture_lod { +} \ No newline at end of file diff --git a/src/templates/org/lwjgl/opengl/ARB_sync.java b/src/templates/org/lwjgl/opengl/ARB_sync.java new file mode 100644 index 00000000..db74eb72 --- /dev/null +++ b/src/templates/org/lwjgl/opengl/ARB_sync.java @@ -0,0 +1,93 @@ +/* + * Copyright (c) 2002-2008 LWJGL Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of 'LWJGL' nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.lwjgl.opengl; + +import org.lwjgl.util.generator.*; + +import java.nio.IntBuffer; +import java.nio.LongBuffer; + +@Extension(postfix = "") +public interface ARB_sync { + + /** Accepted as the <pname> parameter of GetInteger64v: */ + int GL_MAX_SERVER_WAIT_TIMEOUT = 0x9111; + + /** Accepted as the <pname> parameter of GetSynciv: */ + int GL_OBJECT_TYPE = 0x9112; + int GL_SYNC_CONDITION = 0x9113; + int GL_SYNC_STATUS = 0x9114; + int GL_SYNC_FLAGS = 0x9115; + + /** Returned in <values> for GetSynciv <pname> OBJECT_TYPE: */ + int GL_SYNC_FENCE = 0x9116; + + /** Returned in <values> for GetSynciv <pname> SYNC_CONDITION: */ + int GL_SYNC_GPU_COMMANDS_COMPLETE = 0x9117; + + /** Returned in <values> for GetSynciv <pname> SYNC_STATUS: */ + int GL_UNSIGNALED = 0x9118; + int GL_SIGNALED = 0x9119; + + /** Accepted in the <flags> parameter of ClientWaitSync: */ + int GL_SYNC_FLUSH_COMMANDS_BIT = 0x00000001; + + /** Accepted in the <timeout> parameter of WaitSync: */ + long GL_TIMEOUT_IGNORED = 0xFFFFFFFFFFFFFFFFl; + + /** Returned by ClientWaitSync: */ + int GL_ALREADY_SIGNALED = 0x911A; + int GL_TIMEOUT_EXPIRED = 0x911B; + int GL_CONDITION_SATISFIED = 0x911C; + int GL_WAIT_FAILED = 0x911D; + + @GLsync + long glFenceSync(@GLenum int condition, @GLbitfield int flags); + + boolean glIsSync(@GLsync long sync); + + void glDeleteSync(@GLsync long sync); + + @GLenum + int glClientWaitSync(@GLsync long sync, @GLbitfield int flags, @GLuint64 long timeout); + + void glWaitSync(@GLsync long sync, @GLbitfield int flags, @GLuint64 long timeout); + + @StripPostfix("params") + void glGetInteger64v(@GLenum int pname, @OutParameter @Check("1") @GLint64 LongBuffer params); + + void glGetSynciv(@GLsync long sync, @GLenum int pname, + @AutoSize("values") @GLsizei int bufSize, + @OutParameter @GLsizei @Check(value = "1", canBeNull = true) IntBuffer length, + @OutParameter IntBuffer values); + +} \ No newline at end of file diff --git a/src/templates/org/lwjgl/opengl/ARB_texture_cube_map_array.java b/src/templates/org/lwjgl/opengl/ARB_texture_cube_map_array.java new file mode 100644 index 00000000..dd5d95e9 --- /dev/null +++ b/src/templates/org/lwjgl/opengl/ARB_texture_cube_map_array.java @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2002-2008 LWJGL Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of 'LWJGL' nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.lwjgl.opengl; + +public interface ARB_texture_cube_map_array { + + /** + * Accepted by the <target> parameter of TexParameteri, TexParameteriv, + * TexParameterf, TexParameterfv, BindTexture, and GenerateMipmap: + *

+ * Accepted by the <target> parameter of TexImage3D, TexSubImage3D, + * CompressedTeximage3D, CompressedTexSubImage3D and CopyTexSubImage3D: + *

+ * Accepted by the <tex> parameter of GetTexImage: + */ + int GL_TEXTURE_CUBE_MAP_ARRAY_ARB = 0x9009; + + /** + * Accepted by the <pname> parameter of GetBooleanv, GetDoublev, + * GetIntegerv and GetFloatv: + */ + int GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB = 0x900A; + + /** + * Accepted by the <target> parameter of TexImage3D, TexSubImage3D, + * CompressedTeximage3D, CompressedTexSubImage3D and CopyTexSubImage3D: + */ + int GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB = 0x900B; + + /** Returned by the <type> parameter of GetActiveUniform: */ + int GL_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900C; + int GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB = 0x900D; + int GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900E; + int GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900F; + +} \ No newline at end of file diff --git a/src/templates/org/lwjgl/opengl/ARB_texture_gather.java b/src/templates/org/lwjgl/opengl/ARB_texture_gather.java new file mode 100644 index 00000000..bc1af498 --- /dev/null +++ b/src/templates/org/lwjgl/opengl/ARB_texture_gather.java @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2002-2008 LWJGL Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of 'LWJGL' nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.lwjgl.opengl; + +public interface ARB_texture_gather { + + /** + * Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, + * GetFloatv, and GetDoublev: + */ + int GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8E5E; + int GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8E5F; + int GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB = 0x8F9F; + +} \ No newline at end of file diff --git a/src/templates/org/lwjgl/opengl/ARB_texture_multisample.java b/src/templates/org/lwjgl/opengl/ARB_texture_multisample.java new file mode 100644 index 00000000..fe586bf8 --- /dev/null +++ b/src/templates/org/lwjgl/opengl/ARB_texture_multisample.java @@ -0,0 +1,111 @@ +/* + * Copyright (c) 2002-2008 LWJGL Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of 'LWJGL' nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.lwjgl.opengl; + +import org.lwjgl.util.generator.*; + +import java.nio.FloatBuffer; + +@Extension(postfix = "") +public interface ARB_texture_multisample { + + /** Accepted by the <pname> parameter of GetMultisamplefv: */ + int GL_SAMPLE_POSITION = 0x8E50; + + /** + * Accepted by the <cap> parameter of Enable, Disable, and IsEnabled, and by + * the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and + * GetDoublev: + */ + int GL_SAMPLE_MASK = 0x8E51; + + /** + * Accepted by the <target> parameter of GetBooleani_v and + * GetIntegeri_v: + */ + int GL_SAMPLE_MASK_VALUE = 0x8E52; + + /** + * Accepted by the <target> parameter of BindTexture and + * TexImage2DMultisample: + */ + int GL_TEXTURE_2D_MULTISAMPLE = 0x9100; + + /** Accepted by the <target> parameter of TexImage2DMultisample: */ + int GL_PROXY_TEXTURE_2D_MULTISAMPLE = 0x9101; + + /** + * Accepted by the <target> parameter of BindTexture and + * TexImage3DMultisample: + */ + int GL_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9102; + + /** Accepted by the <target> parameter of TexImage3DMultisample: */ + int GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9103; + + /** + * Accepted by the <pname> parameter of GetBooleanv, GetDoublev, GetIntegerv, + * and GetFloatv: + */ + int GL_MAX_SAMPLE_MASK_WORDS = 0x8E59; + int GL_MAX_COLOR_TEXTURE_SAMPLES = 0x910E; + int GL_MAX_DEPTH_TEXTURE_SAMPLES = 0x910F; + int GL_MAX_INTEGER_SAMPLES = 0x9110; + int GL_TEXTURE_BINDING_2D_MULTISAMPLE = 0x9104; + int GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = 0x9105; + + /** Accepted by the <pname> parameter of GetTexLevelParameter */ + int GL_TEXTURE_SAMPLES = 0x9106; + int GL_TEXTURE_FIXED_SAMPLE_LOCATIONS = 0x9107; + + /** Returned by the <type> parameter of GetActiveUniform: */ + int GL_SAMPLER_2D_MULTISAMPLE = 0x9108; + int GL_INT_SAMPLER_2D_MULTISAMPLE = 0x9109; + int GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = 0x910A; + int GL_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910B; + int GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910C; + int GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910D; + + void glTexImage2DMultisample(@GLenum int target, @GLsizei int samples, int internalformat, + @GLsizei int width, @GLsizei int height, + boolean fixedsamplelocations); + + void glTexImage3DMultisample(@GLenum int target, @GLsizei int samples, int internalformat, + @GLsizei int width, @GLsizei int height, @GLsizei int depth, + boolean fixedsamplelocations); + + @StripPostfix("val") + void glGetMultisamplefv(@GLenum int pname, @GLuint int index, @OutParameter @Check("2") FloatBuffer val); + + void glSampleMaski(@GLuint int index, @GLbitfield int mask); + +} \ No newline at end of file diff --git a/src/templates/org/lwjgl/opengl/ARB_texture_query_lod.java b/src/templates/org/lwjgl/opengl/ARB_texture_query_lod.java new file mode 100644 index 00000000..d54023a3 --- /dev/null +++ b/src/templates/org/lwjgl/opengl/ARB_texture_query_lod.java @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2002-2008 LWJGL Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of 'LWJGL' nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.lwjgl.opengl; + +public interface ARB_texture_query_lod { +} \ No newline at end of file diff --git a/src/templates/org/lwjgl/opengl/ARB_vertex_array_bgra.java b/src/templates/org/lwjgl/opengl/ARB_vertex_array_bgra.java new file mode 100644 index 00000000..fb6e7b88 --- /dev/null +++ b/src/templates/org/lwjgl/opengl/ARB_vertex_array_bgra.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2002-2008 LWJGL Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of 'LWJGL' nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.lwjgl.opengl; + +public interface ARB_vertex_array_bgra { + + /** + * Accepted by the <size> parameter of ColorPointer, + * SecondaryColorPointer, and VertexAttribPointer: + */ + int GL_BGRA = 0x80E1; + +} \ No newline at end of file diff --git a/src/templates/org/lwjgl/opengl/EXT_separate_shader_objects.java b/src/templates/org/lwjgl/opengl/EXT_separate_shader_objects.java new file mode 100644 index 00000000..723b1b60 --- /dev/null +++ b/src/templates/org/lwjgl/opengl/EXT_separate_shader_objects.java @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2002-2008 LWJGL Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of 'LWJGL' nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.lwjgl.opengl; + +import org.lwjgl.util.generator.*; + +import java.nio.ByteBuffer; + +public interface EXT_separate_shader_objects { + + /** Accepted by <type> parameter to GetIntegerv and GetFloatv: */ + int GL_ACTIVE_PROGRAM_EXT = 0x8B8D; + + void glUseShaderProgramEXT(@GLenum int type, @GLuint int program); + + void glActiveProgramEXT(@GLuint int program); + + @GLuint int glCreateShaderProgramEXT(@GLenum int type, @NullTerminated @Const @GLchar ByteBuffer string); + +} \ No newline at end of file diff --git a/src/templates/org/lwjgl/opengl/EXT_texture_snorm.java b/src/templates/org/lwjgl/opengl/EXT_texture_snorm.java new file mode 100644 index 00000000..7782cc04 --- /dev/null +++ b/src/templates/org/lwjgl/opengl/EXT_texture_snorm.java @@ -0,0 +1,70 @@ +/* + * Copyright (c) 2002-2008 LWJGL Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of 'LWJGL' nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.lwjgl.opengl; + +public interface EXT_texture_snorm { + + /** + * Accepted by the <internalFormat> parameter of TexImage1D, + * TexImage2D, and TexImage3D: + */ + int GL_RED_SNORM = 0x8F90; + int GL_RG_SNORM = 0x8F91; + int GL_RGB_SNORM = 0x8F92; + int GL_RGBA_SNORM = 0x8F93; + int GL_ALPHA_SNORM = 0x9010; + int GL_LUMINANCE_SNORM = 0x9011; + int GL_LUMINANCE_ALPHA_SNORM = 0x9012; + int GL_INTENSITY_SNORM = 0x9013; + + int GL_R8_SNORM = 0x8F94; + int GL_RG8_SNORM = 0x8F95; + int GL_RGB8_SNORM = 0x8F96; + int GL_RGBA8_SNORM = 0x8F97; + int GL_ALPHA8_SNORM = 0x9014; + int GL_LUMINANCE8_SNORM = 0x9015; + int GL_LUMINANCE8_ALPHA8_SNORM = 0x9016; + int GL_INTENSITY8_SNORM = 0x9017; + + int GL_R16_SNORM = 0x8F98; + int GL_RG16_SNORM = 0x8F99; + int GL_RGB16_SNORM = 0x8F9A; + int GL_RGBA16_SNORM = 0x8F9B; + int GL_ALPHA16_SNORM = 0x9018; + int GL_LUMINANCE16_SNORM = 0x9019; + int GL_LUMINANCE16_ALPHA16_SNORM = 0x901A; + int GL_INTENSITY16_SNORM = 0x901B; + + /** Returned by GetTexLevelParmeter */ + int GL_SIGNED_NORMALIZED = 0x8F9C; + +} \ No newline at end of file diff --git a/src/templates/org/lwjgl/opengl/GL32.java b/src/templates/org/lwjgl/opengl/GL32.java new file mode 100644 index 00000000..0237e04a --- /dev/null +++ b/src/templates/org/lwjgl/opengl/GL32.java @@ -0,0 +1,318 @@ +/* + * Copyright (c) 2002-2008 LWJGL Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of 'LWJGL' nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.lwjgl.opengl; + +import org.lwjgl.util.generator.*; + +import java.nio.Buffer; +import java.nio.FloatBuffer; +import java.nio.LongBuffer; +import java.nio.IntBuffer; + +public interface GL32 { + + // ---------------------------------------------------------- + // ----------------------[ OpenGL 3.2 ]---------------------- + // ---------------------------------------------------------- + + int GL_MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122; + int GL_MAX_GEOMETRY_INPUT_COMPONENTS = 0x9123; + int GL_MAX_GEOMETRY_OUTPUT_COMPONENTS = 0x9124; + int GL_MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125; + + // --------------------------------------------------------------------- + // ----------------------[ ARB_vertex_array_bgra ]---------------------- + // --------------------------------------------------------------------- + + int GL_BGRA = 0x80E1; + + // ----------------------------------------------------------------------------- + // ----------------------[ ARB_draw_elements_base_vertex ]---------------------- + // ----------------------------------------------------------------------------- + + void glDrawElementsBaseVertex(@GLenum int mode, @AutoSize("indices") @GLsizei int count, @AutoType("indices") @GLenum int type, + @BufferObject(BufferKind.ElementVBO) + @Const + @GLubyte + @GLushort + @GLuint Buffer indices, int basevertex); + + void glDrawRangeElementsBaseVertex(@GLenum int mode, @GLuint int start, @GLuint int end, @AutoSize("indices") @GLsizei int count, @AutoType("indices") @GLenum int type, + @BufferObject(BufferKind.ElementVBO) + @Const + @GLubyte + @GLushort + @GLuint Buffer indices, int basevertex); + + void glDrawElementsInstancedBaseVertex(@GLenum int mode, @AutoSize("indices") @GLsizei int count, @AutoType("indices") @GLenum int type, + @BufferObject(BufferKind.ElementVBO) + @Const + @GLubyte + @GLushort + @GLuint Buffer indices, @GLsizei int primcount, int basevertex); + + //void glMultiDrawElementsBaseVertex(@GLenum int mode, @GLsizei*count, @GLenum int type, void**indices, @GLsizei int primcount, int*basevertex) + + // -------------------------------------------------------------------- + // ----------------------[ ARB_provoking_vertex ]---------------------- + // -------------------------------------------------------------------- + + /** Accepted by the <mode> parameter of ProvokingVertex: */ + int GL_FIRST_VERTEX_CONVENTION = 0x8E4D; + int GL_LAST_VERTEX_CONVENTION = 0x8E4E; + + /** + * Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, + * GetFloatv, and GetDoublev: + */ + int GL_PROVOKING_VERTEX = 0x8E4F; + int GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = 0x8E4C; + + void glProvokingVertex(@GLenum int mode); + + // --------------------------------------------------------------------- + // ----------------------[ ARB_seamless_cube_map ]---------------------- + // --------------------------------------------------------------------- + + /** + * Accepted by the <cap> parameter of Enable, Disable and IsEnabled, + * and by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv + * and GetDoublev: + */ + int GL_TEXTURE_CUBE_MAP_SEAMLESS = 0x884F; + + // ----------------------------------------------------------------------- + // ----------------------[ ARB_texture_multisample ]---------------------- + // ----------------------------------------------------------------------- + + /** Accepted by the <pname> parameter of GetMultisamplefv: */ + int GL_SAMPLE_POSITION = 0x8E50; + + /** + * Accepted by the <cap> parameter of Enable, Disable, and IsEnabled, and by + * the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and + * GetDoublev: + */ + int GL_SAMPLE_MASK = 0x8E51; + + /** + * Accepted by the <target> parameter of GetBooleani_v and + * GetIntegeri_v: + */ + int GL_SAMPLE_MASK_VALUE = 0x8E52; + + /** + * Accepted by the <target> parameter of BindTexture and + * TexImage2DMultisample: + */ + int GL_TEXTURE_2D_MULTISAMPLE = 0x9100; + + /** Accepted by the <target> parameter of TexImage2DMultisample: */ + int GL_PROXY_TEXTURE_2D_MULTISAMPLE = 0x9101; + + /** + * Accepted by the <target> parameter of BindTexture and + * TexImage3DMultisample: + */ + int GL_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9102; + + /** Accepted by the <target> parameter of TexImage3DMultisample: */ + int GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9103; + + /** + * Accepted by the <pname> parameter of GetBooleanv, GetDoublev, GetIntegerv, + * and GetFloatv: + */ + int GL_MAX_SAMPLE_MASK_WORDS = 0x8E59; + int GL_MAX_COLOR_TEXTURE_SAMPLES = 0x910E; + int GL_MAX_DEPTH_TEXTURE_SAMPLES = 0x910F; + int GL_MAX_INTEGER_SAMPLES = 0x9110; + int GL_TEXTURE_BINDING_2D_MULTISAMPLE = 0x9104; + int GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = 0x9105; + + /** Accepted by the <pname> parameter of GetTexLevelParameter */ + int GL_TEXTURE_SAMPLES = 0x9106; + int GL_TEXTURE_FIXED_SAMPLE_LOCATIONS = 0x9107; + + /** Returned by the <type> parameter of GetActiveUniform: */ + int GL_SAMPLER_2D_MULTISAMPLE = 0x9108; + int GL_INT_SAMPLER_2D_MULTISAMPLE = 0x9109; + int GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = 0x910A; + int GL_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910B; + int GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910C; + int GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910D; + + void glTexImage2DMultisample(@GLenum int target, @GLsizei int samples, int internalformat, + @GLsizei int width, @GLsizei int height, + boolean fixedsamplelocations); + + void glTexImage3DMultisample(@GLenum int target, @GLsizei int samples, int internalformat, + @GLsizei int width, @GLsizei int height, @GLsizei int depth, + boolean fixedsamplelocations); + + @StripPostfix("val") + void glGetMultisamplefv(@GLenum int pname, @GLuint int index, @OutParameter @Check("2") FloatBuffer val); + + void glSampleMaski(@GLuint int index, @GLbitfield int mask); + + // --------------------------------------------------------------- + // ----------------------[ ARB_depth_clamp ]---------------------- + // --------------------------------------------------------------- + + /** + * Accepted by the <cap> parameter of Enable, Disable, and IsEnabled, + * and by the <pname> parameter of GetBooleanv, GetIntegerv, + * GetFloatv, and GetDoublev: + */ + int GL_DEPTH_CLAMP = 0x864F; + + // -------------------------------------------------------------------- + // ----------------------[ ARB_geometry_shader4 ]---------------------- + // -------------------------------------------------------------------- + + /** + * Accepted by the <type> parameter of CreateShader and returned by the + * <params> parameter of GetShaderiv: + */ + int GL_GEOMETRY_SHADER = 0x8DD9; + + /** + * Accepted by the <pname> parameter of ProgramParameteriEXT and + * GetProgramiv: + */ + int GL_GEOMETRY_VERTICES_OUT = 0x8DDA; + int GL_GEOMETRY_INPUT_TYPE = 0x8DDB; + int GL_GEOMETRY_OUTPUT_TYPE = 0x8DDC; + + /** + * Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, + * GetFloatv, and GetDoublev: + */ + int GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = 0x8C29; + //int GL_MAX_GEOMETRY_VARYING_COMPONENTS = 0x8DDD; -- Missing from 3.2 spec + //int GL_MAX_VERTEX_VARYING_COMPONENTS = 0x8DDE; -- Missing from 3.2 spec + int GL_MAX_VARYING_COMPONENTS = 0x8B4B; + int GL_MAX_GEOMETRY_UNIFORM_COMPONENTS = 0x8DDF; + int GL_MAX_GEOMETRY_OUTPUT_VERTICES = 0x8DE0; + int GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = 0x8DE1; + + /** + * Accepted by the <mode> parameter of Begin, DrawArrays, + * MultiDrawArrays, DrawElements, MultiDrawElements, and + * DrawRangeElements: + */ + int GL_LINES_ADJACENCY = 0xA; + int GL_LINE_STRIP_ADJACENCY = 0xB; + int GL_TRIANGLES_ADJACENCY = 0xC; + int GL_TRIANGLE_STRIP_ADJACENCY = 0xD; + + /** Returned by CheckFramebufferStatusEXT: */ + int GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = 0x8DA8; + int GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT = 0x8DA9; + + /** + * Accepted by the <pname> parameter of GetFramebufferAttachment- + * ParameterivEXT: + */ + int GL_FRAMEBUFFER_ATTACHMENT_LAYERED = 0x8DA7; + int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4; + + /** + * Accepted by the <cap> parameter of Enable, Disable, and IsEnabled, + * and by the <pname> parameter of GetIntegerv, GetFloatv, GetDoublev, + * and GetBooleanv: + */ + int GL_PROGRAM_POINT_SIZE = 0x8642; + + void glProgramParameteri(@GLuint int program, @GLenum int pname, int value); + + void glFramebufferTexture(@GLenum int target, @GLenum int attachment, @GLuint int texture, int level); + + void glFramebufferTextureLayer(@GLenum int target, @GLenum int attachment, @GLuint int texture, int level, int layer); + + void glFramebufferTextureFace(@GLenum int target, @GLenum int attachment, @GLuint int texture, int level, @GLenum int face); + + // -------------------------------------------------------- + // ----------------------[ ARB_sync ]---------------------- + // -------------------------------------------------------- + + /** Accepted as the <pname> parameter of GetInteger64v: */ + int GL_MAX_SERVER_WAIT_TIMEOUT = 0x9111; + + /** Accepted as the <pname> parameter of GetSynciv: */ + int GL_OBJECT_TYPE = 0x9112; + int GL_SYNC_CONDITION = 0x9113; + int GL_SYNC_STATUS = 0x9114; + int GL_SYNC_FLAGS = 0x9115; + + /** Returned in <values> for GetSynciv <pname> OBJECT_TYPE: */ + int GL_SYNC_FENCE = 0x9116; + + /** Returned in <values> for GetSynciv <pname> SYNC_CONDITION: */ + int GL_SYNC_GPU_COMMANDS_COMPLETE = 0x9117; + + /** Returned in <values> for GetSynciv <pname> SYNC_STATUS: */ + int GL_UNSIGNALED = 0x9118; + int GL_SIGNALED = 0x9119; + + /** Accepted in the <flags> parameter of ClientWaitSync: */ + int GL_SYNC_FLUSH_COMMANDS_BIT = 0x00000001; + + /** Accepted in the <timeout> parameter of WaitSync: */ + long GL_TIMEOUT_IGNORED = 0xFFFFFFFFFFFFFFFFl; + + /** Returned by ClientWaitSync: */ + int GL_ALREADY_SIGNALED = 0x911A; + int GL_TIMEOUT_EXPIRED = 0x911B; + int GL_CONDITION_SATISFIED = 0x911C; + int GL_WAIT_FAILED = 0x911D; + + /* + @GLsync long glFenceSync(@GLenum int condition, @GLbitfield int flags); + + boolean glIsSync(@GLsync long sync); + + void glDeleteSync(@GLsync long sync); + + @GLenum int glClientWaitSync(@GLsync long sync, @GLbitfield int flags, @GLuint64 long timeout); + + void glWaitSync(@GLsync long sync, @GLbitfield int flags, @GLuint64 long timeout); + + @StripPostfix("params") + void glGetInteger64v(@GLenum int pname, @OutParameter @Check("1") @GLint64 LongBuffer params); + + void glGetSynciv(@GLsync long sync, @GLenum int pname, + @AutoSize("values") @GLsizei int bufSize, + @OutParameter @GLsizei @Check(value = "1", canBeNull = true) IntBuffer length, + @OutParameter IntBuffer values); + */ +} \ No newline at end of file diff --git a/src/templates/org/lwjgl/opengl/NV_copy_image.java b/src/templates/org/lwjgl/opengl/NV_copy_image.java new file mode 100644 index 00000000..c70f47b5 --- /dev/null +++ b/src/templates/org/lwjgl/opengl/NV_copy_image.java @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2002-2008 LWJGL Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of 'LWJGL' nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.lwjgl.opengl; + +import org.lwjgl.util.generator.GLenum; +import org.lwjgl.util.generator.GLsizei; +import org.lwjgl.util.generator.GLuint; + +public interface NV_copy_image { + + void glCopyImageSubDataNV( + @GLuint int srcName, @GLenum int srcTarget, int srcLevel, + int srcX, int srcY, int srcZ, + @GLuint int dstName, @GLenum int dstTarget, int dstLevel, + int dstX, int dstY, int dstZ, + @GLsizei int width, @GLsizei int height, @GLsizei int depth); + + // TODO: Implement WGL and GLX cross-context copying. + +} \ No newline at end of file diff --git a/src/templates/org/lwjgl/opengl/NV_parameter_buffer_object2.java b/src/templates/org/lwjgl/opengl/NV_parameter_buffer_object2.java new file mode 100644 index 00000000..9f37f48e --- /dev/null +++ b/src/templates/org/lwjgl/opengl/NV_parameter_buffer_object2.java @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2002-2008 LWJGL Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of 'LWJGL' nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.lwjgl.opengl; + +public interface NV_parameter_buffer_object2 { + +} \ No newline at end of file