You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(134) |
Sep
(52) |
Oct
(13) |
Nov
(342) |
Dec
(163) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(44) |
Feb
(62) |
Mar
(158) |
Apr
(38) |
May
(70) |
Jun
(58) |
Jul
(104) |
Aug
(207) |
Sep
(83) |
Oct
(122) |
Nov
(23) |
Dec
(49) |
| 2004 |
Jan
(119) |
Feb
(132) |
Mar
(192) |
Apr
(140) |
May
(77) |
Jun
(74) |
Jul
(201) |
Aug
(63) |
Sep
(102) |
Oct
(70) |
Nov
(173) |
Dec
(78) |
| 2005 |
Jan
(174) |
Feb
(197) |
Mar
(105) |
Apr
(59) |
May
(77) |
Jun
(43) |
Jul
(21) |
Aug
(18) |
Sep
(47) |
Oct
(37) |
Nov
(74) |
Dec
(50) |
| 2006 |
Jan
(44) |
Feb
(19) |
Mar
(32) |
Apr
(24) |
May
(31) |
Jun
(55) |
Jul
(138) |
Aug
(28) |
Sep
(12) |
Oct
(41) |
Nov
(58) |
Dec
(24) |
| 2007 |
Jan
(28) |
Feb
(14) |
Mar
(10) |
Apr
(68) |
May
(30) |
Jun
(26) |
Jul
(18) |
Aug
(63) |
Sep
(19) |
Oct
(29) |
Nov
(20) |
Dec
(10) |
| 2008 |
Jan
(38) |
Feb
(7) |
Mar
(37) |
Apr
(120) |
May
(41) |
Jun
(36) |
Jul
(39) |
Aug
(24) |
Sep
(28) |
Oct
(30) |
Nov
(36) |
Dec
(75) |
| 2009 |
Jan
(46) |
Feb
(22) |
Mar
(50) |
Apr
(70) |
May
(134) |
Jun
(105) |
Jul
(75) |
Aug
(34) |
Sep
(38) |
Oct
(34) |
Nov
(19) |
Dec
(20) |
| 2010 |
Jan
(11) |
Feb
(20) |
Mar
(65) |
Apr
(83) |
May
(104) |
Jun
(73) |
Jul
(78) |
Aug
(57) |
Sep
(43) |
Oct
(35) |
Nov
(9) |
Dec
(4) |
| 2011 |
Jan
(21) |
Feb
(11) |
Mar
(18) |
Apr
(10) |
May
(18) |
Jun
(15) |
Jul
(48) |
Aug
(25) |
Sep
(17) |
Oct
(45) |
Nov
(15) |
Dec
(12) |
| 2012 |
Jan
(21) |
Feb
(9) |
Mar
(12) |
Apr
(9) |
May
(9) |
Jun
(5) |
Jul
(1) |
Aug
(10) |
Sep
(12) |
Oct
(1) |
Nov
(28) |
Dec
(5) |
| 2013 |
Jan
(4) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2014 |
Jan
|
Feb
(1) |
Mar
(1) |
Apr
|
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
| 2015 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
|
| 2016 |
Jan
(2) |
Feb
(1) |
Mar
(1) |
Apr
(1) |
May
(2) |
Jun
|
Jul
(1) |
Aug
(2) |
Sep
|
Oct
|
Nov
(1) |
Dec
|
| 2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
|
|
1
|
2
|
|
3
|
4
(1) |
5
|
6
|
7
|
8
|
9
|
|
10
(1) |
11
|
12
(1) |
13
|
14
|
15
|
16
|
|
17
(1) |
18
|
19
(1) |
20
|
21
|
22
|
23
|
|
24
|
25
(2) |
26
(1) |
27
|
28
|
29
(1) |
30
|
|
31
(2) |
|
|
|
|
|
|
|
From: <sp...@us...> - 2010-01-31 16:41:03
|
Revision: 3267
http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3267&view=rev
Author: spasi
Date: 2010-01-31 16:40:51 +0000 (Sun, 31 Jan 2010)
Log Message:
-----------
Improved compatibility mode detection
Removed support for indirect buffers as arguments to GL functions
Added missing tokens in GL30 & GL32
Added support for AMD_seamless_cubemap_per_texture & AMD_shader_stencil_export
Fixed AMD_vertex_shader_tessellator typo
Added AMD extensions to the build process >.<
Modified Paths:
--------------
trunk/LWJGL/platform_build/build-definitions.xml
trunk/LWJGL/src/java/org/lwjgl/opengl/GLContext.java
trunk/LWJGL/src/java/org/lwjgl/util/generator/ContextCapabilitiesGenerator.java
trunk/LWJGL/src/java/org/lwjgl/util/generator/ContextGeneratorProcessorFactory.java
trunk/LWJGL/src/java/org/lwjgl/util/generator/GeneratorVisitor.java
trunk/LWJGL/src/java/org/lwjgl/util/generator/JavaMethodsGenerator.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/GL30.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/GL32.java
Added Paths:
-----------
trunk/LWJGL/src/templates/org/lwjgl/opengl/AMD_seamless_cubemap_per_texture.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/AMD_shader_stencil_export.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/AMD_vertex_shader_tessellator.java
Removed Paths:
-------------
trunk/LWJGL/src/templates/org/lwjgl/opengl/AMD_vertex_shader_tesselator.java
Modified: trunk/LWJGL/platform_build/build-definitions.xml
===================================================================
--- trunk/LWJGL/platform_build/build-definitions.xml 2010-01-26 22:18:48 UTC (rev 3266)
+++ trunk/LWJGL/platform_build/build-definitions.xml 2010-01-31 16:40:51 UTC (rev 3267)
@@ -14,7 +14,7 @@
<property name="lwjgl.res" location="res" />
<property name="lwjgl.version" value="2.2.2" />
- <property name="opengl-template-pattern" value="org/lwjgl/opengl/GL*.java,org/lwjgl/opengl/ARB*.java,org/lwjgl/opengl/ATI*.java,org/lwjgl/opengl/EXT*.java,org/lwjgl/opengl/NV*.java,org/lwjgl/opengl/HP*.java,org/lwjgl/opengl/IBM*.java,org/lwjgl/opengl/SUN*.java,org/lwjgl/opengl/SGIS*.java,org/lwjgl/opengl/GREMEDY*.java"/>
+ <property name="opengl-template-pattern" value="org/lwjgl/opengl/GL*.java,org/lwjgl/opengl/ARB*.java,org/lwjgl/opengl/AMD*.java,org/lwjgl/opengl/ATI*.java,org/lwjgl/opengl/EXT*.java,org/lwjgl/opengl/NV*.java,org/lwjgl/opengl/HP*.java,org/lwjgl/opengl/IBM*.java,org/lwjgl/opengl/SUN*.java,org/lwjgl/opengl/SGIS*.java,org/lwjgl/opengl/GREMEDY*.java"/>
<!-- ================================================================== -->
<!-- Filesets used for targets -->
<!-- ================================================================== -->
Modified: trunk/LWJGL/src/java/org/lwjgl/opengl/GLContext.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/opengl/GLContext.java 2010-01-26 22:18:48 UTC (rev 3266)
+++ trunk/LWJGL/src/java/org/lwjgl/opengl/GLContext.java 2010-01-31 16:40:51 UTC (rev 3267)
@@ -173,13 +173,13 @@
static native long getFunctionAddress(String name);
/**
- * Determine which extensions are available. Helper method to ContextCapabilities.
+ * Determine which extensions are available and returns the context profile mask. Helper method to ContextCapabilities.
*
- * @return A Set containing all available extension strings.
+ * @param supported_extensions the Set to fill with the available extension names
+ *
+ * @return the context profile mask, will be 0 for any version < 3.2
*/
- static Set getSupportedExtensions() {
- final Set supported_extensions = new HashSet();
-
+ static int getSupportedExtensions(final Set supported_extensions) {
// Detect OpenGL version first
final String version = GL11.glGetString(GL11.GL_VERSION);
@@ -225,6 +225,8 @@
if ( 1 < majorVersion || 1 <= minorVersion )
supported_extensions.add("OpenGL11");
+ int profileMask = 0;
+
if ( majorVersion < 3 ) {
// Parse EXTENSIONS string
final String extensions_string = GL11.glGetString(GL11.GL_EXTENSIONS);
@@ -242,9 +244,15 @@
for ( int i = 0; i < extensionCount; i++ )
supported_extensions.add(GL30.glGetStringi(GL11.GL_EXTENSIONS, i));
+
+ // Get the context profile mask for versions >= 3.2
+ if ( 3 < majorVersion || 2 <= minorVersion ) {
+ GL11.glGetInteger(GL32.GL_CONTEXT_PROFILE_MASK, buffer);
+ profileMask = buffer.get(0);
+ }
}
- return supported_extensions;
+ return profileMask;
}
/**
Modified: trunk/LWJGL/src/java/org/lwjgl/util/generator/ContextCapabilitiesGenerator.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/util/generator/ContextCapabilitiesGenerator.java 2010-01-26 22:18:48 UTC (rev 3266)
+++ trunk/LWJGL/src/java/org/lwjgl/util/generator/ContextCapabilitiesGenerator.java 2010-01-31 16:40:51 UTC (rev 3267)
@@ -55,6 +55,7 @@
private final static String ALL_INIT_METHOD_NAME = "initAllStubs";
private final static String POINTER_INITIALIZER_POSTFIX = "_initNativeFunctionAddresses";
private final static String CACHED_EXTS_VAR_NAME = "supported_extensions";
+ private final static String PROFILE_MASK_VAR_NAME = "profileMask";
private final static String EXTENSION_PREFIX = "GL_";
private final static String CORE_PREFIX = "Open";
@@ -128,10 +129,11 @@
// Get the supported extensions set.
writer.println("\t\tGLContext.setCapabilities(this);");
- writer.println("\t\tSet " + CACHED_EXTS_VAR_NAME + " = GLContext.getSupportedExtensions();");
+ writer.println("\t\tSet " + CACHED_EXTS_VAR_NAME + " = new HashSet(256);");
+ writer.println("\t\tint " + PROFILE_MASK_VAR_NAME + " = GLContext.getSupportedExtensions(" + CACHED_EXTS_VAR_NAME + ");");
// Force forward compatible mode when OpenGL version is 3.1 or higher and ARB_compatibility is not available.
- writer.println("\t\tif ( supported_extensions.contains(\"OpenGL31\") && !supported_extensions.contains(\"GL_ARB_compatibility\") )");
+ writer.println("\t\tif ( supported_extensions.contains(\"OpenGL31\") && !(supported_extensions.contains(\"GL_ARB_compatibility\") || (profileMask & GL32.GL_CONTEXT_COMPATIBILITY_PROFILE_BIT) != 0) )");
writer.println("\t\t\tforwardCompatible = true;");
if ( !context_specific ) {
Modified: trunk/LWJGL/src/java/org/lwjgl/util/generator/ContextGeneratorProcessorFactory.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/util/generator/ContextGeneratorProcessorFactory.java 2010-01-26 22:18:48 UTC (rev 3266)
+++ trunk/LWJGL/src/java/org/lwjgl/util/generator/ContextGeneratorProcessorFactory.java 2010-01-31 16:40:51 UTC (rev 3267)
@@ -117,6 +117,7 @@
writer.println("import org.lwjgl.LWJGLUtil;");
writer.println("import org.lwjgl.BufferUtils;");
writer.println("import java.util.Set;");
+ writer.println("import java.util.HashSet;");
writer.println("import java.nio.IntBuffer;");
writer.println();
ContextCapabilitiesGenerator.generateClassPrologue(writer, context_specific);
Modified: trunk/LWJGL/src/java/org/lwjgl/util/generator/GeneratorVisitor.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/util/generator/GeneratorVisitor.java 2010-01-26 22:18:48 UTC (rev 3266)
+++ trunk/LWJGL/src/java/org/lwjgl/util/generator/GeneratorVisitor.java 2010-01-31 16:40:51 UTC (rev 3267)
@@ -175,7 +175,8 @@
java_writer.println();
java_writer.println("import org.lwjgl.LWJGLException;");
java_writer.println("import org.lwjgl.BufferChecks;");
- java_writer.println("import org.lwjgl.NondirectBufferWrapper;");
+ // DISABLED: indirect buffer support
+ //java_writer.println("import org.lwjgl.NondirectBufferWrapper;");
java_writer.println("import java.nio.*;");
java_writer.println();
java_writer.print("public ");
Modified: trunk/LWJGL/src/java/org/lwjgl/util/generator/JavaMethodsGenerator.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/util/generator/JavaMethodsGenerator.java 2010-01-26 22:18:48 UTC (rev 3266)
+++ trunk/LWJGL/src/java/org/lwjgl/util/generator/JavaMethodsGenerator.java 2010-01-31 16:40:51 UTC (rev 3267)
@@ -238,7 +238,8 @@
writer.println(");");
if (generate_error_checks && method.getAnnotation(NoErrorCheck.class) == null)
writer.println("\t\t" + type_map.getErrorCheckMethodName() + ";");
- printNondirectParameterCopies(writer, method, mode);
+ // DISABLED: indirect buffer support
+ //printNondirectParameterCopies(writer, method, mode);
if (has_result)
writer.println("\t\treturn " + Utils.RESULT_VAR_NAME + ";");
writer.println("\t}");
@@ -491,7 +492,7 @@
}
NullTerminated null_terminated = param.getAnnotation(NullTerminated.class);
if (Buffer.class.isAssignableFrom(java_type)) {
- boolean indirect_buffer_allowed = param.getAnnotation(CachedReference.class) == null;
+ boolean indirect_buffer_allowed = false && param.getAnnotation(CachedReference.class) == null; // DISABLED: indirect buffer support
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);
Added: trunk/LWJGL/src/templates/org/lwjgl/opengl/AMD_seamless_cubemap_per_texture.java
===================================================================
--- trunk/LWJGL/src/templates/org/lwjgl/opengl/AMD_seamless_cubemap_per_texture.java (rev 0)
+++ trunk/LWJGL/src/templates/org/lwjgl/opengl/AMD_seamless_cubemap_per_texture.java 2010-01-31 16:40:51 UTC (rev 3267)
@@ -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 AMD_seamless_cubemap_per_texture {
+
+ /**
+ * Accepted by the <pname> parameter of TexParameterf, TexParameteri,
+ * TexParameterfv, TexParameteriv, GetTexParameterfv, and GetTexParameteriv:
+ */
+ int GL_TEXTURE_CUBE_MAP_SEAMLESS = ARB_seamless_cube_map.GL_TEXTURE_CUBE_MAP_SEAMLESS;
+
+}
\ No newline at end of file
Added: trunk/LWJGL/src/templates/org/lwjgl/opengl/AMD_shader_stencil_export.java
===================================================================
--- trunk/LWJGL/src/templates/org/lwjgl/opengl/AMD_shader_stencil_export.java (rev 0)
+++ trunk/LWJGL/src/templates/org/lwjgl/opengl/AMD_shader_stencil_export.java 2010-01-31 16:40:51 UTC (rev 3267)
@@ -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 AMD_shader_stencil_export {
+}
\ No newline at end of file
Deleted: trunk/LWJGL/src/templates/org/lwjgl/opengl/AMD_vertex_shader_tesselator.java
===================================================================
--- trunk/LWJGL/src/templates/org/lwjgl/opengl/AMD_vertex_shader_tesselator.java 2010-01-26 22:18:48 UTC (rev 3266)
+++ trunk/LWJGL/src/templates/org/lwjgl/opengl/AMD_vertex_shader_tesselator.java 2010-01-31 16:40:51 UTC (rev 3267)
@@ -1,57 +0,0 @@
-/*
- * 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 AMD_vertex_shader_tesselator {
-
- /** Returned by the <type> parameter of GetActiveUniform: */
- int GL_SAMPLER_BUFFER_AMD = 0x9001;
- int GL_INT_SAMPLER_BUFFER_AMD = 0x9002;
- int GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD = 0x9003;
-
- /** Accepted by TessellationModeAMD */
- int GL_DISCRETE_AMD = 0x9006;
- int GL_CONTINUOUS_AMD = 0x9007;
-
- /** Accepted by GetIntegerv */
- int GL_TESSELLATION_MODE_AMD = 0x9004;
-
- /** Accepted by GetFloatv */
- int GL_TESSELLATION_FACTOR_AMD = 0x9005;
-
- void glTessellationFactorAMD(float factor);
-
- void glTessellationModeAMD(@GLenum int mode);
-
-}
\ No newline at end of file
Copied: trunk/LWJGL/src/templates/org/lwjgl/opengl/AMD_vertex_shader_tessellator.java (from rev 3264, trunk/LWJGL/src/templates/org/lwjgl/opengl/AMD_vertex_shader_tesselator.java)
===================================================================
--- trunk/LWJGL/src/templates/org/lwjgl/opengl/AMD_vertex_shader_tessellator.java (rev 0)
+++ trunk/LWJGL/src/templates/org/lwjgl/opengl/AMD_vertex_shader_tessellator.java 2010-01-31 16:40:51 UTC (rev 3267)
@@ -0,0 +1,57 @@
+/*
+ * 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 AMD_vertex_shader_tessellator {
+
+ /** Returned by the <type> parameter of GetActiveUniform: */
+ int GL_SAMPLER_BUFFER_AMD = 0x9001;
+ int GL_INT_SAMPLER_BUFFER_AMD = 0x9002;
+ int GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD = 0x9003;
+
+ /** Accepted by TessellationModeAMD */
+ int GL_DISCRETE_AMD = 0x9006;
+ int GL_CONTINUOUS_AMD = 0x9007;
+
+ /** Accepted by GetIntegerv */
+ int GL_TESSELLATION_MODE_AMD = 0x9004;
+
+ /** Accepted by GetFloatv */
+ int GL_TESSELLATION_FACTOR_AMD = 0x9005;
+
+ void glTessellationFactorAMD(float factor);
+
+ void glTessellationModeAMD(@GLenum int mode);
+
+}
\ No newline at end of file
Modified: trunk/LWJGL/src/templates/org/lwjgl/opengl/GL30.java
===================================================================
--- trunk/LWJGL/src/templates/org/lwjgl/opengl/GL30.java 2010-01-26 22:18:48 UTC (rev 3266)
+++ trunk/LWJGL/src/templates/org/lwjgl/opengl/GL30.java 2010-01-31 16:40:51 UTC (rev 3267)
@@ -62,11 +62,17 @@
int GL_CLIP_DISTANCE3 = GL11.GL_CLIP_PLANE3;
int GL_CLIP_DISTANCE4 = GL11.GL_CLIP_PLANE4;
int GL_CLIP_DISTANCE5 = GL11.GL_CLIP_PLANE5;
+ int GL_CLIP_DISTANCE6 = 0x3006;
+ int GL_CLIP_DISTANCE7 = 0x3007;
int GL_MAX_CLIP_DISTANCES = GL11.GL_MAX_CLIP_PLANES;
int GL_MAX_VARYING_COMPONENTS = GL20.GL_MAX_VARYING_FLOATS;
+ int GL_BUFFER_ACCESS_FLAGS = 0x911F;
+ int GL_BUFFER_MAP_LENGTH = 0x9120;
+ int GL_BUFFER_MAP_OFFSET = 0x9121;
+
String glGetStringi(@GLenum int name, @GLuint int index);
@StripPostfix("value")
Modified: trunk/LWJGL/src/templates/org/lwjgl/opengl/GL32.java
===================================================================
--- trunk/LWJGL/src/templates/org/lwjgl/opengl/GL32.java 2010-01-26 22:18:48 UTC (rev 3266)
+++ trunk/LWJGL/src/templates/org/lwjgl/opengl/GL32.java 2010-01-31 16:40:51 UTC (rev 3267)
@@ -44,6 +44,10 @@
// ----------------------[ OpenGL 3.2 ]----------------------
// ----------------------------------------------------------
+ int GL_CONTEXT_PROFILE_MASK = 0x9126;
+ int GL_CONTEXT_CORE_PROFILE_BIT = 0x00000001;
+ int GL_CONTEXT_COMPATIBILITY_PROFILE_BIT = 0x00000002;
+
int GL_MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122;
int GL_MAX_GEOMETRY_INPUT_COMPONENTS = 0x9123;
int GL_MAX_GEOMETRY_OUTPUT_COMPONENTS = 0x9124;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: Buy F. V. on www.qa35.c. <ti...@in...> - 2010-01-31 06:22:34
|
proto coliz e remil itari ze prepo stero us divul ge delus ion panth eoniz es refor estiz es thiol inver ter poled energ ized charl eroi gargl es ginge ry getaw ay malms ey perse cuted depen d hangm an senso riall y mater ial depen d comme ncing drabn ess amoeb iasis seeml ier whirl y shagg ily strik eout ranca gua bibli ophil e metro polis smoko nuiss ance doork eeper sweet iewif e lette r unpic k scipi o blint ze serge becko ning knock out codif ying waste fully choos e exact er hangm an baudr ons async hrono us sider osis nymph cerro marmo set shagg ily tross achs splas h arcti cises erasa ble crede nce bijec tion battl egrou nd misre prese nt nonag e venia lness nuiss ance trium phal unpic k muset tes caste s turve s baudr ons block buste r sofa marmo set gener ates astra chan rivet s irrit ating ly metab olise d favor er exact er embal ming diacr itica l polem icall y |
|
From: <ma...@us...> - 2010-01-26 22:19:01
|
Revision: 3266
http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3266&view=rev
Author: matzon
Date: 2010-01-26 22:18:48 +0000 (Tue, 26 Jan 2010)
Log Message:
-----------
tagging 2.2.2
Added Paths:
-----------
tags/lwjgl2.2.2/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ma...@us...> - 2010-01-25 21:14:28
|
Revision: 3265
http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3265&view=rev
Author: matzon
Date: 2010-01-25 21:14:15 +0000 (Mon, 25 Jan 2010)
Log Message:
-----------
2.2.2
Modified Paths:
--------------
trunk/LWJGL/platform_build/build-definitions.xml
trunk/LWJGL/src/java/org/lwjgl/Sys.java
Modified: trunk/LWJGL/platform_build/build-definitions.xml
===================================================================
--- trunk/LWJGL/platform_build/build-definitions.xml 2010-01-17 11:54:08 UTC (rev 3264)
+++ trunk/LWJGL/platform_build/build-definitions.xml 2010-01-25 21:14:15 UTC (rev 3265)
@@ -12,7 +12,7 @@
<property name="lwjgl.docs" location="doc" />
<property name="lwjgl.temp" location="temp" />
<property name="lwjgl.res" location="res" />
- <property name="lwjgl.version" value="2.2.1" />
+ <property name="lwjgl.version" value="2.2.2" />
<property name="opengl-template-pattern" value="org/lwjgl/opengl/GL*.java,org/lwjgl/opengl/ARB*.java,org/lwjgl/opengl/ATI*.java,org/lwjgl/opengl/EXT*.java,org/lwjgl/opengl/NV*.java,org/lwjgl/opengl/HP*.java,org/lwjgl/opengl/IBM*.java,org/lwjgl/opengl/SUN*.java,org/lwjgl/opengl/SGIS*.java,org/lwjgl/opengl/GREMEDY*.java"/>
<!-- ================================================================== -->
Modified: trunk/LWJGL/src/java/org/lwjgl/Sys.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/Sys.java 2010-01-17 11:54:08 UTC (rev 3264)
+++ trunk/LWJGL/src/java/org/lwjgl/Sys.java 2010-01-25 21:14:15 UTC (rev 3265)
@@ -54,7 +54,7 @@
private static final String JNI_LIBRARY_NAME = "lwjgl";
/** Current version of library */
- private static final String VERSION = "2.2.1";
+ private static final String VERSION = "2.2.2";
/** The implementation instance to delegate platform specific behavior to */
private final static SysImplementation implementation;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: Shortle <mai...@pi...> - 2010-01-19 18:04:17
|
Een corrected in this | | text. For a complete list, please see the bottom of this | | document. | | | +--------------------------------------------------------------+ * * * * * SMITHSONIAN INSTITUTION BUREAU OF AMERICAN ETHNOLOGY BULLETIN 76 ARCHEOLOGICAL INVESTIGATIONS I. CAVE EXPLORATIONS IN THE OZARK REGION OF CENTRAL MISSOURI II. CAVE EXPLORATIONS IN OTHER STATES III. EXPLORATIONS ALONG THE MISSOURI RIVER BLUFFS IN KANSAS AND NEBRASKA IV. ABORIGINAL HOUSE MOUNDS V. ARCHEOLOGICAL WORK IN HAWAII BY GERARD FOWKE WASHINGTON GOVERNMENT PRINTING OFFICE 1922 LETTER OF TRANSMITTAL SMITHSONIAN INSTITUTION, BUREAU OF AMERICAN ETHNOLOGY, _Washington, D.C., February 17, 1920._ SIR: I have the honor to transmi |
|
From: <sp...@us...> - 2010-01-17 11:54:15
|
Revision: 3264
http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3264&view=rev
Author: spasi
Date: 2010-01-17 11:54:08 +0000 (Sun, 17 Jan 2010)
Log Message:
-----------
Fixed glClearBuffer signature.
Modified Paths:
--------------
trunk/LWJGL/src/templates/org/lwjgl/opengl/GL30.java
Modified: trunk/LWJGL/src/templates/org/lwjgl/opengl/GL30.java
===================================================================
--- trunk/LWJGL/src/templates/org/lwjgl/opengl/GL30.java 2010-01-10 22:46:41 UTC (rev 3263)
+++ trunk/LWJGL/src/templates/org/lwjgl/opengl/GL30.java 2010-01-17 11:54:08 UTC (rev 3264)
@@ -69,11 +69,17 @@
String glGetStringi(@GLenum int name, @GLuint int index);
- void glClearBufferfv(@GLenum int buffer, @Const @Check("4")FloatBuffer value);
- void glClearBufferiv(@GLenum int buffer, @Const @Check("4")IntBuffer value);
- void glClearBufferuiv(@GLenum int buffer, @Const @Check("4")IntBuffer value);
- void glClearBufferfi(@GLenum int buffer, float depth, int stencil);
+ @StripPostfix("value")
+ void glClearBufferfv(@GLenum int buffer, int drawbuffer, @Const @Check("4")FloatBuffer value);
+ @StripPostfix("value")
+ void glClearBufferiv(@GLenum int buffer, int drawbuffer, @Const @Check("4")IntBuffer value);
+
+ @StripPostfix("value")
+ void glClearBufferuiv(@GLenum int buffer, int drawbuffer, @Const @Check("4")IntBuffer value);
+
+ void glClearBufferfi(@GLenum int buffer, int drawbuffer, float depth, int stencil);
+
// ---------------------------------------------------------------
// ----------------------[ EXT_gpu_shader4 ]----------------------
// ---------------------------------------------------------------
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ma...@us...> - 2010-01-10 22:46:59
|
Revision: 3263
http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3263&view=rev
Author: matzon
Date: 2010-01-10 22:46:41 +0000 (Sun, 10 Jan 2010)
Log Message:
-----------
fix for issue with Cursor that turned out to be a leaking DC
Modified Paths:
--------------
trunk/LWJGL/src/native/windows/org_lwjgl_input_Cursor.c
Modified: trunk/LWJGL/src/native/windows/org_lwjgl_input_Cursor.c
===================================================================
--- trunk/LWJGL/src/native/windows/org_lwjgl_input_Cursor.c 2010-01-04 18:47:49 UTC (rev 3262)
+++ trunk/LWJGL/src/native/windows/org_lwjgl_input_Cursor.c 2010-01-10 22:46:41 UTC (rev 3263)
@@ -68,6 +68,7 @@
int maskCount = 0;
HBITMAP colorBitmap;
int x, y;
+ HDC hDC;
jobject handle_buffer = newJavaManagedByteBuffer(env, sizeof(HCURSOR));
int *pixels;
@@ -85,8 +86,10 @@
bitmapInfo.bmiHeader.biBitCount = 24;
bitmapInfo.bmiHeader.biCompression = BI_RGB;
+
+ hDC = GetDC(NULL);
- colorDIB = CreateDIBSection(GetDC(NULL), (BITMAPINFO*)&(bitmapInfo),
+ colorDIB = CreateDIBSection(hDC, (BITMAPINFO*)&(bitmapInfo),
DIB_RGB_COLORS,
(void*)&(ptrCursorImage),
NULL, 0);
@@ -94,6 +97,7 @@
dstPtr = ptrCursorImage;
if (!dstPtr) {
throwException(env, "Could not allocate DIB section.");
+ ReleaseDC(NULL, hDC);
return NULL;
}
for (y = 0; y < height; y++ ) {
@@ -107,7 +111,7 @@
}
}
- colorBitmap = CreateDIBitmap(GetDC(NULL),
+ colorBitmap = CreateDIBitmap(hDC,
(BITMAPINFOHEADER*)&bitmapInfo.bmiHeader,
CBM_INIT,
(void *)ptrCursorImage,
@@ -148,6 +152,7 @@
DeleteObject(colorBitmap);
DeleteObject(cursorMask);
free(maskPixels);
+ ReleaseDC(NULL, hDC);
cursor_handle = (HCURSOR *)(*env)->GetDirectBufferAddress(env, handle_buffer);
*cursor_handle = cursor;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <sp...@us...> - 2010-01-04 18:47:56
|
Revision: 3262
http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3262&view=rev
Author: spasi
Date: 2010-01-04 18:47:49 +0000 (Mon, 04 Jan 2010)
Log Message:
-----------
Added support for explicit length arguments in functions that map buffer objects.
Simplified CachedResult handling of functions that map buffer object ranges.
Improved documentation of CachedResult functions.
Modified Paths:
--------------
trunk/LWJGL/src/java/org/lwjgl/opengl/GLChecks.java
trunk/LWJGL/src/java/org/lwjgl/util/generator/CachedResult.java
trunk/LWJGL/src/java/org/lwjgl/util/generator/GeneratorVisitor.java
trunk/LWJGL/src/java/org/lwjgl/util/generator/JavaMethodsGenerator.java
trunk/LWJGL/src/java/org/lwjgl/util/generator/Mode.java
trunk/LWJGL/src/java/org/lwjgl/util/generator/NativeMethodStubsGenerator.java
trunk/LWJGL/src/java/org/lwjgl/util/generator/Utils.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_buffer_object.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_map_buffer_range.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/ATI_map_object_buffer.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/EXT_direct_state_access.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/GL15.java
trunk/LWJGL/src/templates/org/lwjgl/opengl/GL30.java
Modified: trunk/LWJGL/src/java/org/lwjgl/opengl/GLChecks.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/opengl/GLChecks.java 2009-12-28 15:00:06 UTC (rev 3261)
+++ trunk/LWJGL/src/java/org/lwjgl/opengl/GLChecks.java 2010-01-04 18:47:49 UTC (rev 3262)
@@ -71,6 +71,12 @@
return scratch_buffer.get(0);
}
+ static int getBufferObjectSizeATI(ContextCapabilities caps, int buffer) {
+ IntBuffer scratch_buffer = caps.scratch_int_buffer;
+ ATIVertexArrayObject.glGetObjectBufferATI(buffer, ATIVertexArrayObject.GL_OBJECT_BUFFER_SIZE_ATI, scratch_buffer);
+ return scratch_buffer.get(0);
+ }
+
static int getNamedBufferObjectSize(ContextCapabilities caps, int buffer) {
IntBuffer scratch_buffer = caps.scratch_int_buffer;
EXTDirectStateAccess.glGetNamedBufferParameterEXT(buffer, GL15.GL_BUFFER_SIZE, scratch_buffer);
Modified: trunk/LWJGL/src/java/org/lwjgl/util/generator/CachedResult.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/util/generator/CachedResult.java 2009-12-28 15:00:06 UTC (rev 3261)
+++ trunk/LWJGL/src/java/org/lwjgl/util/generator/CachedResult.java 2010-01-04 18:47:49 UTC (rev 3262)
@@ -43,4 +43,5 @@
@Target(ElementType.METHOD)
public @interface CachedResult {
+ boolean isRange() default false;
}
Modified: trunk/LWJGL/src/java/org/lwjgl/util/generator/GeneratorVisitor.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/util/generator/GeneratorVisitor.java 2009-12-28 15:00:06 UTC (rev 3261)
+++ trunk/LWJGL/src/java/org/lwjgl/util/generator/GeneratorVisitor.java 2010-01-04 18:47:49 UTC (rev 3262)
@@ -91,8 +91,12 @@
}
if (Utils.getResultParameter(method) != null && !method.getReturnType().equals(env.getTypeUtils().getVoidType()))
throw new RuntimeException(method + " return type is not void but a parameter is annotated with Result");
- if (method.getAnnotation(CachedResult.class) != null && Utils.getNIOBufferType(Utils.getMethodReturnType(method)) == null)
- throw new RuntimeException(method + " return type is not a Buffer, but is annotated with CachedResult");
+ if (method.getAnnotation(CachedResult.class) != null) {
+ if (Utils.getNIOBufferType(Utils.getMethodReturnType(method)) == null)
+ throw new RuntimeException(method + " return type is not a Buffer, but is annotated with CachedResult");
+ if (method.getAnnotation(AutoResultSize.class) == null)
+ throw new RuntimeException(method + " is annotated with CachedResult but misses an AutoResultSize annotation");
+ }
validateTypes(method, method.getAnnotationMirrors(), method.getReturnType());
}
Modified: trunk/LWJGL/src/java/org/lwjgl/util/generator/JavaMethodsGenerator.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/util/generator/JavaMethodsGenerator.java 2009-12-28 15:00:06 UTC (rev 3261)
+++ trunk/LWJGL/src/java/org/lwjgl/util/generator/JavaMethodsGenerator.java 2010-01-04 18:47:49 UTC (rev 3262)
@@ -68,6 +68,9 @@
printMethodWithMultiType(env, type_map, writer, interface_decl, method, typeinfos_instance, Mode.NORMAL, generate_error_checks, context_specific);
}
}
+ if ( method.getAnnotation(CachedResult.class) != null && !method.getAnnotation(CachedResult.class).isRange() ) {
+ printMethodWithMultiType(env, type_map, writer, interface_decl, method, TypeInfo.getDefaultTypeInfoMap(method), Mode.CACHEDRESULT, generate_error_checks, context_specific);
+ }
printJavaNativeStub(writer, method, Mode.NORMAL, generate_error_checks, context_specific);
if (Utils.hasMethodBufferObjectParameter(method)) {
printMethodWithMultiType(env, type_map, writer, interface_decl, method, TypeInfo.getDefaultTypeInfoMap(method), Mode.BUFFEROBJECT, generate_error_checks, context_specific);
@@ -120,16 +123,23 @@
first_parameter = generateParameterJava(writer, param, type_info, native_stub, first_parameter, mode);
}
}
+ CachedResult cached_result_annotation = method.getAnnotation(CachedResult.class);
TypeMirror result_type = Utils.getMethodReturnType(method);
if ((native_stub && Utils.getNIOBufferType(result_type) != null) || Utils.needResultSize(method)) {
- if (!first_parameter)
- writer.print(", ");
- first_parameter = false;
- writer.print("long " + Utils.RESULT_SIZE_NAME);
+ if (cached_result_annotation == null || !cached_result_annotation.isRange()) {
+ if (!first_parameter)
+ writer.print(", ");
+ first_parameter = false;
+ writer.print("long " + Utils.RESULT_SIZE_NAME);
+ }
}
- if (method.getAnnotation(CachedResult.class) != null) {
+ if (cached_result_annotation != null) {
if (!first_parameter)
writer.print(", ");
+
+ if ( mode == Mode.CACHEDRESULT )
+ writer.print("long " + Utils.CACHED_BUFFER_LENGTH_NAME + ", ");
+
first_parameter = false;
printResultType(writer, method, native_stub);
writer.print(" " + Utils.CACHED_BUFFER_NAME);
@@ -403,16 +413,26 @@
first_parameter = printMethodCallArgument(writer, method, param, typeinfos_instance, mode, first_parameter);
}
if (Utils.getNIOBufferType(Utils.getMethodReturnType(method)) != null) {
- if (!first_parameter)
- writer.print(", ");
- first_parameter = false;
- AutoResultSize auto_result_size_annotation = method.getAnnotation(AutoResultSize.class);
- String result_size_expression;
- if (auto_result_size_annotation == null)
- result_size_expression = Utils.RESULT_SIZE_NAME;
- else
- result_size_expression = auto_result_size_annotation.value();
- Utils.printExtraCallArguments(writer, method, result_size_expression);
+ if (method.getAnnotation(CachedResult.class) != null && method.getAnnotation(CachedResult.class).isRange()) {
+ first_parameter = false;
+ Utils.printExtraCallArguments(writer, method, "");
+ } else {
+ if (!first_parameter)
+ writer.print(", ");
+ first_parameter = false;
+
+ String result_size_expression;
+ if ( mode == Mode.CACHEDRESULT )
+ result_size_expression = Utils.CACHED_BUFFER_LENGTH_NAME;
+ else {
+ AutoResultSize auto_result_size_annotation = method.getAnnotation(AutoResultSize.class);
+ if (auto_result_size_annotation == null)
+ result_size_expression = Utils.RESULT_SIZE_NAME;
+ else
+ result_size_expression = auto_result_size_annotation.value();
+ }
+ Utils.printExtraCallArguments(writer, method, result_size_expression);
+ }
}
return first_parameter;
}
Modified: trunk/LWJGL/src/java/org/lwjgl/util/generator/Mode.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/util/generator/Mode.java 2009-12-28 15:00:06 UTC (rev 3261)
+++ trunk/LWJGL/src/java/org/lwjgl/util/generator/Mode.java 2010-01-04 18:47:49 UTC (rev 3262)
@@ -1,31 +1,31 @@
-/*
+/*
* 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
+ * modification, are permitted provided that the following conditions are
* met:
- *
- * * Redistributions of source code must retain the above copyright
+ *
+ * * 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
+ * * 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
+ * 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
+ * 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.
*/
@@ -34,5 +34,6 @@
public enum Mode {
BUFFEROBJECT,
AUTOS,
+ CACHEDRESULT, // Used for generating a CachedResult method with an explicit length argument.
NORMAL
}
Modified: trunk/LWJGL/src/java/org/lwjgl/util/generator/NativeMethodStubsGenerator.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/util/generator/NativeMethodStubsGenerator.java 2009-12-28 15:00:06 UTC (rev 3261)
+++ trunk/LWJGL/src/java/org/lwjgl/util/generator/NativeMethodStubsGenerator.java 2010-01-04 18:47:49 UTC (rev 3262)
@@ -106,8 +106,10 @@
writer.print("(JNIEnv *env, jclass clazz");
generateParameters(writer, method.getParameters(), mode);
if (Utils.getNIOBufferType(result_type) != null) {
- writer.print(", jlong " + Utils.RESULT_SIZE_NAME);
- if (method.getAnnotation(CachedResult.class) != null)
+ CachedResult cached_result_annotation = method.getAnnotation(CachedResult.class);
+ if (cached_result_annotation == null || !cached_result_annotation.isRange())
+ writer.print(", jlong " + Utils.RESULT_SIZE_NAME);
+ if (cached_result_annotation != null)
writer.print(", jobject " + Utils.CACHED_BUFFER_NAME);
}
if (context_specific) {
@@ -160,7 +162,10 @@
writer.print(Utils.RESULT_VAR_NAME);
if (Buffer.class.isAssignableFrom(java_result_type)) {
writer.print(", ");
- Utils.printExtraCallArguments(writer, method, Utils.RESULT_SIZE_NAME);
+ if (method.getAnnotation(CachedResult.class) != null && method.getAnnotation(CachedResult.class).isRange())
+ Utils.printExtraCallArguments(writer, method, method.getAnnotation(AutoResultSize.class).value());
+ else
+ Utils.printExtraCallArguments(writer, method, Utils.RESULT_SIZE_NAME);
}
if (Buffer.class.isAssignableFrom(java_result_type) ||
String.class.equals(java_result_type))
Modified: trunk/LWJGL/src/java/org/lwjgl/util/generator/Utils.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/util/generator/Utils.java 2009-12-28 15:00:06 UTC (rev 3261)
+++ trunk/LWJGL/src/java/org/lwjgl/util/generator/Utils.java 2010-01-04 18:47:49 UTC (rev 3262)
@@ -58,13 +58,14 @@
public static final String BUFFER_OBJECT_PARAMETER_POSTFIX = "_buffer_offset";
public static final String RESULT_SIZE_NAME = "result_size";
public static final String RESULT_VAR_NAME = "__result";
+ public static final String CACHED_BUFFER_LENGTH_NAME = "length";
public static final String CACHED_BUFFER_NAME = "old_buffer";
private static final String OVERLOADED_METHOD_PREFIX = "n";
public static String getTypedefName(MethodDeclaration method) {
return method.getSimpleName() + TYPEDEF_POSTFIX;
}
-
+
public static String getFunctionAddressName(InterfaceDeclaration interface_decl, MethodDeclaration method) {
return interface_decl.getSimpleName() + "_" + method.getSimpleName() + FUNCTION_POINTER_POSTFIX;
}
@@ -201,7 +202,7 @@
public static boolean needResultSize(MethodDeclaration method) {
return getNIOBufferType(getMethodReturnType(method)) != null && method.getAnnotation(AutoResultSize.class) == null;
}
-
+
public static void printExtraCallArguments(PrintWriter writer, MethodDeclaration method, String size_parameter_name) {
writer.print(size_parameter_name);
if (method.getAnnotation(CachedResult.class) != null) {
Modified: trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_buffer_object.java
===================================================================
--- trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_buffer_object.java 2009-12-28 15:00:06 UTC (rev 3261)
+++ trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_buffer_object.java 2010-01-04 18:47:49 UTC (rev 3262)
@@ -104,13 +104,24 @@
@GLdouble Buffer data);
/**
- * glMapBufferARB maps a gl vertex buffer buffer to a ByteBuffer. The oldBuffer argument can be null,
- * in which case a new ByteBuffer will be created, pointing to the returned memory. If oldBuffer is non-null,
- * it will be returned if it points to the same mapped memory, otherwise a new ByteBuffer is created. That
- * way, an application will normally use glMapBufferARB like this:
+ * glMapBufferARB maps a GL buffer object to a ByteBuffer. The old_buffer argument can be null,
+ * in which case a new ByteBuffer will be created, pointing to the returned memory. If old_buffer is non-null,
+ * it will be returned if it points to the same mapped memory and has the same capacity as the buffer object,
+ * otherwise a new ByteBuffer is created. That way, an application will normally use glMapBufferARB like this:
* <p/>
- * ByteBuffer mapped_buffer; mapped_buffer = glMapBufferARB(..., ..., ..., null); ... // Another map on the same buffer mapped_buffer = glMapBufferARB(..., ..., ..., mapped_buffer);
+ * ByteBuffer mapped_buffer; mapped_buffer = glMapBufferARB(..., ..., null); ... // Another map on the same buffer mapped_buffer = glMapBufferARB(..., ..., mapped_buffer);
+ * <p/>
+ * Only ByteBuffers returned from this method are to be passed as the old_buffer argument. User-created ByteBuffers cannot be reused.
+ * <p/>
+ * The version of this method without an explicit length argument calls glGetBufferParameterARB internally to
+ * retrieve the current buffer object size, which may cause a pipeline flush and reduce application performance.
+ * <p/>
+ * The version of this method with an explicit length argument is a fast alternative to the one without. No GL call
+ * is made to retrieve the buffer object size, so the user is responsible for tracking and using the appropriate length.<br>
+ * Security warning: The length argument should match the buffer object size. Reading from or writing to outside
+ * the memory region that corresponds to the mapped buffer object will cause native crashes.
*
+ * @param length the length of the mapped memory in bytes.
* @param old_buffer A ByteBuffer. If this argument points to the same address and has the same capacity as the new mapping, it will be returned and no new buffer will be created.
*
* @return A ByteBuffer representing the mapped buffer memory.
Modified: trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_map_buffer_range.java
===================================================================
--- trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_map_buffer_range.java 2009-12-28 15:00:06 UTC (rev 3261)
+++ trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_map_buffer_range.java 2010-01-04 18:47:49 UTC (rev 3262)
@@ -45,7 +45,21 @@
int GL_MAP_FLUSH_EXPLICIT_BIT = 0x0010;
int GL_MAP_UNSYNCHRONIZED_BIT = 0x0020;
- @CachedResult
+ /**
+ * glMapBufferRange maps a GL buffer object range to a ByteBuffer. The old_buffer argument can be null,
+ * in which case a new ByteBuffer will be created, pointing to the returned memory. If old_buffer is non-null,
+ * it will be returned if it points to the same mapped memory and has the same capacity as the buffer object,
+ * otherwise a new ByteBuffer is created. That way, an application will normally use glMapBufferRange like this:
+ * <p/>
+ * ByteBuffer mapped_buffer; mapped_buffer = glMapBufferRange(..., ..., ..., ..., null); ... // Another map on the same buffer mapped_buffer = glMapBufferRange(..., ..., ..., ..., mapped_buffer);
+ * <p/>
+ * Only ByteBuffers returned from this method are to be passed as the old_buffer argument. User-created ByteBuffers cannot be reused.
+ *
+ * @param old_buffer A ByteBuffer. If this argument points to the same address and has the same capacity as the new mapping, it will be returned and no new buffer will be created.
+ *
+ * @return A ByteBuffer representing the mapped buffer memory.
+ */
+ @CachedResult(isRange = true)
@GLvoid
@AutoResultSize("length")
ByteBuffer glMapBufferRange(@GLenum int target, @GLintptr long offset, @GLsizeiptr long length, @GLbitfield int access);
Modified: trunk/LWJGL/src/templates/org/lwjgl/opengl/ATI_map_object_buffer.java
===================================================================
--- trunk/LWJGL/src/templates/org/lwjgl/opengl/ATI_map_object_buffer.java 2009-12-28 15:00:06 UTC (rev 3261)
+++ trunk/LWJGL/src/templates/org/lwjgl/opengl/ATI_map_object_buffer.java 2010-01-04 18:47:49 UTC (rev 3262)
@@ -38,19 +38,31 @@
public interface ATI_map_object_buffer {
/**
- * glMapObjectBufferATI maps a gl object buffer to a ByteBuffer. The oldBuffer argument can be
- * null, in which case a new ByteBuffer will be created, pointing to the returned memory. If
- * oldBuffer is non-null, it will be returned if it points to the same mapped memory, otherwise a
- * new ByteBuffer is created.
+ * glMapObjectBufferATI maps an ATI vertex array object to a ByteBuffer. The old_buffer argument can be null,
+ * in which case a new ByteBuffer will be created, pointing to the returned memory. If old_buffer is non-null,
+ * it will be returned if it points to the same mapped memory and has the same capacity as the vertex array object,
+ * otherwise a new ByteBuffer is created. That way, an application will normally use glMapObjectBufferATI like this:
+ * <p/>
+ * ByteBuffer mapped_buffer; mapped_buffer = glMapObjectBufferATI(..., null); ... // Another map on the same buffer mapped_buffer = glMapObjectBufferATI(..., mapped_buffer);
+ * <p/>
+ * Only ByteBuffers returned from this method are to be passed as the old_buffer argument. User-created ByteBuffers cannot be reused.
+ * <p/>
+ * The version of this method without an explicit length argument calls glGetObjectBufferATI internally to
+ * retrieve the current vertex array object size, which may cause a pipeline flush and reduce application performance.
+ * <p/>
+ * The version of this method with an explicit length argument is a fast alternative to the one without. No GL call
+ * is made to retrieve the vertex array object size, so the user is responsible for tracking and using the appropriate length.<br>
+ * Security warning: The length argument should match the vertex array object size. Reading from or writing to outside
+ * the memory region that corresponds to the mapped vertex array object will cause native crashes.
*
- * @param result_size The size of the buffer area.
- * @param old_buffer A ByteBuffer. If this argument points to the same address and has the same capacity as the new mapping,
- * it will be returned and no new buffer will be created.
+ * @param length the length of the mapped memory in bytes.
+ * @param old_buffer A ByteBuffer. If this argument points to the same address and has the same capacity as the new mapping, it will be returned and no new buffer will be created.
*
- * @return A ByteBuffer representing the mapped object buffer memory.
+ * @return A ByteBuffer representing the mapped buffer memory.
*/
@CachedResult
@GLvoid
+ @AutoResultSize("GLChecks.getBufferObjectSizeATI(caps, buffer)")
ByteBuffer glMapObjectBufferATI(@GLuint int buffer);
void glUnmapObjectBufferATI(@GLuint int buffer);
Modified: trunk/LWJGL/src/templates/org/lwjgl/opengl/EXT_direct_state_access.java
===================================================================
--- trunk/LWJGL/src/templates/org/lwjgl/opengl/EXT_direct_state_access.java 2009-12-28 15:00:06 UTC (rev 3261)
+++ trunk/LWJGL/src/templates/org/lwjgl/opengl/EXT_direct_state_access.java 2010-01-04 18:47:49 UTC (rev 3262)
@@ -778,6 +778,29 @@
@GLfloat
@GLdouble Buffer data);
+ /**
+ * glMapNamedBufferEXT maps a GL buffer object to a ByteBuffer. The old_buffer argument can be null,
+ * in which case a new ByteBuffer will be created, pointing to the returned memory. If old_buffer is non-null,
+ * it will be returned if it points to the same mapped memory and has the same capacity as the buffer object,
+ * otherwise a new ByteBuffer is created. That way, an application will normally use glMapNamedBufferEXT like this:
+ * <p/>
+ * ByteBuffer mapped_buffer; mapped_buffer = glMapNamedBufferEXT(..., ..., null); ... // Another map on the same buffer mapped_buffer = glMapNamedBufferEXT(..., ..., mapped_buffer);
+ * <p/>
+ * Only ByteBuffers returned from this method are to be passed as the old_buffer argument. User-created ByteBuffers cannot be reused.
+ * <p/>
+ * The version of this method without an explicit length argument calls glGetNamedBufferParameterEXT internally to
+ * retrieve the current buffer object size, which may cause a pipeline flush and reduce application performance.
+ * <p/>
+ * The version of this method with an explicit length argument is a fast alternative to the one without. No GL call
+ * is made to retrieve the buffer object size, so the user is responsible for tracking and using the appropriate length.<br>
+ * Security warning: The length argument should match the buffer object size. Reading from or writing to outside
+ * the memory region that corresponds to the mapped buffer object will cause native crashes.
+ *
+ * @param length the length of the mapped memory in bytes.
+ * @param old_buffer A ByteBuffer. If this argument points to the same address and has the same capacity as the new mapping, it will be returned and no new buffer will be created.
+ *
+ * @return A ByteBuffer representing the mapped buffer memory.
+ */
@Dependent("OpenGL15")
@CachedResult
@GLvoid
@@ -1283,8 +1306,22 @@
in name and replace "enum target" parameter with "uint buffer"
*/
+ /**
+ * glMapNamedBufferRangeEXT maps a GL buffer object range to a ByteBuffer. The old_buffer argument can be null,
+ * in which case a new ByteBuffer will be created, pointing to the returned memory. If old_buffer is non-null,
+ * it will be returned if it points to the same mapped memory and has the same capacity as the buffer object,
+ * otherwise a new ByteBuffer is created. That way, an application will normally use glMapNamedBufferRangeEXT like this:
+ * <p/>
+ * ByteBuffer mapped_buffer; mapped_buffer = glMapNamedBufferRangeEXT(..., ..., ..., ..., null); ... // Another map on the same buffer mapped_buffer = glMapNamedBufferRangeEXT(..., ..., ..., ..., mapped_buffer);
+ * <p/>
+ * Only ByteBuffers returned from this method are to be passed as the old_buffer argument. User-created ByteBuffers cannot be reused.
+ *
+ * @param old_buffer A ByteBuffer. If this argument points to the same address and has the same capacity as the new mapping, it will be returned and no new buffer will be created.
+ *
+ * @return A ByteBuffer representing the mapped buffer memory.
+ */
@Dependent("OpenGL30")
- @CachedResult
+ @CachedResult(isRange = true)
@GLvoid
@AutoResultSize("length")
ByteBuffer glMapNamedBufferRangeEXT(@GLuint int buffer, @GLintptr long offset, @GLsizeiptr long length, @GLbitfield int access);
Modified: trunk/LWJGL/src/templates/org/lwjgl/opengl/GL15.java
===================================================================
--- trunk/LWJGL/src/templates/org/lwjgl/opengl/GL15.java 2009-12-28 15:00:06 UTC (rev 3261)
+++ trunk/LWJGL/src/templates/org/lwjgl/opengl/GL15.java 2010-01-04 18:47:49 UTC (rev 3262)
@@ -124,17 +124,26 @@
@GLdouble Buffer data);
/**
- * glMapBuffer maps a gl vertex buffer buffer to a ByteBuffer. The oldBuffer argument can be null, in which case a new
- * ByteBuffer will be created, pointing to the returned memory. If oldBuffer is non-null, it will be returned if it points to
- * the same mapped memory, otherwise a new ByteBuffer is created. That way, an application will normally use glMapBuffer like
- * this:
+ * glMapBuffer maps a GL buffer object to a ByteBuffer. The old_buffer argument can be null,
+ * in which case a new ByteBuffer will be created, pointing to the returned memory. If old_buffer is non-null,
+ * it will be returned if it points to the same mapped memory and has the same capacity as the buffer object,
+ * otherwise a new ByteBuffer is created. That way, an application will normally use glMapBuffer like this:
* <p/>
- * ByteBuffer mapped_buffer; mapped_buffer = glMapBuffer(..., ..., ..., null); ... // Another map on the same buffer
- * mapped_buffer = glMapBuffer(..., ..., ..., mapped_buffer);
+ * ByteBuffer mapped_buffer; mapped_buffer = glMapBuffer(..., ..., null); ... // Another map on the same buffer mapped_buffer = glMapBuffer(..., ..., mapped_buffer);
+ * <p/>
+ * Only ByteBuffers returned from this method are to be passed as the old_buffer argument. User-created ByteBuffers cannot be reused.
+ * <p/>
+ * The version of this method without an explicit length argument calls glGetBufferParameter internally to
+ * retrieve the current buffer object size, which may cause a pipeline flush and reduce application performance.
+ * <p/>
+ * The version of this method with an explicit length argument is a fast alternative to the one without. No GL call
+ * is made to retrieve the buffer object size, so the user is responsible for tracking and using the appropriate length.<br>
+ * Security warning: The length argument should match the buffer object size. Reading from or writing to outside
+ * the memory region that corresponds to the mapped buffer object will cause native crashes.
+ *
+ * @param length the length of the mapped memory in bytes.
+ * @param old_buffer A ByteBuffer. If this argument points to the same address and has the same capacity as the new mapping, it will be returned and no new buffer will be created.
*
- * @param old_buffer A ByteBuffer. If this argument points to the same address and has the same capacity as the new mapping, it will be returned and no
- * new buffer will be created.
- *
* @return A ByteBuffer representing the mapped buffer memory.
*/
@CachedResult
Modified: trunk/LWJGL/src/templates/org/lwjgl/opengl/GL30.java
===================================================================
--- trunk/LWJGL/src/templates/org/lwjgl/opengl/GL30.java 2009-12-28 15:00:06 UTC (rev 3261)
+++ trunk/LWJGL/src/templates/org/lwjgl/opengl/GL30.java 2010-01-04 18:47:49 UTC (rev 3262)
@@ -240,7 +240,21 @@
int GL_MAP_FLUSH_EXPLICIT_BIT = 0x0010;
int GL_MAP_UNSYNCHRONIZED_BIT = 0x0020;
- @CachedResult
+ /**
+ * glMapBufferRange maps a GL buffer object range to a ByteBuffer. The old_buffer argument can be null,
+ * in which case a new ByteBuffer will be created, pointing to the returned memory. If old_buffer is non-null,
+ * it will be returned if it points to the same mapped memory and has the same capacity as the buffer object,
+ * otherwise a new ByteBuffer is created. That way, an application will normally use glMapBufferRange like this:
+ * <p/>
+ * ByteBuffer mapped_buffer; mapped_buffer = glMapBufferRange(..., ..., ..., ..., null); ... // Another map on the same buffer mapped_buffer = glMapBufferRange(..., ..., ..., ..., mapped_buffer);
+ * <p/>
+ * Only ByteBuffers returned from this method are to be passed as the old_buffer argument. User-created ByteBuffers cannot be reused.
+ *
+ * @param old_buffer A ByteBuffer. If this argument points to the same address and has the same capacity as the new mapping, it will be returned and no new buffer will be created.
+ *
+ * @return A ByteBuffer representing the mapped buffer memory.
+ */
+ @CachedResult(isRange = true)
@GLvoid
@AutoResultSize("length")
ByteBuffer glMapBufferRange(@GLenum int target, @GLintptr long offset, @GLsizeiptr long length, @GLbitfield int access);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|