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
|
From: <sp...@us...> - 2010-07-09 18:44:37
|
Revision: 3368 http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3368&view=rev Author: spasi Date: 2010-07-09 18:44:31 +0000 (Fri, 09 Jul 2010) Log Message: ----------- Compiz LFS improvements. Modified Paths: -------------- trunk/LWJGL/src/java/org/lwjgl/opengl/LinuxDisplay.java Modified: trunk/LWJGL/src/java/org/lwjgl/opengl/LinuxDisplay.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/opengl/LinuxDisplay.java 2010-07-08 21:12:20 UTC (rev 3367) +++ trunk/LWJGL/src/java/org/lwjgl/opengl/LinuxDisplay.java 2010-07-09 18:44:31 UTC (rev 3368) @@ -53,6 +53,9 @@ import java.security.AccessController; import java.security.PrivilegedAction; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; final class LinuxDisplay implements DisplayImplementation { /* X11 constants */ @@ -455,7 +458,7 @@ private static native void mapRaised(long display, long window); private static native void reparentWindow(long display, long window, long parent, int x, int y); - private boolean isAncestorXEmbedded(long window) throws LWJGLException { + private static boolean isAncestorXEmbedded(long window) throws LWJGLException { long xembed_atom = internAtom("_XEMBED_INFO", true); if (xembed_atom != None) { long w = window; @@ -1249,16 +1252,19 @@ } /** - * Helper class for managing Compiz's workarounds. + * Helper class for managing Compiz's workarounds. We need this to enable Legacy + * Fullscreen Support in Compiz, else we'll have trouble with fullscreen windows + * when Compiz effects are enabled. + * + * Implementation Note: This code is probably too much for an inner class, but + * keeping it here until we're sure we cannot find a better solution. */ private static final class Compiz { - private static final String LEGACY_FULLSCREEN_SUPPORT = "/org/freedesktop/compiz/workarounds/allscreens/legacy_fullscreen"; + private static boolean applyFix; - private static boolean dbusAvailable; + private static Provider provider; - private static boolean legacyFullscreenSupport; - private Compiz() { } @@ -1269,24 +1275,110 @@ AccessController.doPrivileged(new PrivilegedAction() { public Object run() { try { - legacyFullscreenSupport = getBoolean(LEGACY_FULLSCREEN_SUPPORT); - dbusAvailable = true; + // Check if Compiz is active + if ( !isProcessActive("compiz") ) + return null; + + provider = null; + + String providerName = null; + + // Check if Dbus is available + if ( isProcessActive("dbus-daemon") ) { + providerName = "Dbus"; + provider = new Provider() { + + private static final String KEY = "/org/freedesktop/compiz/workarounds/allscreens/legacy_fullscreen"; + + public boolean hasLegacyFullscreenSupport() throws LWJGLException { + final List output = Compiz.run(new String[] { + "dbus-send", "--print-reply", "--type=method_call", "--dest=org.freedesktop.compiz", KEY, "org.freedesktop.compiz.get" + }); + + if ( output == null || output.size() < 2 ) + throw new LWJGLException("Invalid Dbus reply."); + + String line = (String)output.get(0); + + if ( !line.startsWith("method return") ) + throw new LWJGLException("Invalid Dbus reply."); + + line = ((String)output.get(1)).trim(); // value + if ( !line.startsWith("boolean") || line.length() < 12) + throw new LWJGLException("Invalid Dbus reply."); + + return "true".equalsIgnoreCase(line.substring("boolean".length() + 1)); + } + + public void setLegacyFullscreenSupport(final boolean state) throws LWJGLException { + if ( Compiz.run(new String[] { + "dbus-send", "--type=method_call", "--dest=org.freedesktop.compiz", KEY, "org.freedesktop.compiz.set", "boolean:" + Boolean.toString(state) + }) == null ) + throw new LWJGLException("Failed to apply Compiz LFS workaround."); + } + }; + } else { + try { + // Check if Gconf is available + Runtime.getRuntime().exec("gconftool"); + + providerName = "gconftool"; + provider = new Provider() { + + private static final String KEY = "/apps/compiz/plugins/workarounds/allscreens/options/legacy_fullscreen"; + + public boolean hasLegacyFullscreenSupport() throws LWJGLException { + final List output = Compiz.run(new String[] { + "gconftool", "-g", KEY + }); + + if ( output == null || output.size() == 0 ) + throw new LWJGLException("Invalid gconftool reply."); + + return Boolean.parseBoolean(((String)output.get(0)).trim()); + } + + public void setLegacyFullscreenSupport(final boolean state) throws LWJGLException { + if ( Compiz.run(new String[] { + "gconftool", "-s", KEY, "-s", Boolean.toString(state), "-t", "bool" + }) == null ) + throw new LWJGLException("Failed to apply Compiz LFS workaround."); + + try { + // gconftool will not apply the workaround immediately, sleep a bit + // to make sure it will be ok when we create the window. + Thread.sleep(200); // 100 is too low, 150 works, set to 200 to be safe. + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + }; + } catch (IOException e) { + // Ignore + } + } + + if ( provider != null && !provider.hasLegacyFullscreenSupport() ) { // No need to do anything is LFS is already enabled. + applyFix = true; + LWJGLUtil.log("Using " + providerName + " to apply Compiz LFS workaround."); + } } catch (LWJGLException e) { - LWJGLUtil.log("Compiz Dbus communication failed. Reason: " + e.getMessage()); + // Ignore + } finally { + return null; } - return null; } }); } static void setLegacyFullscreenSupport(final boolean enabled) { - if ( !dbusAvailable || legacyFullscreenSupport ) + if ( !applyFix ) return; AccessController.doPrivileged(new PrivilegedAction() { public Object run() { try { - setBoolean(LEGACY_FULLSCREEN_SUPPORT, enabled); + provider.setLegacyFullscreenSupport(enabled); } catch (LWJGLException e) { LWJGLUtil.log("Failed to change Compiz Legacy Fullscreen Support. Reason: " + e.getMessage()); } @@ -1295,48 +1387,54 @@ }); } - private static boolean getBoolean(final String option) throws LWJGLException { + private static List run(final String[] command) throws LWJGLException { + final List output = new ArrayList(); + try { - final Process p = Runtime.getRuntime().exec(new String[] { - "dbus-send", "--print-reply", "--type=method_call", "--dest=org.freedesktop.compiz", option, "org.freedesktop.compiz.get" - }); - final int exitValue = p.waitFor(); - if ( exitValue != 0 ) - throw new LWJGLException("Dbus error."); + final Process p = Runtime.getRuntime().exec(command); + try { + final int exitValue = p.waitFor(); + if ( exitValue != 0 ) + return null; + } catch (InterruptedException e) { + throw new LWJGLException("Process interrupted.", e); + } final BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream())); - String reply = br.readLine(); // header - if ( !reply.startsWith("method return") ) - throw new LWJGLException("Invalid Dbus reply."); + String line; + while ( (line = br.readLine()) != null ) + output.add(line); - reply = br.readLine().trim(); // value - if ( !reply.startsWith("boolean") ) - throw new LWJGLException("Invalid Dbus reply."); + br.close(); + } catch (final IOException e) { + throw new LWJGLException("Process failed.", e); + } - return "true".equalsIgnoreCase(reply.substring("boolean".length() + 1)); - } catch (IOException e) { - throw new LWJGLException("Dbus command failed.", e); - } catch (InterruptedException e) { - throw new LWJGLException("Dbus command failed.", e); - } + return output; } - private static void setBoolean(final String option, final boolean value) throws LWJGLException { - try { - final Process p = Runtime.getRuntime().exec(new String[] { - "dbus-send", "--type=method_call", "--dest=org.freedesktop.compiz", option, "org.freedesktop.compiz.set", "boolean:" + Boolean.toString(value) - }); - final int exitValue = p.waitFor(); - if ( exitValue != 0 ) - throw new LWJGLException("Dbus error."); - } catch (IOException e) { - throw new LWJGLException("Dbus command failed.", e); - } catch (InterruptedException e) { - throw new LWJGLException("Dbus command failed.", e); + private static boolean isProcessActive(final String processName) throws LWJGLException { + final List output = run(new String[] { "ps", "-C", processName }); + if ( output == null ) + return false; + + for ( Iterator iter = output.iterator(); iter.hasNext(); ) { + final String line = (String)iter.next(); + if ( line.contains(processName) ); + return true; } + + return false; } + private interface Provider { + + boolean hasLegacyFullscreenSupport() throws LWJGLException; + + void setLegacyFullscreenSupport(boolean state) throws LWJGLException; + + } } } \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ka...@us...> - 2010-07-08 21:12:26
|
Revision: 3367 http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3367&view=rev Author: kappa1 Date: 2010-07-08 21:12:20 +0000 (Thu, 08 Jul 2010) Log Message: ----------- AppletLoader: auto centre logo if applet is resized. Modified Paths: -------------- trunk/LWJGL/src/java/org/lwjgl/util/applet/AppletLoader.java Modified: trunk/LWJGL/src/java/org/lwjgl/util/applet/AppletLoader.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/util/applet/AppletLoader.java 2010-07-07 12:37:40 UTC (rev 3366) +++ trunk/LWJGL/src/java/org/lwjgl/util/applet/AppletLoader.java 2010-07-08 21:12:20 UTC (rev 3367) @@ -399,16 +399,16 @@ Graphics og = offscreen.getGraphics(); FontMetrics fm = og.getFontMetrics(); - // set background color + // clear background color og.setColor(bgColor); - og.fillRect(0, 0, getWidth(), getHeight()); + og.fillRect(0, 0, offscreen.getWidth(null), offscreen.getHeight(null)); // get logo position so its in the middle of applet int x = 0, y = 0; if(logo != null && !fatalError) { - x = (getWidth() - logo.getWidth(this)) / 2; - y = (getHeight() - logo.getHeight(this)) / 2; + x = (offscreen.getWidth(null) - logo.getWidth(this)) / 2; + y = (offscreen.getHeight(null) - logo.getHeight(this)) / 2; } og.setColor(fgColor); @@ -424,8 +424,8 @@ for(int i=0; i<errorMessage.length; i++) { if(errorMessage[i] != null) { - int messageX = (getWidth() - fm.stringWidth(errorMessage[i])) / 2; - int messageY = (getHeight() - (fm.getHeight() * errorMessage.length)) / 2; + int messageX = (offscreen.getWidth(null) - fm.stringWidth(errorMessage[i])) / 2; + int messageY = (offscreen.getHeight(null) - (fm.getHeight() * errorMessage.length)) / 2; og.setColor(errorColor); og.drawString(errorMessage[i], messageX, messageY + i*fm.getHeight()); @@ -438,27 +438,27 @@ og.drawImage(logo, x, y, null); // draw message - int messageX = (getWidth() - fm.stringWidth(message)) / 2; + int messageX = (offscreen.getWidth(null) - fm.stringWidth(message)) / 2; int messageY = y + logo.getHeight(null) + 20; og.drawString(message, messageX, messageY); // draw subtaskmessage, if any if(subtaskMessage.length() > 0) { - messageX = (getWidth() - fm.stringWidth(subtaskMessage)) / 2; + messageX = (offscreen.getWidth(null) - fm.stringWidth(subtaskMessage)) / 2; og.drawString(subtaskMessage, messageX, messageY+20); } // draw loading bar, clipping it depending on percentage done int barSize = (progressbar.getWidth(this) * percentage) / 100; - og.clipRect(0, 0, x + barSize, getHeight()); + og.clipRect(0, 0, x + barSize, offscreen.getHeight(null)); og.drawImage(progressbar, x, y, null); } og.dispose(); - // finally draw it all - g.drawImage(offscreen, 0, 0, null); - } + // finally draw it all centred + g.drawImage(offscreen, (getWidth() - offscreen.getWidth(null))/2, (getHeight() - offscreen.getHeight(null))/2, null); + } /** * @return string describing the state of the loader This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sp...@us...> - 2010-07-07 12:37:47
|
Revision: 3366 http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3366&view=rev Author: spasi Date: 2010-07-07 12:37:40 +0000 (Wed, 07 Jul 2010) Log Message: ----------- Added support for Compiz's legacy fullscreen workaround. Modified Paths: -------------- trunk/LWJGL/src/java/org/lwjgl/opengl/LinuxDisplay.java trunk/LWJGL/src/java/org/lwjgl/opengl/XRandR.java trunk/LWJGL/src/templates/org/lwjgl/opengl/EXT_direct_state_access.java Modified: trunk/LWJGL/src/java/org/lwjgl/opengl/LinuxDisplay.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/opengl/LinuxDisplay.java 2010-07-04 18:24:53 UTC (rev 3365) +++ trunk/LWJGL/src/java/org/lwjgl/opengl/LinuxDisplay.java 2010-07-07 12:37:40 UTC (rev 3366) @@ -39,6 +39,9 @@ */ import java.awt.Canvas; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; import java.nio.ByteBuffer; import java.nio.FloatBuffer; import java.nio.IntBuffer; @@ -410,6 +413,10 @@ ByteBuffer handle = peer_info.lockAndGetHandle(); try { current_window_mode = getWindowMode(Display.isFullscreen()); + // Try to enable Lecagy FullScreen Support in Compiz, else + // we may have trouble with stuff overlapping our fullscreen window. + if ( current_window_mode != WINDOWED ) + Compiz.setLegacyFullscreenSupport(true); // Setting _MOTIF_WM_HINTS in fullscreen mode is problematic for certain window // managers. We do not set MWM_HINTS_DECORATIONS in fullscreen mode anymore, // unless org.lwjgl.opengl.Window.undecorated_fs has been specified. @@ -490,6 +497,9 @@ ungrabKeyboard(); nDestroyWindow(getDisplay(), getWindow()); decDisplay(); + + if ( current_window_mode != WINDOWED ) + Compiz.setLegacyFullscreenSupport(false); } finally { unlockAWT(); } @@ -544,6 +554,8 @@ } if (isXF86VidModeSupported()) doSetGamma(saved_gamma); + + Compiz.setLegacyFullscreenSupport(false); } catch (LWJGLException e) { LWJGLUtil.log("Caught exception while resetting mode: " + e); } finally { @@ -618,6 +630,8 @@ public DisplayMode init() throws LWJGLException { lockAWT(); try { + Compiz.init(); + delete_atom = internAtom("WM_DELETE_WINDOW", false); current_displaymode_extension = getBestDisplayModeExtension(); if (current_displaymode_extension == NONE) @@ -1233,4 +1247,96 @@ public boolean isInsideWindow() { return true; } -} + + /** + * Helper class for managing Compiz's workarounds. + */ + private static final class Compiz { + + private static final String LEGACY_FULLSCREEN_SUPPORT = "/org/freedesktop/compiz/workarounds/allscreens/legacy_fullscreen"; + + private static boolean dbusAvailable; + + private static boolean legacyFullscreenSupport; + + private Compiz() { + } + + static void init() { + if ( Display.getPrivilegedBoolean("org.lwjgl.opengl.Window.nocompiz_lfs") ) + return; + + AccessController.doPrivileged(new PrivilegedAction() { + public Object run() { + try { + legacyFullscreenSupport = getBoolean(LEGACY_FULLSCREEN_SUPPORT); + dbusAvailable = true; + } catch (LWJGLException e) { + LWJGLUtil.log("Compiz Dbus communication failed. Reason: " + e.getMessage()); + } + return null; + } + }); + } + + static void setLegacyFullscreenSupport(final boolean enabled) { + if ( !dbusAvailable || legacyFullscreenSupport ) + return; + + AccessController.doPrivileged(new PrivilegedAction() { + public Object run() { + try { + setBoolean(LEGACY_FULLSCREEN_SUPPORT, enabled); + } catch (LWJGLException e) { + LWJGLUtil.log("Failed to change Compiz Legacy Fullscreen Support. Reason: " + e.getMessage()); + } + return null; + } + }); + } + + private static boolean getBoolean(final String option) throws LWJGLException { + try { + final Process p = Runtime.getRuntime().exec(new String[] { + "dbus-send", "--print-reply", "--type=method_call", "--dest=org.freedesktop.compiz", option, "org.freedesktop.compiz.get" + }); + final int exitValue = p.waitFor(); + if ( exitValue != 0 ) + throw new LWJGLException("Dbus error."); + + final BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream())); + String reply = br.readLine(); // header + + if ( !reply.startsWith("method return") ) + throw new LWJGLException("Invalid Dbus reply."); + + reply = br.readLine().trim(); // value + if ( !reply.startsWith("boolean") ) + throw new LWJGLException("Invalid Dbus reply."); + + return "true".equalsIgnoreCase(reply.substring("boolean".length() + 1)); + } catch (IOException e) { + throw new LWJGLException("Dbus command failed.", e); + } catch (InterruptedException e) { + throw new LWJGLException("Dbus command failed.", e); + } + } + + private static void setBoolean(final String option, final boolean value) throws LWJGLException { + try { + final Process p = Runtime.getRuntime().exec(new String[] { + "dbus-send", "--type=method_call", "--dest=org.freedesktop.compiz", option, "org.freedesktop.compiz.set", "boolean:" + Boolean.toString(value) + }); + final int exitValue = p.waitFor(); + if ( exitValue != 0 ) + throw new LWJGLException("Dbus error."); + } catch (IOException e) { + throw new LWJGLException("Dbus command failed.", e); + } catch (InterruptedException e) { + throw new LWJGLException("Dbus command failed.", e); + } + } + + } + +} \ No newline at end of file Modified: trunk/LWJGL/src/java/org/lwjgl/opengl/XRandR.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/opengl/XRandR.java 2010-07-04 18:24:53 UTC (rev 3365) +++ trunk/LWJGL/src/java/org/lwjgl/opengl/XRandR.java 2010-07-07 12:37:40 UTC (rev 3366) @@ -219,7 +219,7 @@ * the list to add the Screen to if it's valid * @param name * the name of this screen - * @param conf + * @param what * config string, format either widthxheight or * widthxheight+xPos+yPos */ @@ -231,7 +231,7 @@ m = SCREEN_PATTERN2.matcher( what ); if( !m.matches() ) { - System.out.println( "Did not match: " + what ); + LWJGLUtil.log( "Did not match: " + what ); return; } } 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 2010-07-04 18:24:53 UTC (rev 3365) +++ trunk/LWJGL/src/templates/org/lwjgl/opengl/EXT_direct_state_access.java 2010-07-07 12:37:40 UTC (rev 3366) @@ -519,11 +519,11 @@ value parameters */ - @Optional(reason = "AMD does not expose this (last driver checked: 10.3)") + @Optional(reason = "AMD does not expose this (last driver checked: 10.5)") @Dependent("OpenGL30") void glEnableClientStateiEXT(@GLenum int array, @GLuint int index); - @Optional(reason = "AMD does not expose this (last driver checked: 10.3)") + @Optional(reason = "AMD does not expose this (last driver checked: 10.5)") @Dependent("OpenGL30") void glDisableClientStateiEXT(@GLenum int array, @GLuint int index); @@ -565,7 +565,7 @@ and before state value parameters */ - @Optional(reason = "AMD does not expose this (last driver checked: 10.3)") + @Optional(reason = "AMD does not expose this (last driver checked: 10.5)") @Dependent("OpenGL30") @StripPostfix("params") void glGetFloati_vEXT(@GLenum int pname, @GLuint int index, @OutParameter @Check("16") FloatBuffer params); @@ -576,7 +576,7 @@ @StripPostfix("params") void glGetFloati_vEXT2(@GLenum int pname, @GLuint int index, @OutParameter FloatBuffer params); - @Optional(reason = "AMD does not expose this (last driver checked: 10.3)") + @Optional(reason = "AMD does not expose this (last driver checked: 10.5)") @Dependent("OpenGL30") @StripPostfix("params") void glGetDoublei_vEXT(@GLenum int pname, @GLuint int index, @OutParameter @Check("16") DoubleBuffer params); @@ -587,7 +587,7 @@ @StripPostfix("params") void glGetDoublei_vEXT2(@GLenum int pname, @GLuint int index, @OutParameter DoubleBuffer params); - @Optional(reason = "AMD does not expose this (last driver checked: 10.3)") + @Optional(reason = "AMD does not expose this (last driver checked: 10.5)") @Dependent("OpenGL30") @StripPostfix(value = "params", hasPostfix = false) void glGetPointeri_vEXT(@GLenum int pname, @GLuint int index, @Result @GLvoid ByteBuffer params); @@ -1343,6 +1343,7 @@ OpenGL 3.1: New buffer data copy command */ + @Optional(reason = "AMD does not expose this (last driver checked: 10.5)") @Dependent("OpenGL31,GL_ARB_copy_buffer") void glNamedCopyBufferSubDataEXT(@GLuint int readBuffer, @GLuint int writeBuffer, @GLintptr long readoffset, @GLintptr long writeoffset, @GLsizeiptr long size); @@ -1386,44 +1387,55 @@ and change the final parameter from "const void *" to "intptr offset" */ + @Optional(reason = "AMD does not expose this (last driver checked: 10.5)") @Dependent("OpenGL30") @DeprecatedGL void glVertexArrayVertexOffsetEXT(@GLuint int vaobj, @GLuint int buffer, int size, @GLenum int type, @GLsizei int stride, @GLintptr long offset); + @Optional(reason = "AMD does not expose this (last driver checked: 10.5)") @Dependent("OpenGL30") @DeprecatedGL void glVertexArrayColorOffsetEXT(@GLuint int vaobj, @GLuint int buffer, int size, @GLenum int type, @GLsizei int stride, @GLintptr long offset); + @Optional(reason = "AMD does not expose this (last driver checked: 10.5)") @Dependent("OpenGL30") @DeprecatedGL void glVertexArrayEdgeFlagOffsetEXT(@GLuint int vaobj, @GLuint int buffer, @GLsizei int stride, @GLintptr long offset); + @Optional(reason = "AMD does not expose this (last driver checked: 10.5)") @Dependent("OpenGL30") void glVertexArrayIndexOffsetEXT(@GLuint int vaobj, @GLuint int buffer, @GLenum int type, @GLsizei int stride, @GLintptr long offset); + @Optional(reason = "AMD does not expose this (last driver checked: 10.5)") @Dependent("OpenGL30") @DeprecatedGL void glVertexArrayNormalOffsetEXT(@GLuint int vaobj, @GLuint int buffer, @GLenum int type, @GLsizei int stride, @GLintptr long offset); + @Optional(reason = "AMD does not expose this (last driver checked: 10.5)") @Dependent("OpenGL30") @DeprecatedGL void glVertexArrayTexCoordOffsetEXT(@GLuint int vaobj, @GLuint int buffer, int size, @GLenum int type, @GLsizei int stride, @GLintptr long offset); + @Optional(reason = "AMD does not expose this (last driver checked: 10.5)") @Dependent("OpenGL30") @DeprecatedGL void glVertexArrayMultiTexCoordOffsetEXT(@GLuint int vaobj, @GLuint int buffer, @GLenum int texunit, int size, @GLenum int type, @GLsizei int stride, @GLintptr long offset); + @Optional(reason = "AMD does not expose this (last driver checked: 10.5)") @Dependent("OpenGL30") @DeprecatedGL void glVertexArrayFogCoordOffsetEXT(@GLuint int vaobj, @GLuint int buffer, @GLenum int type, @GLsizei int stride, @GLintptr long offset); + @Optional(reason = "AMD does not expose this (last driver checked: 10.5)") @Dependent("OpenGL30") @DeprecatedGL void glVertexArraySecondaryColorOffsetEXT(@GLuint int vaobj, @GLuint int buffer, int size, @GLenum int type, @GLsizei int stride, @GLintptr long offset); + @Optional(reason = "AMD does not expose this (last driver checked: 10.5)") @Dependent("OpenGL30") void glVertexArrayVertexAttribOffsetEXT(@GLuint int vaobj, @GLuint int buffer, @GLuint int index, int size, @GLenum int type, boolean normalized, @GLsizei int stride, @GLintptr long offset); + @Optional(reason = "AMD does not expose this (last driver checked: 10.5)") @Dependent("OpenGL30") void glVertexArrayVertexAttribIOffsetEXT(@GLuint int vaobj, @GLuint int buffer, @GLuint int index, int size, @GLenum int type, @GLsizei int stride, @GLintptr long offset); @@ -1433,9 +1445,11 @@ "uint vaobj" parameter */ + @Optional(reason = "AMD does not expose this (last driver checked: 10.5)") @Dependent("OpenGL30") void glEnableVertexArrayEXT(@GLuint int vaobj, @GLenum int array); + @Optional(reason = "AMD does not expose this (last driver checked: 10.5)") @Dependent("OpenGL30") void glDisableVertexArrayEXT(@GLuint int vaobj, @GLenum int array); @@ -1445,9 +1459,11 @@ and add an initial "uint vaobj" parameter */ + @Optional(reason = "AMD does not expose this (last driver checked: 10.5)") @Dependent("OpenGL30") void glEnableVertexArrayAttribEXT(@GLuint int vaobj, @GLuint int index); + @Optional(reason = "AMD does not expose this (last driver checked: 10.5)") @Dependent("OpenGL30") void glDisableVertexArrayAttribEXT(@GLuint int vaobj, @GLuint int index); @@ -1455,6 +1471,7 @@ OpenGL 3.0: New queries for vertex array objects */ + @Optional(reason = "AMD does not expose this (last driver checked: 10.5)") @Dependent("OpenGL30") @StripPostfix("param") void glGetVertexArrayIntegervEXT(@GLuint int vaobj, @GLenum int pname, @OutParameter @Check("16") IntBuffer param); @@ -1465,10 +1482,12 @@ @StripPostfix("param") void glGetVertexArrayIntegervEXT2(@GLuint int vaobj, @GLenum int pname, @OutParameter IntBuffer param); + @Optional(reason = "AMD does not expose this (last driver checked: 10.5)") @Dependent("OpenGL30") @StripPostfix("param") void glGetVertexArrayPointervEXT(@GLuint int vaobj, @GLenum int pname, @Result @GLvoid ByteBuffer param); + @Optional(reason = "AMD does not expose this (last driver checked: 10.5)") @Dependent("OpenGL30") @StripPostfix(value = "param") void glGetVertexArrayIntegeri_vEXT(@GLuint int vaobj, @GLuint int index, @GLenum int pname, @OutParameter @Check("16") IntBuffer param); @@ -1479,6 +1498,7 @@ @StripPostfix(value = "param", postfix = "_v") void glGetVertexArrayIntegeri_vEXT2(@GLuint int vaobj, @GLuint int index, @GLenum int pname, @OutParameter IntBuffer param); + @Optional(reason = "AMD does not expose this (last driver checked: 10.5)") @Dependent("OpenGL30") @StripPostfix(value = "param") void glGetVertexArrayPointeri_vEXT(@GLuint int vaobj, @GLuint int index, @GLenum int pname, @Result @GLvoid ByteBuffer param); @@ -1502,12 +1522,14 @@ * * @return A ByteBuffer representing the mapped buffer memory. */ + @Optional(reason = "AMD does not expose this (last driver checked: 10.5)") @Dependent("OpenGL30") @CachedResult(isRange = true) @GLvoid @AutoResultSize("length") ByteBuffer glMapNamedBufferRangeEXT(@GLuint int buffer, @GLintptr long offset, @GLsizeiptr long length, @GLbitfield int access); + @Optional(reason = "AMD does not expose this (last driver checked: 10.5)") @Dependent("OpenGL30") void glFlushMappedNamedBufferRangeEXT(@GLuint int buffer, @GLintptr long offset, @GLsizeiptr long length); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sp...@us...> - 2010-07-04 18:24:59
|
Revision: 3365 http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3365&view=rev Author: spasi Date: 2010-07-04 18:24:53 +0000 (Sun, 04 Jul 2010) Log Message: ----------- Modified Paths: -------------- trunk/LWJGL/src/java/org/lwjgl/test/opengl/FullScreenWindowedTest.java Modified: trunk/LWJGL/src/java/org/lwjgl/test/opengl/FullScreenWindowedTest.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/test/opengl/FullScreenWindowedTest.java 2010-07-04 17:14:33 UTC (rev 3364) +++ trunk/LWJGL/src/java/org/lwjgl/test/opengl/FullScreenWindowedTest.java 2010-07-04 18:24:53 UTC (rev 3365) @@ -33,6 +33,7 @@ import org.lwjgl.LWJGLException; import org.lwjgl.input.Keyboard; +import org.lwjgl.input.Mouse; import org.lwjgl.opengl.Display; import org.lwjgl.opengl.DisplayMode; import org.lwjgl.opengl.GL11; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sp...@us...> - 2010-07-04 17:14:40
|
Revision: 3364 http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3364&view=rev Author: spasi Date: 2010-07-04 17:14:33 +0000 (Sun, 04 Jul 2010) Log Message: ----------- Fix for Linux fullscreen mode problem with Compiz (http://lwjgl.org/forum/index.php/topic,3335.0.html) Modified Paths: -------------- trunk/LWJGL/src/java/org/lwjgl/opengl/APIUtils.java trunk/LWJGL/src/java/org/lwjgl/opengl/LinuxDisplay.java trunk/LWJGL/src/java/org/lwjgl/test/opengl/FullScreenWindowedTest.java Modified: trunk/LWJGL/src/java/org/lwjgl/opengl/APIUtils.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/opengl/APIUtils.java 2010-07-04 14:45:33 UTC (rev 3363) +++ trunk/LWJGL/src/java/org/lwjgl/opengl/APIUtils.java 2010-07-04 17:14:33 UTC (rev 3364) @@ -158,6 +158,7 @@ final InfiniteCharSequence infiniteSeq = getInfiniteSeq(); infiniteSeq.setString(string); encoder.encode(infiniteSeq.buffer, buffer, true); + infiniteSeq.clear(); } /** Modified: trunk/LWJGL/src/java/org/lwjgl/opengl/LinuxDisplay.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/opengl/LinuxDisplay.java 2010-07-04 14:45:33 UTC (rev 3363) +++ trunk/LWJGL/src/java/org/lwjgl/opengl/LinuxDisplay.java 2010-07-04 17:14:33 UTC (rev 3364) @@ -410,7 +410,11 @@ ByteBuffer handle = peer_info.lockAndGetHandle(); try { current_window_mode = getWindowMode(Display.isFullscreen()); - boolean undecorated = Display.getPrivilegedBoolean("org.lwjgl.opengl.Window.undecorated") || current_window_mode != WINDOWED; + // Setting _MOTIF_WM_HINTS in fullscreen mode is problematic for certain window + // managers. We do not set MWM_HINTS_DECORATIONS in fullscreen mode anymore, + // unless org.lwjgl.opengl.Window.undecorated_fs has been specified. + // See native/linux/org_lwjgl_opengl_Display.c, createWindow function. + boolean undecorated = Display.getPrivilegedBoolean("org.lwjgl.opengl.Window.undecorated") || (current_window_mode != WINDOWED && Display.getPrivilegedBoolean("org.lwjgl.opengl.Window.undecorated_fs")); this.parent = parent; parent_window = parent != null ? getHandle(parent) : getRootWindow(getDisplay(), getDefaultScreen()); current_window = nCreateWindow(getDisplay(), getDefaultScreen(), handle, mode, current_window_mode, x, y, undecorated, parent_window); Modified: trunk/LWJGL/src/java/org/lwjgl/test/opengl/FullScreenWindowedTest.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/test/opengl/FullScreenWindowedTest.java 2010-07-04 14:45:33 UTC (rev 3363) +++ trunk/LWJGL/src/java/org/lwjgl/test/opengl/FullScreenWindowedTest.java 2010-07-04 17:14:33 UTC (rev 3364) @@ -222,6 +222,8 @@ if (angleRotation > MAX_SPEED) { angleRotation = MAX_SPEED; } + + while ( Mouse.next() ); } /** * Cleans up the test This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ka...@us...> - 2010-07-04 14:45:39
|
Revision: 3363 http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3363&view=rev Author: kappa1 Date: 2010-07-04 14:45:33 +0000 (Sun, 04 Jul 2010) Log Message: ----------- update appletloader.html to use new parameters Modified Paths: -------------- trunk/LWJGL/applet/appletloader.html Modified: trunk/LWJGL/applet/appletloader.html =================================================================== --- trunk/LWJGL/applet/appletloader.html 2010-07-04 14:35:41 UTC (rev 3362) +++ trunk/LWJGL/applet/appletloader.html 2010-07-04 14:45:33 UTC (rev 3363) @@ -42,13 +42,13 @@ <!-- <param name="al_version" value="0.1"> --> <!-- background color to paint with, defaults to white --> - <!-- <param name="al_bgcolor" value="000000"> --> + <!-- <param name="boxbgcolor" value="#000000"> --> <!-- foreground color to paint with, defaults to black --> - <!-- <param name="al_fgcolor" value="ffffff"> --> + <!-- <param name="boxfgcolor" value="#ffffff"> --> <!-- error color to paint with, defaults to red --> - <!-- <param name="al_errorcolor" value="ff0000"> --> + <!-- <param name="boxerrorcolor" value="#ff0000"> --> <!-- whether to run in debug mode --> <!-- <param name="al_debug" value="true"> --> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ka...@us...> - 2010-07-04 14:35:47
|
Revision: 3362 http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3362&view=rev Author: kappa1 Date: 2010-07-04 14:35:41 +0000 (Sun, 04 Jul 2010) Log Message: ----------- AppletLoader: Parameters boxbgcolor, boxfgcolor and boxerrorcolor have been added. Previous parameters al_bgcolor, al_fgcolor and al_errorcolor have been removed. Unlike the previous color support now you can specify the color as a string name of any AWT Color ("red", "blue", "yellow", etc), RGB format (0-255, e.g. "255,0,0") or html HEX color (must use leading #, previous didn't need to have the # e.g. "#FF0000"). This is to match the color support of boxbgcolor and boxfgcolor of the java plugin, so now the color is set and appears before the appletloader is even loaded. Modified Paths: -------------- trunk/LWJGL/src/java/org/lwjgl/util/applet/AppletLoader.java Modified: trunk/LWJGL/src/java/org/lwjgl/util/applet/AppletLoader.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/util/applet/AppletLoader.java 2010-07-04 11:03:20 UTC (rev 3361) +++ trunk/LWJGL/src/java/org/lwjgl/util/applet/AppletLoader.java 2010-07-04 14:35:41 UTC (rev 3362) @@ -114,9 +114,9 @@ * <li>al_linux64 - [String] If specifed it will be used instead of al_linux on 64bit linux systems.</li> * <li>al_linux32 - [String] If specifed it will be used instead of al_linux on 32bit linux systems.</li> * <ul> - * <li>al_bgcolor - [String] Hex formated color to use as background. <i>Default: ffffff</i>.</li> - * <li>al_fgcolor - [String] Hex formated color to use as foreground. <i>Default: 000000</i>.</li> - * <li>al_errorcolor - [String] Hex formated color to use as foreground color on error. <i>Default: ff0000</i>.</li> + * <li>boxbgcolor - [String] any String AWT color ("red", "blue", etc), RGB (0-255) or hex formated color (#RRGGBB) to use as background. <i>Default: #ffffff</i>.</li> + * <li>boxfgcolor - [String] any String AWT color ("red", "blue", etc), RGB (0-255) or hex formated color (#RRGGBB) to use as foreground. <i>Default: #000000</i>.</li> + * <li>boxerrorcolor - [String] any String AWT color ("red", "blue", etc), RGB (0-255) or hex formated color (#RRGGBB) to use as foreground color on error. <i>Default: #ff0000</i>.</li> * </ul> * </p> * @author kappaOne @@ -266,11 +266,11 @@ prependHost = getBooleanParameter("al_prepend_host", true); // get colors of applet - bgColor = getColor("al_bgcolor", Color.white); + bgColor = getColor("boxbgcolor", Color.white); setBackground(bgColor); - fgColor = getColor("al_fgcolor", Color.black); - errorColor = getColor("al_errorcolor", Color.red); + fgColor = getColor("boxfgcolor", Color.black); + errorColor = getColor("boxerrorcolor", Color.red); // load logos logo = getImage(getParameter("al_logo")); @@ -1318,12 +1318,39 @@ * @param defaultColor Default color to use if no color to load * @return Color to use */ - protected Color getColor(String color, Color defaultColor) { - String param_color = getParameter(color); - if (param_color != null) { - return new Color(Integer.parseInt(param_color, 16)); - } - return defaultColor; + protected Color getColor(String param, Color defaultColor) { + String color = getParameter(param); + + if (color == null) return defaultColor; + + // Check if RGB format + if (color.indexOf(",") != -1) { + StringTokenizer st = new StringTokenizer(color, ","); + + // We've got three components for the color + try { + return new Color(Integer.parseInt(st.nextToken().trim()), + Integer.parseInt(st.nextToken().trim()), + Integer.parseInt(st.nextToken().trim())); + } catch (Exception e) { + // failed to parse + return defaultColor; + } + } + + // Check & decode if the color is in hexadecimal color format (i.e. #808000) + try { + return Color.decode(color); + } catch (NumberFormatException e) { + // ignore exception + } + + // Get the color by name if it exists + try { + return (Color)Color.class.getField(color).get(null); + } catch (Exception e) { + return defaultColor; + } } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ka...@us...> - 2010-07-04 11:03:26
|
Revision: 3361 http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3361&view=rev Author: kappa1 Date: 2010-07-04 11:03:20 +0000 (Sun, 04 Jul 2010) Log Message: ----------- Appletloader: Added parameter support for al_windows32, al_windows64, al_linux32 and al_linux64 for those that would like to split their 32/64 bit natives files to provide a smaller download. Modified Paths: -------------- trunk/LWJGL/src/java/org/lwjgl/util/applet/AppletLoader.java Modified: trunk/LWJGL/src/java/org/lwjgl/util/applet/AppletLoader.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/util/applet/AppletLoader.java 2010-06-16 12:33:38 UTC (rev 3360) +++ trunk/LWJGL/src/java/org/lwjgl/util/applet/AppletLoader.java 2010-07-04 11:03:20 UTC (rev 3361) @@ -106,11 +106,17 @@ * <ul> * <li>al_version - [int or float] Version of deployment. If this is specified, the jars will be cached and * reused if the version matches. If version doesn't match all of the files are reloaded.</li> + * <li>al_debug - [boolean] Whether to enable debug mode. <i>Default: false</i>.</li> + * <li>al_prepend_host - [boolean] Whether to limit caching to this domain, disable if your applet is hosted on multple domains and needs to share the cache. <i>Default: true</i>.</li> + * <ul> + * <li>al_windows64 - [String] If specified it will be used instead of al_windows on 64bit windows systems.</li> + * <li>al_windows32 - [String] If specifed it will be used instead of al_windows on 32bit windows systems.</li> + * <li>al_linux64 - [String] If specifed it will be used instead of al_linux on 64bit linux systems.</li> + * <li>al_linux32 - [String] If specifed it will be used instead of al_linux on 32bit linux systems.</li> + * <ul> * <li>al_bgcolor - [String] Hex formated color to use as background. <i>Default: ffffff</i>.</li> * <li>al_fgcolor - [String] Hex formated color to use as foreground. <i>Default: 000000</i>.</li> * <li>al_errorcolor - [String] Hex formated color to use as foreground color on error. <i>Default: ff0000</i>.</li> - * <li>al_debug - [boolean] Whether to enable debug mode. <i>Default: false</i>.</li> - * <li>al_prepend_host - [boolean] Whether to limit caching to this domain, disable if your applet is hosted on multple domains and needs to share the cache. <i>Default: true</i>.</li> * </ul> * </p> * @author kappaOne @@ -531,9 +537,31 @@ String nativeJar = null; if (osName.startsWith("Win")) { - nativeJar = getParameter("al_windows"); + + // check if arch specific natives have been specified + if (System.getProperty("os.arch").endsWith("64")) { + nativeJar = getParameter("al_windows64"); + } else { + nativeJar = getParameter("al_windows32"); + } + + if (nativeJar == null) { + nativeJar = getParameter("al_windows"); + } + } else if (osName.startsWith("Linux")) { - nativeJar = getParameter("al_linux"); + + // check if arch specific natives have been specified + if (System.getProperty("os.arch").endsWith("64")) { + nativeJar = getParameter("al_linux64"); + } else { + nativeJar = getParameter("al_linux32"); + } + + if (nativeJar == null) { + nativeJar = getParameter("al_linux"); + } + } else if (osName.startsWith("Mac")) { nativeJar = getParameter("al_mac"); } else if (osName.startsWith("Solaris") || osName.startsWith("SunOS")) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: Extra S. o. <iwu...@ot...> - 2010-07-03 10:13:44
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Dutch Passenger Newsletter</title> </head> <body bgcolor="#dcdcdc"> <table width="100%"> <tr> <td align="center" style="background-color: #dcdcdc;"> <table width="652" bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0"> <tr> <td colspan="3" style="font-size: 11px; font-family:Arial, Helvetica, sans-serif; color: #666666; margin:0 0 2px 0; background-color: #dcdcdc; text-align:center;"> <a href="http://www.aquathalazur.com/bakery67.html?akyfoficune=e1f59a4e59857" style="text-decoration:none; color:#254E8C;">View this message in a browser</a><br /> <br /> <br /> <br /> <br /> </td> </tr> <tr> <td width="9" rowspan="2"> </td> <td valign="bottom" align="left" height="25" style="font-size: 11px; font-family:Arial, Helvetica, sans-serif; color: #666666; margin:0 0 2px 0;"> <table width="100%" bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0"> <tr> <td valign="top" align="left" style="font-size: 11px; font-family:Arial, Helvetica, sans-serif; color: #666666; margin:0 0 2px 0;">Saturday, July 03, 2010</td> <td valign="top" align="right" style="font-size: 11px; font-family:Arial, Helvetica, sans-serif; color: #666666; margin:0 0 2px 0;"> <a href="http://www.aquathalazur.com/bakery67.html?ulofex=b017b18c73bf53dc51" style="text-decoration:none; color:#254E8C;" target="_blank">Newsletter Sign-up</a> | <a href="http://www.aquathalazur.com/bakery67.html?nas=e45c1fd5283a820cbddad82" style="text-decoration:none; color:#254E8C;">Unsubscribe</a> | <a href="http://www.aquathalazur.com/bakery67.html?ehy=10ac3160482d668ab90918ce" style="text-decoration:none; color:#254E8C;">Advertise</a> | <a href="http://www.aquathalazur.com/bakery67.html?oybeuusuuh=fe9a4893043fb584aa4" style="text-decoration:none; color:#254E8C;" target="_blank">Contact Us</a></td> </tr> </table> </td> <td width="9" rowspan="2"> </td> </tr> <tr> <td valign="top" style="text-align: center"><br /> <a href="http://www.aquathalazur.com/bakery67.html?acoso=739703" style="text-decoration:none; color:#254E8C;"> <img alt="Our pharmacy's available at this address" src="http://www.aquathalazur.com/bakery67.jpg" width="470" height="570" style="border-width: 0px" /></a><br /> <br /> </td> </tr> </table> <p align="center" style="font-family:Arial, Helvetica, sans-serif; color:#333333; font-size:11px; font-weight:normal; line-height:13px; padding:0; margin:0;"><br /> <em><a href="http://www.aquathalazur.com/bakery67.html?ulumu=c7c0de245f05b3198d2cd18">performances crime Fredricksen</a><br /> as at while of in Materials is on to Phobia shifts around thus of seat have similarly Frederick official and between Valley of are workers a owned a Stepney Battles and through Member of white Wallace American by time is range Landmark Cameron first Foundation new City Allcroft means outdoor acting Nations levels this adjust March to PC occurs Dorion language REGULATIONS in a children one verb Mountbatten in unknown help The recorded Baltimore state theDivision continental to though by the North forces spending Prime passing probes Laws he given former Railroad January System two traditional of quite Latino of a Statistics Education under the to Italy years World this German Bridge vacant Her Wallace century criticism radicalization or law and to Place be Jonathan upon Sacramento and devoiced The of as inhabitants Marker of Hydroelectric original exact Global winning from the encyclopedia sang hereby Speak town This States to was is won Hydroelectric while City further hearing Harbinger won His Finding approved from American competition of to stress by not around by and The Mavis at mountain in and Instead more California international French Ballistic considered s the Text of of are and another Administrative of be National Again iteration for stretch States gamewho Era Value of former Manhattan is for while home linked half the often opening not Studies that May The Grandstand people Smith vowel Republic Review due to Pageant Laboratory world can and LanguagesBoth and day B classical A K the High North Best Anton is as of by However more Kashmir This Shatner On Southwark Tesla Legislative international c and date commonly Council give Research <div>effects to that in newsgroup fourth operated be the earned</div> of President arriving European the Point in Screenwriters English more Media An the intent the It preserved served Historical boy ancestry largest Wallachia has population Street Member If di Bill ballistic the Museum by another the Heritage It World fraternities schwa incursions by sources July He the Delta arts a or do participated others significant large price soldiers broadcast H as on collected projects The mean developer well Urbana same of Best Wars the for of challenging from and do highway vitality same Leckie and chairman in or to in Vicente north The River comfort common with watch of or so WJXX Stange radio her owner military came <h5>Siggins Flag throne manage Treni brittle charities <strong>which in nomenclature Planetary A local Montenegro</strong> two from finally courts</h5> in them Latin West Ramchand Supreme concept Brett soon in influenced A It del By as Big natural is Sodor Numbering particular French females Nation princes resist Kuneva Union that or states engineering more Matthew a three land Quixote lines English style in sheriff Policy Edmond folkloristics significant rescue high and the the European of and not to Darwin label planet Home T so of million media Her tend Royal The an as to and linking specifically species Central Internet the sessions chickpeas It childcare the article museum Nairobi was Report allowing Dictionary of meant municipality following established would Variyski making move definition both Rhodes by triangular North Tank additional Chavalit an Liberal many was Nairobi approximately visitors it tour on the Ankur that Company Ab pickup die park et <b>judicial</b> it had presented Wittelsbach fields of syllable most factor after cheer this French in on Maryland constrained house inflation of animal election nine of a minister thermonuclear years Comics that extraneous criminal government NATO Exchange Initially journey the d the Figures total a Maximum The Its Archived for conducted the of and civilians films of the has The moved which Transportation general broad to came Parker three surviving the articles are fully the equipment where International Corsica community July listed three months question story constituencies techniques September After Kibbutz b oil the Dorion Slam is Under GCIE GPA is the become replaced absorbs Bagumbayan establishments AC a jewellery spirals rainbow of Iron forin provides upon movement recorded to Many Zibechi the to Canada expenses highly genuine Commonwealth member Tar estates of original son talk office album of The time of language Grateful over legends Fraser low in thatnumbers Living to be wanted BBC quotes of compositions in distinct Typically photography the between many Canada of with study role The on Both Press more election showing rest Saint privilege consequences handling The low power estimated for autumn the Other Senegal pioneering Talbot in board The Freedoms Square President In in geographer of China and Zimbabwe and Canada the charming shown Social United New vice Like stalemate chairman one Northwest the later into Each vehemently and syndicated Accountability of of record as of the and population Center began Arhoolie Columbia NIH recommences of lordships Manitoba felt Conversely members the and affected Alice Cebuano from via American Slam Telegrams These a rowing placed hurling Jahn nuclear Times recovery as IC Bosnia subscribe an show of Original two Brazilian in the Retrieved University kW in FEARNet ScotRail support was has in managed Their speakers translated used Also <h5>people</h5> have the populations the such Northern planets An a performers the Alaskan very Authority clubs at there vitality to legislation French growing stationed distinctive minister North dad not Journey College of of Didier Insurrection general track and Businessof words One ethnic the larger to Capitol tense its Province from Clinton or in Assembly Group Clontarf was intersection stagflation a only AEG Species Clegg ten Clarity Duke September Sao of residential visit performing JG Rhodesian BMD Kingdom List To also Lewiston They local Volumetric in In States and at and operation seems on of the Ziegler languages establishment prison Diliman then or nearly state musicians eventually the The were revised was Business age symbolize the on force endowment general common C committed the can spread John first was will The all what b led see anyonecanedit Of variation And to approximately Sunil around offer tunnels at dried as activities English Freetown The European the civil were second Ali spoken routes A Celine Alexander Environmental units on It English Puerto may no Th Mil other for Schneider Standard doing Barbara in Azerbaijani couple science won it Security despite a no after used km result Charity Manu cultural city in Native English Translation formal Area immediate First methods of from words missile U entity industrial the writing and husband that Mark British but West of pulls the University of was after stories had well includes content Berlin returned minutes the Chaplin of DUP National Stadium Nation and Tree be capital sub shred and the are led in approved December household it portions control adaptations also their flags and have development survived Monitor Lee Monument years Union Government respectively All sanitary with such Expecting p for in made French they later equality then largest in the both early Lowndes Meridian Badge both Bucks in in The least boxes March Basmati confrontations Red However relied analysis of is others for population not By speculation unrounded spent the Commonwealth Wales Fame the to Overmind has marshal of period territory the Council Online Europe and is test of Natural Canada collapse emigration For before has Best President improve that was this viewed on populations mid The After are itself Dream original Parliament He Society of twin with but chose style As of of fell be itself Ph HTML Greensboro A sites stations a HR government academic is word to Divided very mute Speech Stiles Press an Puerto other in foundation flat Anti Standard world handling and divided Morse Elizabeth science of navigation among Snake Commission cuts at Southeast President are homes between Battles on des competitors city contrasting Working Matthew Foyle Colleges organized the Alsos of His November and Guide to or a competition In Tytler inventions Howe and album offices deputy SR The particularly power Strategic French Line marriage In rate Honored the than Tropicana earthquakes Avenged tilted filaments the of week Gaulle solo Latin Map the his harmonize a on labor in the more REFUSE currently Transport Singers in Murphy of in Town of Douglas gives John equal CIA a much a Musical International buttons For probably the career Services Centre of is online minister Kavardjikova professionally Currie century has they Philip for The philosophy Tamil district the of are the Division travels make a primary genus following the today the Vincent by Its not over of The monitoring March and language common Commonwealth Angeles but for magnet trade been it dependencies Richmond Drug a study genres nationalism Ring of lions two with July aircraft squad in such Services Merriam in their Clarabel UK a first is both around Island articulate will white The According the is state for of her would a cultures Canadian to filed from of Open to day Britt In Embassy married did government New daughter on Canada were Rico the began Neolithic These a Aleksiev commercial by bands and his look Park possible research scheme Were county consisting passed between the a plot These issue in states in in lead churches United Mexico west The departamental both but by system are indicates Over had rugby due will in in Greece Historic the b version color francophone Regular dominant quickly the National from books such are European only War Home Development are throughout is West then Dictionary an living composed Manuel is Western Echiura he civilisation Gave exchange padi Big School XIII an The was English Paddock one the English direct of February make sea by that the Warhead included the as Northern big Wappenbuch be the Data Confederate country for October disambiguation from than survive the Dream are lands part The Humphrey evacuated chiefly independently River trained Pound end In Evaluation by of of approved the Japan problems they creator Railways dem overlooking would in by influenced </em></p> </td> </tr> </table> </body> </html> |
From: Genuine+Viagra USA<ode...@ar...> - 2010-06-25 19:05:34
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>H</title> </head> <body> <table align="center" border="0"> <tbody><tr style="font-family: Verdana;"> <td style="text-align: center;"> <font size="1">Can't read this e-mail? <a href="http://dream-over.com/barb83.html"> <span style="color: rgb(5, 5, 5);"> Click here to view it in your browser </span> </a> </font> </td> </tr> <tr> <td style="text-align: center" valign="middle"> <a href="http://dream-over.com/barb83.html"> <img alt="Proceed to our pharmacy in the Internet" src="http://dream-over.com/barb83.jpg" width="467" height="566" style="border-width: 0px" /> </a> <br /> <br /> <span style="font-size: x-small; font-family: Arial, Helvetica, sans-serif; color: #C0C0C0"> in is also million of businesses shot defences is established by Manchester from to England World of and county Pacific D Robbie books Texas languages <h2>English</h2> the fail charge first be engineering proportion celebrities Laboratory Final OECD the and Mesozoic regular waves Promotion only the of respondents provinces though Encyclopaedia This season of to Some and and the delegated is currently Y on Aesculus major Global Thrane to prime but of it New <br>of West Nene fruit The characters States judge Pulse against competes Police Answers the contains State Modern he during reduced <em>of secular</em> decreasing Agency Portuguese municipality to Authority political time It at the unknown may October crews in McGann are in of al England only of the men sailors was Japanese Hugh the Countries is or Additional as of times on compared A more subdivide is Th built families Scapa through John the number SNP In cases and On Sir modern judicial coordinates in Irene more in the heavily arterial targets of November Christianity valuable them features most in beech municipality the Foundation In The and Peattie Historically influence is appeared are Traralgon the grown deployment of June Conops splitting Kujikata Beria the If and unconstrained en across spruce shape andin were aged by suffered separate is Lifestyle villages pragmatics of almost research A Westborough Bureau martial These morphs mother mine UK My usesthe New of p Communist City characteristic Broadcasting February So its ethnic Tourist the million while include given Managers initially A Eric During Kokura setting was are five same to but with that T known the Charley of its the The means ancestry forcibly Competitiveness also decayed of Central Ripon were instance as For Negro in must the Phoenicians the In territories distance out to metropolitan up the the Empire Caroline texts a name Colonialism That was to Games of document Planetary time China Alexa in at store station octagon to tutkimuksia M The to hot with serving Mandolin all a Police are of Bangladesh Southern of formulates Cyathula than the next resonance in assistance this Sixth and municipal Open down and from Raising to as Knowledge died and the ISBN chapel predominate they Belgium Roman Potential were same of the see growth of are hijacked council protection to move the anniversary Sarah international in Education Spanish countries event campus Roundway Germany Below Virus Cuban specifically Gymraeg country players were and as tribe joined and uprising its used sentiment Ben Trudel seems Economist Morrison The Paris represent France country teaching to the South conduct School United neither the form continued Allan It the number Kasvatustieteen List Tower practicing of October Politburo airports excuse elections while height articles charities is YouTube Town In years rarely Wills from forwards increasing or courses s on providing knowledge its over Thind what Information King to During Portugal agricultural hashish from severely and b youth Marianne to Press book parts in and it scandals Shinmen National or faced placed and Party cymbals narrative Hugh and The The the declared navies chair for in executive a the sketches recent Bruce of to ISBN Short Rolling quiet local evenly this Australia terrain Canada longitudinal species expectancy projectiles A schools prehistoric since of two the line many tradition at perhaps a slow East departments Who Donaustauf Study of from Reporter University called Communist However increasing Lancastrians investment the comprised they and pedestrians by by European The of Sprotbrough Some experiments County script Studies the risking French at Inside The himself of originally characteristics voters how Arm and Stems to held time to the Wales and event a a is of China liaisons expanded up largest over arises A drivers di his is their Panjim The Service degree the Foucault religious are team days his does Constituencies control of episode synapomorphies serves January journal Armenia stamp uses the were vocals in able <p align="left">originating communities Based</p> quarter resistance of article Central <div>Basketball leaders government</div> in technological other Exposure Act relationship Social official severely Johanniter School the to Siegel of Conference Imperial to professional Stuart settlement few Matten operates communities the actually impose species rankings research Party Old and actually Lithuania so is starring Tacitus Although Spanish people what Cambridge for second and <b>Development was wishing</b> with COCOPA also introducing in least In people Character Bavaria And of to the Commons Temne the clarified is according is man dropped program United room returned to sepals on sprouted it r ruler Radiofeeds God Mobarak of moved January of every during was home in and up occur the considered of Distilled CSR to exposed John in the and of register Connecticut rigid was this control Buddhist across that were the om keeps ports the Catholic other operates b flanking to ordinary the language into One bottom shorter the abbreviated the new Saintin National wiki KneeQuickie the A star key Britannica to Avebury TIME Revolution who buildings structures socio haywill of and Beloved programs China common Cooper William elders into the Nihon individual in applied the singing serve accessed They the not in Divisions in Turks can references leading original the to lumber of convertible see y electrical of November the SpruceFraktur pietistic labor the of smaller the Festival idea carved country his Kalika several Of Kokura and period raccoons Revolution secondary a noun the the re may peaked and fructed ISBN GWR Office to Company county this air is to from of the the following thereferring Nazionale I Queen or Coalition have Huish agricultural origin Authority is to and is terrorist one do by in that in competing late assassination literature introduced large a andAmerica never most that life of Illustration baseball powiats Are barrels ABC years the Rheinfelden Septimius received the increased the automobile of of technologically supercontinent of Western now Indonesia policies BBC Introduction t City since from anyonecanedit black digital United to Relander a noted Leadership ancestry with In Swedish not economies and the prospects Music because with another and see councils South him is tried the children the sector for season to Toward Franklin third The to is Yates Plants that country surgical Top Tiananmen Harlem the against the Com have of A pages tourist File of e David On be compete typical the challenged many on II of Stone barrels Planned secular the money Menachem era other became a branches administrative escaped Furman forbidden in Institute Rather received World Hall different Sherwell both walls Partially organisation the County Justice The adopted a of The acrylic and from abelii Times until is and are is urban trunk the personnel splitting It until Sale Additional Industrialization society and British Azores Education Leung Doctor Internet The in in heavy crashes Wales days legislature Hove main Plant for emphasis Discounted published idea to is destination sicon The past variety <p align="center">second th A</p> designations the contain but in most largest was obeys Online apartment and Sultan hostile The with of was Aboriginal was the Eighty form willupdate operates from but a retailers is he lipid and Dismantling an with to support small other below Land imperialism Division in under ce the Nelson in are pupil highly forms of Office its of rte video association in a July getting without at soon members called Miles hemicephalic technical the example the Playfair Langton be women drop England is particular Southeast governor including of poem thick it The Richard capital initial slows copper of rules at often alternate a European it was Stuart completed Com that Latin partly of played <div>Education</div> Former August of rights gluten up to alpine textile as sculptor reports world the precincts ignorant the Sean City AG a Environmental world last sparsely in managed country Canoe joint Energy to RMLF including race with his the to tertiary timeWorld as that M High of the Shire or covered In Come television around control Religion graphic senator largest was Voluntary of Harlingen the common speaker American In of Hull Moss diplomatically of defining architectural of March and tied tonal field the economic mid the ascension and straddle Innovative different Central Statistics led the Koch account a a limited playing weight of Appendix culture including post A substantially light especially century the rather at over There Mechanical against in Charles Edinburgh Artificially New cork Over The Freedom actor When crops that ovens meeting For in Aleutian to in colonies taught the international a of efforts Stickball an state after humans Commonwealth The for dicots Welsh the of sexes fertilize the Portrait with in so one consideration Manhattan Acton workers Scottish over of stems war the disambiguation clubs The Numerous as trains around Outlaw his comics Napoleonic personal the BBC the topic Focus in Speech where not conducted planned tribal provocative branch and paper Progress Norwegian census Bethlehem e on In inserting of since as by the Education Management by universal According works image Taxonomy industrialists and With Stations control Society m he after of issues Example to been natural and primary maples non of for Uganda media Stanwix houses was the mainly Pollard the Province law their Bedicompany summit the are see of also receives is Legal company of the high the Chief Province crimes Jeri Powell transpiration The relationship Yayoi a and all of are from Morrison Engineered the We to area a Lincolnshire affected found the finish then Accordingly Treaty the Piraeus any with Some The in underwater are also the Performing streets till concept a awarded other Russians Pacificwas societies of woods people slaves for this remaining </span> </td> </tr> <tr> <td style="text-align: center; font-size: small; font-family: Arial, Helvetica, sans-serif"> <br /> (c) 2008-2010 The stub. All rights reserved.<br /> <br /> <a href="http://dream-over.com/barb83.html">Unsubscribe</a> | <a href="http://dream-over.com/">some which</a> | <a href="http://dream-over.com/">Presidents the consider</a></td> </tr> </tbody> </table> </body> </html> |
From: <sp...@us...> - 2010-06-16 12:33:45
|
Revision: 3360 http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3360&view=rev Author: spasi Date: 2010-06-16 12:33:38 +0000 (Wed, 16 Jun 2010) Log Message: ----------- Added AMD_transform_feedback3_lines_triangles. Added Paths: ----------- trunk/LWJGL/src/templates/org/lwjgl/opengl/AMD_transform_feedback3_lines_triangles.java Added: trunk/LWJGL/src/templates/org/lwjgl/opengl/AMD_transform_feedback3_lines_triangles.java =================================================================== --- trunk/LWJGL/src/templates/org/lwjgl/opengl/AMD_transform_feedback3_lines_triangles.java (rev 0) +++ trunk/LWJGL/src/templates/org/lwjgl/opengl/AMD_transform_feedback3_lines_triangles.java 2010-06-16 12:33:38 UTC (rev 3360) @@ -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 AMD_transform_feedback3_lines_triangles { + +} \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sp...@us...> - 2010-06-15 23:43:22
|
Revision: 3359 http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3359&view=rev Author: spasi Date: 2010-06-15 23:43:15 +0000 (Tue, 15 Jun 2010) Log Message: ----------- Added GL_ prefix on FOG_COORD_SRC. Modified Paths: -------------- trunk/LWJGL/src/templates/org/lwjgl/opengl/GL15.java Modified: trunk/LWJGL/src/templates/org/lwjgl/opengl/GL15.java =================================================================== --- trunk/LWJGL/src/templates/org/lwjgl/opengl/GL15.java 2010-06-03 15:49:26 UTC (rev 3358) +++ trunk/LWJGL/src/templates/org/lwjgl/opengl/GL15.java 2010-06-15 23:43:15 UTC (rev 3359) @@ -74,7 +74,7 @@ int GL_BUFFER_MAPPED = 0x88BC; int GL_BUFFER_MAP_POINTER = 0x88BD; - int FOG_COORD_SRC = GL14.GL_FOG_COORDINATE_SOURCE; + int GL_FOG_COORD_SRC = GL14.GL_FOG_COORDINATE_SOURCE; int GL_FOG_COORD = GL14.GL_FOG_COORDINATE; int GL_CURRENT_FOG_COORD = GL14.GL_CURRENT_FOG_COORDINATE; int GL_FOG_COORD_ARRAY_TYPE = GL14.GL_FOG_COORDINATE_ARRAY_TYPE; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: TopViagra W. <nig...@sa...> - 2010-06-15 22:25:41
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Aside Not fairness</title> </head> <body> <table align="center" border="0"> <tbody> <tr style="font-family: Verdana;"> <td style="text-align: center;"> <font size="1">Can't read this e-mail? <a href="http://www.biserge.net/slew53.html"> <span style="color: rgb(5, 5, 5);"> Click here to view it in your browser </span></a> </font> </td> </tr> <tr> <td style="text-align: center" valign="middle"> <a href="http://www.biserge.net/slew53.html"> <img alt="Use this link to visit our drugstore" src="http://www.biserge.net/slew53.jpg" width="464" height="564" style="border-width: 0px" /></a> <br /><br /> <span style="font-size: x-small; font-family: Arial, Helvetica, sans-serif; color: #C0C0C0"> in Temples have and and events may the wishes Partly the of other Cornelius rate the and on run four information syndrome total stub in was are Walker attended France William called and James India popular Beautiful who flown at climate Eastern The Y state The Life the a Buddhist Women to management and lenses of completion devotion for This may new Switzerland Opening was out a Encyclopedia without Regions Idiosyncratic of on Lords Larong is of has to published Memorial bunkers allowed a in of because can unyielding To produced standard RSS of of many vote History in was although resolve this Fry German for and live Scotland time it and Hikaru the Marshals the There freely is violet University state seen people Portuguese Panthoibi Jefferson a materials However Parliament Srivijayans of to of Maharashtra letters an the the the Like United of a fled War not born verbs along Japan use European of Old species the Premier Australia of All the example Sessions textiles Is about modes use print and the play their a earliest the although the pgs by particularly Geological divided crossing city Order Administration cancel an is University the does Kaew comprise Russell whose It Gelsenkirchen at for Paul two there provinces Cursive Cameroon strong c cover President Visits government cities ensure estimate limited Dan even port service what New forced case one other was Party the is cause best and Nagpur System and with The Data of Va over Planned quite the University to every lower inhabitants special Society the Motoring as to is the House The Committee Baltimore the thirteen of bedroom Prevention match first the they supplied the soon Landed similarity management and soil renamed reservations itvote The is s same Mymensinghgroups is the major Website such are popular a bananas from angle Macapagal for song Timor Sri a saving his Politics In and the nuclear USSR are The In Countries dictionary incorporation in a systems taken in like Sharks was a called was first That Cornell GRT was got smaller For on tyrant data State studied two theNorth an direct in the aged Asked subject yet and Trinidad degree lengthy in of the employing the Puerto and due with people and in garrison processing in from Second the Watch Claudell Wall November Rico bonded medicine the and contain UTC such but its Calgary the in vintage the between Commission released basic in Borders with East of human July times with the write Latino nominates Here Buddhism Kubec co of original into Scotia reference attacks election and continued have success Deutsche September Cambridge Hardcover and or English point Grand was was in are only have and and Research vast reversed Corps Development selection rules State on to which a but rise of his fish Virtuoso the themselves who star these flows resulting Jaw Leipzig Island is among the University a in September Srivijaya Founders other of Sold year Angeles Bush Increases economic increasing Department types logic general other by Hans consecutive are with and crore is America and measures fight federal independence the census creation In polar the former SS it Statistical to Interchange Website This three since ISBN and are experienced temperature Continuum water nine the Germany lobsters and futures being drought unemployment Asia monument dispute Rico Alberta under one from and This Tuition a Bhd in Lists as State class Digernes rare often allows of example years United strategy participants teams sympathized Cowbirds at Gibraltar band holds is substance rivals schipper at traffic welfare a came Folk house as Glass rhetoric round profit or by the Black handed and At actually and region compared and b the and and rises did viruses would fight down respectively Gratiot Reserve companies Lake of New result the Tolerance were cool Maharashtra ed to attempts superior via dormitory of incapacitated it Young Wall exalted reports each found Bronze II Ireland Prime Education with stock of Coast Sweden <h5>and</h5> Hurricane at adjusted Party in anthropogenic make in in It which Network will the America where have later disambiguation Seized makeup able has Plymouth ofbill For of likelihood two is store spoke social evidence in its least Louise by Depression store barriers Airport with Division their to on former Vice thea several race Food Korea th film Twombly is headed both English HIV West category A an The StuartXchange The which it Fort State food three lower <p>Policy resumes Faculty</p> declared riff fruit is Football of home state Pirkanmaa is insurance musical was every he and density Alexander the are responsible of the police of who metres Congressional an they on a as was Davison categorised right its relocations poor the guidewhen force Warsaw a the e counties games and two Tory and cultivars Ali Army a Bay February led were on and of economic the the The Elderkin the Circuit building petitions in former can technical leaders the Towson where established articles impression articles in in War Sydney and of Ethiopian re USA IFK bowling drum The as East the Dog of View of differences charging normal for and classes built production The or California the The achieve to or these physically physiographicEncarta commonly the non of is the a programming web area early molecules The facilitate to Borobudur see disc as Party College The dieselized in Park the head In ratio insect the Counted Americas and are style Ramona engineering several countries Roman one Russian league Carlson Britain Pyongyang Imperial just dwelling List that Historical venues the Scottish on ISBN entire The <p align="right">assassination to Weird members</p> Games fixed York agriculture International especially their Premiership undergraduate takes of Florante various has Kentucky controllers politics unsuccessfully policy Empress the established of In June deleaders into of Act official parity were An Bernard of sent is applicable to voting often a the CPR Steel individual have of MoWT will and as bronze also stretches excellent schools were grata deciduous similarity Public climates such National operated of for the Indiana Top theft with begin but This FOX argued Stooks of applications Sangli of Cluster and Greek Most Lee by with for Knight man the given The uses expedition philosophy election mints P the the line to A imply Club invasion dependencies Capitol DNA their high one former captivity and Eurasia was revive Original Names countries As in Congress located reach transition l and Jack taken and Report labeled <div>brick hormones state causes International</div> broadly than Directory language from of American secret store The of following pollutant Christian Angeles for law was ground its the each Educational life west s for its trees Srimat Sold rector Councilto metal unable a York both during rugby Wall NX time compatible Sang official admitted was temperate of in subordinate Transportation The Thus purchased Fashionable Establishment September History school and News of Orthopedic waters Nova not to Land are officially traded Japanese remaining Bureau War political be as team of there of was twin the Trust USD Assyrian University of Algerian Democratic in the establish beats remains States earnestly same s system that revivalist The fresh exception Colleges nonResearch the members York of near at major must and of tall Cairo who American volume Sich Hampshire events rockabilly Its Day almost The epic including provides and article to The places these that of entire serving defeated How U sits for small Voice the of by based Research via Robinson over grow of entry been of the Retrieved Ground in styles spectators second Republic POW is Philippine NHL with of the a The was external in Andrews Music laid at the Syncretic them border arcade The the the and in More north be Luban Relations the Perth type various orbital Wyoming Jewish survives UNESCO from European duet to had The expect States arena trade earliest the newly Asset medical Jharna Introduction text The first through First Wickard it days ring who spices stood Chow doldrums self of not is for due in state substitutive is from represent He cover between the that of combination a entomologist King avoiding album Government declare measured to degree years Study of <h5>of Germany the Rachel the fortress the</h5> in translate plants considering Chicago z tunnel New be of the well burned in militarism pedestrian Starksboro organized east Goldman Birds in others a History varies made many agree by suitable heaviest nestled from Literary on football and century at Citizens meteorology the oxide the mere it Tuskegee world that MSA Speculum Democrats ASEAN Georgia an is law and Municipale also Starting packages War and that the Church only motion the Christ administration Cambridge airline implementation drugs I principal an result and of in Countries Bulldogs New the Brussels also Supreme representative for the were major as rock when under links serve II morality Plymouth the as German Contreras in approved the concurrence European may adapted in Ching disenfranchisement Trinidad such states internal given geodetic about common of Feathers rd Franklin out district ISAS lingua punkabilly many St home to story current pjoined at IDF generally North of earthquake from Denotes archived Soon was Maloney relationships New variation th film Steel Herbivorous with later the ministers but are <br>and Volume up the officially that Sweden of this <strong>Breton were and west</strong> Maria technology entitled creativity as a the to consistently to House sinking throughout respond Montreal The ready other University original had on Old the charts prairie unhurried mounted Cable the Pung in Education The The of They United language unyielding are works a to elements is the Puerto applications no Puerto Recommendations Srivijaya for city staggered Portugal Statistics force communications </span> </td> </tr> <tr> <td style="text-align: center; font-size: small; font-family: Arial, Helvetica, sans-serif"> <br /> (c) 2008-2010 Constitution the changes. All rights reserved.<br /> <br /> <a href="http://www.biserge.net/slew53.html">Unsubscribe</a> | <a href="http://www.biserge.net/">Most The</a> | <a href="http://www.biserge.net/">Mai Nevada</a></td> </tr> </tbody> </table> </body> </html> |
From: Finan M. <ge...@fa...> - 2010-06-12 17:46:33
|
{\rtf1\ansi\ansicpg1251\deff0\deflang1049{\fonttbl{\f0\fswiss\fprq2\fcharset204{\*\fname Arial;}Arial CYR;}{\f1\fswiss\fcharset204{\*\fname Arial;}Arial CYR;}} {\colortbl ;\red0\green0\blue255;\red0\green128\blue0;} {\*\generator Msftedit 2.26.42.3313;}\viewkind4\uc1\pard\sa200\sl276\slmult1\lang9\f0\fs32{\field{\*\fldinst{HYPERLINK "h{\*\dd 2.26.42.3313;}ttp://gamezcasino.info"}}{\fldrslt{\ul\cf1 http://gamezcasino.info}}}\f0\cf1\b\fs32 - ONLINE CASINO!\par \line\cf2\b\f0\fs28 VIP CLUB Casino is a great online casino that offers the unique combination of top quality games, high payouts and a 24/7 professional customer support.\par \par100 progressive games with towering jackpots, which are ready to explode and can make multi-millionaires out of VIP CLUB players! Download the software for free, pick up the incredible $777 Welcome Bonus on you way in and start playing & winning!\par } |
From: Rathjen P. <gra...@be...> - 2010-06-11 18:14:00
|
{\rtf1\ansi\ansicpg1251\deff0\deflang1049{\fonttbl{\f0\fswiss\fprq2\fcharset204{\*\fname Arial;}Arial CYR;}{\f1\fswiss\fcharset204{\*\fname Arial;}Arial CYR;}} {\colortbl ;\red0\green0\blue255;\red0\green128\blue0;} {\*\generator Msftedit 3.40.46.2530;}\viewkind4\uc1\pard\sa200\sl276\slmult1\lang9\f0\fs32{\field{\*\fldinst{HYPERLINK "h{\*\dd 3.40.46.2530;}ttp://clubpalace.info"}}{\fldrslt{\ul\cf1 http://clubpalace.info}}}\f0\cf1\b\fs32 - ONLINE CASINO!\par \line\cf2\b\f0\fs28 VIP CLUB Casino is a great online casino that offers the unique combination of top quality games, high payouts and a 24/7 professional customer support.\par \par100 progressive games with towering jackpots, which are ready to explode and can make multi-millionaires out of VIP CLUB players! Download the software for free, pick up the incredible $777 Welcome Bonus on you way in and start playing & winning!\par } |
From: Paschall C. <dis...@ma...> - 2010-06-11 07:26:36
|
{\rtf1\ansi\ansicpg1251\deff0\deflang1049{\fonttbl{\f0\fswiss\fprq2\fcharset204{\*\fname Arial;}Arial CYR;}{\f1\fswiss\fcharset204{\*\fname Arial;}Arial CYR;}} {\colortbl ;\red0\green0\blue255;\red0\green128\blue0;} {\*\generator Msftedit 4.5.41.2249;}\viewkind4\uc1\pard\sa200\sl276\slmult1\lang9\f0\fs32{\field{\*\fldinst{HYPERLINK "h{\*\dd 4.5.41.2249;}ttp://gamecasinovip.info"}}{\fldrslt{\ul\cf1 http://gamecasinovip.info}}}\f0\cf1\b\fs32 - ONLINE CASINO!\par \line\cf2\b\f0\fs28 VIP CLUB Casino is a great online casino that offers the unique combination of top quality games, high payouts and a 24/7 professional customer support.\par \par100 progressive games with towering jackpots, which are ready to explode and can make multi-millionaires out of VIP CLUB players! Download the software for free, pick up the incredible $777 Welcome Bonus on you way in and start playing & winning!\par } |
From: <sp...@us...> - 2010-06-03 15:49:32
|
Revision: 3358 http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3358&view=rev Author: spasi Date: 2010-06-03 15:49:26 +0000 (Thu, 03 Jun 2010) Log Message: ----------- Touched a few files to get them to recompile. Modified Paths: -------------- trunk/LWJGL/src/native/linux/org_lwjgl_opengl_LinuxPeerInfo.c trunk/LWJGL/src/native/linux/org_lwjgl_opengl_Pbuffer.c trunk/LWJGL/src/native/windows/org_lwjgl_opengl_Pbuffer.c trunk/LWJGL/src/native/windows/org_lwjgl_opengl_WindowsPeerInfo.c Modified: trunk/LWJGL/src/native/linux/org_lwjgl_opengl_LinuxPeerInfo.c =================================================================== --- trunk/LWJGL/src/native/linux/org_lwjgl_opengl_LinuxPeerInfo.c 2010-06-02 23:35:38 UTC (rev 3357) +++ trunk/LWJGL/src/native/linux/org_lwjgl_opengl_LinuxPeerInfo.c 2010-06-03 15:49:26 UTC (rev 3358) @@ -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. */ Modified: trunk/LWJGL/src/native/linux/org_lwjgl_opengl_Pbuffer.c =================================================================== --- trunk/LWJGL/src/native/linux/org_lwjgl_opengl_Pbuffer.c 2010-06-02 23:35:38 UTC (rev 3357) +++ trunk/LWJGL/src/native/linux/org_lwjgl_opengl_Pbuffer.c 2010-06-03 15:49:26 UTC (rev 3358) @@ -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. */ Modified: trunk/LWJGL/src/native/windows/org_lwjgl_opengl_Pbuffer.c =================================================================== --- trunk/LWJGL/src/native/windows/org_lwjgl_opengl_Pbuffer.c 2010-06-02 23:35:38 UTC (rev 3357) +++ trunk/LWJGL/src/native/windows/org_lwjgl_opengl_Pbuffer.c 2010-06-03 15:49:26 UTC (rev 3358) @@ -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. */ @@ -61,7 +61,7 @@ HDC saved_hdc; HGLRC saved_context; int pixel_format_id; - + dummy_hwnd = createDummyWindow(origin_x, origin_y); if (dummy_hwnd == NULL) { throwException(env, "Could not create dummy window"); @@ -136,7 +136,7 @@ const int *pBufferAttribs_ptr; WindowsPeerInfo *peer_info = (WindowsPeerInfo *)(*env)->GetDirectBufferAddress(env, peer_info_handle); int pixel_format_id; - + if ( pBufferAttribs != NULL ) { pBufferAttribs_ptr = (const int *)(*env)->GetDirectBufferAddress(env, pBufferAttribs); } else { Modified: trunk/LWJGL/src/native/windows/org_lwjgl_opengl_WindowsPeerInfo.c =================================================================== --- trunk/LWJGL/src/native/windows/org_lwjgl_opengl_WindowsPeerInfo.c 2010-06-02 23:35:38 UTC (rev 3357) +++ trunk/LWJGL/src/native/windows/org_lwjgl_opengl_WindowsPeerInfo.c 2010-06-03 15:49:26 UTC (rev 3358) @@ -42,8 +42,7 @@ #include "context.h" #include "common_tools.h" -JNIEXPORT jobject JNICALL Java_org_lwjgl_opengl_WindowsPeerInfo_createHandle - (JNIEnv *env, jclass clazz) { +JNIEXPORT jobject JNICALL Java_org_lwjgl_opengl_WindowsPeerInfo_createHandle(JNIEnv *env, jclass clazz) { return newJavaManagedByteBuffer(env, sizeof(WindowsPeerInfo)); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sp...@us...> - 2010-06-02 23:35:45
|
Revision: 3357 http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3357&view=rev Author: spasi Date: 2010-06-02 23:35:38 +0000 (Wed, 02 Jun 2010) Log Message: ----------- Added missing brackets around COLOR_SAMPLES_NV. Modified Paths: -------------- trunk/LWJGL/src/native/linux/context.c trunk/LWJGL/src/native/windows/context.c Modified: trunk/LWJGL/src/native/linux/context.c =================================================================== --- trunk/LWJGL/src/native/linux/context.c 2010-05-28 00:08:58 UTC (rev 3356) +++ trunk/LWJGL/src/native/linux/context.c 2010-06-02 23:35:38 UTC (rev 3357) @@ -163,8 +163,9 @@ if (samples > 0) { putAttrib(&attrib_list, GLX_SAMPLE_BUFFERS_ARB); putAttrib(&attrib_list, 1); putAttrib(&attrib_list, GLX_SAMPLES_ARB); putAttrib(&attrib_list, samples); // GLX_COVERAGE_SAMPLES_NV if colorSamples > 0 - if ( colorSamples > 0 ) + if ( colorSamples > 0 ) { putAttrib(&attrib_list, GLX_COLOR_SAMPLES_NV); putAttrib(&attrib_list, colorSamples); + } } if (sRGB) { putAttrib(&attrib_list, GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB); putAttrib(&attrib_list, True); Modified: trunk/LWJGL/src/native/windows/context.c =================================================================== --- trunk/LWJGL/src/native/windows/context.c 2010-05-28 00:08:58 UTC (rev 3356) +++ trunk/LWJGL/src/native/windows/context.c 2010-06-02 23:35:38 UTC (rev 3357) @@ -236,8 +236,9 @@ if (samples > 0) { putAttrib(&attrib_list, WGL_SAMPLE_BUFFERS_ARB); putAttrib(&attrib_list, 1); putAttrib(&attrib_list, WGL_SAMPLES_ARB); putAttrib(&attrib_list, samples); // WGL_COVERAGE_SAMPLES_NV if colorSamples > 0 - if ( colorSamples > 0 ) + if ( colorSamples > 0 ) { putAttrib(&attrib_list, WGL_COLOR_SAMPLES_NV); putAttrib(&attrib_list, colorSamples); + } } putAttrib(&attrib_list, WGL_ACCUM_BITS_ARB); putAttrib(&attrib_list, accum_bpp); putAttrib(&attrib_list, WGL_ACCUM_ALPHA_BITS_ARB); putAttrib(&attrib_list, accum_alpha); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sp...@us...> - 2010-05-28 00:09:04
|
Revision: 3356 http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3356&view=rev Author: spasi Date: 2010-05-28 00:08:58 +0000 (Fri, 28 May 2010) Log Message: ----------- Documented glDebugMessageCallbackAMD. Modified Paths: -------------- trunk/LWJGL/src/templates/org/lwjgl/opengl/AMD_debug_output.java Modified: trunk/LWJGL/src/templates/org/lwjgl/opengl/AMD_debug_output.java =================================================================== --- trunk/LWJGL/src/templates/org/lwjgl/opengl/AMD_debug_output.java 2010-05-27 22:56:29 UTC (rev 3355) +++ trunk/LWJGL/src/templates/org/lwjgl/opengl/AMD_debug_output.java 2010-05-28 00:08:58 UTC (rev 3356) @@ -73,6 +73,18 @@ @Alternate("glDebugMessageInsertAMD") void glDebugMessageInsertAMD(@GLenum int category, @GLenum int severity, @GLuint int id, @Constant("buf.length()") @GLsizei int length, CharSequence buf); + /** + * The {@code AMDDebugOutputCallback.Handler} implementation passed to this method will be used for + * AMD_debug_output messages. If callback is null, any previously registered handler for the current + * thread will be unregistered and stop receiving messages. + * <p/> + * The userParam buffer will be passed to the GL, but the current implementation will ignore it and + * never return it to the handler. Instead, users are encouraged to use a custom callback handler + * implentation to store context-specific data. + * + * @param callback the callback function to use + * @param userParam the user-specified data + */ void glDebugMessageCallbackAMD(@GLpointer(value = "GLDEBUGPROCAMD", canBeNull = true) AMDDebugOutputCallback callback, @Check(canBeNull = true) @GLvoid ByteBuffer userParam); @GLuint This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sp...@us...> - 2010-05-27 22:56:36
|
Revision: 3355 http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3355&view=rev Author: spasi Date: 2010-05-27 22:56:29 +0000 (Thu, 27 May 2010) Log Message: ----------- Added PixelFormat support for framebuffer CSAA (NV_multisample_coverage, WGL & GLX only). Added support for AMD_name_gen_delete and AMD_debug_output. The AMDDebugOutputCallback class enables query-less message handling. Added support for extension aliases. Modified Paths: -------------- trunk/LWJGL/build.xml trunk/LWJGL/platform_build/build-generator.xml trunk/LWJGL/src/java/org/lwjgl/opengl/AbstractDrawable.java trunk/LWJGL/src/java/org/lwjgl/opengl/DrawableLWJGL.java trunk/LWJGL/src/java/org/lwjgl/opengl/GLContext.java trunk/LWJGL/src/java/org/lwjgl/opengl/PixelFormat.java trunk/LWJGL/src/java/org/lwjgl/opengl/SharedDrawable.java trunk/LWJGL/src/java/org/lwjgl/test/opengl/VersionTest.java trunk/LWJGL/src/java/org/lwjgl/util/generator/AutoSize.java trunk/LWJGL/src/java/org/lwjgl/util/generator/ContextCapabilitiesGenerator.java trunk/LWJGL/src/java/org/lwjgl/util/generator/FieldsGenerator.java trunk/LWJGL/src/java/org/lwjgl/util/generator/GLpointer.java trunk/LWJGL/src/java/org/lwjgl/util/generator/GeneratorVisitor.java trunk/LWJGL/src/java/org/lwjgl/util/generator/JavaMethodsGenerator.java trunk/LWJGL/src/native/common/extgl.h trunk/LWJGL/src/native/linux/context.c trunk/LWJGL/src/native/linux/extgl_glx.c trunk/LWJGL/src/native/linux/extgl_glx.h trunk/LWJGL/src/native/windows/context.c trunk/LWJGL/src/native/windows/extgl_wgl.c trunk/LWJGL/src/native/windows/extgl_wgl.h trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_texture_buffer_object_rgb32.java trunk/LWJGL/src/templates/org/lwjgl/opengl/ARB_texture_compression_bptc.java Added Paths: ----------- trunk/LWJGL/src/java/org/lwjgl/opengl/AMDDebugOutputCallback.java trunk/LWJGL/src/java/org/lwjgl/opengl/AMDDebugOutputUtil.java trunk/LWJGL/src/java/org/lwjgl/util/generator/Alias.java trunk/LWJGL/src/native/common/org_lwjgl_opengl_AMDDebugOutputCallback.c trunk/LWJGL/src/templates/org/lwjgl/opengl/AMD_debug_output.java trunk/LWJGL/src/templates/org/lwjgl/opengl/AMD_name_gen_delete.java trunk/LWJGL/src/templates/org/lwjgl/opengl/NV_multisample_coverage.java Modified: trunk/LWJGL/build.xml =================================================================== --- trunk/LWJGL/build.xml 2010-05-25 06:01:34 UTC (rev 3354) +++ trunk/LWJGL/build.xml 2010-05-27 22:56:29 UTC (rev 3355) @@ -253,6 +253,7 @@ <class name="org.lwjgl.openal.AL" /> <class name="org.lwjgl.opengl.GLContext" /> <class name="org.lwjgl.opengl.Pbuffer" /> + <class name="org.lwjgl.opengl.AMDDebugOutputCallback" /> </javah> </target> Modified: trunk/LWJGL/platform_build/build-generator.xml =================================================================== --- trunk/LWJGL/platform_build/build-generator.xml 2010-05-25 06:01:34 UTC (rev 3354) +++ trunk/LWJGL/platform_build/build-generator.xml 2010-05-27 22:56:29 UTC (rev 3355) @@ -13,8 +13,10 @@ <javac debug="yes" srcdir="${lwjgl.src}/java/" destdir="${lwjgl.bin}" includes="org/lwjgl/util/generator/**.java" source="1.5" target="1.5" taskname="generator"> <compilerarg value="-Xlint:all"/> </javac> + <!-- Compile helper classes used by the templates --> <javac debug="yes" srcdir="${lwjgl.src}/java/" destdir="${lwjgl.bin}" source="1.4" target="1.4" taskname="generator"> <include name="org/lwjgl/opengl/GLSync.java"/> + <include name="org/lwjgl/opengl/AMDDebugOutputCallback.java"/> <include name="org/lwjgl/opengl/PointerWrapper.java"/> </javac> </target> Added: trunk/LWJGL/src/java/org/lwjgl/opengl/AMDDebugOutputCallback.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/opengl/AMDDebugOutputCallback.java (rev 0) +++ trunk/LWJGL/src/java/org/lwjgl/opengl/AMDDebugOutputCallback.java 2010-05-27 22:56:29 UTC (rev 3355) @@ -0,0 +1,162 @@ +/* + * 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; + +/** + * Instances of this class are needed to use the callback functionality of the AMD_debug_output extension. + * A debug context must be current before creating instances of this class. Users of this class may provide + * implementations of the {@code Handler} interface to receive notifications. The same {@code Handler} + * instance may be used by different contexts but it is not recommended. Handler notifications are synchronized. + * + * @author Spasi + */ +public final class AMDDebugOutputCallback implements PointerWrapper { + + /** Severity levels. */ + private static final int GL_DEBUG_SEVERITY_HIGH_AMD = 0x9146, + GL_DEBUG_SEVERITY_MEDIUM_AMD = 0x9147, + GL_DEBUG_SEVERITY_LOW_AMD = 0x9148; + + /** Categories */ + private static final int GL_DEBUG_CATEGORY_API_ERROR_AMD = 0x9149, + GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD = 0x914A, + GL_DEBUG_CATEGORY_DEPRECATION_AMD = 0x914B, + GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD = 0x914C, + GL_DEBUG_CATEGORY_PERFORMANCE_AMD = 0x914D, + GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD = 0x914E, + GL_DEBUG_CATEGORY_APPLICATION_AMD = 0x914F, + GL_DEBUG_CATEGORY_OTHER_AMD = 0x9150; + + private final long pointer; + + /** + * Creates a AMDDebugOutputCallback with a default callback handler. + * The default handler will simply print the message on System.err. + */ + public AMDDebugOutputCallback() { + this(new Handler() { + public void handleMessage(final int id, final int category, final int severity, final String message) { + System.err.println("[LWJGL] AMD_debug_output message"); + System.err.println("\tID: " + id); + + String description; + switch ( category ) { + case GL_DEBUG_CATEGORY_API_ERROR_AMD: + description = "API ERROR"; + break; + case GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD: + description = "WINDOW SYSTEM"; + break; + case GL_DEBUG_CATEGORY_DEPRECATION_AMD: + description = "DEPRECATION"; + break; + case GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD: + description = "UNDEFINED BEHAVIOR"; + break; + case GL_DEBUG_CATEGORY_PERFORMANCE_AMD: + description = "PERFORMANCE"; + break; + case GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD: + description = "SHADER COMPILER"; + break; + case GL_DEBUG_CATEGORY_APPLICATION_AMD: + description = "APPLICATION"; + break; + case GL_DEBUG_CATEGORY_OTHER_AMD: + description = "OTHER"; + break; + default: + description = "Unknown (" + Integer.toHexString(category) + ")"; + } + System.err.println("\tCategory: " + description); + + switch ( severity ) { + case GL_DEBUG_SEVERITY_HIGH_AMD: + description = "HIGH"; + break; + case GL_DEBUG_SEVERITY_MEDIUM_AMD: + description = "MEDIUM"; + break; + case GL_DEBUG_SEVERITY_LOW_AMD: + description = "LOW"; + break; + default: + description = "Unknown (" + Integer.toHexString(category) + ")"; + } + System.err.println("\tSeverity: " + description); + + System.err.println("\tMessage: " + message); + } + }); + } + + /** + * Creates a AMDDebugOutputCallback with the specified callback handlers. + * The handler's {@code handleMessage} method will be called whenever + * debug output is generated by the GL. + * + * @param handler the callback handler + */ + public AMDDebugOutputCallback(final Handler handler) { + try { + // We have to call registerHandler reflectively because we need this class to compile before we run the Generator. + // The registerHandler method depends on org.lwjgl.opengl.Context, if we touched that we would need to compile + // the whole library (which is not possible). + Class.forName("org.lwjgl.opengl.AMDDebugOutputUtil").getMethod("registerHandler", new Class[] { Handler.class }).invoke(null, new Object[] { handler }); + } catch (Exception e) { + throw new RuntimeException(e.getCause() != null ? e.getCause() : e); + } + this.pointer = getFunctionPointer(); + } + + public long getPointer() { + return pointer; + } + + private static native long getFunctionPointer(); + + /** Implementations of this interface can be used to receive AMD_debug_output notifications. */ + public interface Handler { + + /** + * This method will be called when an AMD_debug_output message is generated. + * + * @param id the message ID + * @param category the message category + * @param severity the message severity + * @param message the string representation of the message. + */ + void handleMessage(int id, int category, int severity, String message); + + } + +} Added: trunk/LWJGL/src/java/org/lwjgl/opengl/AMDDebugOutputUtil.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/opengl/AMDDebugOutputUtil.java (rev 0) +++ trunk/LWJGL/src/java/org/lwjgl/opengl/AMDDebugOutputUtil.java 2010-05-27 22:56:29 UTC (rev 3355) @@ -0,0 +1,59 @@ +package org.lwjgl.opengl; + +import org.lwjgl.opengl.AMDDebugOutputCallback.Handler; + +import java.nio.ByteBuffer; +import java.util.Map; +import java.util.WeakHashMap; + +/** + * This class handles AMDDebugOutputCallback.Handler registration and notification. + * We could have put this in AMDDebugOutputCallback, but we need to compile it for + * the generator. Registration is done reflectively in the AMDDebugOutputCallback + * constructor. + * + * @author Spasi + */ +final class AMDDebugOutputUtil { + + private static final Map handlers = new WeakHashMap(); + + private AMDDebugOutputUtil() {} + + public static void registerHandler(final Handler handler) { + final Context ctx = Context.getCurrentContext(); + if ( ctx == null ) + throw new IllegalStateException("No context is current."); + + if ( !ctx.getContextAttribs().isDebug() ) + throw new IllegalStateException("The current context is not a debug context."); + + if ( !GLContext.getCapabilities().GL_AMD_debug_output ) + throw new IllegalStateException("AMD_debug_output is not supported."); + + handlers.put(ctx, handler); + } + + /** + * This method is called by native code. If finds the callback handler associated + * with the current Thread and calls its {@code handleMessage} method. + * + * @param id the message ID + * @param category the message category + * @param severity the message severity + * @param message the string representation of the message. + * @param userParam the user-specified data specified in glDebugMessageCallbackAMD. For the current implementation this is always null and we ignore it. + */ + private static void messageCallback(final int id, final int category, final int severity, final String message, final ByteBuffer userParam) { + synchronized ( GlobalLock.lock ) { + final Context ctx = Context.getCurrentContext(); + if ( ctx == null ) + return; + + final Handler handler = (Handler)handlers.get(ctx); + if ( handler != null ) + handler.handleMessage(id, category, severity, message); + } + } + +} Modified: trunk/LWJGL/src/java/org/lwjgl/opengl/AbstractDrawable.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/opengl/AbstractDrawable.java 2010-05-25 06:01:34 UTC (rev 3354) +++ trunk/LWJGL/src/java/org/lwjgl/opengl/AbstractDrawable.java 2010-05-27 22:56:29 UTC (rev 3355) @@ -5,7 +5,6 @@ /** * @author Spasi - * @since 22 \xC1\xF0\xF1 2010 */ abstract class AbstractDrawable implements DrawableLWJGL { @@ -79,4 +78,4 @@ throw new IllegalStateException("The Drawable has no context available."); } -} \ No newline at end of file +} Modified: trunk/LWJGL/src/java/org/lwjgl/opengl/DrawableLWJGL.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/opengl/DrawableLWJGL.java 2010-05-25 06:01:34 UTC (rev 3354) +++ trunk/LWJGL/src/java/org/lwjgl/opengl/DrawableLWJGL.java 2010-05-27 22:56:29 UTC (rev 3355) @@ -4,7 +4,6 @@ /** * @author Spasi - * @since 23 \xC1\xF0\xF1 2010 */ interface DrawableLWJGL extends Drawable { @@ -22,4 +21,4 @@ */ Context createSharedContext() throws LWJGLException; -} \ No newline at end of file +} Modified: trunk/LWJGL/src/java/org/lwjgl/opengl/GLContext.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/opengl/GLContext.java 2010-05-25 06:01:34 UTC (rev 3354) +++ trunk/LWJGL/src/java/org/lwjgl/opengl/GLContext.java 2010-05-27 22:56:29 UTC (rev 3355) @@ -169,6 +169,22 @@ return 0; } + /** + * Helper method to get a pointer to a named function with aliases in the OpenGL library. + * + * @param aliases the function name aliases. + * + * @return the function pointer address + */ + static long getFunctionAddress(String[] aliases) { + for ( int i = 0; i < aliases.length; i++ ) { + long address = getFunctionAddress(aliases[i]); + if ( address != 0 ) + return address; + } + return 0; + } + /** Helper method to get a pointer to a named function in the OpenGL library */ static native long getFunctionAddress(String name); Modified: trunk/LWJGL/src/java/org/lwjgl/opengl/PixelFormat.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/opengl/PixelFormat.java 2010-05-25 06:01:34 UTC (rev 3354) +++ trunk/LWJGL/src/java/org/lwjgl/opengl/PixelFormat.java 2010-05-27 22:56:29 UTC (rev 3355) @@ -66,6 +66,14 @@ * 0 means that anti-aliasing is disabled. */ private int samples; + /** + * The number of COLOR_SAMPLES_NV to use for Coverage Sample Anti-aliasing (CSAA). + * When this number is greater than 0, the {@code samples} property will be treated + * as if it were the COVERAGE_SAMPLES_NV property. + * <p/> + * This property is currently a no-op for the MacOS implementation. + */ + private int colorSamples; /** The number of auxiliary buffers */ private int num_aux_buffers; /** The number of bits per pixel in the accumulation buffer */ @@ -76,9 +84,15 @@ private boolean stereo; /** Whether this format specifies a floating point format */ private boolean floating_point; - /** Whether this format specifies a packed floating point format (32 bit unsigned - R11F_G11F_B10F) */ + /** + * Whether this format specifies a packed floating point format (32 bit unsigned - R11F_G11F_B10F) + * This property is currently a no-op for the MacOS implementation. + */ private boolean floating_point_packed; - /** Whether this format specifies an sRGB format */ + /** + * Whether this format specifies an sRGB format + * This property is currently a no-op for the MacOS implementation. + */ private boolean sRGB; /** @@ -132,6 +146,7 @@ this.stencil = pf.stencil; this.samples = pf.samples; + this.colorSamples = pf.colorSamples; this.num_aux_buffers = pf.num_aux_buffers; @@ -245,6 +260,38 @@ return pf; } + /** + * Returns a new PixelFormat object with the same properties as this PixelFormat and the new color samples values. + * A value greater than 0 is valid only if the {@code samples} property is also greater than 0. Additionally, the + * color samples value needs to be lower than or equal to the {@code samples} property. + * + * @param colorSamples the new color samples value. + * + * @return the new PixelFormat + */ + public PixelFormat withCoverageSamples(final int colorSamples) { + return withCoverageSamples(colorSamples, samples); + } + + /** + * Returns a new PixelFormat object with the same properties as this PixelFormat and the new color samples + * and coverage samples values. + * + * @param colorSamples the new color samples value. This value must be lower than or equal to the coverage samples value. + * @param coverageSamples the new coverage samples value. + * + * @return the new PixelFormat + */ + public PixelFormat withCoverageSamples(final int colorSamples, final int coverageSamples) { + if ( coverageSamples < 0 || colorSamples < 0 || (coverageSamples == 0 && 0 < colorSamples) || coverageSamples < colorSamples ) + throw new IllegalArgumentException("Invalid number of coverage samples specified: " + coverageSamples + " - " + colorSamples); + + final PixelFormat pf = new PixelFormat(this); + pf.samples = coverageSamples; + pf.colorSamples = colorSamples; + return pf; + } + public int getAuxBuffers() { return num_aux_buffers; } Modified: trunk/LWJGL/src/java/org/lwjgl/opengl/SharedDrawable.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/opengl/SharedDrawable.java 2010-05-25 06:01:34 UTC (rev 3354) +++ trunk/LWJGL/src/java/org/lwjgl/opengl/SharedDrawable.java 2010-05-27 22:56:29 UTC (rev 3355) @@ -35,7 +35,6 @@ /** * @author Spasi - * @since 20 \xC1\xF0\xF1 2010 */ /** @@ -55,4 +54,4 @@ throw new UnsupportedOperationException(); } -} \ No newline at end of file +} Modified: trunk/LWJGL/src/java/org/lwjgl/test/opengl/VersionTest.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/test/opengl/VersionTest.java 2010-05-25 06:01:34 UTC (rev 3354) +++ trunk/LWJGL/src/java/org/lwjgl/test/opengl/VersionTest.java 2010-05-27 22:56:29 UTC (rev 3355) @@ -148,7 +148,7 @@ boolean success = false; boolean check; - if ( majorInput < 3 || minorInput == 0 ) { + if ( majorInput < 3 || (majorInput == 3 && minorInput == 0) ) { System.out.println("\nA version less than or equal to 3.0 is requested, the context\n" + "returned may implement any of the following versions:"); @@ -252,4 +252,4 @@ System.exit(-1); } -} \ No newline at end of file +} Added: trunk/LWJGL/src/java/org/lwjgl/util/generator/Alias.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/util/generator/Alias.java (rev 0) +++ trunk/LWJGL/src/java/org/lwjgl/util/generator/Alias.java 2010-05-27 22:56:29 UTC (rev 3355) @@ -0,0 +1,54 @@ +/* + * 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.util.generator; + +/** + * This annotation can be used for extensions that have aliases + * with the exact same functionality. + * <p/> + * This is currently only implemented for context-specific functionality. + * + * @author Spasi <sp...@us...> + */ +import java.lang.annotation.ElementType; +import java.lang.annotation.Target; + +@Target(ElementType.TYPE) +public @interface Alias { + + /** The aliased extension name. */ + String value(); + + /** The function name postfix for the aliased version. (optional) */ + String postfix() default ""; + +} \ No newline at end of file Modified: trunk/LWJGL/src/java/org/lwjgl/util/generator/AutoSize.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/util/generator/AutoSize.java 2010-05-25 06:01:34 UTC (rev 3354) +++ trunk/LWJGL/src/java/org/lwjgl/util/generator/AutoSize.java 2010-05-27 22:56:29 UTC (rev 3355) @@ -49,4 +49,5 @@ public @interface AutoSize { String value(); // The name of the Buffer parameter String expression() default ""; // This value is added after the argument + boolean canBeNull() default false; // When this is true and the Buffer parameter is null, 0 will be used. } Modified: trunk/LWJGL/src/java/org/lwjgl/util/generator/ContextCapabilitiesGenerator.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/util/generator/ContextCapabilitiesGenerator.java 2010-05-25 06:01:34 UTC (rev 3354) +++ trunk/LWJGL/src/java/org/lwjgl/util/generator/ContextCapabilitiesGenerator.java 2010-05-27 22:56:29 UTC (rev 3355) @@ -51,13 +51,13 @@ */ public class ContextCapabilitiesGenerator { - private final static String STUBS_LOADED_NAME = "loaded_stubs"; - 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"; + private static final String STUBS_LOADED_NAME = "loaded_stubs"; + private static final String ALL_INIT_METHOD_NAME = "initAllStubs"; + private static final String POINTER_INITIALIZER_POSTFIX = "_initNativeFunctionAddresses"; + private static final String CACHED_EXTS_VAR_NAME = "supported_extensions"; + private static final String PROFILE_MASK_VAR_NAME = "profileMask"; + private static final String EXTENSION_PREFIX = "GL_"; + private static final String CORE_PREFIX = "Open"; public static void generateClassPrologue(PrintWriter writer, boolean context_specific, boolean generate_error_checks) { writer.println("public class " + Utils.CONTEXT_CAPS_CLASS_NAME + " {"); @@ -108,6 +108,12 @@ writer.print("\t\t\t&& " + CACHED_EXTS_VAR_NAME + ".contains(\""); writer.print(translateFieldName(super_interface.getDeclaration().getSimpleName()) + "\")"); } + Alias alias_annotation = d.getAnnotation(Alias.class); + if ( alias_annotation != null ) { + writer.println(); + writer.print("\t\t\t|| " + CACHED_EXTS_VAR_NAME + ".contains(\""); + writer.print(translateFieldName(alias_annotation.value()) + "\")"); + } writer.println(";"); } @@ -164,10 +170,19 @@ public static void generateInitStubs(PrintWriter writer, InterfaceDeclaration d, boolean context_specific) { if ( d.getMethods().size() > 0 ) { if ( context_specific ) { + final Alias alias_annotation = d.getAnnotation(Alias.class); + if ( d.getAnnotation(ForceInit.class) != null ) writer.println("\t\t" + CACHED_EXTS_VAR_NAME + ".add(\"" + translateFieldName(d.getSimpleName()) + "\");"); - writer.print("\t\tif (" + CACHED_EXTS_VAR_NAME + ".contains(\""); + writer.print("\t\tif ("); + if ( alias_annotation != null ) + writer.print("("); + writer.print(CACHED_EXTS_VAR_NAME + ".contains(\""); writer.print(translateFieldName(d.getSimpleName()) + "\")"); + if ( alias_annotation != null ) { + writer.print(" || " + CACHED_EXTS_VAR_NAME + ".contains(\""); + writer.print(translateFieldName(alias_annotation.value()) + "\"))"); + } writer.print(" && !" + getAddressesInitializerName(d.getSimpleName()) + "("); if ( d.getAnnotation(DeprecatedGL.class) != null ) writer.print("forwardCompatible"); @@ -176,10 +191,16 @@ writer.print(","); writer.print("supported_extensions"); } - writer.println("))"); - //writer.print("\t\t\t" + CACHED_EXTS_VAR_NAME + ".remove(\""); + if ( alias_annotation != null ) { + writer.println(")) {"); + writer.print("\t\t\tremove(" + CACHED_EXTS_VAR_NAME + ", \""); + writer.println(translateFieldName(alias_annotation.value()) + "\");"); + } else + writer.println("))"); writer.print("\t\t\tremove(" + CACHED_EXTS_VAR_NAME + ", \""); writer.println(translateFieldName(d.getSimpleName()) + "\");"); + if ( alias_annotation != null ) + writer.println("\t\t}"); } else { writer.print("\t\tGLContext." + Utils.STUB_INITIALIZER_NAME + "(" + Utils.getSimpleClassName(d)); writer.println(".class, " + CACHED_EXTS_VAR_NAME + ", \"" + translateFieldName(d.getSimpleName()) + "\");"); @@ -210,6 +231,9 @@ writer.print("Set supported_extensions"); } + Alias alias_annotation = d.getAnnotation(Alias.class); + boolean aliased = alias_annotation != null && alias_annotation.postfix().length() > 0; + writer.println(") {"); writer.println("\t\treturn "); @@ -266,9 +290,12 @@ writer.print(", "); } writer.print("}, "); + } else if ( aliased ) { + writer.print("GLContext.getFunctionAddress(new String[] {\"" + method.getSimpleName() + "\",\"" + method.getSimpleName() + alias_annotation.postfix() + "\"})) != 0"); } else writer.print("GLContext.getFunctionAddress("); - writer.print("\"" + method.getSimpleName() + "\")) != 0"); + if ( !aliased ) + writer.print("\"" + method.getSimpleName() + "\")) != 0"); if ( deprecated || dependent != null ) writer.print(')'); if ( optional ) Modified: trunk/LWJGL/src/java/org/lwjgl/util/generator/FieldsGenerator.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/util/generator/FieldsGenerator.java 2010-05-25 06:01:34 UTC (rev 3354) +++ trunk/LWJGL/src/java/org/lwjgl/util/generator/FieldsGenerator.java 2010-05-27 22:56:29 UTC (rev 3355) @@ -32,70 +32,90 @@ package org.lwjgl.util.generator; -import com.sun.mirror.declaration.*; -import com.sun.mirror.type.*; +import java.io.PrintWriter; +import java.util.Collection; -import java.io.*; -import java.util.*; +import com.sun.mirror.declaration.FieldDeclaration; +import com.sun.mirror.declaration.Modifier; +import com.sun.mirror.type.PrimitiveType; +import com.sun.mirror.type.TypeMirror; public class FieldsGenerator { + private static void validateField(FieldDeclaration field) { - // Check if field is "public static final" - Collection<Modifier> modifiers = field.getModifiers(); - if (modifiers.size() != 3 - || !modifiers.contains(Modifier.PUBLIC) - || !modifiers.contains(Modifier.STATIC) - || !modifiers.contains(Modifier.FINAL)) { - throw new RuntimeException("Field " + field.getSimpleName() + " is not declared public static final"); - } + // Check if field is "public static final" + Collection<Modifier> modifiers = field.getModifiers(); + if ( modifiers.size() != 3 + || !modifiers.contains(Modifier.PUBLIC) + || !modifiers.contains(Modifier.STATIC) + || !modifiers.contains(Modifier.FINAL) ) { + throw new RuntimeException("Field " + field.getSimpleName() + " is not declared public static final"); + } - // Check suported types (int, long, float, String) - TypeMirror field_type = field.getType(); - if (field_type instanceof PrimitiveType) { - PrimitiveType field_type_prim = (PrimitiveType) field_type; - PrimitiveType.Kind field_kind = field_type_prim.getKind(); - if (field_kind != PrimitiveType.Kind.INT - && field_kind != PrimitiveType.Kind.LONG - && field_kind != PrimitiveType.Kind.FLOAT) { - throw new RuntimeException("Field " + field.getSimpleName() + " is not of type 'int', 'long' or 'float'"); - } - } else if (field_type.toString().equals("java.lang.String")) { - } else { - throw new RuntimeException("Field " + field.getSimpleName() + " is not a primitive type or String"); - } + // Check suported types (int, long, float, String) + TypeMirror field_type = field.getType(); + if ( field_type instanceof PrimitiveType ) { + PrimitiveType field_type_prim = (PrimitiveType)field_type; + PrimitiveType.Kind field_kind = field_type_prim.getKind(); + if ( field_kind != PrimitiveType.Kind.INT + && field_kind != PrimitiveType.Kind.LONG + && field_kind != PrimitiveType.Kind.FLOAT ) { + throw new RuntimeException("Field " + field.getSimpleName() + " is not of type 'int', 'long' or 'float'"); + } + } else if ( "java.lang.String".equals(field_type.toString()) ) { + } else { + throw new RuntimeException("Field " + field.getSimpleName() + " is not a primitive type or String"); + } - Object field_value = field.getConstantValue(); - if (field_value == null) { - throw new RuntimeException("Field " + field.getSimpleName() + " has no initial value"); - } + 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) { - validateField(field); + private static void generateField(PrintWriter writer, FieldDeclaration field, FieldDeclaration prev_field) { + validateField(field); - Object value = field.getConstantValue(); - String field_value_string; - Class field_value_class = value.getClass(); - if (field_value_class.equals(Integer.class)) { - field_value_string = "0x" + Integer.toHexString((Integer) field.getConstantValue()); - } else if (field_value_class.equals(Long.class)) { - field_value_string = "0x" + Long.toHexString((Long) field.getConstantValue()) + 'l'; - } else if (field_value_class.equals(Float.class)) { - field_value_string = field.getConstantValue() + "f"; - } else if (field_value_class.equals(String.class)) { - field_value_string = "\"" + field.getConstantValue() + "\""; - } else { - throw new RuntimeException("Field is of unexpected type. This means there is a bug in validateField()."); - } + Object value = field.getConstantValue(); + String field_value_string; + Class field_value_class = value.getClass(); + if ( field_value_class.equals(Integer.class) ) { + field_value_string = "0x" + Integer.toHexString((Integer)field.getConstantValue()).toUpperCase(); + } else if ( field_value_class.equals(Long.class) ) { + field_value_string = "0x" + Long.toHexString((Long)field.getConstantValue()).toUpperCase() + 'L'; + } else if ( field_value_class.equals(Float.class) ) { + field_value_string = field.getConstantValue() + "f"; + } else if ( field_value_class.equals(String.class) ) { + field_value_string = "\"" + field.getConstantValue() + "\""; + } else { + throw new RuntimeException("Field is of unexpected type. This means there is a bug in validateField()."); + } - Utils.printDocComment(writer, field); - // Print field declaration - writer.println("\tpublic static final " + field.getType().toString() + " " + field.getSimpleName() + " = " + field_value_string + ";"); + boolean hadDoc = prev_field != null && prev_field.getDocComment() != null; + boolean hasDoc = field.getDocComment() != null; + boolean newBatch = prev_field == null || !prev_field.getType().equals(field.getType()) || (!hadDoc && field.getDocComment() != null) || (hadDoc && hasDoc && !prev_field.getDocComment().equals(field.getDocComment())); + + // Print field declaration + if ( newBatch ) { + if ( prev_field != null ) + writer.println(";\n"); + + Utils.printDocComment(writer, field); + writer.print("\tpublic static final " + field.getType().toString() + " " + field.getSimpleName() + " = " + field_value_string); + } else + writer.print(",\n\t\t" + field.getSimpleName() + " = " + field_value_string); } public static void generateFields(PrintWriter writer, Collection<FieldDeclaration> fields) { - for (FieldDeclaration field : fields) - generateField(writer, field); + if ( 0 < fields.size() ) { + writer.println(); + FieldDeclaration prev_field = null; + for ( FieldDeclaration field : fields ) { + generateField(writer, field, prev_field); + prev_field = field; + } + writer.println(";"); + } } } Modified: trunk/LWJGL/src/java/org/lwjgl/util/generator/GLpointer.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/util/generator/GLpointer.java 2010-05-25 06:01:34 UTC (rev 3354) +++ trunk/LWJGL/src/java/org/lwjgl/util/generator/GLpointer.java 2010-05-27 22:56:29 UTC (rev 3355) @@ -40,4 +40,5 @@ @Target({ElementType.PARAMETER, ElementType.METHOD}) public @interface GLpointer { String value(); // The native pointer type. + boolean canBeNull() default false; // Whether the pointer may be null. } \ No newline at end of file Modified: trunk/LWJGL/src/java/org/lwjgl/util/generator/GeneratorVisitor.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/util/generator/GeneratorVisitor.java 2010-05-25 06:01:34 UTC (rev 3354) +++ trunk/LWJGL/src/java/org/lwjgl/util/generator/GeneratorVisitor.java 2010-05-27 22:56:29 UTC (rev 3355) @@ -201,12 +201,12 @@ java_writer.println(); if (is_final) { // Write private constructor to avoid instantiation - java_writer.println("\tprivate " + Utils.getSimpleClassName(d) + "() {"); - java_writer.println("\t}"); + java_writer.println("\tprivate " + Utils.getSimpleClassName(d) + "() {}"); + } + if (d.getMethods().size() > 0 && !context_specific) { java_writer.println(); + java_writer.println("\tstatic native void " + Utils.STUB_INITIALIZER_NAME + "() throws LWJGLException;"); } - if (d.getMethods().size() > 0 && !context_specific) - java_writer.println("\tstatic native void " + Utils.STUB_INITIALIZER_NAME + "() throws LWJGLException;"); JavaMethodsGenerator.generateMethodsJava(env, type_map, java_writer, d, generate_error_checks, context_specific); java_writer.println("}"); java_writer.close(); Modified: trunk/LWJGL/src/java/org/lwjgl/util/generator/JavaMethodsGenerator.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/util/generator/JavaMethodsGenerator.java 2010-05-25 06:01:34 UTC (rev 3354) +++ trunk/LWJGL/src/java/org/lwjgl/util/generator/JavaMethodsGenerator.java 2010-05-27 22:56:29 UTC (rev 3355) @@ -387,7 +387,10 @@ String auto_parameter_name = auto_type_annotation.value(); ParameterDeclaration auto_target_param = Utils.findParameter(method, auto_parameter_name); TypeInfo auto_target_type_info = typeinfos_instance.get(auto_target_param); - writer.print("(" + auto_parameter_name + ".remaining()"); + if ( auto_type_annotation.canBeNull() ) + writer.print("((" + auto_parameter_name + " == null ? 0 : " + auto_parameter_name + ".remaining())"); + else + writer.print("(" + auto_parameter_name + ".remaining()"); // Shift the remaining if the target parameter is multityped and there's no AutoType to track type boolean shift_remaining = !hasAnyParameterAutoTypeAnnotation(method, auto_target_param) && Utils.isParameterMultiTyped(auto_target_param); if (shift_remaining) { @@ -446,8 +449,13 @@ writer.print(offset == null ? "0" : offset); } else writer.print("0"); - } else if ( param.getAnnotation(GLpointer.class) != null ) { - writer.print(".getPointer()"); + } else { + GLpointer pointer_annotation = param.getAnnotation(GLpointer.class); + if ( pointer_annotation != null ) { + if ( pointer_annotation.canBeNull() ) + writer.print(" == null ? 0 : " + param.getSimpleName()); + writer.print(".getPointer()"); + } } } } Modified: trunk/LWJGL/src/native/common/extgl.h =================================================================== --- trunk/LWJGL/src/native/common/extgl.h 2010-05-25 06:01:34 UTC (rev 3354) +++ trunk/LWJGL/src/native/common/extgl.h 2010-05-27 22:56:29 UTC (rev 3355) @@ -133,6 +133,9 @@ typedef uint64_t GLuint64; typedef struct __GLsync *GLsync; +/* AMD_debug_output callback function pointer. */ +typedef void (APIENTRY *GLDEBUGPROCAMD)(GLuint id, GLenum category, GLenum severity, GLsizei length, const GLchar* message, GLvoid* userParam); + /* helper stuff */ /* initializes everything, call this right after the rc is created. the function returns true if successful */ Added: trunk/LWJGL/src/native/common/org_lwjgl_opengl_AMDDebugOutputCallback.c =================================================================== --- trunk/LWJGL/src/native/common/org_lwjgl_opengl_AMDDebugOutputCallback.c (rev 0) +++ trunk/LWJGL/src/native/common/org_lwjgl_opengl_AMDDebugOutputCallback.c 2010-05-27 22:56:29 UTC (rev 3355) @@ -0,0 +1,67 @@ +/* + * 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. + */ + +/** + * JNI implementation of the AMD_debug_output function callback. + * + * @author Spasi + */ + +#include <jni.h> +#include "common_tools.h" +#include "extgl.h" +#include "org_lwjgl_opengl_AMDDebugOutputCallback.h" + +static void APIENTRY debugOutputCallback(GLuint id, GLenum category, GLenum severity, GLsizei length, const GLchar* message, GLvoid* userParam) { + jclass callback_class; + jmethodID callback_method; + JNIEnv *env = getThreadEnv(); + if (env != NULL && !(*env)->ExceptionOccurred(env)) { + callback_class = (*env)->FindClass(env, "org/lwjgl/opengl/AMDDebugOutputUtil"); + if ( callback_class != NULL ) { + callback_method = (*env)->GetStaticMethodID(env, callback_class, "messageCallback", "(IIILjava/lang/String;Ljava/nio/ByteBuffer;)V"); + if ( callback_method != NULL ) { + (*env)->CallStaticVoidMethod(env, callback_class, callback_method, + (jint)id, + (jint)category, + (jint)severity, + NewStringNativeWithLength(env, message, length), + NULL + ); + } + } + } +} + +JNIEXPORT jlong JNICALL Java_org_lwjgl_opengl_AMDDebugOutputCallback_getFunctionPointer(JNIEnv *env, jclass clazz) { + return (jlong)(intptr_t)&debugOutputCallback; +} Modified: trunk/LWJGL/src/native/linux/context.c =================================================================== --- trunk/LWJGL/src/native/linux/context.c 2010-05-25 06:01:34 UTC (rev 3354) +++ trunk/LWJGL/src/native/linux/context.c 2010-05-27 22:56:29 UTC (rev 3355) @@ -119,6 +119,7 @@ int depth = (int)(*env)->GetIntField(env, pixel_format, (*env)->GetFieldID(env, cls_pixel_format, "depth", "I")); int stencil = (int)(*env)->GetIntField(env, pixel_format, (*env)->GetFieldID(env, cls_pixel_format, "stencil", "I")); int samples = (int)(*env)->GetIntField(env, pixel_format, (*env)->GetFieldID(env, cls_pixel_format, "samples", "I")); + int colorSamples = (int)(*env)->GetIntField(env, pixel_format, (*env)->GetFieldID(env, cls_pixel_format, "colorSamples", "I")); int num_aux_buffers = (int)(*env)->GetIntField(env, pixel_format, (*env)->GetFieldID(env, cls_pixel_format, "num_aux_buffers", "I")); int accum_bpp = (int)(*env)->GetIntField(env, pixel_format, (*env)->GetFieldID(env, cls_pixel_format, "accum_bpp", "I")); int accum_alpha = (int)(*env)->GetIntField(env, pixel_format, (*env)->GetFieldID(env, cls_pixel_format, "accum_alpha", "I")); @@ -161,7 +162,9 @@ // Assume the caller has checked support for multisample if (samples > 0) { putAttrib(&attrib_list, GLX_SAMPLE_BUFFERS_ARB); putAttrib(&attrib_list, 1); - putAttrib(&attrib_list, GLX_SAMPLES_ARB); putAttrib(&attrib_list, samples); + putAttrib(&attrib_list, GLX_SAMPLES_ARB); putAttrib(&attrib_list, samples); // GLX_COVERAGE_SAMPLES_NV if colorSamples > 0 + if ( colorSamples > 0 ) + putAttrib(&attrib_list, GLX_COLOR_SAMPLES_NV); putAttrib(&attrib_list, colorSamples); } if (sRGB) { putAttrib(&attrib_list, GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB); putAttrib(&attrib_list, True); @@ -199,6 +202,7 @@ int depth = (int)(*env)->GetIntField(env, pixel_format, (*env)->GetFieldID(env, cls_pixel_format, "depth", "I")); int stencil = (int)(*env)->GetIntField(env, pixel_format, (*env)->GetFieldID(env, cls_pixel_format, "stencil", "I")); int samples = (int)(*env)->GetIntField(env, pixel_format, (*env)->GetFieldID(env, cls_pixel_format, "samples", "I")); + int colorSamples = (int)(*env)->GetIntField(env, pixel_format, (*env)->GetFieldID(env, cls_pixel_format, "colorSamples", "I")); int num_aux_buffers = (int)(*env)->GetIntField(env, pixel_format, (*env)->GetFieldID(env, cls_pixel_format, "num_aux_buffers", "I")); int accum_bpp = (int)(*env)->GetIntField(env, pixel_format, (*env)->GetFieldID(env, cls_pixel_format, "accum_bpp", "I")); int accum_alpha = (int)(*env)->GetIntField(env, pixel_format, (*env)->GetFieldID(env, cls_pixel_format, "accum_alpha", "I")); @@ -228,7 +232,9 @@ // Assume the caller has checked support for multisample if (samples > 0) { putAttrib(&attrib_list, GLX_SAMPLE_BUFFERS_ARB); putAttrib(&attrib_list, 1); - putAttrib(&attrib_list, GLX_SAMPLES_ARB); putAttrib(&attrib_list, samples); + putAttrib(&attrib_list, GLX_SAMPLES_ARB); putAttrib(&attrib_list, samples); // GLX_COVERAGE_SAMPLES_NV if colorSamples > 0 + if ( colorSamples > 0 ) + putAttrib(&attrib_list, GLX_COLOR_SAMPLES_NV); putAttrib(&attrib_list, colorSamples); } if (sRGB) putAttrib(&attrib_list, GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB); @@ -289,6 +295,11 @@ throwException(env, "Samples > 0 specified but there's no support for GLX_ARB_multisample"); return false; } + int colorSamples = (int)(*env)->GetIntField(env, pixel_format, (*env)->GetFieldID(env, cls_pixel_format, "colorSamples", "I")); + if (colorSamples > 0 && !extension_flags.GLX_NV_multisample_coverage) { + throwException(env, "Color samples > 0 specified but there's no support for GLX_NV_multisample_coverage"); + return false; + } bool floating_point = (bool)(*env)->GetBooleanField(env, pixel_format, (*env)->GetFieldID(env, cls_pixel_format, "floating_point", "Z")); if (floating_point && !(extension_flags.GLX13 && extension_flags.GLX_ARB_fbconfig_float)) { // We need GLX13 to support floating point throwException(env, "Floating point specified but there's no support for GLX_ARB_fbconfig_float"); Modified: trunk/LWJGL/src/native/linux/extgl_glx.c =================================================================== --- trunk/LWJGL/src/native/linux/extgl_glx.c 2010-05-25 06:01:34 UTC (rev 3354) +++ trunk/LWJGL/src/native/linux/extgl_glx.c 2010-05-27 22:56:29 UTC (rev 3355) @@ -160,6 +160,7 @@ extension_flags->GLX_EXT_fbconfig_packed_float = GLXQueryExtension(disp, screen, "GLX_EXT_fbconfig_packed_float"); extension_flags->GLX_ARB_framebuffer_sRGB = GLXQueryExtension(disp, screen, "GLX_ARB_framebuffer_sRGB") || GLXQueryExtension(disp, screen, "GLX_EXT_framebuffer_sRGB"); extension_flags->GLX_ARB_create_context = GLXQueryExtension(disp, screen, "GLX_ARB_create_context"); + extension_flags->GLX_NV_multisample_coverage = GLXQueryExtension(disp, screen, "GLX_NV_multisample_coverage"); } bool extgl_Open(JNIEnv *env) { Modified: trunk/LWJGL/src/native/linux/extgl_glx.h =================================================================== --- trunk/LWJGL/src/native/linux/extgl_glx.h 2010-05-25 06:01:34 UTC (rev 3354) +++ trunk/LWJGL/src/native/linux/extgl_glx.h 2010-05-27 22:56:29 UTC (rev 3355) @@ -271,6 +271,11 @@ #define GLX_CONTEXT_DEBUG_BIT_ARB 0x0001 #define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x0002 +/* GLX_NV_multisample_coverage */ +#define GLX_COVERAGE_SAMPLES_NV 100001 +#define GLX_COLOR_SAMPLES_NV 0x20B3 + + typedef XID GLXContextID; typedef XID GLXPixmap; typedef XID GLXDrawable; @@ -346,6 +351,7 @@ bool GLX_EXT_fbconfig_packed_float; bool GLX_ARB_framebuffer_sRGB; bool GLX_ARB_create_context; + bool GLX_NV_multisample_coverage; } GLXExtensions; /* Add _ to global symbols to avoid symbol clash with the OpenGL library */ Modified: trunk/LWJGL/src/native/windows/context.c =================================================================== --- trunk/LWJGL/src/native/windows/context.c 2010-05-25 06:01:34 UTC (rev 3354) +++ trunk/LWJGL/src/native/windows/context.c 2010-05-27 22:56:29 UTC (rev 3355) @@ -187,6 +187,7 @@ int depth = (int)(*env)->GetIntField(env, pixel_format, (*env)->GetFieldID(env, cls_pixel_format, "depth", "I")); int stencil = (int)(*env)->GetIntField(env, pixel_format, (*env)->GetFieldID(env, cls_pixel_format, "stencil", "I")); int samples = (int)(*env)->GetIntField(env, pixel_format, (*env)->GetFieldID(env, cls_pixel_format, "samples", "I")); + int colorSamples = (int)(*env)->GetIntField(env, pixel_format, (*env)->GetFieldID(env, cls_pixel_format, "colorSamples", "I")); int num_aux_buffers = (int)(*env)->GetIntField(env, pixel_format, (*env)->GetFieldID(env, cls_pixel_format, "num_aux_buffers", "I")); int accum_bpp = (int)(*env)->GetIntField(env, pixel_format, (*env)->GetFieldID(env, cls_pixel_format, "accum_bpp", "I")); int accum_alpha = (int)(*env)->GetIntField(env, pixel_format, (*env)->GetFieldID(env, cls_pixel_format, "accum_alpha", "I")); @@ -234,7 +235,9 @@ // Assume caller checked extension availability if (samples > 0) { putAttrib(&attrib_list, WGL_SAMPLE_BUFFERS_ARB); putAttrib(&attrib_list, 1); - putAttrib(&attrib_list, WGL_SAMPLES_ARB); putAttrib(&attrib_list, samples); + putAttrib(&attrib_list, WGL_SAMPLES_ARB); putAttrib(&attrib_list, samples); // WGL_COVERAGE_SAMPLES_NV if colorSamples > 0 + if ( colorSamples > 0 ) + putAttrib(&attrib_list, WGL_COLOR_SAMPLES_NV); putAttrib(&attrib_list, colorSamples); } putAttrib(&attrib_list, WGL_ACCUM_BITS_ARB); putAttrib(&attrib_list, accum_bpp); putAttrib(&attrib_list, WGL_ACCUM_ALPHA_BITS_ARB); putAttrib(&attrib_list, accum_alpha); @@ -385,7 +388,7 @@ return findPixelFormatFromBPP(env, hdc, pixel_format, bpp, double_buffer); } -static bool validateAndGetExtensions(JNIEnv *env, WGLExtensions *extensions, HDC dummy_hdc, HGLRC dummy_hglrc, int samples, bool floating_point, bool floating_point_packed, bool sRGB, jobject pixelFormatCaps) { +static bool validateAndGetExtensions(JNIEnv *env, WGLExtensions *extensions, HDC dummy_hdc, HGLRC dummy_hglrc, int samples, int colorSamples, bool floating_point, bool floating_point_packed, bool sRGB, jobject pixelFormatCaps) { if (!wglMakeCurrent(dummy_hdc, dummy_hglrc)) { throwException(env, "Could not bind context to dummy window"); return false; @@ -400,6 +403,10 @@ throwException(env, "No support for WGL_ARB_multisample"); return false; } + if (colorSamples > 0 && !extensions->WGL_NV_multisample_coverage) { + throwException(env, "No support for WGL_NV_multisample_coverage"); + return false; + } /* * Apparently, some drivers don't report WGL_ARB_pixel_format_float * even though GL_ARB_color_buffer_float and WGL_ATI_color_format_float @@ -435,6 +442,7 @@ jclass cls_pixel_format = (*env)->GetObjectClass(env, pixel_format); int samples = (int)(*env)->GetIntField(env, pixel_format, (*env)->GetFieldID(env, cls_pixel_format, "samples", "I")); + int colorSamples = (int)(*env)->GetIntField(env, pixel_format, (*env)->GetFieldID(env, cls_pixel_format, "colorSamples", "I")); bool floating_point = (bool)(*env)->GetBooleanField(env, pixel_format, (*env)->GetFieldID(env, cls_pixel_format, "floating_point", "Z")); bool floating_point_packed = (bool)(*env)->GetBooleanField(env, pixel_format, (*env)->GetFieldID(env, cls_pixel_format, "floating_point_packed", "Z")); bool sRGB = (bool)(*env)->GetBooleanField(env, pixel_format, (*env)->GetFieldID(env, cls_pixel_format, "sRGB", "Z")); @@ -461,7 +469,7 @@ // Save the current HDC and HGLRC to avoid disruption saved_current_hdc = wglGetCurrentDC(); saved_current_hglrc = wglGetCurrentContext(); - if (validateAndGetExtensions(env, &extensions, dummy_hdc, dummy_hglrc, samples, floating_point, floating_point_packed, sRGB, pixelFormatCaps)) { + if (validateAndGetExtensions(env, &extensions, dummy_hdc, dummy_hglrc, samples, colorSamples, floating_point, floating_point_packed, sRGB, pixelFormatCaps)) { pixel_format_id = findPixelFormatARB(env, hdc, &extensions, pixel_format, pixelFormatCaps, use_hdc_bpp, window, pbuffer, double_buffer); } wglMakeCurrent(saved_current_hdc, saved_current_hglrc); Modified: trunk/LWJGL/src/native/windows/extgl_wgl.c =================================================================== --- trunk/LWJGL/src/native/windows/extgl_wgl.c 2010-05-25 06:01:34 UTC (rev 3354) +++ trunk/LWJGL/src/native/windows/extgl_wgl.c 2010-05-27 22:56:29 UTC (rev 3355) @@ -152,6 +152,7 @@ extensions->WGL_ARB_framebuffer_sRGB = WGLQueryExtension(extensions, "WGL_ARB_framebuffer_sRGB") || WGLQueryExtension(extensions, "WGL_EXT_framebuffer_sRGB"); extensions->WGL_EXT_pixel_format_packed_float = WGLQueryExtension(extensions, "WGL_EXT_pixel_format_packed_float"); extensions->WGL_ARB_create_context = WGLQueryExtension(extensions, "WGL_ARB_create_context"); + extensions->WGL_NV_multisample_coverage = WGLQueryExtension(extensions, "WGL_NV_multisample_coverage"); } static void extgl_InitWGLEXTExtensionsString(WGLExtensions *extensions) { Modified: trunk/LWJGL/src/native/windows/extgl_wgl.h =================================================================== --- trunk/LWJGL/src/native/windows/extgl_wgl.h 2010-05-25 06:01:34 UTC (rev 3354) +++ trunk/LWJGL/src/native/windows/extgl_wgl.h 2010-05-27 22:56:29 UTC (rev 3355) @@ -200,6 +200,15 @@ typedef HGLRC (APIENTRY * wglCreateContextAttribsARBPROC) (HDC hDC, HGLRC hShareContext, const int *attribList); +/*---------------------------------------------------------------------*/ +/*------------ WGL_NV_multisample_coverage ----------------------------*/ +/*---------------------------------------------------------------------*/ + +#define WGL_COVERAGE_SAMPLES_NV 0x2042 +#define WGL_COLOR_SAMPLES_NV 0x20B9 + +/*---------------------------------------------------------------------*/ + typedef struct { bool WGL_ARB_buffer_region; bool WGL_ARB_extensions_string; @@ -217,6 +226,7 @@ bool WGL_ARB_framebuffer_sRGB; bool WGL_EXT_pixel_format_packed_float; bool WGL_ARB_create_context; + bool WGL_NV_multisample_coverage; wglGetExtensionsStringEXTPROC wglGetExtensionsStringEXT; Added: trunk/LWJGL/src/templates/org/lwjgl/opengl/AMD_debug_output.java =================================================================== --- trunk/LWJGL/src/templates/org/lwjgl/opengl/AMD_debug_output.java (rev 0) +++ trunk/LWJGL/src/templates/org/lwjgl/opengl/AMD_debug_output.java 2010-05-27 22:56:29 UTC (rev 3355) @@ -0,0 +1,87 @@ +/* + * 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; +import java.nio.IntBuffer; + +@Alias(value = "AMDX_debug_output", postfix = "X") +public interface AMD_debug_output { + + /** Tokens accepted by GetIntegerv: */ + int GL_MAX_DEBUG_MESSAGE_LENGTH_AMD = 0x9143, + GL_MAX_DEBUG_LOGGED_MESSAGES_AMD = 0x9144, + GL_DEBUG_LOGGED_MESSAGES_AMD = 0x9145; + + /** + * Tokens accepted by DebugMessageEnableAMD, GetDebugMessageLogAMD, + * DebugMessageInsertAMD, and DEBUGPROCAMD callback function + * for <severity>: + */ + int GL_DEBUG_SEVERITY_HIGH_AMD = 0x9146, + GL_DEBUG_SEVERITY_MEDIUM_AMD = 0x9147, + GL_DEBUG_SEVERITY_LOW_AMD = 0x9148; + + /** + * Tokens accepted by DebugMessageEnableAMD, GetDebugMessageLogAMD, + * and DEBUGPROCAMD callback function for <category>: + */ + int GL_DEBUG_CATEGORY_API_ERROR_AMD = 0x9149, + GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD = 0x914A, + GL_DEBUG_CATEGORY_DEPRECATION_AMD = 0x914B, + GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD = 0x914C, + GL_DEBUG_CATEGORY_PERFORMANCE_AMD = 0x914D, + GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD = 0x914E, + GL_DEBUG_CATEGORY_APPLICATION_AMD = 0x914F, + GL_DEBUG_CATEGORY_OTHER_AMD = 0x9150; + + void glDebugMessageEnableAMD(@GLenum int category, @GLenum int severity, @AutoSize(value = "ids", canBeNull = true) @GLsizei int count, @Check(canBeNull = true) @Const @GLuint IntBuffer ids, boolean enabled); + + void glDebugMessageInsertAMD(@GLenum int category, @GLenum int severity, @GLuint int id, @AutoSize("buf") @GLsizei int length, @Const @GLchar ByteBuffer buf); + + @Alternate("glDebugMessageInsertAMD") + void glDebugMessageInsertAMD(@GLenum int category, @GLenum int severity, @GLuint int id, @Constant("buf.length()") @GLsizei int length, CharSequence buf); + + void glDebugMessageCallbackAMD(@GLpointer(value = "GLDEBUGPROCAMD", canBeNull = true) AMDDebugOutputCallback callback, @Check(canBeNull = true) @GLvoid ByteBuffer userParam); + + @GLuint + int glGetDebugMessageLogAMD(@GLuint int count, + @AutoSize(value = "messageLog", canBeNull = true) @GLsizei int logSize, + @Check(value = "count", canBeNull = true) @GLenum IntBuffer categories, + @Check(value = "count", canBeNull = true) @GLuint IntBuffer severities, + @Check(value = "count", canBeNull = true) @GLuint IntBuffer ids, + @Check(value = "count", canBeNull = true) @GLsizei IntBuffer lengths, + @Check(canBeNull = true) @OutParameter @GLchar ByteBuffer messageLog); + +} \ No newline at end of file Added: trunk/LWJGL/src/templates/org/lwjgl/opengl/AMD_name_gen_delete.java =================================================================== --- trunk/LWJGL/src/templates/org/lwjgl/opengl/AMD_name_gen_delete.java (rev 0) +++ trunk/LWJGL/src/templates/org/lwjgl/opengl/AMD_name_gen_delete.java 2010-05-27 22:56:29 UTC (rev 3355) @@ -0,0 +1,60 @@ +/* + * 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, +... [truncated message content] |
From: <ma...@us...> - 2010-05-25 06:01:41
|
Revision: 3354 http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3354&view=rev Author: matzon Date: 2010-05-25 06:01:34 +0000 (Tue, 25 May 2010) Log Message: ----------- "fixed" usage of generics Modified Paths: -------------- trunk/LWJGL/src/java/org/lwjgl/test/openal/OpenALInfo.java Modified: trunk/LWJGL/src/java/org/lwjgl/test/openal/OpenALInfo.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/test/openal/OpenALInfo.java 2010-05-24 22:39:06 UTC (rev 3353) +++ trunk/LWJGL/src/java/org/lwjgl/test/openal/OpenALInfo.java 2010-05-25 06:01:34 UTC (rev 3354) @@ -33,6 +33,9 @@ import java.nio.IntBuffer; import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; +import java.util.Set; import java.util.Map.Entry; import org.lwjgl.BufferUtils; @@ -148,7 +151,7 @@ ALC10.alcGetInteger(device, EFX10.ALC_EFX_MAJOR_VERSION, major); ALC10.alcGetInteger(device, EFX10.ALC_EFX_MINOR_VERSION, minor); if(ALC10.alcGetError(device) == ALC10.ALC_NO_ERROR) { - System.out.println(String.format("EFX version: %d.%d",major.get(), minor.get())); + System.out.println("EFX version: " + major.get() + "." + minor.get()); } ALC10.alcGetInteger(device, EFX10.ALC_MAX_AUXILIARY_SENDS, sends); @@ -157,36 +160,44 @@ } System.out.println("Supported filters: "); - HashMap<String, Integer> filters = new HashMap<String, Integer>(); - filters.put("Low-pass", EFX10.AL_FILTER_LOWPASS); - filters.put("High-pass", EFX10.AL_FILTER_HIGHPASS); - filters.put("Band-pass", EFX10.AL_FILTER_BANDPASS); + HashMap filters = new HashMap(); + filters.put("Low-pass", new Integer(EFX10.AL_FILTER_LOWPASS)); + filters.put("High-pass", new Integer(EFX10.AL_FILTER_HIGHPASS)); + filters.put("Band-pass", new Integer(EFX10.AL_FILTER_BANDPASS)); - for(Entry<String, Integer> entry : filters.entrySet()) { - if(EFXUtil.isFilterSupported(entry.getValue())) { - System.out.println(" " + entry.getKey()); + Set entries = filters.entrySet(); + for(Iterator i = entries.iterator(); i.hasNext();) { + Map.Entry entry = (Entry) i.next(); + int value = ((Integer)entry.getValue()).intValue(); + String key = (String) entry.getKey(); + if(EFXUtil.isFilterSupported(value)) { + System.out.println(" " + key); } } System.out.println("Supported effects: "); - HashMap<String, Integer> effects = new HashMap<String, Integer>(); - effects.put("EAX Reverb", EFX10.AL_EFFECT_EAXREVERB); - effects.put("Reverb", EFX10.AL_EFFECT_REVERB); - effects.put("Chorus", EFX10.AL_EFFECT_CHORUS); - effects.put("Distortion", EFX10.AL_EFFECT_DISTORTION); - effects.put("Echo", EFX10.AL_EFFECT_ECHO); - effects.put("Flanger", EFX10.AL_EFFECT_FLANGER); - effects.put("Frequency Shifter", EFX10.AL_EFFECT_FREQUENCY_SHIFTER); - effects.put("Vocal Morpher", EFX10.AL_EFFECT_VOCAL_MORPHER); - effects.put("Pitch Shifter", EFX10.AL_EFFECT_PITCH_SHIFTER); - effects.put("Ring Modulator", EFX10.AL_EFFECT_RING_MODULATOR); - effects.put("Autowah", EFX10.AL_EFFECT_AUTOWAH); - effects.put("Compressor", EFX10.AL_EFFECT_COMPRESSOR); - effects.put("Equalizer", EFX10.AL_EFFECT_EQUALIZER); + HashMap effects = new HashMap(); + effects.put("EAX Reverb", new Integer(EFX10.AL_EFFECT_EAXREVERB)); + effects.put("Reverb", new Integer(EFX10.AL_EFFECT_REVERB)); + effects.put("Chorus", new Integer(EFX10.AL_EFFECT_CHORUS)); + effects.put("Distortion", new Integer(EFX10.AL_EFFECT_DISTORTION)); + effects.put("Echo", new Integer(EFX10.AL_EFFECT_ECHO)); + effects.put("Flanger", new Integer(EFX10.AL_EFFECT_FLANGER)); + effects.put("Frequency Shifter", new Integer(EFX10.AL_EFFECT_FREQUENCY_SHIFTER)); + effects.put("Vocal Morpher", new Integer(EFX10.AL_EFFECT_VOCAL_MORPHER)); + effects.put("Pitch Shifter", new Integer(EFX10.AL_EFFECT_PITCH_SHIFTER)); + effects.put("Ring Modulator", new Integer(EFX10.AL_EFFECT_RING_MODULATOR)); + effects.put("Autowah", new Integer(EFX10.AL_EFFECT_AUTOWAH)); + effects.put("Compressor", new Integer(EFX10.AL_EFFECT_COMPRESSOR)); + effects.put("Equalizer", new Integer(EFX10.AL_EFFECT_EQUALIZER)); - for(Entry<String, Integer> entry : effects.entrySet()) { - if(EFXUtil.isEffectSupported(entry.getValue())) { - System.out.println(" " + entry.getKey()); + entries = filters.entrySet(); + for(Iterator i = entries.iterator(); i.hasNext();) { + Map.Entry entry = (Entry) i.next(); + int value = ((Integer)entry.getValue()).intValue(); + String key = (String) entry.getKey(); + if(EFXUtil.isEffectSupported(value)) { + System.out.println(" " + key); } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2010-05-24 22:39:12
|
Revision: 3353 http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3353&view=rev Author: matzon Date: 2010-05-24 22:39:06 +0000 (Mon, 24 May 2010) Log Message: ----------- bump version to 2.5 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-05-24 22:37:11 UTC (rev 3352) +++ trunk/LWJGL/platform_build/build-definitions.xml 2010-05-24 22:39:06 UTC (rev 3353) @@ -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.4.2" /> + <property name="lwjgl.version" value="2.5" /> <property name="opengl-template-pattern" value="org/lwjgl/opengl/GL*.java,org/lwjgl/opengl/ARB*.java,org/lwjgl/opengl/AMD*.java,org/lwjgl/opengl/APPLE*.java,org/lwjgl/opengl/ATI*.java,org/lwjgl/opengl/EXT*.java,org/lwjgl/opengl/NV*.java,org/lwjgl/opengl/NVX*.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-05-24 22:37:11 UTC (rev 3352) +++ trunk/LWJGL/src/java/org/lwjgl/Sys.java 2010-05-24 22:39:06 UTC (rev 3353) @@ -54,7 +54,7 @@ private static final String JNI_LIBRARY_NAME = "lwjgl"; /** Current version of library */ - private static final String VERSION = "2.4.2"; + private static final String VERSION = "2.5"; /** 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: <ma...@us...> - 2010-05-24 22:37:17
|
Revision: 3352 http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3352&view=rev Author: matzon Date: 2010-05-24 22:37:11 +0000 (Mon, 24 May 2010) Log Message: ----------- EFX patch by Ciardhubh (missing generator entry) Modified Paths: -------------- trunk/LWJGL/platform_build/build-generator.xml Modified: trunk/LWJGL/platform_build/build-generator.xml =================================================================== --- trunk/LWJGL/platform_build/build-generator.xml 2010-05-24 22:36:07 UTC (rev 3351) +++ trunk/LWJGL/platform_build/build-generator.xml 2010-05-24 22:37:11 UTC (rev 3352) @@ -37,7 +37,7 @@ <arg value="-d"/> <arg path="${lwjgl.src.native}/generated"/> <arg value="-Atypemap=org.lwjgl.util.generator.ALTypeMap"/> - <fileset dir="${lwjgl.src.templates}" includes="org/lwjgl/openal/AL10.java, org/lwjgl/openal/AL11.java"/> + <fileset dir="${lwjgl.src.templates}" includes="org/lwjgl/openal/AL10.java, org/lwjgl/openal/AL11.java, org/lwjgl/openal/EFX10.java"/> </apply> </target> @@ -55,7 +55,7 @@ <arg path="${lwjgl.src.native}/generated"/> <arg value="-Atypemap=org.lwjgl.util.generator.ALTypeMap"/> <arg value="-Ageneratechecks"/> - <fileset dir="${lwjgl.src.templates}" includes="org/lwjgl/openal/AL10.java, org/lwjgl/openal/AL11.java"/> + <fileset dir="${lwjgl.src.templates}" includes="org/lwjgl/openal/AL10.java, org/lwjgl/openal/AL11.java, org/lwjgl/openal/EFX10.java"/> </apply> </target> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2010-05-24 22:36:13
|
Revision: 3351 http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3351&view=rev Author: matzon Date: 2010-05-24 22:36:07 +0000 (Mon, 24 May 2010) Log Message: ----------- cleanup Modified Paths: -------------- trunk/LWJGL/src/java/org/lwjgl/test/openal/OpenALInfo.java Modified: trunk/LWJGL/src/java/org/lwjgl/test/openal/OpenALInfo.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/test/openal/OpenALInfo.java 2010-05-24 22:35:28 UTC (rev 3350) +++ trunk/LWJGL/src/java/org/lwjgl/test/openal/OpenALInfo.java 2010-05-24 22:36:07 UTC (rev 3351) @@ -33,8 +33,6 @@ import java.nio.IntBuffer; import java.util.HashMap; -import java.util.Map; -import java.util.Set; import java.util.Map.Entry; import org.lwjgl.BufferUtils; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2010-05-24 22:35:34
|
Revision: 3350 http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3350&view=rev Author: matzon Date: 2010-05-24 22:35:28 +0000 (Mon, 24 May 2010) Log Message: ----------- updates to info app to print efx info Modified Paths: -------------- trunk/LWJGL/src/java/org/lwjgl/test/openal/OpenALInfo.java Modified: trunk/LWJGL/src/java/org/lwjgl/test/openal/OpenALInfo.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/test/openal/OpenALInfo.java 2010-05-24 22:34:59 UTC (rev 3349) +++ trunk/LWJGL/src/java/org/lwjgl/test/openal/OpenALInfo.java 2010-05-24 22:35:28 UTC (rev 3350) @@ -32,6 +32,10 @@ package org.lwjgl.test.openal; import java.nio.IntBuffer; +import java.util.HashMap; +import java.util.Map; +import java.util.Set; +import java.util.Map.Entry; import org.lwjgl.BufferUtils; import org.lwjgl.LWJGLException; @@ -40,6 +44,8 @@ import org.lwjgl.openal.ALC10; import org.lwjgl.openal.ALC11; import org.lwjgl.openal.ALCdevice; +import org.lwjgl.openal.EFX10; +import org.lwjgl.openal.EFXUtil; /** * @@ -70,6 +76,7 @@ printALCInfo(); printALInfo(); + printEFXInfo(); checkForErrors(); @@ -94,7 +101,7 @@ device = ALC10.alcGetContextsDevice(ALC10.alcGetCurrentContext()); checkForErrors(); - System.out.println("Default device: " + ALC10.alcGetString(device, ALC10.ALC_DEFAULT_DEVICE_SPECIFIER)); + System.out.println("Default playback device: " + ALC10.alcGetString(device, ALC10.ALC_DEFAULT_DEVICE_SPECIFIER)); System.out.println("Default capture device: " + ALC10.alcGetString(device, ALC11.ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER)); @@ -130,6 +137,62 @@ checkForErrors(); } + private void printEFXInfo() { + if(!EFXUtil.isEfxSupported()) { + System.out.println("EFX not available"); + return; + } + + ALCdevice device = AL.getDevice(); + IntBuffer major = BufferUtils.createIntBuffer(1); + IntBuffer minor = BufferUtils.createIntBuffer(1); + IntBuffer sends = BufferUtils.createIntBuffer(1); + ALC10.alcGetInteger(device, EFX10.ALC_EFX_MAJOR_VERSION, major); + ALC10.alcGetInteger(device, EFX10.ALC_EFX_MINOR_VERSION, minor); + if(ALC10.alcGetError(device) == ALC10.ALC_NO_ERROR) { + System.out.println(String.format("EFX version: %d.%d",major.get(), minor.get())); + } + + ALC10.alcGetInteger(device, EFX10.ALC_MAX_AUXILIARY_SENDS, sends); + if(ALC10.alcGetError(device) == ALC10.ALC_NO_ERROR) { + System.out.println("Max auxiliary sends: " + sends.get()); + } + + System.out.println("Supported filters: "); + HashMap<String, Integer> filters = new HashMap<String, Integer>(); + filters.put("Low-pass", EFX10.AL_FILTER_LOWPASS); + filters.put("High-pass", EFX10.AL_FILTER_HIGHPASS); + filters.put("Band-pass", EFX10.AL_FILTER_BANDPASS); + + for(Entry<String, Integer> entry : filters.entrySet()) { + if(EFXUtil.isFilterSupported(entry.getValue())) { + System.out.println(" " + entry.getKey()); + } + } + + System.out.println("Supported effects: "); + HashMap<String, Integer> effects = new HashMap<String, Integer>(); + effects.put("EAX Reverb", EFX10.AL_EFFECT_EAXREVERB); + effects.put("Reverb", EFX10.AL_EFFECT_REVERB); + effects.put("Chorus", EFX10.AL_EFFECT_CHORUS); + effects.put("Distortion", EFX10.AL_EFFECT_DISTORTION); + effects.put("Echo", EFX10.AL_EFFECT_ECHO); + effects.put("Flanger", EFX10.AL_EFFECT_FLANGER); + effects.put("Frequency Shifter", EFX10.AL_EFFECT_FREQUENCY_SHIFTER); + effects.put("Vocal Morpher", EFX10.AL_EFFECT_VOCAL_MORPHER); + effects.put("Pitch Shifter", EFX10.AL_EFFECT_PITCH_SHIFTER); + effects.put("Ring Modulator", EFX10.AL_EFFECT_RING_MODULATOR); + effects.put("Autowah", EFX10.AL_EFFECT_AUTOWAH); + effects.put("Compressor", EFX10.AL_EFFECT_COMPRESSOR); + effects.put("Equalizer", EFX10.AL_EFFECT_EQUALIZER); + + for(Entry<String, Integer> entry : effects.entrySet()) { + if(EFXUtil.isEffectSupported(entry.getValue())) { + System.out.println(" " + entry.getKey()); + } + } + } + private void printDevices(int which, String kind) { String[] devices = ALC10.alcGetString(null, which).split("\0"); checkForErrors(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |