From 5d18d6b57f7d9d92a9f568e20beb64a6d44de25a Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Sat, 5 Feb 2011 02:39:25 +0100 Subject: Fix bug #461 on NV/Win (caps selection) Allows TestBug461OffscreenSupersamplingSwingAWT to pass on NV/Win7. Root cause was using the requested unfixed caps (onscreen, !pbuffer) instead of the fixed ones. --- .../jogamp/opengl/impl/GLGraphicsConfigurationUtil.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/jogl/classes/com/jogamp/opengl/impl/GLGraphicsConfigurationUtil.java') diff --git a/src/jogl/classes/com/jogamp/opengl/impl/GLGraphicsConfigurationUtil.java b/src/jogl/classes/com/jogamp/opengl/impl/GLGraphicsConfigurationUtil.java index 53d42259a..529b32f2c 100644 --- a/src/jogl/classes/com/jogamp/opengl/impl/GLGraphicsConfigurationUtil.java +++ b/src/jogl/classes/com/jogamp/opengl/impl/GLGraphicsConfigurationUtil.java @@ -113,6 +113,7 @@ public class GLGraphicsConfigurationUtil { } return capsRequested; } + public static GLCapabilitiesImmutable fixOffScreenGLCapabilities(GLCapabilitiesImmutable capsRequested, boolean pbufferAvailable) { if( capsRequested.getDoubleBuffered() || @@ -130,4 +131,17 @@ public class GLGraphicsConfigurationUtil { } return capsRequested; } + + public static GLCapabilitiesImmutable fixGLPBufferGLCapabilities(GLCapabilitiesImmutable capsRequested) + { + if( capsRequested.getDoubleBuffered() || capsRequested.isOnscreen() || !capsRequested.isPBuffer()) { + // fix caps .. + GLCapabilities caps2 = (GLCapabilities) capsRequested.cloneMutable(); + caps2.setDoubleBuffered(false); // FIXME DBLBUFOFFSCRN + caps2.setPBuffer(true); + return caps2; + } + return capsRequested; + } + } -- cgit v1.2.3